mirror of
https://github.com/anklimov/lighthub
synced 2025-12-06 19:59:50 +03:00
API PORT 80, AVR HTTP ETAG, Compiled for all, bins
This commit is contained in:
@@ -14,3 +14,4 @@
|
||||
-DTIMER_INT
|
||||
|
||||
-DRESTART_LAN_ON_MQTT_ERRORS
|
||||
-DOTA_PORT=80
|
||||
@@ -47,3 +47,4 @@
|
||||
|
||||
-DRESTART_LAN_ON_MQTT_ERRORS
|
||||
-D CORS=\"http://lazyhome.ru\"
|
||||
-DOTA_PORT=80
|
||||
@@ -18,3 +18,4 @@
|
||||
|
||||
-DRESTART_LAN_ON_MQTT_ERRORS
|
||||
#-D CORS=\"http://lazyhome.ru\"
|
||||
-DOTA_PORT=80
|
||||
@@ -27,3 +27,4 @@
|
||||
|
||||
-DRESTART_LAN_ON_MQTT_ERRORS
|
||||
-D CORS=\"http://lazyhome.ru\"
|
||||
-DOTA_PORT=80
|
||||
@@ -17,5 +17,7 @@
|
||||
-DFS_STORAGE
|
||||
-DFS_PREPARE
|
||||
|
||||
-DOTA
|
||||
-DRESTART_LAN_ON_MQTT_ERRORS
|
||||
-D CORS=\"http://lazyhome.ru\"
|
||||
-DOTA_PORT=80
|
||||
@@ -8,3 +8,4 @@
|
||||
|
||||
-DRESTART_LAN_ON_MQTT_ERRORS
|
||||
-D CORS=\"http://lazyhome.ru\"
|
||||
-DOTA_PORT=80
|
||||
@@ -8,3 +8,4 @@
|
||||
|
||||
-DRESTART_LAN_ON_MQTT_ERRORS
|
||||
-D CORS=\"http://lazyhome.ru\"
|
||||
-DOTA_PORT=80
|
||||
@@ -20,3 +20,4 @@
|
||||
#-DMDNS_ENABLE
|
||||
-DRESTART_LAN_ON_MQTT_ERRORS
|
||||
-D CORS=\"http://lazyhome.ru\"
|
||||
-DOTA_PORT=80
|
||||
@@ -24,3 +24,4 @@
|
||||
|
||||
# Example of UARTBRIDGE configuration
|
||||
#-DUARTBRIDGE_ENABLE
|
||||
-DOTA_PORT=80
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -5515,8 +5515,8 @@
|
||||
:1058900020495020616464726573733A0045455035
|
||||
:1058A000524F4D20636C65617265640A000A4C6159
|
||||
:1058B0007A79686F6D652E7275204C6967687448D7
|
||||
:1058C000756220636F6E74726F6C6C65722000324B
|
||||
:1058D0006535633764385F323032312D31322D31E6
|
||||
:1058C000756220636F6E74726F6C6C65722000631A
|
||||
:1058D0003138356465335F323032312D31322D311C
|
||||
:1058E000390020432B2B2076657273696F6E3A0066
|
||||
:1058F0003230313130334C000A282D29574154437E
|
||||
:1059000048444F47000A436F6E66696720736572AB
|
||||
@@ -5591,8 +5591,8 @@
|
||||
:105D50006C6F7200666C6F61740024686F6D6965AA
|
||||
:105D600000246E6F6465730072656164790024734A
|
||||
:105D700074617465002473746174730024666F72B7
|
||||
:105D80006D617400757074696D65003265356337D7
|
||||
:105D900064385F323032312D31322D3139004C6967
|
||||
:105D80006D617400757074696D65006331383564D8
|
||||
:105D900065335F323032312D31322D3139004C696B
|
||||
:105DA0006768744875622000466F72636564206599
|
||||
:105DB0007865637574696F6E00556E6B6E6F776E84
|
||||
:105DC00020636D64004D6F746F722074696D656F30
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -235,7 +235,7 @@ uint16_t httpHandler(Client& client, String request, uint8_t method, long conten
|
||||
{
|
||||
#ifdef OTA
|
||||
//String response = "";
|
||||
debugSerial<<request<<endl;
|
||||
debugSerial<<method<<F(" ")<<request<<endl;
|
||||
if (method == HTTP_GET && request == (F("/")))
|
||||
{
|
||||
|
||||
@@ -1568,6 +1568,16 @@ void printBool(bool arg) { (arg) ? infoSerial<<F("+") : infoSerial<<F("-"); }
|
||||
|
||||
const char * headerKeys[]={"ETag"};
|
||||
|
||||
void headerHandlerProc(String header)
|
||||
{
|
||||
debugSerial<<header<<endl;
|
||||
//ETag: W/"51e-17bffcd0547"
|
||||
if (header.startsWith("ETag: "))
|
||||
{
|
||||
sysConf.setETAG(header);
|
||||
}
|
||||
}
|
||||
|
||||
bool loadConfigFromHttp()
|
||||
{
|
||||
//macAddress * mac = sysConf.getMAC();
|
||||
@@ -1609,8 +1619,9 @@ if (!sysConf.getServer(configServer,sizeof(configServer)))
|
||||
|
||||
|
||||
debugSerial<<F("free ")<<freeRam()<<endl;delay(100);
|
||||
hclient.setHeaderHandler(headerHandlerProc);
|
||||
// FILE is the return STREAM type of the HTTPClient
|
||||
configStream = hclient.getURI(URI,get_header);
|
||||
configStream = hclient.getURI(URI,NULL,get_header);
|
||||
debugSerial<<F("hclient")<<endl;delay(100);
|
||||
responseStatusCode = hclient.getLastReturnCode();
|
||||
debugSerial<<F("retcode ")<<responseStatusCode<<endl;delay(100);
|
||||
@@ -2459,20 +2470,20 @@ configLocked--;
|
||||
|
||||
////// Legacy Thermostat code below - to be moved in module /////
|
||||
|
||||
enum heaterMode {HEAT,OFF,ERROR};
|
||||
enum heaterMode {HEATER_HEAT,HEATER_OFF,HEATER_ERROR};
|
||||
|
||||
void thermoRelay(int pin, heaterMode on)
|
||||
{
|
||||
int thermoPin = abs(pin);
|
||||
pinMode(thermoPin, OUTPUT);
|
||||
|
||||
if (on == ERROR)
|
||||
if (on == HEATER_ERROR)
|
||||
{
|
||||
digitalWrite(thermoPin, LOW);
|
||||
debugSerial<<F(" BYPASS")<<endl;
|
||||
}
|
||||
|
||||
else if (on == HEAT)
|
||||
else if (on == HEATER_HEAT)
|
||||
{
|
||||
digitalWrite(thermoPin, (pin<0)?LOW:HIGH);
|
||||
debugSerial<<F(" ON")<<endl;
|
||||
@@ -2519,15 +2530,15 @@ void thermoLoop(void) {
|
||||
mqttClient.publish("/alarm/snsr", thermoItem->name);
|
||||
tStore.timestamp16=0; //Stop termostat
|
||||
thermostat.setExt(tStore.asint);
|
||||
thermoRelay(thermoPin,ERROR);
|
||||
thermoRelay(thermoPin,HEATER_ERROR);
|
||||
}
|
||||
else
|
||||
{ // Not expired yet
|
||||
if (curTemp > THERMO_OVERHEAT_CELSIUS) mqttClient.publish("/alarm/ovrht", thermoItem->name);
|
||||
|
||||
if (!active) thermoRelay(thermoPin,OFF);//OFF
|
||||
else if (curTemp < thermoSetting - THERMO_GIST_CELSIUS) thermoRelay(thermoPin,HEAT);//ON
|
||||
else if (curTemp >= thermoSetting) thermoRelay(thermoPin,OFF);//OFF
|
||||
if (!active) thermoRelay(thermoPin,HEATER_OFF);//OFF
|
||||
else if (curTemp < thermoSetting - THERMO_GIST_CELSIUS) thermoRelay(thermoPin,HEATER_HEAT);//ON
|
||||
else if (curTemp >= thermoSetting) thermoRelay(thermoPin,HEATER_OFF);//OFF
|
||||
else debugSerial<<F(" -target zone-")<<endl; // Nothing to do
|
||||
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
#endif
|
||||
|
||||
#if defined(ARDUINO_ARCH_AVR)
|
||||
#include "HTTPClientAVR.h"
|
||||
#include <ArduinoHttpClient.h>
|
||||
#include "HTTPClient.h"
|
||||
//#include <ArduinoHttpClient.h>
|
||||
#include <avr/pgmspace.h>
|
||||
#include <avr/wdt.h>
|
||||
//#include <EEPROM.h>
|
||||
|
||||
@@ -189,8 +189,8 @@ build_type = debug
|
||||
board = esp32-evb
|
||||
monitor_baud = 115200
|
||||
;upload_speed = 115200
|
||||
;upload_command = arduinoOTA -address 192.168.88.60 -port 65280 -username arduino -password password -b -upload /sketch -sketch $SOURCE;sleep 5
|
||||
;upload_command = arduinoOTA -address 192.168.11.230 -port 65280 -username arduino -password password -b -upload /sketch -sketch $SOURCE;sleep 5
|
||||
;upload_command = arduinoOTA -address 192.168.88.60 -port 80 -username arduino -password password -b -upload /sketch -sketch $SOURCE;sleep 5
|
||||
;upload_command = arduinoOTA -address 192.168.11.230 -port 80 -username arduino -password password -b -upload /sketch -sketch $SOURCE;sleep 5
|
||||
;upload_protocol = custom
|
||||
|
||||
build_flags = !python get_build_flags.py esp32-wifi
|
||||
@@ -260,7 +260,7 @@ build_flags = !python get_build_flags.py due
|
||||
; Need to place arduinoOTA utility from Arduino IDE distribution to folder in your PATH
|
||||
;fix address and password
|
||||
;upload_flags =
|
||||
upload_command = arduinoOTA -address 192.168.88.21 -port 65280 -username arduino -password password -b -upload /sketch -sketch $SOURCE
|
||||
upload_command = arduinoOTA -address 192.168.88.21 -port 80 -username arduino -password password -b -upload /sketch -sketch $SOURCE
|
||||
upload_protocol = custom
|
||||
lib_ignore =
|
||||
;DS2482_OneWire //UNCOMMENT for software 1-wire driver
|
||||
@@ -325,7 +325,6 @@ lib_ignore =
|
||||
WifiManager
|
||||
Ethernet3
|
||||
Ethernet2
|
||||
HTTPClient
|
||||
NRFFlashStorage
|
||||
WebServer
|
||||
UIPEthernet
|
||||
@@ -377,7 +376,7 @@ board_build.f_cpu = 16000000L
|
||||
;build_unflags = -flto - not working without LTO!
|
||||
|
||||
;upload_protocol = arduino
|
||||
upload_command = arduinoOTA -address 192.168.11.213 -port 65280 -username arduino -password password -b -upload /sketch -sketch $BUILD_DIR/${PROGNAME}.bin;sleep 5
|
||||
upload_command = arduinoOTA -address 192.168.11.213 -port 80 -username arduino -password password -b -upload /sketch -sketch $BUILD_DIR/${PROGNAME}.bin;sleep 5
|
||||
upload_protocol = custom
|
||||
|
||||
board_upload.speed = ${env:fuses_bootloader.board_bootloader.speed}
|
||||
@@ -391,7 +390,6 @@ lib_ignore =
|
||||
WifiManager
|
||||
Ethernet3
|
||||
Ethernet2
|
||||
HTTPClient
|
||||
NRFFlashStorage
|
||||
WebServer
|
||||
UIPEthernet
|
||||
@@ -610,8 +608,8 @@ framework = arduino
|
||||
board = due
|
||||
monitor_baud = 115200
|
||||
build_flags = !python get_build_flags.py lighthub21
|
||||
upload_command = /opt/local/sbin/arduinoOTA -address 192.168.11.172 -port 65280 -username arduino -password password -b -upload /sketch -sketch $SOURCE ;sleep 6
|
||||
;upload_command = arduinoOTA -address 192.168.88.45 -port 65280 -username arduino -password password -b -upload /sketch -sketch $SOURCE;sleep 6
|
||||
upload_command = /opt/local/sbin/arduinoOTA -address 192.168.11.172 -port 80 -username arduino -password password -b -upload /sketch -sketch $SOURCE ;sleep 6
|
||||
;upload_command = arduinoOTA -address 192.168.88.45 -port 80 -username arduino -password password -b -upload /sketch -sketch $SOURCE;sleep 6
|
||||
upload_protocol = custom
|
||||
lib_ignore =
|
||||
;DS2482_OneWire //UNCOMMENT for software 1-wire driver
|
||||
|
||||
302
savedconf.json
Normal file
302
savedconf.json
Normal file
@@ -0,0 +1,302 @@
|
||||
{
|
||||
"mqtt":["edem3","192.168.88.2"],
|
||||
"syslog":["192.168.88.2"],
|
||||
"dmx":[3,80],
|
||||
"topics":{"root":"edem"},
|
||||
"items":
|
||||
{
|
||||
"lightall":[7,[
|
||||
"lampbedr3",
|
||||
"lampcab31",
|
||||
"lampcab32",
|
||||
"lampsauna3",
|
||||
"lampbath33",
|
||||
"lampktc3",
|
||||
"lampwc3",
|
||||
"lamp4",
|
||||
"lampext4",
|
||||
"lamphall3",
|
||||
"lampstw3",
|
||||
"fasadeast",
|
||||
"bra31",
|
||||
"lampgst3",
|
||||
"lampkln3",
|
||||
"lampbalk3",
|
||||
"fasadsouth",
|
||||
"bra32"]],
|
||||
"gr_hall3":[7,["lamphall3","lampstw3"]],
|
||||
"gr_gost3":[7,["lampgst3","lampktc3"]],
|
||||
"relays":[7,["pout0","thermostat","pout2","pout3","pout4","pout5","pout6"]],
|
||||
"uouts":[7,["unprot0","unprot1","unprot2","unprot3","unprot4","unprot5","unprot6","unprot7"]],
|
||||
|
||||
"mb1":[44,[1,0,3,100]],
|
||||
"mb2":[44,[1,1,3,100]],
|
||||
"mb3":[44,[1,2,3,100]],
|
||||
"mb4":[44,[1,3,3,100]],
|
||||
"mba":[44,[96,0,0]],
|
||||
"lamp_zal":[4,[1,60001,-1,255]],
|
||||
|
||||
"lampbedr3":[0,1],
|
||||
"lampcab31":[0,2],
|
||||
"lampcab32":[0,3],
|
||||
|
||||
"lampsauna3":[0,4],
|
||||
"lampbath3":[0,5],
|
||||
"lampwc3":[0,6],
|
||||
|
||||
"lampktc3":[0,7],
|
||||
"lamp4":[0,8],
|
||||
"lamphall3":[0,9],
|
||||
|
||||
"lampext4":[0,10],
|
||||
"lampstw3":[0,11],
|
||||
"fasadeast":[0,12],
|
||||
|
||||
"lampgst3":[0,13],
|
||||
"bra31":[0,14],
|
||||
"bra32":[0,15],
|
||||
|
||||
"lampbalk3":[0,16],
|
||||
"fasadsouth":[0,17],
|
||||
"lampkln3":[0,18],
|
||||
"lampbar3":[0,21],
|
||||
|
||||
"ledbedr3":[1,22],
|
||||
"ledcab31":[1,26],
|
||||
"ledcab32":[1,30],
|
||||
"ledkab":[7,["ledcab31","ledcab32"]],
|
||||
"ledsauna31":[1,34],
|
||||
"ledsauna32":[1,38],
|
||||
"ledsauna":[7,["ledsauna31","ledsauna32"]],
|
||||
"led4":[1,42],
|
||||
|
||||
"ledktc31":[1,48],
|
||||
"ledktc31w":[0,52],
|
||||
"ledktc32":[1,53],
|
||||
"ledktc32w":[0,57],
|
||||
"ledgst31":[1,58],
|
||||
"ledgst31w":[0,62],
|
||||
"ledgst32":[1,63],
|
||||
"ledgst32w":[0,67],
|
||||
"ledktc3w":[7,["ledktc31w","ledktc32w","ledgst31w","ledgst32w"]],
|
||||
"ledktc3":[7,["ledktc31","ledktc32","ledgst31","ledgst32"]],
|
||||
|
||||
"fanbath3":[0,68],
|
||||
"fanwc3":[0,69],
|
||||
|
||||
"pout0":[6,22],
|
||||
"thermostat":[5,23,33],
|
||||
"pout2":[6,24],
|
||||
"water3":[6,25],
|
||||
"pout4":[3,9],
|
||||
"pout5":[3,8],
|
||||
"pout6":[3,11],
|
||||
"pout7":[6,12],
|
||||
|
||||
|
||||
"pwm0" :[3,4],
|
||||
"pwm1" :[3,5],
|
||||
"pwm2" :[3,6],
|
||||
"pwm3" :[3,7],
|
||||
"pwm10":[3,10],
|
||||
|
||||
|
||||
"unprot0":[6,33],
|
||||
"unprot1":[6,32],
|
||||
"unprot2":[6,31],
|
||||
"unprot3":[6,30],
|
||||
"unprot4":[6,29],
|
||||
"unprot5":[6,28],
|
||||
"unprot6":[6,27],
|
||||
"unprot7":[6,26]
|
||||
},
|
||||
|
||||
"in":
|
||||
[ {"#":42,"emit":"power3","item":"fanwc3"},
|
||||
{"#":44,"emit":"in1"},
|
||||
{"#":46,"emit":"in2"},
|
||||
{"#":49,"emit":"in3"},
|
||||
{"#":43,"emit":"in4"},
|
||||
{"#":45,"emit":"in5"},
|
||||
{"#":47,"emit":"in6"},
|
||||
{"#":48,"emit":"in7"},
|
||||
{"#":34,"emit":"in8"},
|
||||
{"#":36,"emit":"in9"},
|
||||
|
||||
{"#":38,"T":0,
|
||||
"click":{"item":"gr_hall3","icmd":"ON"},
|
||||
"dclick":{"item":"lampbedr3","icmd":"ON"},
|
||||
"tclick":{"item":"lightall","icmd":"REST"},
|
||||
"rpcmd":{"item":"gr_hall3","icmd":"%+2"}
|
||||
},
|
||||
{"#":40,"T":0,
|
||||
"click":{"item":"gr_hall3","icmd":"OFF"},
|
||||
"dclick":{"item":"lampbedr3","icmd":"OFF"},
|
||||
"tclick":{"item":"lightall","icmd":"HALT"},
|
||||
"rpcmd":{"item":"gr_hall3","icmd":"%-2"}
|
||||
},
|
||||
{"#":35,"T":0,
|
||||
"click":{"item":"gr_gost3","icmd":"ON"},
|
||||
"dclick":{"item":"lampwc3","icmd":"ON"},
|
||||
"tclick":{"item":"lampbath3","icmd":"ON"},
|
||||
"rpcmd":{"item":"gr_gost3","icmd":"%+2"}
|
||||
},
|
||||
{"#":37,"T":0,
|
||||
"click":{"item":"gr_gost3","icmd":"OFF"},
|
||||
"dclick":{"item":"lampwc3","icmd":"OFF"},
|
||||
"tclick":{"item":"lampbath3","icmd":"OFF"},
|
||||
"rpcmd":{"item":"gr_gost3","icmd":"%-2"}
|
||||
},
|
||||
|
||||
{"#":39,"emit":"in14"},
|
||||
{"#":41,"emit":"in15"},
|
||||
|
||||
{"#":54,"T":0,"act":
|
||||
[
|
||||
{
|
||||
"map":[128,640],
|
||||
"click":{"item":"gr_gost3","icmd":"ON"},
|
||||
"dclick":{"item":"lampwc3","icmd":"ON"},
|
||||
"tclick":{"item":"lampbath3","icmd":"ON"},
|
||||
"rpcmd":{"item":"gr_gost3","icmd":"%+2"}
|
||||
},
|
||||
{
|
||||
"map":[641,1024],
|
||||
"click":{"item":"gr_gost3","icmd":"OFF"},
|
||||
"dclick":{"item":"lampwc3","icmd":"OFF"},
|
||||
"tclick":{"item":"lampbath3","icmd":"OFF"},
|
||||
"rpcmd":{"item":"gr_gost3","icmd":"%-2"}
|
||||
}
|
||||
]},
|
||||
{"#":55,"T":66,"emit":"a01","map":[0,1024,0,1024,10]},
|
||||
|
||||
{"#":56,"T":66,"emit":"a02","map":[0,1024,0,1024,10]},
|
||||
{"#":57,"T":66,"emit":"a03","map":[0,1024,0,1024,10]},
|
||||
|
||||
{"#":58,"T":66,"emit":"a04","map":[0,1024,0,1024,10]},
|
||||
{"#":59,"T":66,"emit":"a05","map":[0,1024,0,1024,10]},
|
||||
|
||||
{"#":60,"T":0,"act":
|
||||
[
|
||||
{
|
||||
"map":[128,640],
|
||||
"click":{"item":"gr_hall3","icmd":"ON"},
|
||||
"dclick":{"item":"lampbedr3","icmd":"ON"},
|
||||
"tclick":{"item":"lightall","icmd":"REST"},
|
||||
"rpcmd":{"item":"gr_hall3","icmd":"%+2"}
|
||||
},
|
||||
{
|
||||
"map":[641,1024],
|
||||
"click":{"item":"gr_hall3","icmd":"OFF"},
|
||||
"dclick":{"item":"lampbedr3","icmd":"OFF"},
|
||||
"tclick":{"item":"lightall","icmd":"HALT"},
|
||||
"rpcmd":{"item":"gr_hall3","icmd":"%-2"}
|
||||
}
|
||||
]},
|
||||
{"#":61,"T":0,"act":
|
||||
[
|
||||
{
|
||||
"map":[128,640],
|
||||
"click":{"item":"gr_gost3","icmd":"ON"},
|
||||
"dclick":{"item":"lampwc3","icmd":"ON"},
|
||||
"tclick":{"item":"lampbath3","icmd":"ON"},
|
||||
"rpcmd":{"item":"gr_gost3","icmd":"%+2"}
|
||||
},
|
||||
{
|
||||
"map":[641,1024],
|
||||
"click":{"item":"gr_gost3","icmd":"OFF"},
|
||||
"dclick":{"item":"lampwc3","icmd":"OFF"},
|
||||
"tclick":{"item":"lampbath3","icmd":"OFF"},
|
||||
"rpcmd":{"item":"gr_gost3","icmd":"%-2"}
|
||||
}
|
||||
]},
|
||||
|
||||
{"#":62,"T":66,"emit":"a08","map":[0,1024,0,1024,10]},
|
||||
{"#":63,"T":66,"emit":"a09","map":[0,1024,0,1024,10]},
|
||||
|
||||
{"#":64,"T":66,"emit":"a10","map":[0,1024,0,1024,10]},
|
||||
{"#":65,"T":66,"emit":"a11","map":[0,1024,0,1024,10]},
|
||||
{"#":66,"T":0,"emit":"leak31","item":"water3","scmd":"OFF","rcmd":"ON"},
|
||||
{"#":67,"T":2,"emit":"leak32","item":"water3","scmd":"OFF","rcmd":"ON"},
|
||||
{"#":68,"T":0,"emit":"leak33","item":"water3","scmd":"OFF","rcmd":"ON"},
|
||||
{"#":69,"T":0,"emit":"a15"}
|
||||
],
|
||||
|
||||
"in2":
|
||||
{ "42":{"emit":"power3","item":"fanwc3"},
|
||||
"44":{"emit":"in1"},
|
||||
"46":{"emit":"in2"},
|
||||
"49":{"emit":"in3"},
|
||||
"43":{"emit":"in4"},
|
||||
"45":{"emit":"in5"},
|
||||
"47":{"emit":"in6"},
|
||||
"48":{"emit":"in7"},
|
||||
"34":{"emit":"in8"},
|
||||
"36":{"emit":"in9"},
|
||||
|
||||
"38":{"T":0,
|
||||
"click":{"item":"gr_hall3","icmd":"ON"},
|
||||
"dclick":{"item":"lampbedr3","icmd":"ON"},
|
||||
"tclick":{"item":"lightall","icmd":"REST"},
|
||||
"rpcmd":{"item":"gr_hall3","icmd":"%+2"}
|
||||
},
|
||||
"40":{"T":0,
|
||||
"click":{"item":"gr_hall3","icmd":"OFF"},
|
||||
"dclick":{"item":"lampbedr3","icmd":"OFF"},
|
||||
"tclick":{"item":"lightall","icmd":"HALT"},
|
||||
"rpcmd":{"item":"gr_hall3","icmd":"%-2"}
|
||||
},
|
||||
"35":{"T":0,
|
||||
"click":{"item":"gr_gost3","icmd":"ON"},
|
||||
"dclick":{"item":"lampwc3","icmd":"ON"},
|
||||
"tclick":{"item":"lampbath3","icmd":"ON"},
|
||||
"rpcmd":{"item":"gr_gost3","icmd":"%+2"}
|
||||
},
|
||||
"37":{"T":0,
|
||||
"click":{"item":"gr_gost3","icmd":"OFF"},
|
||||
"dclick":{"item":"lampwc3","icmd":"OFF"},
|
||||
"tclick":{"item":"lampbath3","icmd":"OFF"},
|
||||
"rpcmd":{"item":"gr_gost3","icmd":"%-2"}
|
||||
},
|
||||
|
||||
"39":{"emit":"in14"},
|
||||
"41":{"emit":"in15"},
|
||||
|
||||
"54":{"addr":54,"T":0,"act":
|
||||
[
|
||||
{
|
||||
"map":[128,640],
|
||||
"click":{"item":"gr_gost3","icmd":"ON"},
|
||||
"dclick":{"item":"lampwc3","icmd":"ON"},
|
||||
"tclick":{"item":"lampbath3","icmd":"ON"},
|
||||
"rpcmd":{"item":"gr_gost3","icmd":"%+2"}
|
||||
},
|
||||
{
|
||||
"map":[641,1024],
|
||||
"click":{"item":"gr_gost3","icmd":"OFF"},
|
||||
"dclick":{"item":"lampwc3","icmd":"OFF"},
|
||||
"tclick":{"item":"lampbath3","icmd":"OFF"},
|
||||
"rpcmd":{"item":"gr_gost3","icmd":"%-2"}
|
||||
}
|
||||
]},
|
||||
"55":{"T":66,"emit":"a01","map":[0,1024,0,1024,10]},
|
||||
|
||||
"56":{"T":66,"emit":"a02","map":[0,1024,0,1024,10]},
|
||||
"57":{"T":66,"emit":"a03","map":[0,1024,0,1024,10]},
|
||||
|
||||
"58":{"T":66,"emit":"a04","map":[0,1024,0,1024,10]},
|
||||
"59":{"T":66,"emit":"a05","map":[0,1024,0,1024,10]},
|
||||
|
||||
"60":{"T":66,"emit":"a06","map":[0,1024,0,1024,10]},
|
||||
"61":{"T":66,"emit":"a07","map":[0,1024,0,1024,10]},
|
||||
|
||||
"62":{"T":66,"emit":"a08","map":[0,1024,0,1024,10]},
|
||||
"63":{"T":66,"emit":"a09","map":[0,1024,0,1024,10]},
|
||||
|
||||
"64":{"T":66,"emit":"a10","map":[0,1024,0,1024,10]},
|
||||
"65":{"T":66,"emit":"a11","map":[0,1024,0,1024,10]},
|
||||
"66":{"T":0,"emit":"leak31","item":"water3","scmd":"OFF","rcmd":"ON"},
|
||||
"67":{"T":2,"emit":"leak32","item":"water3","scmd":"OFF","rcmd":"ON"},
|
||||
"68":{"T":0,"emit":"leak33","item":"water3","scmd":"OFF","rcmd":"ON"}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user