2019-11-27 21:28:13 +00:00
<!DOCTYPE html>
2021-12-08 13:38:21 +00:00
< html lang = "en" >
< head >
2023-10-04 19:37:10 +00:00
< meta content = "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name = "viewport" >
2023-01-16 21:12:02 +00:00
< meta charset = "utf-8" >
< title > Sync Settings< / title >
2024-09-17 14:26:11 +00:00
< script src = "common.js" async type = "text/javascript" > < / script >
< script >
2023-01-16 21:12:02 +00:00
function adj(){if (d.Sf.DI.value == 6454) {if (d.Sf.EU.value == 1) d.Sf.EU.value = 0;}
else if (d.Sf.DI.value == 5568) {if (d.Sf.DA.value == 0) d.Sf.DA.value = 1; if (d.Sf.EU.value == 0) 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 a=0, b=0;
2022-07-17 13:58:41 +00:00
2023-01-16 21:12:02 +00:00
var m=1;
for(j=0;j< 8 ; j + + )
{
a+=gId("G"+(j+1)).checked*m;
b+=gId("R"+(j+1)).checked*m;
m*=2;
}
gId("GS").value=a;
gId("GR").value=b;
}
function SP(){var p = d.Sf.DI.value; gId("xp").style.display = (p > 0)?"none":"block"; if (p > 0) d.Sf.EP.value = p;}
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; break; }; SP();FC();}
function S(){
2024-09-17 14:26:11 +00:00
getLoc();
loadJS(getURL('/settings/s.js?p=4'), false, undefined, ()=>{SetVal();}); // If we set async false, file is loaded and executed, then next statement is processed
2023-06-04 16:40:29 +00:00
if (loc) d.Sf.action = getURL('/settings/sync');
}
function getURL(path) {
return (loc ? locproto + "//" + locip : "") + path;
2023-01-16 21:12:02 +00:00
}
< / script >
< style > @ import url ( "style.css" ) ; < / style >
2021-06-06 18:36:19 +00:00
< / head >
2020-04-12 22:42:27 +00:00
< body onload = "S()" >
2021-08-24 22:36:31 +00:00
< form id = "form_s" name = "Sf" method = "post" onsubmit = "GC()" >
2021-03-05 08:50:59 +00:00
< div class = "toprow" >
2024-09-17 14:26:11 +00:00
< div class = "helpB" > < button type = "button" onclick = "H('interfaces/udp-notifier/')" > ?< / button > < / div >
2020-04-12 22:42:27 +00:00
< button type = "button" onclick = "B()" > Back< / button > < button type = "submit" > Save< / button > < hr >
2021-03-05 08:50:59 +00:00
< / div >
2020-04-12 22:42:27 +00:00
< h2 > Sync setup< / h2 >
< h3 > WLED Broadcast< / h3 >
UDP Port: < input name = "UP" type = "number" min = "1" max = "65535" class = "d5" required > < br >
2022-11-11 19:20:11 +00:00
2nd Port: < input name = "U2" type = "number" min = "1" max = "65535" class = "d5" required > < br >
2023-09-10 16:52:14 +00:00
< div id = "NoESPNOW" class = "hide" >
< i class = "warn" > ESP-NOW support is disabled.< br > < / i >
< / div >
< div id = "ESPNOW" >
Use ESP-NOW sync: < input type = "checkbox" name = "EN" > < br > < i > (in AP mode or no WiFi)< / i > < br >
< / div >
2022-12-23 15:37:13 +00:00
< h3 > Sync groups< / h3 >
2022-11-11 19:20:11 +00:00
< input name = "GS" id = "GS" type = "number" style = "display: none;" > <!-- hidden inputs for bitwise group checkboxes -->
2021-08-24 22:36:31 +00:00
< input name = "GR" id = "GR" type = "number" style = "display: none;" >
2021-08-21 10:22:26 +00:00
< table style = "margin: 0 auto;" >
2023-01-16 21:12:02 +00:00
< tr >
< td > < / 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 >
2023-09-10 16:52:14 +00:00
< / table >
< h3 > Receive< / h3 >
2024-09-10 18:02:29 +00:00
< nowrap > < input type = "checkbox" name = "RB" > Brightness,< / nowrap > < nowrap > < input type = "checkbox" name = "RC" > Color,< / nowrap > < nowrap > < input type = "checkbox" name = "RX" > Effects,< / nowrap > < nowrap > and < input type = "checkbox" name = "RP" > Palette< / nowrap > < br >
2023-09-10 16:52:14 +00:00
< input type = "checkbox" name = "SO" > Segment options, < input type = "checkbox" name = "SG" > bounds
< h3 > Send< / h3 >
Enable Sync on start: < input type = "checkbox" name = "SS" > < br >
2020-04-12 22:42:27 +00:00
Send notifications on direct change: < input type = "checkbox" name = "SD" > < br >
2020-12-14 22:32:57 +00:00
Send notifications on button press or IR: < input type = "checkbox" name = "SB" > < br >
2020-04-12 22:42:27 +00:00
Send Alexa notifications: < input type = "checkbox" name = "SA" > < br >
Send Philips Hue change notifications: < input type = "checkbox" name = "SH" > < br >
2022-10-18 23:31:23 +00:00
UDP packet retransmissions: < input name = "UR" type = "number" min = "0" max = "30" class = "d5" required > < br > < br >
2020-09-27 09:37:16 +00:00
< i > Reboot required to apply changes. < / i >
2022-11-11 19:20:11 +00:00
< hr class = "sml" >
2021-03-13 21:04:37 +00:00
< 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" >
2022-11-11 19:20:11 +00:00
< hr class = "sml" >
2020-04-12 22:42:27 +00:00
< h3 > Realtime< / h3 >
2022-03-25 15:36:05 +00:00
Receive UDP realtime: < input type = "checkbox" name = "RD" > < br >
2023-11-23 16:13:13 +00:00
Use main segment only: < input type = "checkbox" name = "MO" > < br >
Respect LED Maps: < input type = "checkbox" name = "RLM" > < br > < br >
2020-04-12 22:42:27 +00:00
< i > Network DMX input< / i > < br >
2020-08-03 00:48:47 +00:00
Type:
2020-04-12 22:42:27 +00:00
< select name = DI onchange = "SP(); adj();" >
< option value = 5568 > E1.31 (sACN)< / option >
< option value = 6454 > Art-Net< / option >
< option value = 0 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 >
2021-01-15 10:01:05 +00:00
< i > Reboot required.< / i > Check out < a href = "https://github.com/LedFx/LedFx" target = "_blank" > LedFx< / a > !< br >
2020-04-12 22:42:27 +00:00
Skip out-of-sequence packets: < input type = "checkbox" name = "ES" > < br >
2022-09-22 23:02:49 +00:00
DMX start address: < input name = "DA" type = "number" min = "1" max = "510" required > < br >
2022-11-19 13:10:40 +00:00
DMX segment spacing: < input name = "XX" type = "number" min = "0" max = "150" required > < br >
2023-02-21 16:13:15 +00:00
E1.31 port priority: < input name = "PY" type = "number" min = "0" max = "200" required > < br >
2020-04-12 22:42:27 +00:00
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 >
2022-11-19 13:10:40 +00:00
< option value = 7 > Effect + White< / option >
< option value = 8 > Effect Segment< / option >
< option value = 9 > Effect Segment + White< / option >
2020-04-12 22:42:27 +00:00
< option value = 4 > Multi RGB< / option >
2020-08-03 00:48:47 +00:00
< option value = 5 > Dimmer + Multi RGB< / option >
2020-11-27 10:37:39 +00:00
< option value = 6 > Multi RGBW< / option >
2022-11-19 13:10:40 +00:00
< option value = 10 > Preset< / option >
2020-04-12 22:42:27 +00:00
< / select > < br >
2021-12-08 21:05:51 +00:00
< a href = "https://kno.wled.ge/interfaces/e1.31-dmx/" target = "_blank" > E1.31 info< / a > < br >
2020-04-12 22:42:27 +00:00
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 >
2021-08-29 18:49:06 +00:00
Realtime LED offset: < input name = "WO" type = "number" min = "-255" max = "255" required >
2022-11-11 19:20:11 +00:00
< hr class = "sml" >
2020-04-12 22:42:27 +00:00
< h3 > Alexa Voice Assistant< / h3 >
2022-11-11 19:20:11 +00:00
< div id = "NoAlexa" class = "hide" >
2023-05-30 17:36:14 +00:00
< i class = "warn" > This firmware build does not include Alexa support.< br > < / i > < br >
2022-11-11 19:20:11 +00:00
< / div >
< div id = "Alexa" >
2020-04-12 22:42:27 +00:00
Emulate Alexa device: < input type = "checkbox" name = "AL" > < br >
2022-10-25 21:42:26 +00:00
Alexa invocation name: < input type = "text" name = "AI" maxlength = "32" > < br >
2024-09-17 14:21:52 +00:00
Also emulate devices to call the first < input name = "AP" type = "number" class = "s" min = "0" max = "9" > presets< br > < br >
2022-11-11 19:20:11 +00:00
< / div >
< hr class = "sml" >
2023-05-30 17:36:14 +00:00
< div class = "warn" > ⚠ < b > MQTT and Hue sync all connect to external hosts!< br >
2022-11-11 19:20:11 +00:00
This may impact the responsiveness of WLED.< / b > < br >
< / div >
2020-04-12 22:42:27 +00:00
For best results, only use one of these services at a time.< br >
2022-11-11 19:20:11 +00:00
(alternatively, connect a second ESP to them and use the UDP sync)
< hr class = "sml" >
2020-04-12 22:42:27 +00:00
< h3 > MQTT< / h3 >
2022-11-11 19:20:11 +00:00
< div id = "NoMQTT" class = "hide" >
2023-05-30 17:36:14 +00:00
< i class = "warn" > This firmware build does not include MQTT support.< br > < / i >
2022-11-11 19:20:11 +00:00
< / div >
< div id = "MQTT" >
2020-04-12 22:42:27 +00:00
Enable MQTT: < input type = "checkbox" name = "MQ" > < br >
2021-12-08 21:05:51 +00:00
Broker: < input type = "text" name = "MS" maxlength = "32" >
2020-04-12 22:42:27 +00:00
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 >
2021-12-08 21:05:51 +00:00
Username: < input type = "text" name = "MQUSER" maxlength = "40" > < br >
2021-06-29 23:23:35 +00:00
Password: < input type = "password" name = "MQPASS" maxlength = "64" > < br >
2021-12-08 21:05:51 +00:00
Client ID: < input type = "text" name = "MQCID" maxlength = "40" > < br >
Device Topic: < input type = "text" name = "MD" maxlength = "32" > < br >
Group Topic: < input type = "text" name = "MG" maxlength = "32" > < br >
2021-07-01 18:51:52 +00:00
Publish on button press: < input type = "checkbox" name = "BM" > < br >
2023-05-28 20:50:19 +00:00
Retain brightness & color messages: < input type = "checkbox" name = "RT" > < br >
2021-12-08 21:05:51 +00:00
< i > Reboot required to apply changes. < / i > < a href = "https://kno.wled.ge/interfaces/mqtt/" target = "_blank" > MQTT info< / a >
2022-11-11 19:20:11 +00:00
< / div >
2020-04-12 22:42:27 +00:00
< h3 > Philips Hue< / h3 >
2022-11-11 19:20:11 +00:00
< div id = "NoHue" class = "hide" >
2023-05-30 17:36:14 +00:00
< em class = "warn" > This firmware build does not include Philips Hue support.< br > < / em >
2022-11-11 19:20:11 +00:00
< / div >
< div id = "Hue" >
2020-04-12 22:42:27 +00:00
< 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 >
2021-12-08 21:05:51 +00:00
< input name = "H0" type = "number" class = "s" min = "0" max = "255" > .
< input name = "H1" type = "number" class = "s" min = "0" max = "255" > .
< input name = "H2" type = "number" class = "s" min = "0" max = "255" > .
< input name = "H3" type = "number" class = "s" min = "0" max = "255" > < br >
2020-04-12 22:42:27 +00:00
< b > Press the pushlink button on the bridge, after that save this page!< / b > < br >
(when first connecting)< br >
2022-02-01 19:02:46 +00:00
Hue status: < span class = "sip" > Disabled in this build < / span >
2022-11-11 19:20:11 +00:00
< / div >
2022-02-01 19:02:46 +00:00
< h3 > Serial< / h3 >
2024-09-17 14:21:52 +00:00
< div id = "NoSerial" class = "hide" >
2024-09-17 17:47:24 +00:00
< em class = "warn" > This firmware build does not support Serial interface.< br > < / em >
2024-09-17 14:21:52 +00:00
< / div >
< div id = "Serial" >
2022-02-01 19:02:46 +00:00
Baud rate:
< select name = BD >
< option value = 1152 > 115200< / option >
< option value = 2304 > 230400< / option >
< option value = 4608 > 460800< / option >
< option value = 5000 > 500000< / option >
< option value = 5760 > 576000< / option >
< option value = 9216 > 921600< / option >
< option value = 10000 > 1000000< / option >
< option value = 15000 > 1500000< / option >
< / select > < br >
< i > Keep at 115200 to use Improv. Some boards may not support high rates.< / i >
2024-09-17 14:21:52 +00:00
< / div >
2022-02-01 19:02:46 +00:00
< hr >
2020-04-12 22:42:27 +00:00
< button type = "button" onclick = "B()" > Back< / button > < button type = "submit" > Save< / button >
< / form >
2019-12-11 11:08:59 +00:00
< / body >
< / html >