From 9a0bc4c03fca596932a962ed1a65070f1af93c2f Mon Sep 17 00:00:00 2001 From: Emanuele Trabattoni Date: Mon, 22 Sep 2025 12:05:42 +0200 Subject: [PATCH] updated clock correction data --- docs/ESP32_clock_adjust.xlsx | Bin 9644 -> 9669 bytes src/commands.cpp | 9 +++++++++ src/commands.h | 2 ++ 3 files changed, 11 insertions(+) diff --git a/docs/ESP32_clock_adjust.xlsx b/docs/ESP32_clock_adjust.xlsx index fcd260ced44e2363a81b89688c0b39aa707271b5..714cf92f74a7739961d5c12c8f374e31aeff516d 100644 GIT binary patch delta 4985 zcmZWtWmweR(_RE=>5@fqiG_9Pl12gPUfLxjq@+vWCyh$UQj!vah=kJJ-O?QkNa)gC zFVFko|GY8RHRqah&3u>-bKmEl^If%5wQLHP-~%#K6om}}t)P~19|D?aF|wP$U)K>_ zOHcna2*1NGYS@l5r%hy>S5AymHnsfNA=RC&V0U{NJ(l0%_T+fF$hiJQjZsGMFv|VH zdQN1Pl3EIFmWQUybEx3)?W~JfmzlG+9JWq3Q7=lUrxD* z%bGxhJDZm=;I368QUE+q)3Sq&&~^~AL7%!UA<2y#LhM+jh?0F(>w-i)#659L7EPa? z{<3c33QAj6f7-b)aW(gI)w7!)`PNGkl~~tn$F~O!Qrwgm*@?Qj`uK)Y zqT00F^EA<-b&C|d@4W6NIPiN>$8d7Uf#H(YlLdKO_gxV zhZlMFG#58OBoq$zW6j%O42P>i%?mpba%c@QY+>)s=HizQyh7}lR;aVc+$5!OWu#%R zah(k`CWW4*fY(v73dYI5`%+ef*PBt6RxEnda8g~^O`W6+!D%%x=2*fvO_BSIS6fo8(7M)= zK%gN5>ECx*b!+n+i+yPlQ@;q{)|N2PGg=DNIjej?Q+#g`QEU%!nbr;~ArC_4Ko*r? z!K)F0^Zjl5Ut@65Et)y}IvtZwiUYGqhYnC=l#4{J4fy=f>U)#mD^d{X_7?Qdk$~!V z4&ftH0N5>i+cfFWJ!SYKr<%<2{e&uDDTvHUae>*_0=e`fW_P;e_D@~5eR#gh zRO#-5aI9X%4)0)X_somcRV5DfdYK!9*^<|9mRKC!S9&#GLQErXbz*l+SQwhAW2z5d z6lzIP3q zv^w493Ei4-qF3ukEEDS|5Z{vrKW6E&TMTE7o35s1KqzXmj|9xVlH#p+AP^<0l*|kJ zbTJOaMQ#mf$l?w{{VEJc9`0kD#$)LQK5`Y}*{G$zT8AVrVH{0ija&8=U-|7~zN4680d7IBSIuA>clDESj zc$<9ouaKLOaJIz4pKBzpKVkjXd#5rtyQR%fZ?8|60?!UKof}|i2;^CdiCbjEGaDPm6!27 zB=lnSUSerZrqsFwSf=e2zJ;OhEh44LYcdrqzkIdYh|qS#iWRpFfT!d7eErRB=S55?Dhhv0V?q6F1*1Wt5)NdT7jqfi6*8Gp4wWD}mu^2^ftEFH_*%j0*;1dtkm zFRZdhygVy=>j7K~Q#j9K0&Ci#6kAizN zxoB~wA2YrWedM#TLVaB6*FWMs`m)UUcg&C8qR4CO%~s4*W!cp!hXe8CdU;xjY8;Db zQc%ZDSJfwT8+9$50UTYAHI-^+%i3nLQO}9U;&eBnH={JpZ@YT7y)9E4O3uYw<@frt z3Qo_>&0yIQZ5BgRr;kE!1#$bAmc%NIGT}#7@a>~iUeQwt0_Oy7gsnUOLWL`w5 z`a$##^`8(SAq7(Gzv@3GtV9A=8!x4a`lde_3%WrDCu2jWQqSpd2Qw39Qsyz(`Q)bC zzk>*1^E&2iAvgxj+1yV)xDZ}G4Vu|E?K3^r$w^S177=K-QA#u&a}oiv5c~XDwsRRa zK<}^`*AMQlYg|W3Yjm0Z7Xgp*L{j@e@OJp$UyhZ|_;xdCaa`&)sITJBD?~y{S+c!{ z7D+$EgeaI4E!Eg}Q^`8*Q2XpE?o}-w(;r8X|LKv7m7WUhGi}^2@fvz_d?ao4(+#I( zako~Ne-bRcnSQ?-&q2BAo_ChQp{kHI&pzGLNMYlk6HK~_ zm^8kC!7wyE!b#AG8~~=cbu+JvpO&yPStTio@j}-fGh5Z=W`6N|n}8EA2e!B&m{ga# zaq5$de$0+TWtFKmlZ3)(#jp49G>qfL$~XUa`q~PQ5k{D%Om~U2mv}+jFv{H*m#X9M zdtvse`_7D$$`VYKg^k@YpY;M#-~6e1OrfFL;IxHTyQ5vi19as75DI!7Gt_T8=YK&Q z-%X}LZUB?`YeO*qX;MInx~p1O8u>d}&E_4)VXd=Dx!z3*j4T7`**G#Gz7f&wE80RK zo0dt7m`04u{GAD|n_kbE30@$yb^22oI6TEMf(w{k- zXJG}cnXP1H0B(thi`~6a($-(}2pVwjR;&;fgSIEmwe%4%vD3pZ~4#?NV$$Q>{1CqMuXb(yZ5)@byG0D z{0>j#pAWb~qfFvH%g;Yk#{~OL6X7Mc^4TG_SIUfDRh!v2_Axt>v@=ru-KaUOjerx2 zZIVWyUD>`1;k_-oY*hR*Rr-K?@Z>8~Oo(>CCbk%_jKLmFuDi1{QH@Xo<{JMWeSi(p zQpLuh0^x%0t{@grJYmU~U-v+u!SWP3l6!#pNCmcQ#iHv<&4v0WP=&o_7-=JBsQE%8 z9xbeO`+mZMbN<>@u)W}z7O|fZ6|0Rr&-HrrEL?MExJf3busNg>Qy!Kd&O7@sbA@TD zU-NLnlN_(yMVyG^H;iDT*Nqy2Dq6SKA7~eAxDZd3+D(yM_!^3cpV5Ast(=Voeby=gO$q`clQV)zL2#M}eZVXzQhK232q5n}aR_>Ugeg z+YHVu7(=p}i|5Gp=aFe5)}ZqUNRJ$W+XYh}fK~1dHoyXu+!Kt7|4~SHPIl)$j=WYD zj#f|YEM7UoeViN}W7G-T_{bDbgT3*~s|(Gj67$V)q=Fck^KuE+3LtVvCox()!D&Ih zOM4qT;St_{VxV($IF3d1bhwX{z|QyJzsGFwV6@bV>z1-unge`CJNgBQW52k-bPwfe z%vF>=k)+!?jTD)75@54Wr8IC?(nuX4Ug3(1k`hL{_8)<_X$ZL=B(S znEM@c{=7E5wcNf`Vm%e);6Z*nRNMLJ!glZ9KJ5)i z3v_fRa>5Jzqas(9<3o$`Hu<5f5Jvpzx@oU5Dk$gRYr`lw! zq!8VPgf!wt8Xh1<(yDN+LWe@Y0~C^UeyrbT-iOK4umypw)Sfk2ri6`+_7G6P;eg6)ua=&g1dhECVUO zv9*3e!=W19LEoDhSP`8+R5j)d0k)?&-(O%x{6?+%;Nd!O+Au0Q$M2@o$p_Y_KIi)H z)yTN__|2iQDeD=vXE~x!uaq7O8b@+BC^*OYi(b`(syJF09%4Jim|0`&MQ0u0MZ=U6 z@R~oaj{Chy7+#x}h38BL@%mcL_7R;Qvh6-KPEzGyQ9DR0um8?*3hOAkcpSgN95U delta 4970 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 WT+aViqJM)LmJMdbntgmW0PsKBhfj|H diff --git a/src/commands.cpp b/src/commands.cpp index 8a7dd09..412ee04 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -204,6 +204,15 @@ namespace commands // SETTERS // // SETTERS // + const ArduinoJson::JsonDocument Commands::resetHPcounters(const devices_t &dev, const ArduinoJson::JsonDocument ¶ms) + { + ArduinoJson::JsonDocument response; + response["cmd"] = "setHPlimit"; + response["values"]["status"] = "valid"; + dev.seneca.resetPartialCounters(); + return response; + } + const ArduinoJson::JsonDocument Commands::setHPlimit(const devices_t &dev, const ArduinoJson::JsonDocument ¶ms) { ArduinoJson::JsonDocument response; diff --git a/src/commands.h b/src/commands.h index f617a6f..526cedc 100644 --- a/src/commands.h +++ b/src/commands.h @@ -61,6 +61,7 @@ namespace commands static const ArduinoJson::JsonDocument storeCronJob(const devices_t &dev, const ArduinoJson::JsonDocument ¶ms); // SETTERS // + static const ArduinoJson::JsonDocument resetHPcounters(const devices_t &dev, const ArduinoJson::JsonDocument ¶ms); static const ArduinoJson::JsonDocument setHPlimit(const devices_t &dev, const ArduinoJson::JsonDocument ¶ms); static const ArduinoJson::JsonDocument setHeating(const devices_t &dev, const ArduinoJson::JsonDocument ¶ms); static const ArduinoJson::JsonDocument setIrrigation(const devices_t &dev, const ArduinoJson::JsonDocument ¶ms); @@ -94,6 +95,7 @@ namespace commands {"delCronJob", Commands::delCronJob}, {"storeCronJob", Commands::storeCronJob}, // SETTERS + {"resetHPcounters", Commands::resetHPcounters}, {"setHPlimit", Commands::setHPlimit}, {"setHeating", Commands::setHeating}, {"setIrrigation", Commands::setIrrigation},