From 29c5ece8c0569de5501eb6c5297f9dd17a4e0007 Mon Sep 17 00:00:00 2001 From: Toni Arte Date: Tue, 7 Feb 2017 11:01:54 +0200 Subject: [PATCH 1/7] OTA for Sonoff TH10/TH16 --- code/platformio.ini | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/code/platformio.ini b/code/platformio.ini index 26c803ae..0a9f665e 100644 --- a/code/platformio.ini +++ b/code/platformio.ini @@ -109,6 +109,18 @@ lib_ignore = ${common.lib_ignore} extra_script = pio_hooks.py build_flags = -g -Wl,-Tesp8266.flash.1m128.ld -DDEBUG_PORT=Serial -DSONOFF -DENABLE_DS18B20=1 +[env:sonoff-ds18b20-debug-ota] +platform = espressif8266 +framework = arduino +board = esp01_1m +lib_deps = ${common.lib_deps} +lib_ignore = ${common.lib_ignore} +extra_script = pio_hooks.py +build_flags = -g -Wl,-Tesp8266.flash.1m128.ld -DDEBUG_PORT=Serial -DSONOFF -DENABLE_DS18B20=1 +upload_speed = 115200 +upload_port = "192.168.4.1" +upload_flags = --auth=Algernon1 --port 8266 + [env:sonoff-pow-debug] platform = espressif8266 framework = arduino From d448fb6707a64ae60ff9d9ca6bc561f31539f05e Mon Sep 17 00:00:00 2001 From: Toni Arte Date: Tue, 7 Feb 2017 11:07:40 +0200 Subject: [PATCH 2/7] Add Domoticz 'current' sensor capability to Sonoff POW --- code/espurna/data/index.html.gz | Bin 4000 -> 4019 bytes code/espurna/data/password.html.gz | Bin 791 -> 791 bytes code/espurna/data/script.js.gz | Bin 37897 -> 37897 bytes code/espurna/data/style.css.gz | Bin 5947 -> 5947 bytes code/espurna/pow.ino | 2 ++ code/espurna/web.ino | 1 + code/html/index.html | 6 ++++++ 7 files changed, 9 insertions(+) diff --git a/code/espurna/data/index.html.gz b/code/espurna/data/index.html.gz index 2ed0b47a12f2cfa3b0b0c4492444aea4789aa453..911915fa9cff08ccca632edfc6a40e2217c75651 100644 GIT binary patch literal 4019 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 Zblm)%>Us7A4(Ka${{!Cy{fv7~002Wh%xnMv literal 4000 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 to 0 to disable notifications. +
+ +
+
Set to 0 to disable notifications.
+
+
From 62311440e856cf6538914f3d7115cabc170d6f81 Mon Sep 17 00:00:00 2001 From: Toni Arte Date: Tue, 7 Feb 2017 12:42:59 +0200 Subject: [PATCH 3/7] Add Domoticz 'Voltage' and 'Current' support for EMON --- code/espurna/emon.ino | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/code/espurna/emon.ino b/code/espurna/emon.ino index 7b9eabf0..62d1abf0 100644 --- a/code/espurna/emon.ino +++ b/code/espurna/emon.ino @@ -171,6 +171,10 @@ void powerMonitorLoop() { char buffer[20]; snprintf(buffer, 20, "%s;%s", power, e); domoticzSend("dczPowIdx", 0, buffer); + snprintf(buffer, 20, "%d", voltage); + domoticzSend("dczVoltIdx", 0, buffer); + snprintf(buffer, 20, "%s", String(current).c_str()); + domoticzSend("dczCurrentIdx", 0, buffer); } #endif From bdd041432f249d39e4d89239b83ad86c73bbc63d Mon Sep 17 00:00:00 2001 From: Toni Arte Date: Tue, 7 Feb 2017 12:43:36 +0200 Subject: [PATCH 4/7] Revert binary files --- code/espurna/data/index.html.gz | Bin 4019 -> 4000 bytes code/espurna/data/password.html.gz | Bin 791 -> 791 bytes code/espurna/data/script.js.gz | Bin 37897 -> 37897 bytes code/espurna/data/style.css.gz | Bin 5947 -> 5947 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/code/espurna/data/index.html.gz b/code/espurna/data/index.html.gz index 911915fa9cff08ccca632edfc6a40e2217c75651..2ed0b47a12f2cfa3b0b0c4492444aea4789aa453 100644 GIT binary patch literal 4000 zcmV;R4`1*fiwFP!000001I=7}Z`(K$|0+B!ZZ`p9JCCLab`t|Zl5UM_9+$Y=+x_Q2 zOSH|4Bx*$}j(fN-c7NU{yO|*+OR^ouue2x{>%}4G!I|F-DV_f1^7f+p``r~Anka0a zy1#-4?NcL7DB4#KcUc;9w%>$*r!9N&G!lk0f5=lU%$b*&e&fVzpN2AiWT^^$c=$<*Q36Cf2Dgofp_`Em z% zK3185yWF+-Arf)s(LFr+1jJ!LA=lboXkd5nyiRxwG~ExMP^9+u)HO@8R5aXWe17VB z14ky~fmfHkrJjY;Ekdac@jiV^8WEKl@@BP0t^#g2T;;IpOLrHjNEwL@FK@4JyPbF}_9k)Wye{c`vz_S7uTgTFb<^BK9z9-(PcidBP3?SjuFog z0c=#MP=+wU0~LqkGcP~#W{F{W25gLiiA2Ba4%$)M-f;b)Oe84q0)AQNa^3Mda@!kk z#C1Np|a?Ewfr zI4`@*sO!O3FDG@~jX>mG5hZ|$&^580|NZx3cWn(2-L)7Qn&mhdnk}(n3BNHfA2Yyg z@J9v!BiYVhH^BzdT!#&duwKswJb&&R`6TWv%(5qp&e+bEwOOjsUz4@`P(+X+F3V<; zaD+BFqwaLGtXBGXV?EvrUe;uOx={wJeY`P)4x4%fNZmQ#1W!5HH|FLy6&eE2?ttz5 zwh3->vTw`{8N>%L4u!cIS)4uFgkP-DU&I=wM5%z>M;Dh{lhmVyNl7);qJ#xo;lTrc z64k^MuX+p(U&Uu$%VUu+Lxp*l(uhrBB0qG7iM^nRhUw>XkM2Ya?p^825DY%N)C%>WmE~ z`iJgNY8oXQ$uI#Mu48T4i7f%g5jw9$x=*)-|@=5{2m;NKQ zhI?L7K=533pgFGuu!0_G3S6r|U@U+`)>F#h6rbpGp+K<)DMDn=Dt$t;*3N3W(C#5L zRLR72&%AvIx#0-rB)k3ap?2?Ja_^>g3kW@+BDrQg0c?rd{Ugw}QUmZ^?sm)GZ@+k8 zd73BYO_||G0r(cp!sjuVU0=pv4nuCNRrUngfUVjv)u%I(FXMeM7slZXRkpw;YQ8(l zLL-UH^2YKoj{V$NG#qcjScvA!#&R^vSZ)*zVW?uMZ4qk9X8sVVVlXRJ>;$KoMJLlX zbPJF0IAH(Ew3$3V`|%^R#&FWR2)-wyy0msQ1Tc&S6G-qr1csahoC^Z$A_h|6;HwBW z?pN-zP>Zs2N$|oZ3}!<4Wvh8N%W5uF{FAX`nYNc3h~qpA$LN9B4oo}{7d!w=!Ca#i zDQ09OcBjo}((BIdnN1SJPU4v1$)MKHB|;!KaE@rSI( z{YQ*!(m(_yuE|3Q=aZ0xC64^E9niBH?QX}qx-zO+7xp<5i_{vu4w1xJ)Wakuk};Y` z$+V8Qh)wP$(gO&h5dZ{wITzpO*>j|3j=Gbd;=$jkgrvZ zs9PmidHO@)Klapfj@ql;mBjnrtHSRxIG-biskM$`@ow(AMzN^pfVHi)v%F;v*I05RyCwNGuc_0KqA+pyEMW$idLi zwgmtNA_dcMH`q=H)&f`dnDrW(dWW%PAnH{6fIN2zU`)|OuwmO2)b=VjL(FV_4gss^ z4GEPW$&#f0h#k)+9dBWBhjj~OJE=$nH}yQeW~ztlnCjt+HUA|Y9ZzK8H?BU!b{AjjtYwh2?W}Jh%%qKDc6rOn{FVTf0cbpBbd=xxWE{?=b<- z2=XukVQ{vOAZiF#h#_x+NdoEy@snl|W)`?m&tc{um3#tQxlCqm0^TJO2&QNl_$U!& zya#TJD0dZmi~-z5EBLkIs-FoE)%Vh zoxIaxdOD-E^TD2YFIjaEG>V1V^B~B%C>iwf(zOed^Q3Dx^yK?73aNsKb7j+#W-nEb zrJyoZ(83^6n12t=E2J3!;VmAx+JnXXt_1NUId($CBZ%4{(kA;PXyV|*B83^lh+8J2 z#E{Mc$j*^4wpvO#t2;+pg{8sdi@S94x*~HPib@N*mQ=+ne0P0i>NehVFcKuzH&6aI}cuci)8Hu1ciun7zk>GF@1e zT}y2-uiMPX%a|cWjtmZpiaVtR0~@ve?bZ^cNdHroe&J;SDdSbmdgF5LlCLOGcyAPr z92Xm~OI&DZQ4yo{!^ERM2uvv0KBF?z0oK4dz=v_Dcwn&#j+zDwXU>^RtZ!0PwBK*C zJUCNkr7gWfYO4lVG{-WJ?^aW(&eLS~mIL;~1fSTVQRk9sUnwnq^ivhF{oN+(*ur&B z@f6c4tf+)aY*Dct$ET~y9Lx>m6QqsA+g>h#Bf6QTF^(>; zcp<2PAR0&?v)P$)K(fn90o%M*1{PA3#ej=Wf@59Iq7sKKZ9h8eX+M=cF)a`W9|ds; zHuYiDeQIB}U*<%W;?jxy@ z7(TC+{|GiQ%X)wYnZPC&!AgQJ_UAhNy7LXHw%Dq>NV#>8w`JwxxHN7@Zn7(Mg4U~) zCpL)0O?q+-bbqKoV>m*b?|tse5J1Zwo}ebbfdY%|;!c6?e1i%sc8)Jn;PKlk@Eno2 z#_jQIPERWSptpsIYDPlX>Vp|6EGRrll{pRSJtmtF0Bq!GO(H_2{$yu#9yx%QD1mXQ z3_=K2O8T~7V`+>e3~&`wS#qhkq|N)%i@D`Mv*9J<=^nSdCVH(Xc;e1wTOtIh-ri8; zrm_(8>`Txd-bk^~L5QbMo9)NNisvip7c;ij*Vf@MNernkH*%9-c>TmDVZ6^-olJeL z@f}t7G9`O>D7~mUEvkHe+q2^m`m|aiVwHJaZSNqd+afq~*6-IQeR*UatvQ2@2lKU0 zd>$N57(MZpUcQVJT*_Ajb3$Ib*=)YBB9D!#`sk&CKNg0%j8g3C!>d+BfW+~HM5zu! zG^RF>6rwLnd_$wgS6uN$PwBG-Z@SJMG``tdHlLcM92~ze@VTRV(O9bEaFgFI3fbja z4Aqx64=fe~NMM|ATUs^)NDF_389Txyffa=VG`T1a4Z>76v` z-&QRSLC&SZ50LNyZ(InR%*VMC1hLk{r^@vhp)iRE+DTFV5++@bf zdYga-Q%H<au4}u0_xSLIklo~Fkh7ANC;Gyn-)h| z5Sy&lv2wqY%H8DBqSD>|TUYMfU;Du?TvtsD)2R=6k<2~FLyFc%f-OP}ZCE1SSSGqVXHr9*7d2#rgA*Iv5T;5!Cf4#k8LlcGV zQ}rCnG)(t>=clHcUnT%VI&X+%^O$eYy~r3$#=aFxdb)M>cMKuh=C^X|hv3DgSZ z20IvtSfo7k+CN`iU)`O5+Cmpv_*p8=7^Jwmc)06yf89bSBiWZ;`%C9TXA8umKMYv) z^WVGO#l%^pf-Ds7rxEyHm+mf5kunk+Ufz7Z>2@xDTe{msjh5~f+KAL^-`;$=x|?*^ z%EHR1iMWg#z04RDhJQy<=R6` z#J2ELv^#BqEY-gy;ar5P#R=4o4Ly}X$ta4Qd4bdk#H$~Bq4FQAO)-F=PEUsi#Sn(W z)8S$JB1==~3WI824ziRRsbaW$ID@SO!Zi@-t2C;}OBafx1`p*R76CpfMHqnC)A4SA z(TVp&HFjl<1Lh8N)HrCo^B7P>W5-#a`vz`-6rW3H;2cP$eJbMwW|#TIj*yt0c8qw2 z8Nkje70NJ8@Ib}k_{__Xyjf~kUI05s!9b$lb(wb5w#TkNl!*ibUcfKwT&~NnBey+% zBkqG+oL{W(4gMCnjD;Dg6o%%tJy@69oZhzGRwiD%bGsR*1zKBlgJOPU_Y@n~_6Hz% z@1pE7T-PUGy`0u{Hv*M+MU((0!qCKa{`;Sc-L)-1bk`DOXqJ;?XtpGZCH%&+e9Qo| z!5l5y92iK z%O<4B$-c2PD^GN-s*vibBS`{HrK%xCHEH+n}0&u_qp8LNCa}R?n`Y zpk&PEb>}QQqJoW<7DSH~;lW`!P&%A>fRj;hEU*o9#ecaQ@Pjmcssxvl} z7$3SrsfkNAl3@tefZ;9sV`lKW1)faCY^<`BIn>N{hQ=g6wp!nZ=BHe=?+50mCZx|i z+-jqB3!lf}c6}LxI}Ew8UfC1m1GZ|zRG-dBzl`_6T^NTmG}!{5sKxFm z3ymZ)%R9^cIQDaA(Qv#8XCay|JIm25XSr6y!cfIh+alDI&-^A*#b8vb*eOmki%zC} z=ms9)aln4hw3$3V`|%_6#&FWR2)-q!y0m^Y1Tc&a6G(_Y1csajTnGa1A^}p6;HwBW z9#?L&P>XVKN$|oZ9A-lKWv_WR%WE!G{DZN)O#90<%;P)^#~6Xw4h%d{7d!w$!C0de zDQ09OcBkEE((<}!*zeD1`RDt`m!XJD#$YgEiJ1375tIT91t6Xo6~WN*Nisc>#vigC z_aAX)lLlr`lA0ova4`ukvttMLkSnA{nE5 zlw9k0i`e9LqCJ2h8Ua9{mkaTIo;^ouCXaP|o@<^|YujB}Z@?fYo;g92L0;x}s$D2i zLERd`>eC+z|FNf@bJSk#uB6`gUKM_q!TB6DOs#bki+6L^HHt+&2dr(ao#ica823h? zng`%!x9}Wd9Xw_UoB;9+W;%4~@z*(XPOSp5w~MhMCLotm8*m?pggFZsax#taM!^K@ z3#~0~9*JHF2=BlnDf@v){II)+_?PieD{SRJF(GW6S&1Qie3LJo$8 zwk-fK5GlBZyTNus@D{kT$86Nl)I0E&fvQvO1M=J@fH6fA!G>*9P}{5A3^B9yIZRkZ zZ%C;8NR}k^M=U>^47`QQ9o9XR?W7_R+|={_|a_T*4n>&&5Am(@+ii6yThZ# zAvCkqjM4)8meCJo{!-J>L~bzqBCtaP9>N7WA6zj*CLl(PtzV?#j|@`wJl=r9_n3fZ z1VxyEFgV&rFlz``h@ohLNdnpi@snl|W)`?m&tc>sm3#nOy-Y@K0?{QB2&RY)e3XbX z-h;43l)H*O#sKgsS%fYiuYsVJ!?*y#Ds_s?<-N3^n@PNCt~z5EBLkIs-FoE;C!B zIC-bV@N`aV$AdlbUh?W7XcP;z=RuH5QF7?zwQCn9=V{k&=*jnE6j}up=fp1PvT~Sfnsw7)i@S zlo+yE0NFVb##T!iXZ7GntFXjOzPL*#uPZX=Q&DL_*OID4NDVnNB!2sqk`_R*Bn0R( zR3X^v%q#W1`hxY8WVg7d(aME~t4c*=X2|ruBGO?^q=S=_qYcXPpbHz};i|F_nZ@=w zstIFVw-@sGk;y(}vxrL57R~^hv{#O1oXuvV`q$fS0*)5R`|eMXx2qEAJ7MpzpiCE5 z71vT*EbBHi@-k*fQ6hs(QE{iVU|?shf4Q{;DbjzJwO>S8K+1Skv);IzyW}ehG`%;9 zK#q$I*d;DBw5W*D`fd`@?*%3lY@bn?=>Tis9N@z^R6MX)1-T|>;miediSiXwixKv`5lXCa|OVR_fSwnVV7h6UZe4@h=dEnu71>cB#ZvKnyFNpP&oSybY%rR_&&J?*EmC#DtR;G-Z3 z;YO0egbvtoCs*OYE@~D`1j%ao`u^@q49aA}S{=lJ=TjZD!V3CV=k_I%FnemMJuOYQ z$o3rx^n1HrGQT(N_JJ+v3_Y&eq0JWhVuajj9unoy5`Z9wUG2&q7CW51$ukw2 zeN99@*?m0^H%@kCPhm&&nVdrezsf?zOGndTyEnpbf&Z1lekaCyz2l&Bz4}B_A~+|{ zJ*s23T$?Q!Z)k4JnYh9CLkh8O9=hwxg(T+*R!4A!VD>$gSMPmWb#EfD7$u$Hxw@&Z zbNP?gtO60K6K}Rs;HE7il(b>HnpMBAz=flu{1t-zxjLw_aoji|G{Ag;6-uvt@5XI8 z$B7lr{65vnmn_*Yy}Qu=`Z0@0uf+z#Eh*LYvskI`zBQ$;vmp=!zf~hru-&b+CGEOS z7HjwT8`SQy8pXY5q|$s#+m@7?_p?~5@Ba_9>h>p+V)LDkTT*PPt8Y}d2#93xJbP!~ zE1{Hoqii0Ia&MaDAc}{whb3$anW!xoGnTmIm8XUeT3~vDQy&0rscGLW;c2YGfygOX z-?unSJSPCd0CU??vfV^rcj^-Hy&@sQwoi5>*)FhotiTjJ%v)1>M0CD#6dLIMP=UpeLmcmY?#mDW;U1o#CI18i7F+S1 z0p0lq4Or~TUu3}Jw>987W;q&PJy>&iQeh3FEeupM62ew?%t&Fe=1Ho|Sy1mW*@Owe z&OEKjj8LiV*%6)393V@S0ADJDDFmxfeOnB(G)58_T*XzET!t@M^RD#Lb9tiK@N)cg zk6T`E{;X*7#9iUG{0dsVxu%($N^Z=vFPM9HBgG;TA)Y?H$S^KelV4FAn(^8~ZH*HX z@R0g)oSXc@>jyq5<9#mbWaw*+@Bg|NRoVT0=_TN4RpsN`o*kC}sI?LitBmVvdxuKh z_RE>0e!n*8%ba<%o)11A%(p(td2l!p^u$|wX*g1FDPL{P33=^iv-!eq2W(WeM=urp zv2fI7jAB=IUbW%`B#tK}N;M{;F|{$LP<>hB8{!&YAI6txrOy_;MLd^jd~3MuJ~dA{ zIDUcgx!k?zELA?-;I|8Ib}1aE>dWhU7K;HSFfO(&t(yTPhd;xJ9pQ4zipl{R--2>5 z+n@!Ad}h=Wn=h@Gi0jFF^6WF5t)?5Ivy67CQReXYxS9Xop5`8OMmw@Ay^({p4&N2K zXjaf-fS*P|CtcOGkihENJ89Ctt$G}SoJ)ltgJIYB+K}Cz0RrQ!ix}xemt32#sb`m* zQUVdyXOxntR&aa;Bz)<^F*9C-+ype3LSnQtzw(JH>g%79_CnIfsOsNcSRLP$d&ob* zP_I7CsTFNQ_@X#RN}$r*v^vU)*kr+umHV9(?nss8BPJMua Zblm)%>Us7A4(Ka${{!Cy{fv7~002Wh%xnMv diff --git a/code/espurna/data/password.html.gz b/code/espurna/data/password.html.gz index c093f04029c052ad3cd522d1742dad456be63cc8..8f9b50ba71850496862d580f0477cac86b434004 100644 GIT binary patch delta 19 XcmbQvHl2-2zMF#q445}^@iGGdBH#kW delta 19 XcmbQvHl2-2zMF#q47fLP@iGGdBM1V` diff --git a/code/espurna/data/script.js.gz b/code/espurna/data/script.js.gz index 24aa3fe05e46eeed6b10037b46fcd3b277e69920..30e476c910efa22ae6f2d5d103046f05a80baaf6 100644 GIT binary patch delta 21 ZcmeBN!PL2eiA%nlg8>YfH*)=-3;;a41#Y Date: Tue, 7 Feb 2017 12:45:54 +0200 Subject: [PATCH 5/7] Add Domoticz 'Voltage' and 'Current' support for EMON #2 --- code/espurna/web.ino | 2 ++ code/html/index.html | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/code/espurna/web.ino b/code/espurna/web.ino index 1a319955..1f647524 100644 --- a/code/espurna/web.ino +++ b/code/espurna/web.ino @@ -350,6 +350,8 @@ void _wsStart(uint32_t client_id) { #if ENABLE_EMON root["dczPowIdx"] = getSetting("dczPowIdx").toInt(); + root["dczVoltIdx"] = getSetting("dczVoltIdx").toInt(); + root["dczCurrentIdx"] = getSetting("dczCurrentIdx").toInt(); #endif #if ENABLE_POW diff --git a/code/html/index.html b/code/html/index.html index 42686c7f..b0206acb 100644 --- a/code/html/index.html +++ b/code/html/index.html @@ -409,13 +409,13 @@
Set to 0 to disable notifications.
-
+
Set to 0 to disable notifications.
-
+
Set to 0 to disable notifications.
From 2f12e66b79b2861fa0545fb80c210f8cb4199df5 Mon Sep 17 00:00:00 2001 From: Toni Arte Date: Thu, 9 Feb 2017 12:41:15 +0200 Subject: [PATCH 6/7] Add a separate incremental energy counter into the Domoticz MQTT interface --- code/espurna/emon.ino | 6 ++++-- code/espurna/pow.ino | 6 ++++-- code/espurna/web.ino | 2 ++ code/html/index.html | 6 ++++++ 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/code/espurna/emon.ino b/code/espurna/emon.ino index 62d1abf0..20d40a28 100644 --- a/code/espurna/emon.ino +++ b/code/espurna/emon.ino @@ -158,8 +158,8 @@ void powerMonitorLoop() { snprintf(power, 6, "%d", _power); double energy_inc = (double) _power * EMON_INTERVAL * EMON_MEASUREMENTS / 1000.0 / 3600.0; - char energy_buf[10]; - dtostrf(energy_inc, 9, 2, energy_buf); + char energy_buf[11]; + dtostrf(energy_inc, 11, 3, energy_buf); char *e = energy_buf; while ((unsigned char) *e == ' ') ++e; @@ -171,6 +171,8 @@ void powerMonitorLoop() { char buffer[20]; snprintf(buffer, 20, "%s;%s", power, e); domoticzSend("dczPowIdx", 0, buffer); + snprintf(buffer, 20, "%s", e); + domoticzSend("dczEnergyIdx", 0, buffer); snprintf(buffer, 20, "%d", voltage); domoticzSend("dczVoltIdx", 0, buffer); snprintf(buffer, 20, "%s", String(current).c_str()); diff --git a/code/espurna/pow.ino b/code/espurna/pow.ino index 08dfba31..450dcecb 100644 --- a/code/espurna/pow.ino +++ b/code/espurna/pow.ino @@ -219,8 +219,8 @@ void powLoop() { if (factor > 100) factor = 100; double energy_inc = (double) power * POW_REPORT_EVERY * POW_UPDATE_INTERVAL / 1000.0 / 3600.0; - char energy_buf[10]; - dtostrf(energy_inc, 9, 2, energy_buf); + char energy_buf[11]; + dtostrf(energy_inc, 11, 3, energy_buf); char *e = energy_buf; while ((unsigned char) *e == ' ') ++e; @@ -237,6 +237,8 @@ void powLoop() { char buffer[20]; snprintf(buffer, 20, "%d;%s", power, e); domoticzSend("dczPowIdx", 0, buffer); + snprintf(buffer, 20, "%s", e); + domoticzSend("dczEnergyIdx", 0, buffer); snprintf(buffer, 20, "%d", voltage); domoticzSend("dczVoltIdx", 0, buffer); snprintf(buffer, 20, "%s", String(current).c_str()); diff --git a/code/espurna/web.ino b/code/espurna/web.ino index 1f647524..3dafb0b1 100644 --- a/code/espurna/web.ino +++ b/code/espurna/web.ino @@ -350,12 +350,14 @@ void _wsStart(uint32_t client_id) { #if ENABLE_EMON root["dczPowIdx"] = getSetting("dczPowIdx").toInt(); + root["dczEnergyIdx"] = getSetting("dczEnergyIdx").toInt(); root["dczVoltIdx"] = getSetting("dczVoltIdx").toInt(); root["dczCurrentIdx"] = getSetting("dczCurrentIdx").toInt(); #endif #if ENABLE_POW root["dczPowIdx"] = getSetting("dczPowIdx").toInt(); + root["dczEnergyIdx"] = getSetting("dczEnergyIdx").toInt(); root["dczVoltIdx"] = getSetting("dczVoltIdx").toInt(); root["dczCurrentIdx"] = getSetting("dczCurrentIdx").toInt(); #endif diff --git a/code/html/index.html b/code/html/index.html index b0206acb..f0c0eab1 100644 --- a/code/html/index.html +++ b/code/html/index.html @@ -409,6 +409,12 @@
Set to 0 to disable notifications.
+
+ +
+
Set to 0 to disable notifications.
+
+
From c1bbd6d5d8ceadcdf9a3fef5a41568fa5d560461 Mon Sep 17 00:00:00 2001 From: Toni Arte Date: Fri, 10 Feb 2017 08:09:21 +0200 Subject: [PATCH 7/7] Make the tabindex values unique and ascending --- code/html/index.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/html/index.html b/code/html/index.html index f0c0eab1..a83d3436 100644 --- a/code/html/index.html +++ b/code/html/index.html @@ -417,13 +417,13 @@
-
+
Set to 0 to disable notifications.
-
+
Set to 0 to disable notifications.