From 77e887dc6ca13b29a943c96aa176fc5cc4fb7ef1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Xose=20P=C3=A9rez?= Date: Fri, 13 Jan 2017 12:46:05 +0100 Subject: [PATCH] Notify OTA updates to web clients and reload page after the update --- code/espurna/data/script.js.gz | Bin 37889 -> 37895 bytes code/espurna/ota.ino | 3 +++ code/espurna/pow.ino | 2 +- code/espurna/relay.ino | 2 +- code/espurna/web.ino | 14 ++++++-------- code/html/custom.js | 2 ++ 6 files changed, 13 insertions(+), 10 deletions(-) diff --git a/code/espurna/data/script.js.gz b/code/espurna/data/script.js.gz index c85032e77d6fee678630a890a4b121411e412cfe..168524e05d2feed717e2d3da40d11d9d878263ff 100644 GIT binary patch delta 33251 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°qxgH#4KRlT^^l%V;iI_E3JOKT$Ou-uMN>b|PxzAc%vE z5}WK8syRerE+lIhN2TmJ<}>B(Ma9MG&*#qXKzA{aP=L^?e?pnv2Be5J*kJ1b zDOqU`rr#Y)RHi`qxQGggKff9n&;pG8EO6kryAXWjD~tKV@ie2u!f20D*x;p6ebaLC zwiAj}=Dzgj-c4_JAi>^yF@G&B=5XS0*ef-DTEl;Hz3ZrY+1riFHj&sPm$3U-DF(k!OLd6ZZ%>Za;_ z()nPquwNuwwwSvbjw#>gWOW#NoXLY<*>7M1(TjTNRUbWke;8?l10+z2NkO z25@E^5aszRkKv`9^Xl?dv0P|5kM_ftkeDO$t&@s`mpC|(zvKD!rFo7cxr#-&_W^jW zRiT-lH#qj*{uNo(6`mh>YqqLS>uN!gTZnsXJ?b9tF~HpOgY2r3!1KB^_e%eM0~>SN zwJitU(~0;Hf7c>t&pB^To&J)X#Y;)C%yY;}r;Mf7U^zNDF}8@}TC;)<;-qew~l z{zb@8UDuZv{5cXl*mr>ogva%80b&E_b+W&GEBG5~^k4lk_n z!}lcdP}NDkJNNavERwx}SDx4nttp+oh_=9<{Pb1*e_Od+>RR%>=6z~PNOG?XS^#%? z$WmCk^Z4jSr7&}+gb4zKw^=x9aCFxx`g`2LwBGoKZ>RPZD>of0+|a7=kRVJDD%jcZ6;af6Eve?t4qa2cpT@V@LVy50QX%+19g{ z{9*Kmy`v`qhyi#0rX%)U<_cO_!9vse@8{>mk``I?`4Uf^;yI1DS5x|vvubbe^Yv<8 zJ<&O+(PC@C1sz78AMx9>>hmN1*lC`KlMI{X8i80XS>eD>)b`yifr z1&5m~SizkgI!kn*mzzrL?>H!tio}lEZ`$jtqA#`dG8<$oMZ5KYS+9%s24+6`0f9eY zFx{nTU8>k;H%wq0t1t?e7VD7BveNV>Xp>2gAQdQG6_r;-8CKD-EGKn%#Ge&#aho-h zevhp&lf~6xzh$F=E+j|7abRV=DlZGwaHOgR5j2`7$NYGV72Q1SWbDnY=rp(CapzBa r8IxR)8Uaa@caSOp<+GxYdIABIlO2;q0^JysWRsN$JQMD0maYK+5~odD delta 33263 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 D10N0c diff --git a/code/espurna/ota.ino b/code/espurna/ota.ino index ff4137ce..07f27c5d 100644 --- a/code/espurna/ota.ino +++ b/code/espurna/ota.ino @@ -24,10 +24,13 @@ void otaSetup() { ArduinoOTA.onStart([]() { DEBUG_MSG("[OTA] Start\n"); + wsSend("{\"message\": \"OTA update started\"}"); }); ArduinoOTA.onEnd([]() { DEBUG_MSG("\n[OTA] End\n"); + wsSend("{\"action\": \"reload\"}"); + delay(100); }); ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) { diff --git a/code/espurna/pow.ino b/code/espurna/pow.ino index 0b2d6910..c71c282c 100644 --- a/code/espurna/pow.ino +++ b/code/espurna/pow.ino @@ -181,7 +181,7 @@ void powLoop() { String output; root.printTo(output); - wsSend((char *) output.c_str()); + wsSend(output.c_str()); if (--report_count == 0) { diff --git a/code/espurna/relay.ino b/code/espurna/relay.ino index 356fc630..3a2c6b5f 100644 --- a/code/espurna/relay.ino +++ b/code/espurna/relay.ino @@ -52,7 +52,7 @@ String relayString() { void relayWS() { String output = relayString(); - wsSend((char *) output.c_str()); + wsSend(output.c_str()); } bool relayStatus(unsigned char id) { diff --git a/code/espurna/web.ino b/code/espurna/web.ino index d0aa13e6..41d085fb 100644 --- a/code/espurna/web.ino +++ b/code/espurna/web.ino @@ -30,24 +30,24 @@ Ticker deferred; // WEBSOCKETS // ----------------------------------------------------------------------------- -bool wsSend(char * payload) { - //DEBUG_MSG("[WEBSOCKET] Broadcasting '%s'\n", payload); +bool wsSend(const char * payload) { + DEBUG_MSG("[WEBSOCKET] Broadcasting '%s'\n", payload); ws.textAll(payload); } -bool wsSend(uint32_t client_id, char * payload) { - //DEBUG_MSG("[WEBSOCKET] Sending '%s' to #%ld\n", payload, client_id); +bool wsSend(uint32_t client_id, const char * payload) { + DEBUG_MSG("[WEBSOCKET] Sending '%s' to #%ld\n", payload, client_id); ws.text(client_id, payload); } void wsMQTTCallback(unsigned int type, const char * topic, const char * payload) { if (type == MQTT_CONNECT_EVENT) { - wsSend((char *) "{\"mqttStatus\": true}"); + wsSend("{\"mqttStatus\": true}"); } if (type == MQTT_DISCONNECT_EVENT) { - wsSend((char *) "{\"mqttStatus\": false}"); + wsSend("{\"mqttStatus\": false}"); } } @@ -564,8 +564,6 @@ ArRequestHandlerFunction _onRelayStatusWrapper(unsigned int relayID) { if (request->method() == HTTP_PUT) { if (request->hasParam("status", true)) { AsyncWebParameter* p = request->getParam("status", true); - wsSend((char *) String(relayID).c_str()); - wsSend((char *) p->value().c_str()); unsigned int value = p->value().toInt(); if (value == 2) { relayToggle(relayID); diff --git a/code/html/custom.js b/code/html/custom.js index cae8fc19..118c1ac7 100644 --- a/code/html/custom.js +++ b/code/html/custom.js @@ -207,6 +207,8 @@ function processData(data) { window.location = "/"; }); + } else { + window.location = "/"; } }