From 3fefb9b931df9af45f564562a27e0b62195a3787 Mon Sep 17 00:00:00 2001 From: arendst Date: Fri, 24 Feb 2017 18:17:48 +0100 Subject: [PATCH] v3.9.21 3.9.21 20170224 * Add ajax to web root page and web console (#79) * Add commands SwitchMode1..4 and enable user switches 2, 3 and 4 (#84, #88) * Fix MQTT upgrade when webserver is active --- README.md | 2 +- api/arduino/sonoff.ino.bin | Bin 471392 -> 472656 bytes sonoff/_releasenotes.ino | 7 +- sonoff/settings.h | 4 +- sonoff/settings.ino | 8 +- sonoff/sonoff.ino | 55 +++++----- sonoff/sonoff_template.h | 29 +++-- sonoff/webserver.ino | 212 ++++++++++++++++++++++--------------- 8 files changed, 193 insertions(+), 124 deletions(-) diff --git a/README.md b/README.md index 8edc4f8e2..ee5810873 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ ## Sonoff-Tasmota Provide ESP8266 based Sonoff by [iTead Studio](https://www.itead.cc/) and ElectroDragon IoT Relay with Serial, Web and MQTT control allowing 'Over the Air' or OTA firmware updates using Arduino IDE. -Current version is **3.9.20** - See ```sonoff/_releasenotes.ino``` for change information. +Current version is **3.9.21** - See ```sonoff/_releasenotes.ino``` for change information. - This version provides all (Sonoff) modules in one file and starts up with Sonoff Basic. - Once uploaded select module using the configuration webpage or the commands ```Modules``` and ```Module```. diff --git a/api/arduino/sonoff.ino.bin b/api/arduino/sonoff.ino.bin index 5064ad5c4712cd2d499c3130b90a1982ed0f0889..d2fb0d14da1a8f3340c403040a54df262294645a 100644 GIT binary patch delta 93262 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 delta 92102 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�W+3rnwHnfW+>8Y`}&Qf8=iE}}X| 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 J)*(q7{||*rb147- diff --git a/sonoff/_releasenotes.ino b/sonoff/_releasenotes.ino index 9fbfddea4..0bcd5e4d5 100644 --- a/sonoff/_releasenotes.ino +++ b/sonoff/_releasenotes.ino @@ -1,4 +1,9 @@ -/* 3.9.20 20170221 +/* 3.9.21 20170224 + * Add ajax to web root page and web console (#79) + * Add commands SwitchMode1..4 and enable user switches 2, 3 and 4 (#84, #88) + * Fix MQTT upgrade when webserver is active + * + * 3.9.20 20170221 * Add minimal basic authentication to Web Admin mode (#87) * Fix Hue and add HSB support (#89) * diff --git a/sonoff/settings.h b/sonoff/settings.h index 6da85fe97..55ee022c4 100644 --- a/sonoff/settings.h +++ b/sonoff/settings.h @@ -114,7 +114,7 @@ struct SYSCFG { uint8_t power; uint8_t ledstate; - uint8_t switchmode; + uint8_t ex_switchmode; // Not used since 3.9.21 char domoticz_in_topic[33]; char domoticz_out_topic[33]; @@ -185,5 +185,7 @@ struct SYSCFG { uint8_t emulation; char web_password[33]; + uint8_t switchmode[4]; + } sysCfg; diff --git a/sonoff/settings.ino b/sonoff/settings.ino index 1abd9b1d9..9112638a2 100644 --- a/sonoff/settings.ino +++ b/sonoff/settings.ino @@ -367,7 +367,7 @@ void CFG_DefaultSet2() sysCfg.poweronstate = APP_POWERON_STATE; sysCfg.pulsetime = APP_PULSETIME; sysCfg.ledstate = APP_LEDSTATE; - sysCfg.switchmode = SWITCH_MODE; +// sysCfg.switchmode = SWITCH_MODE; sysCfg.blinktime = APP_BLINKTIME; sysCfg.blinkcount = APP_BLINKCOUNT; sysCfg.sleep = APP_SLEEP; @@ -376,6 +376,7 @@ void CFG_DefaultSet2() strlcpy(sysCfg.domoticz_out_topic, DOMOTICZ_OUT_TOPIC, sizeof(sysCfg.domoticz_out_topic)); sysCfg.domoticz_update_timer = DOMOTICZ_UPDATE_TIMER; for (byte i = 0; i < 4; i++) { + sysCfg.switchmode[i] = SWITCH_MODE; sysCfg.domoticz_relay_idx[i] = 0; sysCfg.domoticz_key_idx[i] = 0; sysCfg.domoticz_switch_idx[i] = 0; @@ -545,7 +546,7 @@ void CFG_Migrate_Part2() sysCfg.hlw_kWhdoy = sysCfg2.hlw_kWhdoy; } if (sysCfg2.version >= 0x02001200) { // 2.0.18 - sysCfg.switchmode = sysCfg2.switchmode; + sysCfg.switchmode[0] = sysCfg2.switchmode; } if (sysCfg2.version >= 0x02010000) { // 2.1.0 strlcpy(sysCfg.mqtt_fingerprint, sysCfg2.mqtt_fingerprint, sizeof(sysCfg.mqtt_fingerprint)); @@ -629,6 +630,9 @@ void CFG_Delta() if (sysCfg.version < 0x03091301) { strlcpy(sysCfg.web_password, WEB_PASSWORD, sizeof(sysCfg.web_password)); } + if (sysCfg.version < 0x03091500) { + for (byte i = 0; i < 4; i++) sysCfg.switchmode[i] = sysCfg.ex_switchmode; + } sysCfg.version = VERSION; } diff --git a/sonoff/sonoff.ino b/sonoff/sonoff.ino index d68449037..1b6fc9c7d 100644 --- a/sonoff/sonoff.ino +++ b/sonoff/sonoff.ino @@ -10,7 +10,7 @@ * ==================================================== */ -#define VERSION 0x03091400 // 3.9.20 +#define VERSION 0x03091500 // 3.9.21 //#define BE_MINIMAL // Compile a minimal version if upgrade memory gets tight (still 404k) // To be used as step 1. Next step is compile and use desired version @@ -118,7 +118,7 @@ enum emul_t {EMUL_NONE, EMUL_WEMO, EMUL_HUE, EMUL_MAX}; #define STATES 10 // loops per second #define SYSLOG_TIMER 600 // Seconds to restore syslog_level #define SERIALLOG_TIMER 600 // Seconds to disable SerialLog -#define OTA_ATTEMPTS 5 // Number of times to try fetching the new firmware +#define OTA_ATTEMPTS 10 // Number of times to try fetching the new firmware #define INPUT_BUFFER_SIZE 100 // Max number of characters in serial buffer #define TOPSZ 60 // Max number of characters in topic string @@ -213,12 +213,14 @@ int state = 0; // State per second flag int mqttflag = 2; // MQTT connection messages flag int otaflag = 0; // OTA state flag int otaok = 0; // OTA result +byte otaretry = OTA_ATTEMPTS; // OTA retry counter int restartflag = 0; // Sonoff restart flag int wificheckflag = WIFI_RESTART; // Wifi state flag int uptime = 0; // Current uptime in hours int tele_period = 0; // Tele period timer String Log[MAX_LOG_LINES]; // Web log buffer byte logidx = 0; // Index in Web log buffer +byte logajaxflg = 0; // Reset web console log byte Maxdevice = MAX_DEVICE; // Max number of devices supported int status_update_timer = 0; // Refresh initial status uint16_t pulse_timer = 0; // Power off timer @@ -891,11 +893,11 @@ void mqttDataCb(char* topic, byte* data, unsigned int data_len) } snprintf_P(svalue, sizeof(svalue), PSTR("{\"FriendlyName%d\":\"%s\"}"), index, sysCfg.friendlyname[index -1]); } - else if (swt_flg && !strcmp(type,"SWITCHMODE")) { + else if (swt_flg && !strcmp(type,"SWITCHMODE") && (index > 0) && (index <= 4)) { if ((data_len > 0) && (payload >= 0) && (payload < MAX_SWITCH_OPTION)) { - sysCfg.switchmode = payload; + sysCfg.switchmode[index -1] = payload; } - snprintf_P(svalue, sizeof(svalue), PSTR("{\"SwitchMode\":%d}"), sysCfg.switchmode); + snprintf_P(svalue, sizeof(svalue), PSTR("{\"SwitchMode%d\":%d}"), index, sysCfg.switchmode[index-1]); } #ifdef USE_WEBSERVER else if (!strcmp(type,"WEBSERVER")) { @@ -1184,7 +1186,7 @@ void mqttDataCb(char* topic, byte* data, unsigned int data_len) snprintf_P(svalue, sizeof(svalue), PSTR("{\"Commands3\":\"%s%s, PulseTime, BlinkTime, BlinkCount"), (Maxdevice == 1) ? "Power, Light" : "Power1, Power2, Light1 Light2", (sysCfg.module != MOTOR) ? ", PowerOnState" : ""); #ifdef USE_WEBSERVER - snprintf_P(svalue, sizeof(svalue), PSTR("%s, Weblog, Webserver, Emulation"), svalue); + snprintf_P(svalue, sizeof(svalue), PSTR("%s, Weblog, Webserver, WebPassword, Emulation"), svalue); #endif if (swt_flg) snprintf_P(svalue, sizeof(svalue), PSTR("%s, SwitchMode"), svalue); #ifdef USE_I2C @@ -1223,10 +1225,10 @@ void send_button_power(byte key, byte device, byte state) char stopic[TOPSZ], svalue[TOPSZ], stemp1[10]; - if (device > Maxdevice) device = 1; + if (!key && (device > Maxdevice)) device = 1; snprintf_P(stemp1, sizeof(stemp1), PSTR("%d"), device); snprintf_P(stopic, sizeof(stopic), PSTR("%s/%s/%s%s"), - SUB_PREFIX, (key) ? sysCfg.switch_topic : sysCfg.button_topic, sysCfg.mqtt_subtopic, (Maxdevice > 1) ? stemp1 : ""); + SUB_PREFIX, (key) ? sysCfg.switch_topic : sysCfg.button_topic, sysCfg.mqtt_subtopic, (key || (Maxdevice > 1)) ? stemp1 : ""); if (state == 3) { svalue[0] = '\0'; @@ -1676,11 +1678,12 @@ void stateloop() lastbutton[i] = button; } - for (byte i = 0; i < Maxdevice; i++) if (pin[GPIO_SWT1 +i] < 99) { +// for (byte i = 0; i < Maxdevice; i++) if (pin[GPIO_SWT1 +i] < 99) { + for (byte i = 0; i < 4; i++) if (pin[GPIO_SWT1 +i] < 99) { button = digitalRead(pin[GPIO_SWT1 +i]); if (button != lastwallswitch[i]) { switchflag = 3; - switch (sysCfg.switchmode) { + switch (sysCfg.switchmode[i]) { case TOGGLE: switchflag = 2; // Toggle break; @@ -1698,9 +1701,9 @@ void stateloop() } if (switchflag < 3) { if (sysCfg.mqtt_enabled && mqttClient.connected() && strcmp(sysCfg.switch_topic,"0")) { - send_button_power(1, i +1, switchflag); // Execute commend via MQTT + send_button_power(1, i +1, switchflag); // Execute commend via MQTT } else { - do_cmnd_power(i +1, switchflag); // Execute command internally + do_cmnd_power(i +1, switchflag); // Execute command internally (if i < Maxdevice) } } lastwallswitch[i] = button; @@ -1730,30 +1733,34 @@ void stateloop() case (STATES/10)*2: if (otaflag) { otaflag--; - if (otaflag <= 0) { - otaflag = 12; + if (otaflag == 2){ + otaretry = OTA_ATTEMPTS; ESPhttpUpdate.rebootOnUpdate(false); sl_blank(1); - // Try multiple times to get the update, in case we have a transient issue. - // e.g. Someone issued "cmnd/sonoffs/update 1" and all the devices - // are hammering the OTAURL. - for (byte i = 0; i < OTA_ATTEMPTS && !otaok; i++) { - // Delay an increasing pseudo-random time for each interation. - // Starting at 0 (no delay) up to a maximum of OTA_ATTEMPTS-1 seconds. - delay((ESP.getChipId() % 1000) * i); + } + if (otaflag <= 0) { +#ifdef USE_WEBSERVER + if (sysCfg.webserver) stopWebserver(); +#endif // USE_WEBSERVER + otaflag = 92; + otaok = 0; + otaretry--; + if (otaretry) { +// snprintf_P(log, sizeof(log), PSTR("OTA: Attempt %d"), OTA_ATTEMPTS - otaretry); +// addLog(LOG_LEVEL_INFO, log); otaok = (ESPhttpUpdate.update(sysCfg.otaUrl) == HTTP_UPDATE_OK); + if (!otaok) otaflag = 2; } } - if (otaflag == 10) { // Allow MQTT to reconnect + if (otaflag == 90) { // Allow MQTT to reconnect otaflag = 0; if (otaok) { if ((sysCfg.module == SONOFF_TOUCH) || (sysCfg.module == SONOFF_4CH)) setFlashChipMode(1, 3); // DOUT - ESP8285 snprintf_P(svalue, sizeof(svalue), PSTR("Successful. Restarting")); - restartflag = 2; } else { - sl_blank(0); snprintf_P(svalue, sizeof(svalue), PSTR("Failed %s"), ESPhttpUpdate.getLastErrorString().c_str()); } + restartflag = 2; // Restart anyway to keep memory clean webserver mqtt_publish_topic_P(0, PSTR("UPGRADE"), svalue); } } diff --git a/sonoff/sonoff_template.h b/sonoff/sonoff_template.h index b8c0f64b1..598992632 100644 --- a/sonoff/sonoff_template.h +++ b/sonoff/sonoff_template.h @@ -14,6 +14,9 @@ enum upins_t { GPIO_WS2812, // WS2812 Led string GPIO_IRSEND, // IR remote GPIO_SWT1, // User connected external switches + GPIO_SWT2, + GPIO_SWT3, + GPIO_SWT4, GPIO_SENSOR_END }; // Text in webpage Module Parameters and commands GPIOS and GPIO @@ -27,14 +30,14 @@ const char sensors[GPIO_SENSOR_END][9] PROGMEM = { "I2C SDA", "WS2812", "IRremote", - "Switch" }; - + "Switch1", + "Switch2", + "Switch3", + "Switch4" }; + // Programmer selectable GPIO functionality offset by user selectable GPIOs enum fpins_t { - GPIO_SWT2 = GPIO_SENSOR_END, - GPIO_SWT3, - GPIO_SWT4, - GPIO_KEY1, // Button usually connected to GPIO0 + GPIO_KEY1 = GPIO_SENSOR_END, // Button usually connected to GPIO0 GPIO_KEY2, GPIO_KEY3, GPIO_KEY4, @@ -107,14 +110,22 @@ typedef struct MYTMPLT { const mytmplt modules[MAXMODULE] PROGMEM = { { "Sonoff Basic", // Sonoff Basic GPIO_KEY1, // GPIO00 Button - 0, 0, + 0, // GPIO01 Serial RXD + 0, // GPIO02 GPIO_USER, // GPIO03 Serial TXD and Optional sensor GPIO_USER, // GPIO04 Optional sensor - 0, 0, 0, 0, 0, 0, 0, + 0, // GPIO05 + 0, // GPIO06 (SD_CLK Flash) + 0, // GPIO07 (SD_DATA0 Flash QIO/DIO/DOUT) + 0, // GPIO08 (SD_DATA1 Flash QIO/DIO) + 0, // GPIO09 (SD_DATA2 Flash QIO) + 0, // GPIO10 (SD_DATA3 Flash QIO) + 0, // GPIO11 (SD_CMD Flash) GPIO_REL1, // GPIO12 Red Led and Relay (0 = Off, 1 = On) GPIO_LED1_INV, // GPIO13 Green Led (0 = On, 1 = Off) GPIO_USER, // GPIO14 Optional sensor - 0, 0 + 0, // GPIO15 + 0 // GPIO16 }, { "Sonoff RF", // Sonoff RF GPIO_KEY1, // GPIO00 Button diff --git a/sonoff/webserver.ino b/sonoff/webserver.ino index ab4332408..83233d952 100644 --- a/sonoff/webserver.ino +++ b/sonoff/webserver.ino @@ -53,34 +53,58 @@ const char HTTP_HEAD[] PROGMEM = "document.getElementById('s1').value=l.innerText||l.textContent;" "document.getElementById('p1').focus();" "}" - "var sn=0;" + "var x=null;" // Allow for abortion + "var lt;" // Enable clearTimeout + "function la(p){" + "var a='';" + "if(la.arguments.length==1){" + "a='?o='+p;" + "clearTimeout(lt);" + "}" + "if(x!=null){x.abort();}" // Abort if no response within 2 seconds (happens on restart 1) + "x=new XMLHttpRequest();" + "x.onreadystatechange=function(){" + "if(x.readyState==4&&x.status==200){" + "document.getElementById('l1').innerHTML=x.responseText;" + "}" + "};" + "x.open('GET','ay'+a,true);" + "x.send();" + "lt=setTimeout(la,2000);" + "}" + "var sn=0;" // Scroll position + "var id=99;" // Get most of weblog initially "function l(){" "var e=document.getElementById('t1');" - "if(e.scrollTop>=sn){" - "var x=new XMLHttpRequest();" + "if(e.scrollTop>=sn){" // User scrolled back so no updates + "if(x!=null){x.abort();}" // Abort if no response within 2 seconds (happens on restart 1) + "x=new XMLHttpRequest();" "x.onreadystatechange=function(){" "if(x.readyState==4&&x.status==200){" - "var s1=x.responseText;" - "if(e.value.length==0){" - "e.value=s1;" - "}else{" - "var s2=e.value.slice(e.value.lastIndexOf(\"\\n\")+2);" - "var p2=s1.search(s2);" - "if(p2>-1){" - "e.value=e.value.replace(s2,s1.slice(p2));" - "}else{" - "e.value=e.value+\"\\n\"+s1;" - "}" - "}" + "var z,d;" + "d=x.responseXML;" + "id=d.getElementsByTagName('i')[0].childNodes[0].nodeValue;" + "if(d.getElementsByTagName('j')[0].childNodes[0].nodeValue==0){e.value=\"\";}" + "z=d.getElementsByTagName('l')[0].childNodes;" + "if(z.length>0){e.value+=z[0].nodeValue;}" "e.scrollTop=99999;" "sn=e.scrollTop;" "}" "};" - "x.open('GET','ax',true);" + "x.open('GET','ax?c2='+id,true);" "x.send();" "}" "setTimeout(l,2000);" "}" + "function lc(){" + "var e=document.getElementById('c1');" +// "if(x!=null){x.abort();}" // Abort if no response within 2 seconds (happens on restart 1) + "var x=new XMLHttpRequest();" + "x.open('GET','ax?c1='+e.value+'&c2='+id,true);" + "x.send();" + "e.value=\"\";" + "return false;" + "}" "" "