2020-06-10 10:45:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/*
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  More  web  UI  HTML  source  arrays . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  file  is  auto  generated ,  please  don ' t  make  any  changes  manually . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Instead ,  see  https : //github.com/Aircoookie/WLED/wiki/Add-own-functionality#web-ui
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  to  find  out  how  to  easily  modify  the  web  UI  source ! 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */  
							 
						 
					
						
							
								
									
										
										
										
											2019-08-17 10:27:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Autogenerated from wled00/data/style.css, do not edit!!
  
						 
					
						
							
								
									
										
										
										
											2021-07-25 20:44:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const  char  PAGE_settingsCss [ ]  PROGMEM  =  R " =====(<style>body{font-family:Verdana,sans-serif;text-align:center;background:#222;color:#fff;line-height:200%%;margin:0}hr{border-color:#666}.btn,button{background:#333;color:#fff;font-family:Verdana,sans-serif;border:.3ch solid #333;border-radius:24px;display:inline-block;font-size:20px;margin:12px 8px 8px;padding:8px 12px;min-width:48px;cursor:pointer;text-decoration:none}.toprow{top:0;position:sticky;background-color:#222;z-index:1}.lnk{border:0}.helpB{text-align:left;position:absolute;width:60px}input{background:#333;color:#fff;font-family:Verdana,sans-serif;border:.5ch solid #333}input[type=text]{font-size:medium}input[type=number]{width:4em;font-size:medium;margin:2px}input[type=number].xxl{width:100px}input[type=number].xl{width:85px}input[type=number].l{width:63px}input[type=number].m{width:56px}input[type=number].s{width:49px}input[type=number].xs{width:42px}select{margin:2px;font-size:medium}input[type=checkbox]{transform:scale(2);margin-right:10px}select{background:#333;color:#fff;font-family:Verdana,sans-serif;border:.5ch solid #333}td{padding:2px}.d5{width:4.5em!important}#toast{opacity:0;background-color:#444;border-radius:5px;bottom:64px;color:#fff;font-size:17px;padding:16px;pointer-events:none;position:fixed;text-align:center;z-index:5;transform:translateX(-50%%);max-width:90%%;left:50%%}#toast.show{opacity:1;background-color:#264;animation:fadein .5s,fadein .5s 2.5s reverse}#toast.error{opacity:1;background-color:#b21;animation:fadein .5s}</style>)===== " ;  
						 
					
						
							
								
									
										
										
										
											2018-01-27 22:28:20 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-02-23 21:24:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Autogenerated from wled00/data/settings.htm, do not edit!!
  
						 
					
						
							
								
									
										
										
										
											2020-12-20 14:16:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const  char  PAGE_settings [ ]  PROGMEM  =  R " =====(<!DOCTYPE html><html lang= " en " ><head><meta charset= " UTF - 8 " ><title>WLED Settings  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / title > < style >  
						 
					
						
							
								
									
										
										
										
											2021-05-18 13:45:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								body { text - align : center ; background : # 222 ; height : 100 px ; margin : 0 } html { - - h : 10.2 vh } button { background : # 333 ; color : # fff ; font - family : Verdana , Helvetica , sans - serif ; display : inline - block ; border : 1 px  solid  # 333 ; font - size : 6 vmin ; height : var ( - - h ) ; width : 95 % % ; margin - top : 2 vh }  
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / style > < script >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								function  BB ( ) { window . frameElement & & ( document . getElementById ( " b " ) . style . display = " none " , document . documentElement . style . setProperty ( " --h " , " 13.86vh " ) ) }  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / script > < / head > < body  onload = " BB() " > < form  action = " / " > < button  type = " submit "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								id = " b " > Back < / button > < / form > < form  action = " /settings/wifi " > < button  type = " submit " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								WiFi  Setup < / button > < / form > < form  action = " /settings/leds " > < button  type = " submit " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								LED  Preferences < / button > < / form > < form  action = " /settings/ui " > < button   
						 
					
						
							
								
									
										
										
										
											2020-08-03 16:37:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								type = " submit " > User  Interface < / button > < / form > % DMXMENU % < form  action = " /settings/sync " >  
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< button  type = " submit " > Sync  Interfaces < / button > < / form > < form   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								action = " /settings/time " > < button  type = " submit " > Time  &  Macros < / button > < / form > < form  
						 
					
						
							
								
									
										
										
										
											2021-04-09 22:17:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 action = " /settings/um " > < button  type = " submit " > Usermods < / button > < / form > < form  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								action = " /settings/sec " > < button  type = " submit " > Security  &  Updates < / button > < / form >  
						 
					
						
							
								
									
										
										
										
											2019-02-15 23:21:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / body > < / html > ) = = = = = " ;  
						 
					
						
							
								
									
										
										
										
											2018-02-20 21:29:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-09-17 09:15:08 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Autogenerated from wled00/data/settings_wifi.htm, do not edit!!
  
						 
					
						
							
								
									
										
										
										
											2020-12-23 20:43:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const  char  PAGE_settings_wifi [ ]  PROGMEM  =  R " =====(<!DOCTYPE html><html lang= " en " ><head><meta charset= " utf - 8 " ><meta   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " viewport "  content = " width=500 " > < title > WiFi  Settings < / title > < script >  
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:59:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  H ( ) { window . open ( " https://github.com/Aircoookie/WLED/wiki/Settings#wifi-settings " ) } function  B ( ) { window . open ( " /settings " , " _self " ) } function  GetV ( )  { var  d = document ;  
						 
					
						
							
								
									
										
										
										
											2020-06-10 10:45:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								% CSS % % SCSS % < / head > < body  onload = " GetV() " >  
						 
					
						
							
								
									
										
										
										
											2021-08-19 19:57:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< form  id = " form_s "  name = " Sf "  method = " post " > < div  class = " toprow " > < div   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class = " helpB " > < button  type = " button "  onclick = " H() " > ? < / button > < / div > < button   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " button "  onclick = " B() " > Back < / button > < button  type = " submit " > Save  &  Connect  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / button > < hr > < / div > < h2 > WiFi  setup < / h2 > < h3 > Connect  to  existing  network < / h3 >  
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Network  name  ( SSID ,  empty  to  not  connect ) : < br > < input  name = " CS "  maxlength = " 32 " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< br > Network  password : < br > < input  type = " password "  name = " CP "  maxlength = " 63 " > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Static  IP  ( leave  at  0.0 .0 .0  for  DHCP ) : < br > < input  name = " I0 "  type = " number "   
						 
					
						
							
								
									
										
										
										
											2021-06-30 22:01:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class = " s "  min = " 0 "  max = " 255 "  required >  .  < input  name = " I1 "  type = " number "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class = " s "  min = " 0 "  max = " 255 "  required >  .  < input  name = " I2 "  type = " number "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class = " s "  min = " 0 "  max = " 255 "  required >  .  < input  name = " I3 "  type = " number "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class = " s "  min = " 0 "  max = " 255 "  required > < br > Static  gateway : < br > < input  name = " G0 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " number "  class = " s "  min = " 0 "  max = " 255 "  required >  .  < input  name = " G1 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " number "  class = " s "  min = " 0 "  max = " 255 "  required >  .  < input  name = " G2 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " number "  class = " s "  min = " 0 "  max = " 255 "  required >  .  < input  name = " G3 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " number "  class = " s "  min = " 0 "  max = " 255 "  required > < br > Static  subnet  mask : < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< input  name = " S0 "  type = " number "  class = " s "  min = " 0 "  max = " 255 "  required >  .  < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " S1 "  type = " number "  class = " s "  min = " 0 "  max = " 255 "  required >  .  < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " S2 "  type = " number "  class = " s "  min = " 0 "  max = " 255 "  required >  .  < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " S3 "  type = " number "  class = " s "  min = " 0 "  max = " 255 "  required > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								mDNS  address  ( leave  empty  for  no  mDNS ) : < br > http : // <input name="CM" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								maxlength = " 32 " >  . local < br > Client  IP :  < span  class = " sip " > Not  connected < / span > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< h3 > Configure  Access  Point < / h3 > AP  SSID  ( leave  empty  for  no  AP ) : < br > < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " AS "  maxlength = " 32 " > < br > Hide  AP  name :  < input  type = " checkbox "  name = " AH " > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								AP  password  ( leave  empty  for  open ) : < br > < input  type = " password "  name = " AP "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								maxlength = " 63 "  pattern = " (.{8,63})|() "  title = " Empty or min. 8 characters " > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Access  Point  WiFi  channel :  < input  name = " AC "  type = " number "  class = " xs "  min = " 1 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								max = " 13 "  required > < br > AP  opens :  < select  name = " AB " > < option  value = " 0 " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								No  connection  after  boot < / option > < option  value = " 1 " > Disconnected < / option > < option   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								value = " 2 " > Always < / option > < option  value = " 3 " > Never  ( not  recommended ) < / option >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / select > < br > AP  IP :  < span  class = " sip " > Not  active < / span > < br > < h3 > Experimental < / h3 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Disable  WiFi  sleep :  < input  type = " checkbox "  name = " WS " > < br > < i >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Can  help  with  connectivity  issues . < br >  
						 
					
						
							
								
									
										
										
										
											2021-01-15 09:37:45 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Do  not  enable  if  WiFi  is  working  correctly ,  increases  power  consumption . < / i > < div  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 id = " ethd " > < h3 > Ethernet  Type < / h3 > < select  name = " ETH " > < option  value = " 0 " > None 
							 
						 
					
						
							
								
									
										
										
										
											2021-06-19 22:14:09 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / option > < option  value = " 2 " > ESP32 - POE < / option > < option  value = " 6 " > ESP32Deux  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / option > < option  value = " 4 " > QuinLED - ESP32 < / option > < option  value = " 5 " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								TwilightLord - ESP32 < / option > < option  value = " 3 " > WESP32 < / option > < option  value = " 1 " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								WT32 - ETH01 < / option > < / select > < br > < br > < / div > < hr > < button  type = " button "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								onclick = " B() " > Back < / button > < button  type = " submit " > Save  &  Connect < / button > < / form >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / body > < / html > ) = = = = = " ;  
						 
					
						
							
								
									
										
										
										
											2018-01-27 22:28:20 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-09-17 09:15:08 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Autogenerated from wled00/data/settings_leds.htm, do not edit!!
  
						 
					
						
							
								
									
										
										
										
											2020-12-23 20:43:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const  char  PAGE_settings_leds [ ]  PROGMEM  =  R " =====(<!DOCTYPE html><html lang= " en " ><head><meta charset= " utf - 8 " ><meta   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " viewport "  content = " width=500 " > < title > LED  Settings < / title > < script >  
						 
					
						
							
								
									
										
										
										
											2021-08-17 07:06:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  timeout , d = document , laprev = 55 , maxB = 1 , maxM = 5e3 , maxPB = 4096 , bquot = 0 ; function  H ( ) { window . open ( " https://github.com/Aircoookie/WLED/wiki/Settings#led-settings " ) } function  B ( ) { window . open ( " /settings " , " _self " ) } function  gId ( e ) { return  d . getElementById ( e ) } function  off ( e ) { d . getElementsByName ( e ) [ 0 ] . value = - 1 } function  showToast ( e , n = ! 1 ) { var  a = gId ( " toast " ) ; a . innerHTML = e , a . className = n ? " error " : " show " , clearTimeout ( timeout ) , a . style . animation = " none " , timeout = setTimeout ( ( function ( ) { a . className = a . className . replace ( " show " , " " ) } ) , 2900 ) } function  bLimits ( e , n , a ) { maxB = e , maxM = a , maxPB = n } function  pinsOK ( ) { var  e = d . getElementsByTagName ( " input " ) ; for ( i = 0 ; i < e . length ; i + + ) { var  n = e [ i ] . name . substring ( 0 , 2 ) ; if ( ( " L0 " = = n | | " L1 " = = n | | " L2 " = = n | | " L3 " = = n | | " L4 " = = n | | " RL " = = n | | " BT " = = n | | " IR " = = n ) & & " " ! = e [ i ] . value & & " -1 " ! = e [ i ] . value ) { if ( d . um_p & & d . um_p . some ( n = > n = = parseInt ( e [ i ] . value , 10 ) ) ) return  alert ( ` Sorry ,  pins  $ { JSON . stringify ( d . um_p ) }  can ' t  be  used . ` ) , e [ i ] . value = " " , e [ i ] . focus ( ) , ! 1 ; if ( e [ i ] . value > 5 & & e [ i ] . value < 12 ) return  alert ( " Sorry, pins 6-11 can not be used. " ) , e [ i ] . value = " " , e [ i ] . focus ( ) , ! 1 ; if ( " IR " ! = n & & " BT " ! = n & & e [ i ] . value > 33 ) return  alert ( " Sorry, pins >33 are input only. " ) , e [ i ] . value = " " , e [ i ] . focus ( ) , ! 1 ; for ( j = i + 1 ; j < e . length ; j + + ) { var  a = e [ j ] . name . substring ( 0 , 2 ) ; if ( ( " L0 " = = a | | " L1 " = = a | | " L2 " = = a | | " L3 " = = a | | " L4 " = = a | | " RL " = = a | | " BT " = = a | | " IR " = = a ) & & " " ! = e [ j ] . value & & e [ i ] . value = = e [ j ] . value ) return  alert ( ` Pin  conflict  between  $ { e [ i ] . name } / $ { e [ j ] . name } ! ` ) , e [ j ] . value = " " , e [ j ] . focus ( ) , ! 1 } } } return ! 0 } function  trySubmit ( e ) { if ( d . Sf . data . value = " " , e . preventDefault ( ) , ! pinsOK ( ) ) return  e . stopPropagation ( ) , ! 1 ; if ( bquot > 100 ) { var  n = " Too many LEDs for me to handle! " ; maxM < 1e4 & & ( n + = " \n \r Consider using an ESP32. " ) , alert ( n ) } d . Sf . checkValidity ( ) & & d . Sf . submit ( ) } function  S ( ) { GetV ( ) , setABL ( ) } function  enABL ( ) { var  e = gId ( " able " ) . checked ; d . Sf . LA . value = e ? laprev : 0 , gId ( " abl " ) . style . display = e ? " inline " : " none " , gId ( " psu2 " ) . style . display = e ? " inline " : " none " , d . Sf . LA . value > 0 & & setABL ( ) } function  enLA ( ) { var  e = d . Sf . LAsel . value ; d . Sf . LA . value = e , gId ( " LAdis " ) . style . display = 50 = = e ? " inline " : " none " , UI ( ) } function  setABL ( ) { switch ( gId ( " able " ) . checked = ! 0 , d . Sf . LAsel . value = 50 , parseInt ( d . Sf . LA . value ) ) { case  0 : gId ( " able " ) . checked = ! 1 , enABL ( ) ; break ; case  30 : d . Sf . LAsel . value = 30 ; break ; case  35 : d . Sf . LAsel . value = 35 ; break ; case  55 : d . Sf . LAsel . value = 55 ; break ; case  255 : d . Sf . LAsel . value = 255 ; break ; default : gId ( " LAdis " ) . style . display = " inline " } gId ( " m1 " ) . innerHTML = maxM , d . getElementsByName ( " Sf " ) [ 0 ] . addEventListener ( " submit " , trySubmit ) , UI ( ) } function  getMem ( e , n , a ) { return  e < 32 ? maxM < 1e4 & & 3 = = a ? e > 29 ? 20 * n : 15 * n : maxM > = 1e4 ? e > 29 ? 8 * n : 6 * n : e > 29 ? 4 * n : 3 * n : e > 31 & & e < 48 ? 5 : 44 = = e | | 45 = = e ? 4 * n : 3 * n } function  UI ( e = ! 1 ) { var  n = ! 1 , a = 0 ; gId ( " ampwarning " ) . style . display = d . Sf . MA . value > 7200 ? " inline " : " none " , 255 = = d . Sf . LA . value ? laprev = 12 : d . Sf . LA . value > 0 & & ( laprev = d . Sf . LA . value ) ; var  t = d . getElementsByTagName ( " select " ) ; for ( f = 0 ; f < t . length ; f + + ) if ( " LT " = = t [ f ] . name . substring ( 0 , 2 ) ) { g = t [ f ] . name . substring ( 2 ) ; var  i = parseInt ( t [ f ] . value , 10 ) ; gId ( " p0d " + g ) . innerHTML = i > 49 ? " Data GPIO: " : i > 41 ? " GPIOs: " : " GPIO: " , gId ( " p1d " + g ) . innerHTML = i > 49 ? " Clk GPIO: " : " " ; var  l = d . getElementsByName ( " L1 " + g ) [ 0 ] ; for ( a + = getMem ( i , d . getElementsByName ( " LC " + g ) [ 0 ] . value , d . getElementsByName ( " L0 " + g ) [ 0 ] . value ) , v = 1 ; v < 5 ; v + + ) { ( l = d . getElementsByName ( " L " + v + g ) [ 0 ] ) & & ( i > 49 & & 1 = = v | | i > 41 & & i < 50 & & v + 40 < i ? ( l . style . display = " inline " , l . required = ! 0 ) : ( l . style . display = " none " , l . required = ! 1 , l . value = " " ) ) } e & & ( gId ( " ls " + g ) . value = g + 1 , i > 31 & & i < 48 & & ( d . getElementsByName ( " LC " + g ) [ 0 ] . value = 1 ) ) , n | = 30 = = i | | 31 = = i | | i > 40 & & i < 46 & & 43 ! = i , gId ( " dig " + g ) . style . display = i > 31 & & i < 48 ? " none " : " inline " , gId ( " psd " + g ) . innerHTML = i > 31 & & i < 48 ? " Index: " : " Start: " } var  o = d . querySelectorAll ( " .wc " ) , s = o . length ; for ( f = 0 ; f < s ; f + + ) o [ f ] . style . display = n ? " inline " : " none " ; var  u = d . getElementsByTagName ( " input " ) , r = 0 , p = 0 ; for ( f = 0 ; f < u . length ; f + + ) { var  m = u [ f ] . name . substring ( 0 , 2 ) ; if ( " LC " ! = m | | " LC " = = = u [ f ] . name ) { if ( " L0 " = = m | | " L1 " = = m ) d . getElementsByName ( " LC " + u [ f ] . name . substring ( 2 ) ) [ 0 ] . max = maxPB ; if ( ( " L0 " = = m | | " L1 " = = m | | " L2 " = = m | | " L3 " = = m | | " L4 " = = m | | " RL " = = m | | " BT " = = m | | " IR " = = m ) & & " " ! = u [ f ] . value & & " -1 " ! = u [ f ] . value ) { var  v = [ ] ; if ( d . um_p & & Array . isArray ( d . um_p ) ) for ( k = 0 ; k < d . um_p . length ; k + + ) v . push ( d . um_p [ k ] ) ; for ( j = 0 ; j < u . length ; j + + ) if ( f ! = j ) { var  c = u [ j ] . name . substring ( 0 , 2 ) ; " L0 " ! = c & & " L1 " ! = c & & " L  
						 
					
						
							
								
									
										
										
										
											2021-08-20 17:38:24 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								% CSS % % SCSS % < / head > < body  onload = " S() " > < form  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 id = " form_s "  name = " Sf "  method = " post " > < 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 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								LED  & amp ;  Hardware  setup < / h2 > Total  LED  count :  < input  name = " LC "  id = " LC "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " number "  min = " 1 "  max = " 8192 "  oninput = " UI() "  required  readonly = " readonly " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< br > < i > Recommended  power  supply  for  brightest  white : < / i > < br > < b > < span  id = " psu " > ?  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / span > < / b > < br > < span  id = " psu2 " > < br > < / span > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Enable  automatic  brightness  limiter :  < input  type = " checkbox "  name = " ABen "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								onchange = " enABL() "  id = " able " > < br > < div  id = " abl " > Maximum  Current :  < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " MA "  type = " number "  class = " l "  min = " 250 "  max = " 65000 "  oninput = " UI() "  required >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 mA < br > < div  id = " ampwarning "  style = " color:orange;display:none " > 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-12 18:33:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								& # 9888 ;  Your  power  supply  provides  high  current . < br >  
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								To  improve  the  safety  of  your  setup , < br > please  use  thick  cables , < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								multiple  power  injection  points  and  a  fuse ! < br > < / div > < i >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Automatically  limits  brightness  to  stay  close  to  the  limit . < br >  
						 
					
						
							
								
									
										
										
										
											2018-12-05 23:27:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Keep  at  & lt ; 1 A  if  powering  LEDs  directly  from  the  ESP  5 V  pin ! < br >  
						 
					
						
							
								
									
										
										
										
											2019-11-12 18:33:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								If  you  are  using  an  external  power  supply ,  enter  its  rating . < br >  
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								( Current  estimated  usage :  < span  class = " pow " > unknown < / span > ) < / i > < br > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								LED  voltage  ( Max .  current  for  a  single  LED ) : < br > < select  name = " LAsel "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								onchange = " enLA() " > < option  value = " 55 "  selected = " selected " > 5 V  default  ( 55 mA )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / option > < option  value = " 35 " > 5 V  efficient  ( 35 mA ) < / option > < option  value = " 30 " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								12 V  ( 30 mA ) < / option > < option  value = " 255 " > WS2815  ( 12 mA ) < / option > < option  value = " 50 " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Custom < / option > < / select > < br > < span  id = " LAdis "  style = " display:none " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Custom  max .  current  per  LED :  < input  name = " LA "  type = " number "  min = " 0 "  max = " 255 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								id = " la "  oninput = " UI() "  required >  mA < br > < / span > < i >  
						 
					
						
							
								
									
										
										
										
											2021-01-26 00:58:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Keep  at  default  if  you  are  unsure  about  your  type  of  LEDs . < / i > < br > < / div > < h3 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Hardware  setup < / h3 > < div  id = " mLC " > LED  outputs : < / div > < button  type = " button "  id = " + "   
						 
					
						
							
								
									
										
										
										
											2021-02-24 19:23:32 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								onclick = " addLEDs(1) " > + < / button >  < button  type = " button "  id = " - "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								onclick = " addLEDs(-1) " > - < / button > < br > LED  Memory  Usage :  < span  id = " m0 " > 0 < / span >  /   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< span  id = " m1 " > ? < / span >  B < br > < div  id = " dbar "   
						 
					
						
							
								
									
										
										
										
											2021-01-29 01:34:03 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								style = " display:inline-block;width:100px;height:10px;border-radius:20px " > < / div >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< br > < div  id = " ledwarning "  style = " color:orange;display:none " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								& # 9888 ;  You  might  run  into  stability  or  lag  issues . < br > Use  less  than  < span   
						 
					
						
							
								
									
										
										
										
											2021-03-02 10:00:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								id = " wreason " > 800  LEDs  per  pin < / span >  for  the  best  experience ! < br > < / div > < hr   
						 
					
						
							
								
									
										
										
										
											2021-05-19 18:23:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								style = " width:260px " > < div  id = " btns " > < / div > Touch  threshold :  < input  type = " number "   
						 
					
						
							
								
									
										
										
										
											2021-06-29 16:18:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								min = " 0 "  max = " 100 "  name = " TT "  required > < br > IR  GPIO :  < input  type = " number "  min = " -1 "   
						 
					
						
							
								
									
										
										
										
											2021-07-01 11:41:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								max = " 40 "  name = " IR "  onchange = " UI() "  class = " s " > < select  name = " IT "  onchange = " UI() " >  
						 
					
						
							
								
									
										
										
										
											2021-06-30 22:01:27 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< option  value = " 0 " > Remote  disabled < / option > < option  value = " 1 " > 24 - key  RGB < / option >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< option  value = " 2 " > 24 - key  with  CT < / option > < option  value = " 3 " > 40 - key  blue < / option >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< option  value = " 4 " > 44 - key  RGB < / option > < option  value = " 5 " > 21 - key  RGB < / option >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< option  value = " 6 " > 6 - key  black < / option > < option  value = " 7 " > 9 - key  red < / option >  
						 
					
						
							
								
									
										
										
										
											2021-06-30 22:17:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< option  value = " 8 " > JSON  remote < / option > < / select > < span  style = " cursor:pointer "   
						 
					
						
							
								
									
										
										
										
											2021-07-01 11:41:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								onclick = ' off ( " IR " ) ' > & nbsp ; & # 215 ; < / span > < br > < div  id = " json "  style = " display:none " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								JSON  file :  < input  type = " file "  name = " data "  accept = " .json " >  < input  type = " button "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								value = " Upload "  onclick = ' uploadFile ( " /ir.json " ) ' > < br > < / div > < div  id = " toast " > < / div >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< a  href = " https://github.com/Aircoookie/WLED/wiki/Infrared-Control "   
						 
					
						
							
								
									
										
										
										
											2021-08-20 17:38:24 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								target = " _blank " > IR  info < / a > < br > Relay  GPIO :  < input  type = " number "  min = " -1 "   
						 
					
						
							
								
									
										
										
										
											2021-07-03 19:27:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								max = " 33 "  name = " RL "  onchange = " UI() "  class = " s " >  invert  < input  type = " checkbox "   
						 
					
						
							
								
									
										
										
										
											2021-07-01 11:41:23 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								name = " RM " > < span  style = " cursor:pointer "  onclick = ' off ( " RL " ) ' > & nbsp ; & # 215 ; < / span >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< br > < hr  style = " width:260px " > < h3 > Defaults < / h3 > Turn  LEDs  on  after  power  up / reset :   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< input  type = " checkbox "  name = " BO " > < br > Default  brightness :  < input  name = " CA "   
						 
					
						
							
								
									
										
										
										
											2021-07-03 19:27:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								type = " number "  class = " m "  min = " 0 "  max = " 255 "  required >  ( 0 - 255 ) < br > < br > Apply  preset   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< input  name = " BP "  type = " number "  class = " m "  min = " 0 "  max = " 250 "  required >  
						 
					
						
							
								
									
										
										
										
											2021-07-01 12:56:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 at  boot  ( 0  uses  defaults ) < br > < br > Use  Gamma  correction  for  color :  < input  
							 
						 
					
						
							
								
									
										
										
										
											2021-06-04 21:08:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								type = " checkbox "  name = " GC " >  ( strongly  recommended ) < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Use  Gamma  correction  for  brightness :  < input  type = " checkbox "  name = " GB " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 ( not  recommended ) < br > < br > Brightness  factor :  < input  name = " BF "  type = " number "  
							 
						 
					
						
							
								
									
										
										
										
											2021-07-03 19:27:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class = " m "  min = " 1 "  max = " 255 "  required >  % < h3 > Transitions < / h3 > Crossfade :  < input   
						 
					
						
							
								
									
										
										
										
											2021-07-01 12:56:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								type = " checkbox "  name = " TF " > < br > Transition  Time :  < input  name = " TD "  type = " number "   
						 
					
						
							
								
									
										
										
										
											2021-07-03 19:27:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class = " xl "  min = " 0 "  max = " 65500 " >  ms < br > Enable  Palette  transitions :  < input   
						 
					
						
							
								
									
										
										
										
											2021-06-30 19:53:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								type = " checkbox "  name = " PF " > < h3 > Timed  light < / h3 > Default  Duration :  < input   
						 
					
						
							
								
									
										
										
										
											2021-07-03 19:27:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								name = " TL "  type = " number "  class = " m "  min = " 1 "  max = " 255 "  required >  min < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Default  Target  brightness :  < input  name = " TB "  type = " number "  class = " m "  min = " 0 "   
						 
					
						
							
								
									
										
										
										
											2021-07-01 12:56:18 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								max = " 255 "  required > < br > Mode :  < select  name = " TW " > < option  value = " 0 " > Wait  and  set  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / option > < option  value = " 1 " > Fade < / option > < option  value = " 2 " > Fade  Color < / option >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< option  value = " 3 " > Sunrise < / option > < / select > < h3 > Advanced < / h3 > Palette  blending :   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< select  name = " PB " > < option  value = " 0 " > Linear  ( wrap  if  moving ) < / option > < option   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								value = " 1 " > Linear  ( always  wrap ) < / option > < option  value = " 2 " > Linear  ( never  wrap )  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / option > < option  value = " 3 " > None  ( not  recommended ) < / option > < / select > < br > < span   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class = " wc " > Auto - calculate  white  channel  from  RGB : < br > < select  name = " AW " > < option   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								value = " 0 " > None < / option > < option  value = " 1 " > Brighter < / option > < option  value = " 2 " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Accurate < / option > < option  value = " 3 " > Dual < / option > < option  value = " 4 " > Legacy  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / option > < / select > < br > < / span > < hr > < button  type = " button "  onclick = " B() " > Back  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / button > < button  type = " submit " > Save < / button > < / form > < / body > < / html > ) = = = = = " ;  
						 
					
						
							
								
									
										
										
										
											2018-01-27 22:28:20 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-09-17 09:15:08 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-02-23 21:24:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# ifdef WLED_ENABLE_DMX 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Autogenerated from wled00/data/settings_dmx.htm, do not edit!!
  
						 
					
						
							
								
									
										
										
										
											2020-12-23 20:43:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const  char  PAGE_settings_dmx [ ]  PROGMEM  =  R " =====(<!DOCTYPE html><html lang= " en " ><head><meta name= " viewport "  content= " width = 500 " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< meta  charset = " utf-8 " > < title > DMX  Settings < / title > < script >  
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:59:00 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								function  GCH ( n ) { for ( d = document , d . getElementById ( " dmxchannels " ) . innerHTML + = " " , i = 0 ; i < n ; i + + ) d . getElementById ( " dmxchannels " ) . innerHTML + = " <span id=CH " + ( i + 1 ) + " s >Channel  " + ( i + 1 ) + " : <select name=CH " + ( i + 1 ) + '  id = " CH'+(i+1)+' " > < option  value = 0 > Set  to  0 < / option > < option  value = 1 > Red < / option > < option  value = 2 > Green < / option > < option  value = 3 > Blue < / option > < option  value = 4 > White < / option > < option  value = 5 > Shutter  ( Brightness ) < / option > < option  value = 6 > Set  to  255 < / option > < / select > < / span > < br  / > \ n ' } function  mMap ( ) { for ( d = document , numCh = document . Sf . CN . value , numGap = document . Sf . CG . value , parseInt ( numCh ) > parseInt ( numGap ) ? d . getElementById ( " gapwarning " ) . style . display = " block " : d . getElementById ( " gapwarning " ) . style . display = " none " , i = 0 ; i < 15 ; i + + ) i > = numCh ? ( d . getElementById ( " CH " + ( i + 1 ) + " s " ) . style . opacity = " 0.5 " , d . getElementById ( " CH " + ( i + 1 ) ) . disabled = ! 0 ) : ( d . getElementById ( " CH " + ( i + 1 ) + " s " ) . style . opacity = " 1 " , d . getElementById ( " CH " + ( i + 1 ) ) . disabled = ! 1 ) } function  S ( ) { GCH ( 15 ) , GetV ( ) , mMap ( ) } function  H ( ) { window . open ( " https://github.com/Aircoookie/WLED/wiki/DMX " ) } function  B ( ) { window . history . back ( ) } function  GetV ( )  { var  d = document ;  
						 
					
						
							
								
									
										
										
										
											2021-08-19 19:57:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								% CSS % % SCSS % < / head > < body  onload = " S() " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< form  id = " form_s "  name = " Sf "  method = " post " > < 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 > Imma  firin  ma  lazer  ( if  it  has  DMX  support ) < / h2 > Proxy  Universe  < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " PU "  type = " number "  min = " 0 "  max = " 63999 "  required >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 from  E1 .31  to  DMX  ( 0 = disabled ) < br > < i > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								This  will  disable  the  LED  data  output  to  DMX  configurable  below < / i > < br > < br > < i >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Number  of  fixtures  is  taken  from  LED  config  page < / i > < br >  
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Channels  per  fixture  ( 15  max ) :  < input  type = " number "  min = " 1 "  max = " 15 "  name = " CN "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								maxlength = " 2 "  onchange = " mMap() " > < br > Start  channel :  < input  type = " number "  min = " 1 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								max = " 512 "  name = " CS "  maxlength = " 2 " > < br > Spacing  between  start  channels :  < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " number "  min = " 1 "  max = " 512 "  name = " CG "  maxlength = " 2 "  onchange = " mMap() " >  [  < a   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								href = " javascript:alert('if set to 10, first fixture will start at 10, \n second will start at 20 etc. \n Regardless of the channel count. \n Makes memorizing channel numbers easier.'); " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								info < / a >  ] < br > < div  id = " gapwarning "  style = " color:orange;display:none " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								WARNING :  Channel  gap  is  lower  than  channels  per  fixture . < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								This  will  cause  overlap . < / div > < button  type = " button "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								onclick = ' location . href = " /dmxmap " ' > DMX  Map < / button > < br > DMX  fixtures  start  LED :   
						 
					
						
							
								
									
										
										
										
											2020-08-03 16:37:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< input  type = " number "  min = " 0 "  max = " 1500 "  name = " SL " > < h3 > Channel  functions < / h3 > < div  
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 id = " dmxchannels " > < / div > < hr > < button  type = " button "  onclick = " B() " > Back < / button > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< button  type = " submit " > Save < / button > < / form > < / body > < / html > ) = = = = = " ;  
						 
					
						
							
								
									
										
										
										
											2020-02-23 21:24:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# else 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								const  char  PAGE_settings_dmx [ ]  PROGMEM  =  R " =====()===== " ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Autogenerated from wled00/data/settings_ui.htm, do not edit!!
  
						 
					
						
							
								
									
										
										
										
											2020-12-23 20:43:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const  char  PAGE_settings_ui [ ]  PROGMEM  =  R " =====(<!DOCTYPE html><html><head lang= " en " ><meta charset= " utf - 8 " ><meta   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " viewport "  content = " width=500 " > < title > UI  Settings < / title > < script >  
						 
					
						
							
								
									
										
										
										
											2021-08-25 20:37:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  initial_ds , initial_st , initial_su , timeout , d = document , sett = null , l = { comp : { labels : " Show button labels " , colors : { LABEL : " Color selection methods " , picker : " Color Wheel " , rgb : " RGB sliders " , quick : " Quick color selectors " , hex : " HEX color input " } , pcmbot : " Show bottom tab bar in PC mode " , pid : " Show preset IDs " , seglen : " Set segment length instead of stop LED " , css : " Enable custom CSS " , hdays : " Enable custom Holidays list " } , theme : { alpha : { bg : " Background opacity " , tab : " Button opacity " } , bg : { url : " BG image URL " , random : " Random BG image " } , color : { bg : " BG HEX color " } } } ; function  gId ( e ) { return  d . getElementById ( e ) } function  isObject ( e ) { return  e & & " object " = = typeof  e & & ! Array . isArray ( e ) } function  set ( e , t , i ) { for ( var  n = t , o = e . split ( " _ " ) , s = o . length , a = 0 ; a < s - 1 ; a + + ) { var  l = o [ a ] ; n [ l ] | | ( n [ l ] = { } ) , n = n [ l ] } n [ o [ s - 1 ] ] = i } function  showToast ( e , t = ! 1 ) { var  i = gId ( " toast " ) ; i . innerHTML = e , i . className = t ? " error " : " show " , clearTimeout ( timeout ) , i . style . animation = " none " , timeout = setTimeout ( ( function ( ) { i . className = i . className . replace ( " show " , " " ) } ) , 2900 ) } function  addRec ( e , t = " " , n = null ) { var  o = " " ; for ( i  in  e ) { var  s = t + ( t ? " _ " : " " ) + i ; if ( isObject ( e [ i ] ) ) n & & n [ i ] & & n [ i ] . LABEL & & ( o + = ` < h3 > $ { n [ i ] . LABEL } < / h3 > ` ) , o + = addRec ( e [ i ] , s , n ? n [ i ] : null ) ; else { var  a = s ; if ( n & & n [ i ] ? a = n [ i ] : e [ i + " LABEL " ] & & ( a = e [ i + " LABEL " ] ) , i . indexOf ( " LABEL " ) > 0 ) continue ; var  l = typeof  e [ i ] ; gId ( s ) ? ( " boolean " = = = l ? gId ( s ) . checked = e [ i ] : gId ( s ) . value = e [ i ] , gId ( s ) . previousElementSibling . matches ( " .l " ) & & ( gId ( s ) . previousElementSibling . innerHTML = a ) ) : " boolean " = = = l ? o + = ` $ { a } :  < input  class = " agi cb "  type = " checkbox "  id = $ { s }  $ { e [ i ] ? " checked " : " " } > < br > ` : " number " = = = l ? o + = ` $ { a } :  < input  class = " agi "  type = " number "  id = $ { s }  value = $ { e [ i ] } > < br > ` : " string " = = = l & & ( o + = ` $ { a } : < br > < input  class = " agi "  id = $ { s }  value = $ { e [ i ] } > < br > ` ) } } return  o } function  genForm ( e ) { var  t ; t = addRec ( e , " " , l ) , gId ( " gen " ) . innerHTML = t } function  GetLS ( ) { ( sett = localStorage . getItem ( " wledUiCfg " ) ) | | ( gId ( " lserr " ) . style . display = " inline " ) ; try { sett = JSON . parse ( sett ) } catch ( e ) { sett = { } , gId ( " lserr " ) . style . display = " inline " , gId ( " lserr " ) . innerHTML = " ⚠ Settings JSON parsing failed. ( " + e + " ) " } genForm ( sett ) , gId ( " dm " ) . checked = " light " = = = gId ( " theme_base " ) . value } function  SetLS ( ) { for ( var  e = d . querySelectorAll ( " .agi " ) , t = 0 ; t < e . length ; t + + ) { var  i = e [ t ] , n = i . classList . contains ( " cb " ) ? i . checked : i . value ; set ( i . id , sett , n ) , console . log ( ` $ { i . id }  set  to  $ { n } ` ) } try { localStorage . setItem ( " wledUiCfg " , JSON . stringify ( sett ) ) , gId ( " lssuc " ) . style . display = " inline " } catch ( i ) { gId ( " lssuc " ) . style . display = " none " , gId ( " lserr " ) . style . display = " inline " , gId ( " lserr " ) . innerHTML = " ⚠ Settings JSON saving failed. ( " + i + " ) " } } function  cLS ( ) { localStorage . removeItem ( " wledP " ) , localStorage . removeItem ( " wledPmt " ) , localStorage . removeItem ( " wledPalx " ) , showToast ( " Cleared. " ) } function  Save ( ) { SetLS ( ) , d . Sf . DS . value = = initial_ds & & d . Sf . ST . checked = = initial_st & & d . Sf . SU . checked = = initial_su | | d . Sf . submit ( ) } function  S ( ) { GetV ( ) , initial_ds = d . Sf . DS . value , initial_st = d . Sf . ST . checked , initial_su = d . Sf . SU . checked , GetLS ( ) } function  H ( ) { window . open ( " https://github.com/Aircoookie/WLED/wiki/Settings#user-interface-settings " ) } function  B ( ) { window . open ( " /settings " , " _self " ) } function  UI ( ) { gId ( " idonthateyou " ) . style . display = gId ( " dm " ) . checked ? " inline " : " none " ; var  e = gId ( " theme_base " ) ; e & & ( e . value = gId ( " dm " ) . checked ? " light " : " dark " ) } function  setRandomBg ( ) { gId ( " theme_bg_random " ) . checked ? gId ( " theme_bg_url " ) . value = " https://picsum.photos/1920/1080 " : gId ( " theme_bg_url " ) . value = " " } function  checkRandomBg ( ) { " https://picsum.photos/1920/1080 " = = = gId ( " theme_bg_url " ) . value ? gId ( " theme_bg_random " ) . checked = ! 0 : gId ( " theme_bg_random " ) . checked = ! 1 } function  uploadFile ( e , t ) { var  i = new  XMLHttpRequest ; i . addEventListener ( " load " , ( function ( ) { showToast ( this . responseText ) } ) ) , i . addEventListener ( " error " , ( function ( e ) { showToast ( e . stack , ! 0 ) } ) ) , i . open ( " POST " , " /upload " ) ; var  n = new  FormData ; return  n . append ( " data " , e . files [ 0 ] , t ) , i . send ( n ) , e . value = " " , ! 1 } function  GetV ( )  { var  d = document ;  
						 
					
						
							
								
									
										
										
										
											2020-10-29 09:14:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								% CSS % % SCSS % < / head > < body  onload = " S() " > < form  
						 
					
						
							
								
									
										
										
										
											2021-08-19 19:57:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 id = " form_s "  name = " Sf "  method = " post " > < div  class = " toprow " > < div  class = " helpB " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< button  type = " button "  onclick = " H() " > ? < / button > < / div > < button  type = " button "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								onclick = " B() " > Back < / button > < button  type = " button "  onclick = " Save() " > Save < / button >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< br > < span  id = " lssuc "  style = " color:green;display:none " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								& # 10004 ;  Local  UI  settings  saved ! < / span >  < span  id = " lserr "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								style = " color:red;display:none " >  
						 
					
						
							
								
									
										
										
										
											2020-08-30 21:31:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								& # 9888 ;  Could  not  access  local  storage .  Make  sure  it  is  enabled  in  your  browser .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / span > < hr > < / div > < h2 > Web  Setup < / h2 > Server  description :  < input  name = " DS "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								maxlength = " 32 " > < br > Sync  button  toggles  both  send  and  receive :  < input   
						 
					
						
							
								
									
										
										
										
											2021-08-10 15:11:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								type = " checkbox "  name = " ST " > < br > Enable  simplified  UI :  < input  type = " checkbox "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " SU " > < br > < i >  
						 
					
						
							
								
									
										
										
										
											2020-08-30 21:31:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								The  following  UI  customization  settings  are  unique  both  to  the  WLED  device  and  this  browser .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								You  will  need  to  set  them  again  if  using  a  different  browser ,  device  or  WLED  IP  address .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< br > Refresh  the  main  UI  to  apply  changes . < / i > < br > < div  id = " gen " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Loading  settings . . . < / div > < h3 > UI  Appearance < / h3 > < span  class = " l " > < / span > :  < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " checkbox "  id = " comp_labels "  class = " agi cb " > < br > < span  class = " l " > < / span > :   
						 
					
						
							
								
									
										
										
										
											2020-12-14 22:32:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< input  type = " checkbox "  id = " comp_pcmbot "  class = " agi cb " > < br > < span  class = " l " >  
						 
					
						
							
								
									
										
										
										
											2021-04-01 15:12:45 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / span > :  < input  type = " checkbox "  id = " comp_pid "  class = " agi cb " > < br > < span   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class = " l " > < / span > :  < input  type = " checkbox "  id = " comp_seglen "  class = " agi cb " > < br >  
						 
					
						
							
								
									
										
										
										
											2020-12-14 22:32:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								I  hate  dark  mode :  < input  type = " checkbox "  id = " dm "  onchange = " UI() " > < br > < span   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								id = " idonthateyou "  style = " display:none " > < i > Why  would  you ?  < / i > & # x1F97A ; < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / span > < span  class = " l " > < / span > :  < input  type = " number "  min = " 0.0 "  max = " 1.0 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								step = " 0.01 "  id = " theme_alpha_tab "  class = " agi " > < br > < span  class = " l " > < / span > :  < input  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 type = " number "  min = " 0.0 "  max = " 1.0 "  step = " 0.01 "  id = " theme_alpha_bg "  class = " agi " > 
							 
						 
					
						
							
								
									
										
										
										
											2020-08-30 21:31:58 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< br > < span  class = " l " > < / span > :  < input  id = " theme_color_bg "  maxlength = " 9 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class = " agi " > < br > < span  class = " l " > BG  image  URL < / span > :  < input  id = " theme_bg_url "   
						 
					
						
							
								
									
										
										
										
											2020-12-21 20:12:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								class = " agi "  oninput = " checkRandomBg() " > < br > < span  class = " l " > Random  BG  image < / span >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								:  < input  type = " checkbox "  id = " theme_bg_random "  class = " agi cb "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								onchange = " setRandomBg() " > < br > < input  id = " theme_base "  class = " agi "   
						 
					
						
							
								
									
										
										
										
											2021-08-18 11:41:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								style = " display:none " >  < span  class = " l " > < / span > :  < input  type = " checkbox "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								id = " comp_css "  class = " agi cb " > < br > < div  id = " skin " > Custom  CSS :  < input  type = " file "   
						 
					
						
							
								
									
										
										
										
											2021-06-06 18:36:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								name = " data "  accept = " .css " >  < input  type = " button "  value = " Upload "   
						 
					
						
							
								
									
										
										
										
											2021-08-18 11:41:54 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								onclick = ' uploadFile ( d . Sf . data , " /skin.css " ) ' > < br > < / div > < span  class = " l " > < / span > :   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< input  type = " checkbox "  id = " comp_hdays "  class = " agi cb " > < br > < div  id = " holidays " >  
						 
					
						
							
								
									
										
										
										
											2021-07-14 21:10:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Holidays :  < input  type = " file "  name = " data2 "  accept = " .json " >  < input  type = " button "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								value = " Upload "  onclick = ' uploadFile ( d . Sf . data2 , " /holidays.json " ) ' > < br > < / div > < div   
						 
					
						
							
								
									
										
										
										
											2021-08-20 17:38:24 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								id = " toast " > < / div > < hr > < button  type = " button "  onclick = " cLS() " > Clear  local  storage  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / button > < hr > < button  type = " button "  onclick = " B() " > Back < / button > < button   
						 
					
						
							
								
									
										
										
										
											2021-07-14 21:10:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								type = " button "  onclick = " Save() " > Save < / button > < / form > < / body > < / html > ) = = = = = " ;  
						 
					
						
							
								
									
										
										
										
											2018-09-17 09:15:08 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-02-23 21:24:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Autogenerated from wled00/data/settings_sync.htm, do not edit!!
  
						 
					
						
							
								
									
										
										
										
											2020-12-23 20:43:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const  char  PAGE_settings_sync [ ]  PROGMEM  =  R " =====(<!DOCTYPE html><html lang= " en " ><head><meta name= " viewport "  content= " width = 500 " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< meta  charset = " utf-8 " > < title > Sync  Settings < / title > < script >  
						 
					
						
							
								
									
										
										
										
											2021-08-24 22:36:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  d = document ; function  gId ( e ) { return  d . getElementById ( e ) } function  H ( ) { window . open ( " https://github.com/Aircoookie/WLED/wiki/Settings#sync-settings " ) } function  B ( ) { window . open ( " /settings " , " _self " ) } function  adj ( ) { 6454 = = d . Sf . DI . value ? ( 1 = = d . Sf . DA . value & & ( d . Sf . DA . value = 0 ) , 1 = = d . Sf . EU . value & & ( d . Sf . EU . value = 0 ) ) : 5568 = = d . Sf . DI . value & & ( 0 = = d . Sf . DA . value & & ( d . Sf . DA . value = 1 ) , 0 = = d . Sf . EU . value & & ( d . Sf . EU . value = 1 ) ) } function  FC ( ) { for ( j = 0 ; j < 8 ; j + + ) gId ( " G " + ( j + 1 ) ) . checked = gId ( " GS " ) . value > > j & 1 , gId ( " R " + ( j + 1 ) ) . checked = gId ( " GR " ) . value > > j & 1 } function  GC ( ) { var  e = 0 , d = 0 , n = 1 ; for ( j = 0 ; j < 8 ; j + + ) e + = gId ( " G " + ( j + 1 ) ) . checked * n , d + = gId ( " R " + ( j + 1 ) ) . checked * n , n * = 2 ; gId ( " GS " ) . value = e , gId ( " GR " ) . value = d } function  SP ( ) { var  e = d . Sf . DI . value ; gId ( " xp " ) . style . display = e > 0 ? " none " : " block " , e > 0 & & ( d . Sf . EP . value = e ) } function  SetVal ( ) { switch ( parseInt ( d . Sf . EP . value ) ) { case  5568 : d . Sf . DI . value = 5568 ; break ; case  6454 : d . Sf . DI . value = 6454 ; break ; case  4048 : d . Sf . DI . value = 4048 } SP ( ) , FC ( ) } function  S ( ) { GetV ( ) , SetVal ( ) } function  GetV ( )  {  
						 
					
						
							
								
									
										
										
										
											2021-08-19 19:57:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								% CSS % % SCSS % < / head > < body  onload = " S() " >  
						 
					
						
							
								
									
										
										
										
											2021-08-25 04:26:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< form  id = " form_s "  name = " Sf "  method = " post "  onsubmit = " GC() " > < div  class = " toprow " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div  class = " helpB " > < button  type = " button "  onclick = " H() " > ? < / button > < / div > < button   
						 
					
						
							
								
									
										
										
										
											2021-08-19 19:57:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								type = " button "  onclick = " B() " > Back < / button > < button  type = " submit " > Save < / button > < hr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / div > < h2 > Sync  setup < / h2 > < h3 > WLED  Broadcast < / h3 > UDP  Port :  < input  name = " UP "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " number "  min = " 1 "  max = " 65535 "  class = " d5 "  required > < br > 2 nd  Port :  < input   
						 
					
						
							
								
									
										
										
										
											2021-08-25 04:26:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								name = " U2 "  type = " number "  min = " 1 "  max = " 65535 "  class = " d5 "  required > < br > < br > < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " GS "  id = " GS "  type = " number "  style = " display:none " >  < input  name = " GR "  id = " GR "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " number "  style = " display:none " > < table  style = " margin:0 auto " > < tr > < td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Sync  groups < / td > < td > 1 < / td > < td > 2 < / td > < td > 3 < / td > < td > 4 < / td > < td > 5 < / td > < td > 6 < / td > < td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								7 < / td > < td > 8 < / td > < / tr > < tr > < td > Send : < / td > < td > < input  type = " checkbox "  id = " G1 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " G1 " > < / td > < td > < input  type = " checkbox "  id = " G2 "  name = " G2 " > < / td > < td > < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " checkbox "  id = " G3 "  name = " G3 " > < / td > < td > < input  type = " checkbox "  id = " G4 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " G4 " > < / td > < td > < input  type = " checkbox "  id = " G5 "  name = " G5 " > < / td > < td > < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " checkbox "  id = " G6 "  name = " G6 " > < / td > < td > < input  type = " checkbox "  id = " G7 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " G7 " > < / td > < td > < input  type = " checkbox "  id = " G8 "  name = " G8 " > < / td > < / tr > < tr > < td >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Receive : < / td > < td > < input  type = " checkbox "  id = " R1 "  name = " R1 " > < / td > < td > < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " checkbox "  id = " R2 "  name = " R2 " > < / td > < td > < input  type = " checkbox "  id = " R3 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " R3 " > < / td > < td > < input  type = " checkbox "  id = " R4 "  name = " R4 " > < / td > < td > < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " checkbox "  id = " R5 "  name = " R5 " > < / td > < td > < input  type = " checkbox "  id = " R6 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " R6 " > < / td > < td > < input  type = " checkbox "  id = " R7 "  name = " R7 " > < / td > < td > < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " checkbox "  id = " R8 "  name = " R8 " > < / td > < / tr > < / table > < br > Receive :  < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " checkbox "  name = " RB " > Brightness ,  < input  type = " checkbox "  name = " RC " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Color ,  and  < input  type = " checkbox "  name = " RX " > Effects < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Send  notifications  on  direct  change :  < input  type = " checkbox "  name = " SD " > < br >  
						 
					
						
							
								
									
										
										
										
											2021-08-19 19:57:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Send  notifications  on  button  press  or  IR :  < input  type = " checkbox "  name = " SB " > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Send  Alexa  notifications :  < input  type = " checkbox "  name = " SA " > < br >  
						 
					
						
							
								
									
										
										
										
											2020-09-27 09:43:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Send  Philips  Hue  change  notifications :  < input  type = " checkbox "  name = " SH " > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Send  Macro  notifications :  < input  type = " checkbox "  name = " SM " > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Send  notifications  twice :  < input  type = " checkbox "  name = " S2 " > < br > < i >  
						 
					
						
							
								
									
										
										
										
											2021-03-13 21:04:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Reboot  required  to  apply  changes . < / i > < h3 > Instance  List < / h3 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Enable  instance  list :  < input  type = " checkbox "  name = " NL " > < br >  
						 
					
						
							
								
									
										
										
										
											2021-08-19 16:24:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Make  this  instance  discoverable :  < input  type = " checkbox "  name = " NB " > < h3 > Realtime  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / h3 > Receive  UDP  realtime :  < input  type = " checkbox "  name = " RD " > < br > < br > < i >  
						 
					
						
							
								
									
										
										
										
											2021-03-13 21:04:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Network  DMX  input < / i > < br > Type :  < select  name = " DI "  onchange = " SP(),adj() " > < option   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								value = " 5568 " > E1 .31  ( sACN ) < / option > < option  value = " 6454 " > Art - Net < / option > < option   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								value = " 4048 " > DDP < / option > < option  value = " 0 "  selected = " selected " > Custom  port  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / option > < / select > < br > < div  id = " xp " > Port :  < input  name = " EP "  type = " number "  min = " 1 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								max = " 65535 "  value = " 5568 "  class = " d5 "  required > < br > < / div > Multicast :  < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " checkbox "  name = " EM " > < br > Start  universe :  < input  name = " EU "  type = " number "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								min = " 0 "  max = " 63999 "  required > < br > < i > Reboot  required . < / i >  Check  out  < a   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								href = " https://github.com/LedFx/LedFx "  target = " _blank " > LedFx < / a > ! < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Skip  out - of - sequence  packets :  < input  type = " checkbox "  name = " ES " > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								DMX  start  address :  < input  name = " DA "  type = " number "  min = " 0 "  max = " 510 "  required >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< br > DMX  mode :  < select  name = " DM " > < option  value = " 0 " > Disabled < / option > < option   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								value = " 1 " > Single  RGB < / option > < option  value = " 2 " > Single  DRGB < / option > < option   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								value = " 3 " > Effect < / option > < option  value = " 4 " > Multi  RGB < / option > < option  value = " 5 " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Dimmer  +  Multi  RGB < / option > < option  value = " 6 " > Multi  RGBW < / option > < / select > < br > < a   
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								href = " https://github.com/Aircoookie/WLED/wiki/E1.31-DMX "  target = " _blank " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								E1 .31  info < / a > < br > Timeout :  < input  name = " ET "  type = " number "  min = " 1 "  max = " 65000 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								required >  ms < br > Force  max  brightness :  < input  type = " checkbox "  name = " FB " > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Disable  realtime  gamma  correction :  < input  type = " checkbox "  name = " RG " > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Realtime  LED  offset :  < input  name = " WO "  type = " number "  min = " -255 "  max = " 255 "   
						 
					
						
							
								
									
										
										
										
											2021-08-19 16:24:41 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								required > < br > < br > Realtime  HSV  color  correction :  < input  type = " checkbox "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " HX " > < br > Saturation  ( 1 - 30 ) :  < input  name = " HS "  type = " number "  min = " 1 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								max = " 30 "  value = " 1 "  step = " 1 " > < br > Value  ( 1 - 60 ) :  < input  name = " HV "  type = " number "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								min = " 1 "  max = " 60 "  value = " 10 "  step = " 1 " > < h3 > Alexa  Voice  Assistant < / h3 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Emulate  Alexa  device :  < input  type = " checkbox "  name = " AL " > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Alexa  invocation  name :  < input  name = " AI "  maxlength = " 32 " > < h3 > Blynk < / h3 > < b >  
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Blynk ,  MQTT  and  Hue  sync  all  connect  to  external  hosts ! < br >  
						 
					
						
							
								
									
										
										
										
											2019-02-19 11:57:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								This  may  impact  the  responsiveness  of  the  ESP8266 . < / b > < br >  
						 
					
						
							
								
									
										
										
										
											2018-12-05 23:27:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								For  best  results ,  only  use  one  of  these  services  at  a  time . < br >  
						 
					
						
							
								
									
										
										
										
											2020-12-21 23:44:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								( alternatively ,  connect  a  second  ESP  to  them  and  use  the  UDP  sync ) < br > < br > Host :   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< input  name = " BH "  maxlength = " 32 " >  Port :  < input  name = " BP "  type = " number "  min = " 1 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								max = " 65535 "  value = " 80 "  class = " d5 " > < br > Device  Auth  token :  < input  name = " BK "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								maxlength = " 33 " > < br > < i > Clear  the  token  field  to  disable .  < / i > < a   
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								href = " https://github.com/Aircoookie/WLED/wiki/Blynk "  target = " _blank " > Setup  info  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / a > < h3 > MQTT < / h3 > Enable  MQTT :  < input  type = " checkbox "  name = " MQ " > < br > Broker :   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< input  name = " MS "  maxlength = " 32 " >  Port :  < input  name = " MQPORT "  type = " number "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								min = " 1 "  max = " 65535 "  class = " d5 " > < br > < b >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The  MQTT  credentials  are  sent  over  an  unsecured  connection . < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Never  use  the  MQTT  password  for  another  service ! < / b > < br > Username :  < input   
						 
					
						
							
								
									
										
										
										
											2020-12-23 20:58:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								name = " MQUSER "  maxlength = " 40 " > < br > Password :  < input  type = " password "  name = " MQPASS "   
						 
					
						
							
								
									
										
										
										
											2021-06-29 23:23:35 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								maxlength = " 64 " > < br > Client  ID :  < input  name = " MQCID "  maxlength = " 40 " > < br >  
						 
					
						
							
								
									
										
										
										
											2020-12-23 20:58:38 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Device  Topic :  < input  name = " MD "  maxlength = " 32 " > < br > Group  Topic :  < input  name = " MG "   
						 
					
						
							
								
									
										
										
										
											2021-07-01 18:51:52 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								maxlength = " 32 " > < br > Publish  on  button  press :  < input  type = " checkbox "  name = " BM " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< br > < i > Reboot  required  to  apply  changes .  < / i > < a   
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								href = " https://github.com/Aircoookie/WLED/wiki/MQTT "  target = " _blank " > MQTT  info  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / a > < h3 > Philips  Hue < / h3 > < i >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								You  can  find  the  bridge  IP  and  the  light  number  in  the  ' About '  section  of  the  hue  app .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / i > < br > Poll  Hue  light  < input  name = " HL "  type = " number "  min = " 1 "  max = " 99 " >  every   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< input  name = " HI "  type = " number "  min = " 100 "  max = " 65000 " >  ms :  < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " checkbox "  name = " HP " > < br > Then ,  receive  < input  type = " checkbox "  name = " HO " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 On / Off ,  < input  type = " checkbox "  name = " HB " >  Brightness ,  and  < input  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " checkbox "  name = " HC " >  Color < br > Hue  Bridge  IP : < br > < input  name = " H0 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " number "  min = " 0 "  max = " 255 " >  .  < input  name = " H1 "  type = " number "  min = " 0 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								max = " 255 " >  .  < input  name = " H2 "  type = " number "  min = " 0 "  max = " 255 " >  .  < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " H3 "  type = " number "  min = " 0 "  max = " 255 " > < br > < b >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Press  the  pushlink  button  on  the  bridge ,  after  that  save  this  page ! < / b > < br >  
						 
					
						
							
								
									
										
										
										
											2020-05-17 19:39:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								( when  first  connecting ) < br > Hue  status :  < span  class = " sip " > Disabled  in  this  build  
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / span > < hr > < button  type = " button "  onclick = " B() " > Back < / button > < button   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " submit " > Save < / button > < / form > < / body > < / html > ) = = = = = " ;  
						 
					
						
							
								
									
										
										
										
											2018-02-20 21:29:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-09-17 09:15:08 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Autogenerated from wled00/data/settings_time.htm, do not edit!!
  
						 
					
						
							
								
									
										
										
										
											2020-12-23 20:43:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const  char  PAGE_settings_time [ ]  PROGMEM  =  R " =====(<!DOCTYPE html><html lang= " en " ><head><meta name= " viewport "  content= " width = 500 " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< meta  charset = " utf-8 " > < title > Time  Settings < / title > < script >  
						 
					
						
							
								
									
										
										
										
											2021-07-01 11:42:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								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 ( t ) { return  d . getElementById ( t ) } function  Cs ( ) { gId ( " cac " ) . style . display = " none " , gId ( " coc " ) . style . display = " block " , gId ( " ccc " ) . style . display = " none " , gId ( " ca " ) . selected & & ( gId ( " cac " ) . style . display = " block " ) , gId ( " cc " ) . selected & & ( gId ( " coc " ) . style . display = " none " , gId ( " ccc " ) . style . display = " block " ) , gId ( " cn " ) . selected & & ( gId ( " coc " ) . style . display = " none " ) } function  BTa ( ) { var  t = " <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 + + ) { for ( t + = ' < 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 = " sml "  type = " number "  min = " 0 "  max = " 24 " > < / td > < td > < input  name = " N'+i+' "  class = " sml "  type = " number "  min = " 0 "  max = " 59 " > < / td > < td > < input  name = " T'+i+' "  class = " med "  type = " number "  min = " 0 "  max = " 250 " > < / td > ' , j = 1 ; j < 8 ; j + + ) t + = ' < td > < input  id = " W'+i+j+' "  type = " checkbox " > < / td > ' ; t + = " </tr> " } for ( t + = ' < tr > < td > < input  name = " W8 "  id = " W8 "  type = " number "  style = " display:none " > < input  id = " W80 "  type = " checkbox " > < / td > < td > Sunrise < input  name = " H8 "  class = " sml "  value = " 255 "  type = " hidden " > < / td > < td > < input  name = " N8 "  class = " sml "  type = " number "  min = " -59 "  max = " 59 " > < / td > < td > < input  name = " T8 "  class = " med "  type = " number "  min = " 0 "  max = " 250 " > < / td > ' , j = 1 ; j < 8 ; j + + ) t + = ' < td > < input  id = " W8'+j+' "  type = " checkbox " > < / td > ' ; for ( t + = ' < / tr > < tr > < td > < input  name = " W9 "  id = " W9 "  type = " number "  style = " display:none " > < input  id = " W90 "  type = " checkbox " > < / td > < td > Sunset < input  name = " H9 "  class = " sml "  value = " 255 "  type = " hidden " > < / td > < td > < input  name = " N9 "  class = " sml "  type = " number "  min = " -59 "  max = " 59 " > < / td > < td > < input  name = " T9 "  class = " med "  type = " number "  min = " 0 "  max = " 250 " > < / td > ' , j = 1 ; j < 8 ; j + + ) t + = ' < td > < input  id = " W9'+j+' "  type = " checkbox " > < / td > ' ; t + = " </tr> " , gId ( " TMT " ) . innerHTML = t } 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 ( ) { for ( a = [ 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ] , i = 0 ; i < 10 ; i + + ) { for ( m = 1 , j = 0 ; j < 8 ; j + + ) a [ i ] + = gId ( " W " + i + j ) . checked * m , m * = 2 ; gId ( " W " + i ) . value = a [ i ] } } function  addRow ( t , e , n , i ) { var  d = gId ( " macros " ) , s = d . rows . length , c = d . insertRow ( s ) ; document . createElement ( " td " ) ; c . insertCell ( 0 ) . innerHTML = ` Button  $ { t } : ` , c . insertCell ( 1 ) . innerHTML = ` < input  name = " MP${t} "  type = " number "  class = " m "  min = " 0 "  max = " 250 "  value = " ${e} "  required > ` , c . insertCell ( 2 ) . innerHTML = ` < input  name = " ML${t} "  type = " number "  class = " m "  min = " 0 "  max = " 250 "  value = " ${n} "  required > ` , c . insertCell ( 3 ) . innerHTML = ` < input  name = " MD${t} "  type = " number "  class = " m "  min = " 0 "  max = " 250 "  value = " ${i} "  required > ` } function  GetV ( )  {  
						 
					
						
							
								
									
										
										
										
											2021-08-19 19:57:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								% CSS % % SCSS % < / 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  24 h  format :  < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " checkbox "  name = " CF " > < br > Time  zone :  < select  name = " TZ " > < option  value = " 0 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								selected = " 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 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class = " xl "  min = " -66.6 "  max = " 66.6 "  step = " 0.01 " >  Longitude  ( E ) :  < input  name = " LN "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " number "  class = " xl "  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 = " selected " > None < / option >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< option  value = " 1 "  id = " ca " > Analog  Clock < / option > < option  value = " 2 " >  
						 
					
						
							
								
									
										
										
										
											2021-04-12 19:53:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								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 " > 12 h  LED :  < input  name = " OM "  type = " number "  min = " 0 "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								max = " 255 "  required > < br > Show  5 min  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   
						 
					
						
							
								
									
										
										
										
											2021-08-19 19:57:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								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 >  
						 
					
						
							
								
									
										
										
										
											2020-11-08 22:44:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								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 "   
						 
					
						
							
								
									
										
										
										
											2021-05-19 16:39:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								type = " number "  min = " 0 "  max = " 250 "  required > < br > Countdown - Over  Preset :  < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " MC "  type = " number "  min = " 0 "  max = " 250 "  required > < br >  
						 
					
						
							
								
									
										
										
										
											2020-11-08 22:44:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Timed - Light - Over  Presets :  < input  name = " MN "  type = " number "  min = " 0 "  max = " 250 "   
						 
					
						
							
								
									
										
										
										
											2021-05-19 16:39:16 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								required > < br > < h3 > Button  actions < / h3 > < table  style = " margin:0 auto "  id = " macros " >  
						 
					
						
							
								
									
										
										
										
											2021-05-20 04:45:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< thead > < tr > < td > push < br > switch < / td > < td > short < br > on - & gt ; off < / td > < td > long < br >  
						 
					
						
							
								
									
										
										
										
											2021-05-29 23:31:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								off - & gt ; on < / td > < td > double < br > N / A < / td > < / tr > < / thead > < tbody > < / tbody > < / table > < a   
						 
					
						
							
								
									
										
										
										
											2021-05-30 10:11:34 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								href = " https://github.com/Aircoookie/WLED/wiki/Macros#analog-button "   
						 
					
						
							
								
									
										
										
										
											2021-05-29 23:31:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								target = " _blank " > Analog  Button  setup < / a > < h3 > Time - controlled  presets < / h3 > < div   
						 
					
						
							
								
									
										
										
										
											2021-05-28 06:47:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								style = " display:inline-block " > < table  id = " TMT " > < / table > < / div > < hr > < button   
						 
					
						
							
								
									
										
										
										
											2021-05-27 15:57:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								type = " button "  onclick = " B() " > Back < / button > < button  type = " submit " > Save < / button >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / form > < / body > < / html > ) = = = = = " ;  
						 
					
						
							
								
									
										
										
										
											2018-02-20 21:29:48 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2018-09-17 09:15:08 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// Autogenerated from wled00/data/settings_sec.htm, do not edit!!
  
						 
					
						
							
								
									
										
										
										
											2020-12-23 20:43:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								const  char  PAGE_settings_sec [ ]  PROGMEM  =  R " =====(<!DOCTYPE html><html lang= " en " ><head><meta name= " viewport "  content= " width = 500 " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< meta  charset = " utf-8 " > < title > Misc  Settings < / title > < script >  
						 
					
						
							
								
									
										
										
										
											2021-07-25 22:10:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  timeout , d = document ; function  H ( ) { window . open ( " https://github.com/Aircoookie/WLED/wiki/Settings#security-settings " ) } function  B ( ) { window . open ( " /settings " , " _self " ) } function  U ( ) { window . open ( " /update " , " _self " ) } function  gId ( t ) { return  d . getElementById ( t ) } function  isObject ( t ) { return  t & & " object " = = typeof  t & & ! Array . isArray ( t ) } function  showToast ( t , e = ! 1 ) { var  n = gId ( " toast " ) ; n . innerHTML = t , n . className = e ? " error " : " show " , clearTimeout ( timeout ) , n . style . animation = " none " , timeout = setTimeout ( ( function ( ) { n . className = n . className . replace ( " show " , " " ) } ) , 2900 ) } function  uploadFile ( t , e ) { var  n = new  XMLHttpRequest ; n . addEventListener ( " load " , ( function ( ) { showToast ( this . responseText ) } ) ) , n . addEventListener ( " error " , ( function ( t ) { showToast ( t . stack , ! 0 ) } ) ) , n . open ( " POST " , " /upload " ) ; var  o = new  FormData ; return  o . append ( " data " , t . files [ 0 ] , e ) , n . send ( o ) , t . value = " " , ! 1 } function  GetV ( )  { var  d = document ;  
						 
					
						
							
								
									
										
										
										
											2021-08-20 17:38:24 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								% CSS % % SCSS % < / head > < body  onload = " GetV() " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< form  id = " form_s "  name = " Sf "  method = " post " > < div  class = " toprow " > < div   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								class = " helpB " > < button  type = " button "  onclick = " H() " > ? < / button > < / div > < button   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " button "  onclick = " B() " > Back < / button > < button  type = " submit " > Save  &  Reboot  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / button > < hr > < / div > < h2 > Security  &  Update  setup < / h2 >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Lock  wireless  ( OTA )  software  update :  < input  type = " checkbox "  name = " NO " > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Passphrase :  < input  type = " password "  name = " OP "  maxlength = " 32 " > < br >  
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								To  enable  OTA ,  for  security  reasons  you  need  to  also  enter  the  correct  password !  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< br > The  password  should  be  changed  when  OTA  is  enabled . < br > < b >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Disable  OTA  when  not  in  use ,  otherwise  an  attacker  can  reflash  device  software !  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / b > < br > < i > Settings  on  this  page  are  only  changable  if  OTA  lock  is  disabled ! < / i >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< br > Deny  access  to  WiFi  settings  if  locked :  < input  type = " checkbox "  name = " OW " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< br > < br > Factory  reset :  < input  type = " checkbox "  name = " RS " > < br >  
						 
					
						
							
								
									
										
										
										
											2021-04-15 08:55:22 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								All  settings  and  presets  will  be  erased . < br > < br >  
						 
					
						
							
								
									
										
										
										
											2018-03-14 18:05:51 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								HTTP  traffic  is  unencrypted .  An  attacker  in  the  same  network  can  intercept  form  data !  
						 
					
						
							
								
									
										
										
										
											2021-08-19 19:57:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< hr > < h3 > Software  Update < / h3 > < button  type = " button "  onclick = " U() " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Manual  OTA  Update < / button > < br > Enable  ArduinoOTA :  < input  type = " checkbox "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " AO " > < br > < h3 > Backup  &  Restore < / h3 > < a  class = " btn lnk "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								href = " /presets.json?download "  target = " download-frame " > Backup  presets < / a > < br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< div > Restore  presets < br > < input  type = " file "  name = " data "  accept = " .json " >  < input   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " button "  value = " Upload "  onclick = ' uploadFile ( d . Sf . data , " /presets.json " ) ' >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< br > < / div > < br > < a  class = " btn lnk "  href = " /cfg.json?download "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								target = " download-frame " > Backup  configuration < / a > < br > < div > Restore  configuration  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< br > < input  type = " file "  name = " data2 "  accept = " .json " >  < input  type = " button "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								value = " Upload "  onclick = ' uploadFile ( d . Sf . data2 , " /cfg.json " ) ' > < br > < / div > < div   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								style = " color:#fa0 " >  
						 
					
						
							
								
									
										
										
										
											2021-07-25 20:44:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								& # 9888 ;  Restoring  presets / configuration  will  OVERWRITE  your  current  presets / configuration .  
						 
					
						
							
								
									
										
										
										
											2021-07-25 22:10:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< br >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Incorrect  configuration  may  require  a  factory  reset  or  re - flashing  of  your  ESP .  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / div > For  security  reasons ,  passwords  are  not  backed  up . < h3 > About < / h3 > < a   
						 
					
						
							
								
									
										
										
										
											2021-07-25 20:44:26 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								href = " https://github.com/Aircoookie/WLED/ "  target = " _blank " > WLED < / a >  
						 
					
						
							
								
									
										
										
										
											2021-08-10 15:11:17 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								 version  0.13 .0 - bl3 < br > < br > < a  
							 
						 
					
						
							
								
									
										
										
										
											2021-01-08 15:49:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								href = " https://github.com/Aircoookie/WLED/wiki/Contributors-and-credits "   
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								target = " _blank " > Contributors ,  dependencies  and  special  thanks < / a > < br >  
						 
					
						
							
								
									
										
										
										
											2018-11-22 23:03:44 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								A  huge  thank  you  to  everyone  who  helped  me  create  WLED ! < br > < br >  
						 
					
						
							
								
									
										
										
										
											2021-01-08 15:49:56 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								( c )  2016 - 2021  Christian  Schwinne < br > < i > Licensed  under  the  < a   
						 
					
						
							
								
									
										
										
										
											2020-11-15 11:41:51 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								href = " https://github.com/Aircoookie/WLED/blob/master/LICENSE "  target = " _blank " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								MIT  license < / a > < / i > < br > < br > Server  message :  < span  class = " sip " > Response  error !  
						 
					
						
							
								
									
										
										
										
											2021-07-14 21:10:19 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / span > < hr > < div  id = " toast " > < / div > < button  type = " button "  onclick = " B() " > Back  
						 
					
						
							
								
									
										
										
										
											2021-07-15 07:24:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< / button > < button  type = " submit " > Save  &  Reboot < / button > < / form > < iframe   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								name = " download-frame "  style = " display:none " > < / iframe > < / body > < / html > ) = = = = = " ;  
						 
					
						
							
								
									
										
										
										
											2020-05-17 18:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2021-04-09 22:17:15 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// Autogenerated from wled00/data/settings_um.htm, do not edit!!
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								const  char  PAGE_settings_um [ ]  PROGMEM  =  R " =====(<!DOCTYPE html><html><head lang= " en " ><meta charset= " utf - 8 " ><meta   
						 
					
						
							
								
									
										
										
										
											2021-05-11 21:21:57 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								name = " viewport "  content = " width=500 " > < title > Usermod  Settings < / title > < script >  
						 
					
						
							
								
									
										
										
										
											2021-07-06 20:08:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								var  owner , locip , urows , d = document , umCfg = { } , pins = [ 6 , 7 , 8 , 9 , 10 , 11 ] , pinO = [ " rsvd " , " rsvd " , " rsvd " , " rsvd " , " rsvd " , " rsvd " ] , loc = ! 1 , numM = 0 ; function  gId ( e ) { return  d . getElementById ( e ) } function  isO ( e ) { return  e & & " object " = = typeof  e & & ! Array . isArray ( e ) } function  H ( ) { window . open ( " https://github.com/Aircoookie/WLED/wiki/Settings#usermod-settings " ) } function  B ( ) { window . open ( " /settings " , " _self " ) } function  S ( ) { " file: " = = window . location . protocol & & ( loc = ! 0 , ( locip = localStorage . getItem ( " locIp " ) ) | | ( locip = prompt ( " File Mode. Please enter WLED IP! " ) , localStorage . setItem ( " locIp " , locip ) ) ) , GetV ( ) , numM > 0 | | locip ? ldS ( ) : gId ( " um " ) . innerHTML = " No Usermods installed. " } function  isF ( e ) { return  e = = = + e & & e ! = = ( 0 | e ) } function  isI ( e ) { return  e = = = + e & & e = = = ( 0 | e ) } function  check ( e , n ) { var  i = e . name . replace ( " [] " , " " ) . substr ( - 3 ) ; if ( " number " = = e . type & & " pin " = = i . substr ( 0 , 3 ) ) for ( var  s = 0 ; s < pins . length ; s + + ) if ( n ! = pinO [ s ] ) { if ( e . value = = pins [ s ] | | e . value < - 1 | | e . value > 39 ) { e . style . color = " red " ; break } e . style . color = e . value > 33 ? " orange " : " #fff " } } function  getPins ( e ) { if ( isO ( e ) ) for ( const [ i , s ] of  Object . entries ( e ) ) if ( isO ( s ) ) owner = i , getPins ( s ) ; else  if ( " pin " = = i . replace ( " [] " , " " ) . substr ( - 3 ) ) if ( Array . isArray ( s ) ) for ( var  n = 0 ; n < s . length ; n + + ) s [ n ] > = 0 & & ( pins . push ( s [ n ] ) , pinO . push ( owner ) ) ; else  s > = 0 & & ( pins . push ( s ) , pinO . push ( owner ) ) ; else  if ( Array . isArray ( s ) ) for ( n = 0 ; n < s . length ; n + + ) getPins ( s [ n ] ) } function  addField ( e , n , i , s = ! 1 ) { if ( isO ( i ) ) for ( const [ s , t ] of  Object . entries ( i ) ) " unknown " = = = n | | e . includes ( " : " ) ? addField ( e , s , t ) : addField ( e + " : " + n , s , t ) ; else  if ( Array . isArray ( i ) ) for ( var  t = 0 ; t < i . length ; t + + ) addField ( e , n , i [ t ] , ! 0 ) ; else { var  o , r = typeof  i ; switch ( r ) { case " boolean " : r = " checkbox " , o = ' value = " true " ' + ( i ? "  checked " : " " ) ; break ; case " number " : o = ` value = " ${i} " ` , " pin " = = = n . substr ( - 3 ) ? ( o + = '  max = " 39 "  min = " -1 "  class = " s " ' , r = " int " ) : o + = '  step = " any "  class = " xxl " ' ; break ; default : r = " text " , o = ` value = " ${i} "  style = " width:250px; " ` } e . includes ( " : " ) & & ( urows + = e . substr ( e . indexOf ( " : " ) + 1 ) ) , urows + = `  $ { n } :  ` , " checkbox " = = r ? urows + = ` < input  type = " hidden "  name = " ${e}:${n}${s? " [ ] " : " " } "  value = " false " > ` : s | | ( urows + = ` < input  type = " hidden "  name = " ${e}:${n}${s? " [ ] " : " " } "  value = " ${r} " > ` ) , urows + = ` < input  type = " ${ " int " ===r? " number " :r} "  name = " ${e}:${n}${s? " [ ] " : " " } "  $ { o }  oninput = " check(this,'${e.substr(e.indexOf( " : " )+1)}') " > < br > ` } } function  ldS ( ) { fetch ( ( loc ? " http:// " + locip : " " ) + " /cfg.json " , { method : " get " } ) . then ( e = > ( e . ok | | ( gId ( " lserr " ) . style . display = " inline " ) , e . json ( ) ) ) . then ( e = > { if ( umCfg = e . um , getPins ( e ) , urows = " " , isO ( umCfg ) ) for ( const [ e , n ] of  Object . entries ( umCfg ) ) urows + = ` < hr > < h3 > $ { e } < / h3 > ` , addField ( e , " unknown " , n ) ; " " = = = urows & & ( urows = " Usermods configuration not found.<br>Press <i>Save</i> to initialize defaults. " ) , gId ( " um " ) . innerHTML = urows } ) . catch ( ( function ( e ) { gId ( " lserr " ) . style . display = " inline " , console . log ( e ) } ) ) } function  svS ( e ) { e . preventDefault ( ) , console . log ( d . Sf ) , d . Sf . checkValidity ( ) & & d . Sf . submit ( ) } function  GetV ( )  { var  d = document ;  
						 
					
						
							
								
									
										
										
										
											2021-08-19 19:57:04 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								% CSS % % SCSS % < / head > < body  onload = " S() " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< form  id = " form_s "  name = " Sf "  method = " post "  onsubmit = " svS(event) " > < 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 > < br > < span  id = " lssuc "  style = " color:green;display:none " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								& # 10004 ;  Configuration  saved ! < / span >  < span  id = " lserr "   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								style = " color:red;display:none " > & # 9888 ;  Could  not  load  configuration . < / span > < hr >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / div > < h2 > Usermod  Setup < / h2 > < div  id = " um " > Loading  settings . . . < / div > < hr > < button   
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								type = " button "  onclick = " B() " > Back < / button > < button  type = " submit " > Save < / button >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / form > < / body > < / html > ) = = = = = " ;  
						 
					
						
							
								
									
										
										
										
											2021-04-09 22:17:15 +00:00