191 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			191 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <!DOCTYPE html>
 | |
| <html lang="en">
 | |
| <head>
 | |
| 	<meta name="viewport" content="width=500">
 | |
| 	<meta charset="utf-8">
 | |
| 	<title>Time Settings</title>
 | |
| 	<script>
 | |
|     var d=document;
 | |
| 	function H()
 | |
| 	{
 | |
| 		window.open("https://github.com/Aircoookie/WLED/wiki/Settings#time-settings");
 | |
| 	}
 | |
| 	function B()
 | |
| 	{
 | |
| 		window.open("/settings","_self");
 | |
| 	}
 | |
| 	function S()
 | |
| 	{
 | |
| 		BTa();GetV();Cs();FC();
 | |
| 	}
 | |
| 	function gId(s)
 | |
| 	{
 | |
| 		return d.getElementById(s);
 | |
| 	}
 | |
| 	function Cs()
 | |
| 	{
 | |
| 		gId("cac").style.display="none";
 | |
| 		gId("coc").style.display="block";
 | |
| 		gId("ccc").style.display="none";
 | |
| 		if (gId("ca").selected)
 | |
| 		{
 | |
| 			gId("cac").style.display="block";
 | |
| 		}
 | |
| 		if (gId("cc").selected)
 | |
| 		{
 | |
| 			gId("coc").style.display="none";
 | |
| 			gId("ccc").style.display="block";
 | |
| 		}
 | |
| 		if (gId("cn").selected)
 | |
| 		{
 | |
| 			gId("coc").style.display="none";
 | |
| 		}
 | |
| 	}
 | |
|     function BTa()
 | |
|     {
 | |
|       var ih="<tr><th>Active</th><th>Hour</th><th>Minute</th><th>Preset</th><th>M</th><th>T</th><th>W</th><th>T</th><th>F</th><th>S</th><th>S</th></tr>";
 | |
|       for (i=0;i<8;i++)
 | |
|       {
 | |
|         ih+="<tr><td><input name=\"W"+i+"\" id=\"W"+i+"\" type=\"number\" style=\"display:none\"><input id=\"W"+i+"0\" type=\"checkbox\"></td><td><input name=\"H"+i+"\" class=\"small\" type=\"number\" min=\"0\" max=\"24\"></td><td><input name=\"N"+i+"\" class=\"small\" type=\"number\" min=\"0\" max=\"59\"></td><td><input name=\"T"+i+"\" class=\"small\" type=\"number\" min=\"0\" max=\"250\"></td>";
 | |
|         for (j=1;j<8;j++) ih+="<td><input id=\"W"+i+j+"\" type=\"checkbox\"></td>";
 | |
|       }
 | |
| 	  ih+="<tr><td><input name=\"W8\" id=\"W8\" type=\"number\" style=\"display:none\"><input id=\"W80\" type=\"checkbox\"></td><td>Sunrise<input name=\"H8\" class=\"small\" value=\"255\" type=\"hidden\"></td><td><input name=\"N8\" class=\"small\" type=\"number\" min=\"-59\" max=\"59\"></td><td><input name=\"T8\" class=\"small\" type=\"number\" min=\"0\" max=\"250\"></td>";
 | |
|       for (j=1;j<8;j++) ih+="<td><input id=\"W8"+j+"\" type=\"checkbox\"></td>";
 | |
|       ih+="<tr><td><input name=\"W9\" id=\"W9\" type=\"number\" style=\"display:none\"><input id=\"W90\" type=\"checkbox\"></td><td>Sunset<input name=\"H9\" class=\"small\" value=\"255\" type=\"hidden\"></td><td><input name=\"N9\" class=\"small\" type=\"number\" min=\"-59\" max=\"59\"><td><input name=\"T9\" class=\"small\" type=\"number\" min=\"0\" max=\"250\"></td>";
 | |
|       for (j=1;j<8;j++) ih+="<td><input id=\"W9"+j+"\" type=\"checkbox\"></td>";
 | |
|       gId("TMT").innerHTML=ih;
 | |
|     }
 | |
|     function FC()
 | |
|     {
 | |
|       for(j=0;j<8;j++)
 | |
|       {
 | |
|         for(i=0;i<10;i++) gId("W"+i+j).checked=gId("W"+i).value>>j&1;
 | |
|       }
 | |
|     }
 | |
|     function Wd()
 | |
|     {
 | |
|       a=[0,0,0,0,0,0,0,0,0,0];
 | |
|       for(i=0;i<10;i++)
 | |
|       {
 | |
|         m=1;
 | |
|         for(j=0;j<8;j++)
 | |
|         {
 | |
|           a[i]+=gId("W"+i+j).checked*m;m*=2;
 | |
|         }
 | |
|         gId("W"+i).value=a[i];
 | |
|       }
 | |
|     }
 | |
| 	function addRow(i,p,l,d) {
 | |
| 		var t = gId("macros");	// table
 | |
|         var rCnt = t.rows.length;   // get the number of rows.
 | |
|         var tr = t.insertRow(rCnt); // table row.
 | |
| 
 | |
| 		var td = document.createElement('td');          // TABLE DEFINITION.
 | |
| 		td = tr.insertCell(0);
 | |
| 		td.innerHTML = `Button ${i}:`;
 | |
| 		td = tr.insertCell(1);
 | |
| 		td.innerHTML = `<input name="MP${i}" type="number" min="0" max="250" value="${p}" required>`;
 | |
| 		td = tr.insertCell(2);
 | |
| 		td.innerHTML = `<input name="ML${i}" type="number" min="0" max="250" value="${l}" required>`;
 | |
| 		td = tr.insertCell(3);
 | |
| 		td.innerHTML = `<input name="MD${i}" type="number" min="0" max="250" value="${d}" required>`;
 | |
| 	}
 | |
| 	function GetV()
 | |
| 	{
 | |
| 		//values injected by server while sending HTML
 | |
| 	}
 | |
| 	</script>
 | |
| 	<style>@import url("/style.css");</style>
 | |
| 	<link href="/skin.css" rel="stylesheet">
 | |
| </head>
 | |
| <body onload="S()">
 | |
| 	<form id="form_s" name="Sf" method="post" onsubmit="Wd()">
 | |
| 		<div class="toprow">
 | |
| 		<div class="helpB"><button type="button" onclick="H()">?</button></div>
 | |
| 		<button type="button" onclick="B()">Back</button><button type="submit">Save</button><hr>
 | |
| 		</div>
 | |
| 		<h2>Time setup</h2>
 | |
| 		Get time from NTP server: <input type="checkbox" name="NT"><br>
 | |
|     <input name="NS" maxlength="32"><br>
 | |
| 		Use 24h format: <input type="checkbox" name="CF"><br>
 | |
| 		Time zone: 
 | |
| 		<select name="TZ">
 | |
| 			<option value="0" selected>GMT(UTC)</option>
 | |
| 			<option value="1">GMT/BST</option>
 | |
| 			<option value="2">CET/CEST</option>
 | |
| 			<option value="3">EET/EEST</option>
 | |
| 			<option value="4">US-EST/EDT</option>
 | |
| 			<option value="5">US-CST/CDT</option>
 | |
| 			<option value="6">US-MST/MDT</option>
 | |
| 			<option value="7">US-AZ</option>
 | |
| 			<option value="8">US-PST/PDT</option>
 | |
| 			<option value="9">CST(AWST)</option>
 | |
| 			<option value="10">JST(KST)</option>
 | |
| 			<option value="11">AEST/AEDT</option>
 | |
| 			<option value="12">NZST/NZDT</option>
 | |
| 			<option value="13">North Korea</option>
 | |
| 			<option value="14">IST (India)</option>
 | |
| 			<option value="15">CA-Saskatchewan</option>
 | |
| 			<option value="16">ACST</option>
 | |
| 			<option value="17">ACST/ACDT</option>
 | |
| 			<option value="18">HST (Hawaii)</option>
 | |
| 		</select><br>
 | |
| 		UTC offset: <input name="UO" type="number" min="-65500" max="65500" required> seconds (max. 18 hours)<br>
 | |
| 		Current local time is <span class="times">unknown</span>.<br>
 | |
| 		Latitude (N): <input name="LT" type="number" min="-66.6" max="66.6" step="0.01">
 | |
| 		Longitude (E): <input name="LN" type="number" min="-180" max="180" step="0.01">
 | |
| 		<div id="sun" class="times"></div>
 | |
| 		<h3>Clock</h3>
 | |
| 		Clock Overlay:
 | |
| 		<select name="OL" onchange="Cs()">
 | |
| 			<option value="0" id="cn" selected>None</option>
 | |
| 			<option value="1" id="ca">Analog Clock</option>
 | |
| 			<option value="2">Single Digit Clock</option>
 | |
| 			<option value="3" id="cc">Cronixie Clock</option>
 | |
| 		</select><br>
 | |
| 		<div id="coc">
 | |
| 		First LED: <input name="O1" type="number" min="0" max="255" required> Last LED: <input name="O2" type="number" min="0" max="255" required><br>
 | |
| 			<div id="cac">
 | |
| 			12h LED: <input name="OM" type="number" min="0" max="255" required><br>
 | |
| 			Show 5min marks: <input type="checkbox" name="O5"><br></div>
 | |
| 			Seconds (as trail): <input type="checkbox" name="OS"><br>
 | |
| 		</div>
 | |
| 		<div id="ccc">
 | |
| 		Cronixie Display: <input name="CX" maxlength="6"><br>
 | |
| 		Cronixie Backlight: <input type="checkbox" name="CB"><br>
 | |
| 		</div>
 | |
| 		Countdown Mode: <input type="checkbox" name="CE"><br>
 | |
| 		Countdown Goal:<br>
 | |
| 		Year: 20 <input name="CY" class="small" type="number" min="0" max="99" required> Month: <input name="CI" class="small" type="number" min="1" max="12" required> Day: <input name="CD" class="small" type="number" min="1" max="31" required><br>
 | |
| 		Hour: <input name="CH" class="small" type="number" min="0" max="23" required> Minute: <input name="CM" class="small" type="number" min="0" max="59" required> Second: <input name="CS" class="small" type="number" min="0" max="59" required><br>
 | |
| 		<h3>Macro presets</h3>
 | |
|     	<b>Macros have moved!</b><br>
 | |
|     	<i>Presets now also can be used as macros to save both JSON and HTTP API commands.<br>
 | |
|     	Just enter the preset id below!</i>
 | |
| 		<i>Use 0 for the default action instead of a preset</i><br>
 | |
| 		Alexa On/Off Preset: <input name="A0" type="number" min="0" max="250" required> <input name="A1" type="number" min="0" max="250" required><br>
 | |
| 		Countdown-Over Preset: <input name="MC" type="number" min="0" max="250" required><br>
 | |
| 		Timed-Light-Over Presets: <input name="MN" type="number" min="0" max="250" required><br>
 | |
| 		<h3>Button actions</h3>
 | |
| 		<table style="margin: 0 auto;" id="macros">
 | |
| 			<thead>
 | |
| 				<tr>
 | |
| 					<td>push<br>switch</td>
 | |
| 					<td>short<br>on->off</td>
 | |
| 					<td>long<br>off->on</td>
 | |
| 					<td>double<br>N/A</td>
 | |
| 				</tr>
 | |
| 			</thead>
 | |
| 			<tbody>
 | |
| 			</tbody>
 | |
| 		</table>
 | |
| 		<a href="https://github.com/Aircoookie/WLED/wiki/Macros#analog-button" target="_blank">Analog Button setup</a>
 | |
| 		<h3>Time-controlled presets</h3>
 | |
|     <div style="display: inline-block">
 | |
|     <table id="TMT">
 | |
|     </table></div><hr>
 | |
| 		<button type="button" onclick="B()">Back</button><button type="submit">Save</button>
 | |
| 	</form>
 | |
| </body>
 | |
| </html>
 | 
