@ -111,8 +111,8 @@
< / div >
< / div >
< div class = "pure-g" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-sm-1-4" for = "ip" > IP< / label >
< input class = "pure-u-1 pure-u-sm-3-4" type = "text" name = "ip" readonly / >
< label class = "pure-u-1 pure-u-sm-1-4" for = "device ip" > IP< / label >
< input class = "pure-u-1 pure-u-sm-3-4" type = "text" name = "device ip" readonly / >
< / div >
< / div >
< div class = "pure-g" >
< div class = "pure-g" >
@ -143,13 +143,6 @@
< div id = "relays" >
< div id = "relays" >
< / div >
< / div >
< div id = "relayTemplate" class = "template" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-sm-1-4" > Relay< span class = "relay_id" > < / span > Status< / label >
< div class = "pure-u-1 pure-u-sm-1-4" > < input type = "checkbox" class = "relayStatus" data = "0" / > < / div >
< / div >
< / div >
< / fieldset >
< / fieldset >
< / form >
< / form >
@ -192,7 +185,7 @@
< div class = "pure-g module module-multirelay" >
< div class = "pure-g module module-multirelay" >
< label class = "pure-u-1 pure-u-md-1-4" for = "relaySync" > Relay sync mode< / label >
< label class = "pure-u-1 pure-u-md-1-4" for = "relaySync" > Relay sync mode< / label >
< div class = "pure-u-1 pure-u-md-3-4" >
< div class = "pure-u-1 pure-u-md-3-4" >
< select name = "relaySync" class = "pure-u-1-2" tabindex = "2 " >
< select name = "relaySync" class = "pure-u-1-2" tabindex = "3 " >
< option value = "0" > No synchonisation< / a >
< option value = "0" > No synchonisation< / a >
< option value = "1" > Zero or one relays active< / a >
< option value = "1" > Zero or one relays active< / a >
< option value = "2" > One and just one relay active< / a >
< option value = "2" > One and just one relay active< / a >
@ -225,7 +218,7 @@
< div class = "pure-g" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-md-1-4" for = "adminPass1" > Admin password< / label >
< label class = "pure-u-1 pure-u-md-1-4" for = "adminPass1" > Admin password< / label >
< input name = "adminPass1" class = "pure-u-1 pure-u-md-3-4" type = "password" tabindex = "3 " / >
< input name = "adminPass1" class = "pure-u-1 pure-u-md-3-4" type = "password" tabindex = "11 " / >
< div class = "pure-u-0 pure-u-md-1-4" > < / div >
< div class = "pure-u-0 pure-u-md-1-4" > < / div >
< div class = "pure-u-1 pure-u-md-3-4 hint" >
< div class = "pure-u-1 pure-u-md-3-4 hint" >
The administrator password is used to access this web interface (user 'admin'), but also to connect to the device when in AP mode or to flash a new firmware over-the-air (OTA).< br / >
The administrator password is used to access this web interface (user 'admin'), but also to connect to the device when in AP mode or to flash a new firmware over-the-air (OTA).< br / >
@ -234,7 +227,7 @@
< div class = "pure-g" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-md-1-4" for = "adminPass2" > Admin password (repeat)< / label >
< label class = "pure-u-1 pure-u-md-1-4" for = "adminPass2" > Admin password (repeat)< / label >
< input name = "adminPass2" class = "pure-u-1 pure-u-md-3-4" type = "password" tabindex = "3 " / >
< input name = "adminPass2" class = "pure-u-1 pure-u-md-3-4" type = "password" tabindex = "12 " / >
< / div >
< / div >
< div class = "pure-g" >
< div class = "pure-g" >
@ -244,7 +237,7 @@
< div class = "pure-g" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-md-1-4" for = "apiKey" > HTTP API Key< / label >
< label class = "pure-u-1 pure-u-md-1-4" for = "apiKey" > HTTP API Key< / label >
< input name = "apiKey" class = "pure-u-3-4 pure-u-md-1-2" type = "text" tabindex = "4 " / >
< input name = "apiKey" class = "pure-u-3-4 pure-u-md-1-2" type = "text" tabindex = "13 " / >
< div class = " pure-u-1-4 pure-u-md-1-4" > < button class = "pure-button button-apikey pure-u-23-24" > Generate< / button > < / div >
< div class = " pure-u-1-4 pure-u-md-1-4" > < button class = "pure-button button-apikey pure-u-23-24" > Generate< / button > < / div >
< div class = "pure-u-0 pure-u-md-1-4" > < / div >
< div class = "pure-u-0 pure-u-md-1-4" > < / div >
< div class = "pure-u-1 pure-u-md-3-4 hint" > This is the key you will have to pass with every HTTP request to the API, either to get or write values.< / div >
< div class = "pure-u-1 pure-u-md-3-4 hint" > This is the key you will have to pass with every HTTP request to the API, either to get or write values.< / div >
@ -258,51 +251,17 @@
< div class = "header" >
< div class = "header" >
< h1 > WIFI< / h1 >
< h1 > WIFI< / h1 >
< h2 > You can configure up to 3 different WiFi networks. The device will try to connect in order of signal strength.< / h2 >
< h2 > You can configure up to 5 different WiFi networks. The device will try to connect in order of signal strength.< / h2 >
< / div >
< / div >
< div class = "page" >
< div class = "page" >
< fieldset >
< fieldset >
< legend > First network< / legend >
< div class = "pure-g" >
< div class = "pure-u-1 pure-u-md-1-2" >
< label for = "ssid" > SSID< / label >
< input type = "text" class = "pure-u-23-24" tabindex = "10" name = "ssid" / >
< / div >
< div class = "pure-u-1 pure-u-md-1-2" >
< label for = "pass" > Password< / label >
< input type = "text" class = "pure-u-23-24" tabindex = "11" name = "pass" / >
< / div >
< / div >
< legend > Second network< / legend >
< div class = "pure-g" >
< div class = "pure-u-1 pure-u-md-1-2" >
< label for = "ssid" > SSID< / label >
< input type = "text" class = "pure-u-23-24" tabindex = "12" name = "ssid" / >
< / div >
< div class = "pure-u-1 pure-u-md-1-2" >
< label for = "pass" > Password< / label >
< input type = "text" class = "pure-u-23-24" tabindex = "13" name = "pass" / >
< / div >
< div id = "networks" >
< / div >
< / div >
< legend > Third network< / legend >
< div class = "pure-g" >
< div class = "pure-u-1 pure-u-md-1-2" >
< label for = "ssid" > SSID< / label >
< input type = "text" class = "pure-u-23-24" tabindex = "14" name = "ssid" / >
< / div >
< div class = "pure-u-1 pure-u-md-1-2" >
< label for = "pass" > Password< / label >
< input type = "text" class = "pure-u-23-24" tabindex = "15" name = "pass" / >
< / div >
< / div >
< button type = "button" class = "pure-button button-add-network" > Add network< / button >
< / fieldset >
< / fieldset >
< / div >
< / div >
@ -321,27 +280,27 @@
< div class = "pure-g" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-md-1-4" for = "mqttServer" > MQTT Server< / label >
< label class = "pure-u-1 pure-u-md-1-4" for = "mqttServer" > MQTT Server< / label >
< input class = "pure-u-1 pure-u-md-3-4" name = "mqttServer" type = "text" size = "20" tabindex = "10 " placeholder = "MQTT Server" / >
< input class = "pure-u-1 pure-u-md-3-4" name = "mqttServer" type = "text" size = "20" tabindex = "2 1" placeholder = "MQTT Server" / >
< / div >
< / div >
< div class = "pure-g" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-md-1-4" for = "mqttPort" > MQTT Port< / label >
< label class = "pure-u-1 pure-u-md-1-4" for = "mqttPort" > MQTT Port< / label >
< input class = "pure-u-1 pure-u-md-3-4" name = "mqttPort" type = "text" size = "6" tabindex = "11 " placeholder = "1883" / >
< input class = "pure-u-1 pure-u-md-3-4" name = "mqttPort" type = "text" size = "6" tabindex = "22 " placeholder = "1883" / >
< / div >
< / div >
< div class = "pure-g" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-md-1-4" for = "mqttUser" > MQTT User< / label >
< label class = "pure-u-1 pure-u-md-1-4" for = "mqttUser" > MQTT User< / label >
< input class = "pure-u-1 pure-u-md-3-4" name = "mqttUser" type = "text" size = "20" tabindex = "1 2" placeholder = "Leave blank if no user/pass" / >
< input class = "pure-u-1 pure-u-md-3-4" name = "mqttUser" type = "text" size = "20" tabindex = "23 " placeholder = "Leave blank if no user/pass" / >
< / div >
< / div >
< div class = "pure-g" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-md-1-4" for = "mqttPassword" > MQTT Password< / label >
< label class = "pure-u-1 pure-u-md-1-4" for = "mqttPassword" > MQTT Password< / label >
< input class = "pure-u-1 pure-u-md-3-4" name = "mqttPassword" type = "text" size = "20" tabindex = "13 " placeholder = "Leave blank if no user/pass" / >
< input class = "pure-u-1 pure-u-md-3-4" name = "mqttPassword" type = "text" size = "20" tabindex = "24 " placeholder = "Leave blank if no user/pass" / >
< / div >
< / div >
< div class = "pure-g" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-md-1-4" for = "mqttTopic" > MQTT Root Topic< / label >
< label class = "pure-u-1 pure-u-md-1-4" for = "mqttTopic" > MQTT Root Topic< / label >
< input class = "pure-u-1 pure-u-md-3-4" name = "mqttTopic" type = "text" size = "20" tabindex = "14 " / >
< input class = "pure-u-1 pure-u-md-3-4" name = "mqttTopic" type = "text" size = "20" tabindex = "25 " / >
< div class = "pure-u-0 pure-u-md-1-4" > < / div >
< div class = "pure-u-0 pure-u-md-1-4" > < / div >
< div class = "pure-u-1 pure-u-md-3-4 hint" > This is the root topic for this device. The {identifier} placeholder will be replaces by the device hostname.< br / >
< div class = "pure-u-1 pure-u-md-3-4 hint" > This is the root topic for this device. The {identifier} placeholder will be replaces by the device hostname.< br / >
- < strong > < root> /relay/#< / strong > Send a 0 or a 1 as a payload to this topic to switch it on or off. You can also send a 2 to toggle its current state. Replace # with the relay ID (starting from 0). If the board has only one relay it will be 0.< br / >
- < strong > < root> /relay/#< / strong > Send a 0 or a 1 as a payload to this topic to switch it on or off. You can also send a 2 to toggle its current state. Replace # with the relay ID (starting from 0). If the board has only one relay it will be 0.< br / >
@ -371,25 +330,17 @@
< div class = "pure-g" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-md-1-4" for = "dczTopicIn" > Domoticz IN Topic< / label >
< label class = "pure-u-1 pure-u-md-1-4" for = "dczTopicIn" > Domoticz IN Topic< / label >
< input class = "pure-u-1 pure-u-md-3-4" name = "dczTopicIn" type = "text" tabindex = "4 1" placeholder = "domoticz/in" / >
< input class = "pure-u-1 pure-u-md-3-4" name = "dczTopicIn" type = "text" tabindex = "3 1" placeholder = "domoticz/in" / >
< / div >
< / div >
< div class = "pure-g" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-md-1-4" for = "dczTopicOut" > Domoticz OUT Topic< / label >
< label class = "pure-u-1 pure-u-md-1-4" for = "dczTopicOut" > Domoticz OUT Topic< / label >
< input class = "pure-u-1 pure-u-md-3-4" name = "dczTopicOut" type = "text" tabindex = "4 2" placeholder = "domoticz/out" / >
< input class = "pure-u-1 pure-u-md-3-4" name = "dczTopicOut" type = "text" tabindex = "3 2" placeholder = "domoticz/out" / >
< / div >
< / div >
< div id = "idxs" >
< div id = "idxs" >
< / div >
< / div >
< div id = "idxTemplate" class = "template" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-sm-1-4" > Relay< span class = "id" > < / span > IDX< / label >
< div class = "pure-u-1 pure-u-sm-1-8" > < input class = "pure-u-sm-23-24 dczIdx" name = "dczIdx" type = "number" min = "0" tabindex = "0" data = "0" / > < / div >
< div class = "pure-u-1 pure-u-sm-5-8 hint center" > Set to 0 to disable notifications.< / div >
< / div >
< / div >
< / fieldset >
< / fieldset >
< / div >
< / div >
@ -410,7 +361,7 @@
< div class = "pure-g" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-md-1-4" for = "powExpectedPower" > AC RMS Active Power< / label >
< label class = "pure-u-1 pure-u-md-1-4" for = "powExpectedPower" > AC RMS Active Power< / label >
< input class = "pure-u-1 pure-u-md-3-4 powExpected" name = "powExpectedPower" type = "text" size = "8" tabindex = "50 " placeholder = "0" / >
< input class = "pure-u-1 pure-u-md-3-4 powExpected" name = "powExpectedPower" type = "text" size = "8" tabindex = "41 " placeholder = "0" / >
< div class = "pure-u-0 pure-u-md-1-4" > < / div >
< div class = "pure-u-0 pure-u-md-1-4" > < / div >
< div class = "pure-u-1 pure-u-md-3-4 hint" > If you are using a pure resistive load like a bulb this will be writen on it, otherwise use a socket multimeter to get this value.< / div >
< div class = "pure-u-1 pure-u-md-3-4 hint" > If you are using a pure resistive load like a bulb this will be writen on it, otherwise use a socket multimeter to get this value.< / div >
< / div >
< / div >
@ -425,6 +376,69 @@
< / div > <!-- layout -->
< / div > <!-- layout -->
<!-- Templates -->
< div id = "networkTemplate" class = "template" >
< div class = "pure-g" >
< label class = "pure-u-md-1-6 pure-u-1-4" for = "ssid" > Network SSID< / label >
< div class = "pure-u-md-3-4 pure-u-5-8" > < input name = "ssid" type = "text" class = "pure-u-23-24" value = "" size = "8" tabindex = "0" placeholder = "Network SSID" required / > < / div >
< div class = "pure-u-md-1-12 pure-u-1-8" > < button type = "button" class = "pure-button button-more-network pure-u-1" > ...< / button > < / div >
< div class = "more" >
< div class = "break" / >
< label class = "pure-u-md-1-6 pure-u-1-4" for = "pass" > Password< / label >
< input class = "pure-u-md-5-6 pure-u-3-4" name = "pass" type = "password" value = "" tabindex = "0" / >
< div class = "break" / >
< label class = "pure-u-md-1-6 pure-u-1-4" for = "ip" > Static IP< / label >
< input class = "pure-u-md-5-6 pure-u-3-4" name = "ip" type = "text" value = "" size = "15" tabindex = "0" / >
< div class = "pure-u-md-1-6 pure-u-1-4" > < / div >
< div class = "pure-u-md-5-6 pure-u-3-4 hint" > Leave empty for DNS negotiation< / div >
< label class = "pure-u-md-1-6 pure-u-1-4" for = "gw" > Gateway IP< / label >
< input class = "pure-u-md-5-6 pure-u-3-4" name = "gw" type = "text" value = "" size = "15" tabindex = "0" / >
< div class = "pure-u-md-1-6 pure-u-1-4" > < / div >
< div class = "pure-u-md-5-6 pure-u-3-4 hint" > Set when using a static IP< / div >
< label class = "pure-u-md-1-6 pure-u-1-4" for = "mask" > Network Mask< / label >
< input class = "pure-u-md-5-6 pure-u-3-4" name = "mask" type = "text" value = "" size = "15" tabindex = "0" placeholder = "255.255.255.0" / >
< div class = "pure-u-md-1-6 pure-u-1-4" > < / div >
< div class = "pure-u-md-5-6 pure-u-3-4 hint" > Usually 255.255.255.0 for /24 networks< / div >
< label class = "pure-u-md-1-6 pure-u-1-4" for = "dns" > DNS IP< / label >
< input class = "pure-u-md-5-6 pure-u-3-4" name = "dns" type = "text" value = "" size = "15" tabindex = "0" placeholder = "8.8.8.8" / >
< div class = "pure-u-md-1-6 pure-u-1-4" > < / div >
< div class = "pure-u-md-5-6 pure-u-3-4 hint" > Set the Domain Name Server IP to use when using a static IP< / div >
< div class = "pure-u-md-1-6 pure-u-1-4" > < / div >
< div class = "pure-u-md-1-6 pure-u-1-4" > < button type = "button" class = "pure-button button-del-network pure-u-5-6 pure-u-md-5-6" > Del< / button > < / div >
< / div >
< / div >
< / div >
< div id = "relayTemplate" class = "template" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-sm-1-4" > Relay< span class = "relay_id" > < / span > Status< / label >
< div class = "pure-u-1 pure-u-sm-1-4" > < input type = "checkbox" class = "relayStatus" data = "0" / > < / div >
< / div >
< / div >
< div id = "idxTemplate" class = "template" >
< div class = "pure-g" >
< label class = "pure-u-1 pure-u-sm-1-4" > Relay< span class = "id" > < / span > IDX< / label >
< div class = "pure-u-1 pure-u-sm-1-8" > < input class = "pure-u-sm-23-24 dczIdx" name = "dczIdx" type = "number" min = "0" tabindex = "0" data = "0" / > < / div >
< div class = "pure-u-1 pure-u-sm-5-8 hint center" > Set to 0 to disable notifications.< / div >
< / div >
< / div >
< / body >
< / body >
<!-- build:js script.js -->
<!-- build:js script.js -->