Appel à beta-testeurs pour le plugin Klereo (box Klereo connect)

Bonjour,

si vous avez une box Klereo connect, ce serait sympa de tester le plugin klereo disponible sur le market en beta pour le moment et de me faire vos retours ici.
Le plugin est toujours en phase de développement mais n’a d’interactions avec aucun autre plugin et n’a pas de dépendance particulière. La suppression des équipement ou carrément du plugin supprime toute trace.

La documentation et le changelog sont disponibles ici :
https://mrwaloo.github.io/jeedom-klereo/fr_FR/beta/index

Le repo github est là:

Le plugin est et restera gratuit:

Je suis en contact avec le support de Klereo qui m’a donné les informations de l’API et m’a donné des conseils sur l’organisation des commandes. La documentation est en cours de rédaction et contiendra un maximum d’info que j’ai reçues.

Il reste des choses à faire, la todo-list est en début de changelog et va certainement s’étoffer suite à vos remarques.

Merci d’avance pour vos tests :slight_smile:

A+
Michel

Bonjour et merci beaucoup à toi pour ce plugin,
j’ai testé rapidement le plugin avec ma box klereo connect, les valeurs sont coherentes, l’activation des lumières fonctionnent.

Par contre je n’arrive pas à comprendre le fonctionnement de la pompe dans le plugin (j’ai lu l’aide)
image
parfois j’arrive à l’arreter, à la relancer, souvent cela n’a aucun effet
à quoi correspond les état de filtration à droite de la commande éclairage CMD ?
et j’ai cette erreur jeedom

Erreur sur la fonction cron10 du plugin : Call to a member function execCmd() on bool

l’idéal serait d’avoir un menu un peu comme sur le site de klereo
image

merci

1 « J'aime »

Bonjour @thibole et merci à toi pour ton retour, je commençais à croire que je n’avais fait ce plugin que pour moi :wink:

Une chose à savoir, c’est que, par défaut, les boutons sont configurés pour apparaître en début de ligne et le fait que la commande action liée à une commande info se retrouve à la ligne suivante peut perturber… Voilà comment fonctionnent les paires état/CMD :
image
→ Donc toutes les commandes (info ou action) qui commencent par Filtration sont liées.
Machin bidule état reflète le résultat de machin bidule CMD

Je ne me suis pas encore penché sur le widget, je vais faire en sorte que ce soit plus compréhensible.

Dans l’exemple d’état que tu as envoyé, Filtration OFF état est à 1, donc la filtration est verrouillée, c’est pourquoi Filtration état, et donc ta pompe, est à 0 :
image

Pour piloter manuellement ta pompe, il faut passer Filtration OFF état à 0 en cliquant sur Filtration OFF CMD et ensuite, tu pilotes ta sortie avec Filtration ON CMD. Un clic pour allumer ta pompe et un clic pour l’éteindre.

edit : je m’aperçois que le terme AUTO n’est pas correcte pour la filtration, ça devrait être Plage comme pour les sorties éclairage ou auxiliaires.
→ Ce sera corrigé dans la prochaine version.

Ton incompréhension (légitime, ne t’en fais pas) me fait penser que la documentation n’est peut-être pas assez claire. Je vais l’étoffer.

J’en prends note, je pensais à une ComboBox (liste déroulante) plutôt que des choix, pour optimiser la place prise par le widget. Par contre les commandes telles quelles seront disponibles pour les scénarii.

Tu peux m’en dire plus sur cette erreur STP ?

  • Est-ce reproductible ?
  • Lorsque tu fais quelle action ?
  • En mode debug, les quelques lignes de log (celles qui concernent la même action) avant et après me seraient utiles pour en savoir plus.

Conseil d’utilisation de ce community : les logs (complets) dans un texte préformaté sont plus lisibles que dans une citation. Tu peux mettre les logs en pause, copier les lignes qui m’intéressent et les coller dans un texte préformaté.


edit 2 : j’ai adapté la documentation, tu peux y jeter un coup d’œil STP et me dire si c’est plus claire comme ça ?

A+
Michel

Merci à toi, c’est déjà un peu plus clair avec tes indications et ta nouvelle notice
Mais ce n’est pas très intuitif d’avoir un nom de variable nommé « XXX OFF » qui prend un etat OFF ou ON, c’est confus sur l’interface.

A la place de ==> tu peux mettre par exemple
Filtration OFF état ==> Verrou filtration état
Filtration OFF CMD ==> Verrou filtration CMD
Filtration ON état ==> Filtration MANUEL état
Filtration ON CMD ==> Filtration MANUEL CMD

par exemple sur ta notice, quelqu’un de nouveau sur le plugin ne peut pas comprendre cette partie (je ne l’ai toujours pas comprise)

  • Filtration OFF CMD n’est pas sensé simplement activer un verrou qui empêche d’agir sur la filtration ? car si j’appuie dessus, ma pompe s’arrête

  • sinon la fonction verrou fonctionne, quand je l’active, les autres commandes sont sans effet

  • quand la filtration est en manuel ON, je n’arrive pas à la passer en REGUL ou en AUTO, pour y parvenir je dois passer en manuel OFF, puis demander le mode AUTO ou REGUL. Dans cette configuration il passe bien le mode mais la pompe reste en off. je n’arrive pas à me mettre en mode REGUL ou AUTO avec la pompe active (et oui je suis bien dans les plages horaire et conditions de regulations)

  • je n’arrive pas à reproduire l’erreur, mais elle est revenue :

0367|[2023-09-04 18:28:02]DEBUG : klereoCmd::execute *** execute ***: array (   'user_login' => 'admin',   'user_id' => '1', )
0368|[2023-09-04 18:28:02]DEBUG : klereoCmd::execute $logicalId: 'out_001_off'
0369|[2023-09-04 18:28:02]DEBUG : klereoCmd::execute $outIndex: 1
0370|[2023-09-04 18:28:02]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0371|[2023-09-04 18:28:02]DEBUG : klereo::getIndex / strtotime(self::now()) >= $expire_dt = *false*
0372|[2023-09-04 18:28:02]DEBUG : klereoCmd::execute $cmdInfoOffValue: 0
0373|[2023-09-04 18:28:02]DEBUG : klereoCmd::execute $execCmd: 'OFF'
0374|[2023-09-04 18:28:02]DEBUG : klereoCmd::execute $newOffValue: 1
0375|[2023-09-04 18:28:02]DEBUG : klereoCmd::execute $newOnValue: 0
0376|[2023-09-04 18:28:02]DEBUG : klereoCmd::execute $newAutoValue: 0
0377|[2023-09-04 18:28:02]DEBUG : klereoCmd::execute $newRegulValue: 0
0378|[2023-09-04 18:28:09]DEBUG : klereoCmd::execute *** execute ***: array (   'user_login' => 'admin',   'user_id' => '1', )
0379|[2023-09-04 18:28:09]DEBUG : klereoCmd::execute $logicalId: 'out_001_on'
0380|[2023-09-04 18:28:09]DEBUG : klereoCmd::execute $outIndex: 1
0381|[2023-09-04 18:28:09]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0382|[2023-09-04 18:28:09]DEBUG : klereo::getIndex / strtotime(self::now()) >= $expire_dt = *false*
0383|[2023-09-04 18:28:09]DEBUG : klereoCmd::execute $execCmd: 'ON'
0384|[2023-09-04 18:28:09]DEBUG : klereoCmd::execute $newOffValue: 1
0385|[2023-09-04 18:28:09]DEBUG : klereoCmd::execute $newOnValue: 1
0386|[2023-09-04 18:28:09]DEBUG : klereoCmd::execute $newAutoValue: 0
0387|[2023-09-04 18:28:09]DEBUG : klereoCmd::execute $newRegulValue: 0
0388|[2023-09-04 18:28:20]DEBUG : klereoCmd::execute *** execute ***: array (   'user_login' => 'admin',   'user_id' => '1', )
0389|[2023-09-04 18:28:20]DEBUG : klereoCmd::execute $logicalId: 'out_001_auto'
0390|[2023-09-04 18:28:20]DEBUG : klereoCmd::execute $outIndex: 1
0391|[2023-09-04 18:28:20]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0392|[2023-09-04 18:28:20]DEBUG : klereo::getIndex / strtotime(self::now()) >= $expire_dt = *false*
0393|[2023-09-04 18:28:20]DEBUG : klereoCmd::execute $execCmd: 'AUTO'
0394|[2023-09-04 18:28:20]DEBUG : klereoCmd::execute $newOffValue: 1
0395|[2023-09-04 18:28:20]DEBUG : klereoCmd::execute $newOnValue: 0
0396|[2023-09-04 18:28:20]DEBUG : klereoCmd::execute $newAutoValue: 1
0397|[2023-09-04 18:28:20]DEBUG : klereoCmd::execute $newRegulValue: 0
0398|[2023-09-04 18:28:49]DEBUG : klereoCmd::execute *** execute ***: array (   'user_login' => 'admin',   'user_id' => '1', )
0399|[2023-09-04 18:28:49]DEBUG : klereoCmd::execute $logicalId: 'out_001_regulation'
0400|[2023-09-04 18:28:49]DEBUG : klereoCmd::execute $outIndex: 1
0401|[2023-09-04 18:28:49]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0402|[2023-09-04 18:28:49]DEBUG : klereo::getIndex / strtotime(self::now()) >= $expire_dt = *false*
0403|[2023-09-04 18:28:49]DEBUG : klereoCmd::execute $execCmd: 'Regulation'
0404|[2023-09-04 18:28:49]DEBUG : klereoCmd::execute $newOffValue: 1
0405|[2023-09-04 18:28:49]DEBUG : klereoCmd::execute $newOnValue: 0
0406|[2023-09-04 18:28:49]DEBUG : klereoCmd::execute $newAutoValue: 0
0407|[2023-09-04 18:28:49]DEBUG : klereoCmd::execute $newRegulValue: 1
0408|[2023-09-04 18:29:01]DEBUG : klereoCmd::execute *** execute ***: array (   'user_login' => 'admin',   'user_id' => '1', )
0409|[2023-09-04 18:29:01]DEBUG : klereoCmd::execute $logicalId: 'out_001_off'
0410|[2023-09-04 18:29:01]DEBUG : klereoCmd::execute $outIndex: 1
0411|[2023-09-04 18:29:01]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0412|[2023-09-04 18:29:01]DEBUG : klereo::getIndex / strtotime(self::now()) >= $expire_dt = *false*
0413|[2023-09-04 18:29:01]DEBUG : klereoCmd::execute $cmdInfoOffValue: 1
0414|[2023-09-04 18:29:01]DEBUG : klereoCmd::execute $execCmd: 'OFF'
0415|[2023-09-04 18:29:01]DEBUG : klereoCmd::execute $newOffValue: 0
0416|[2023-09-04 18:29:01]DEBUG : klereoCmd::execute $newOnValue: 0
0417|[2023-09-04 18:29:01]DEBUG : klereoCmd::execute $newAutoValue: 0
0418|[2023-09-04 18:29:01]DEBUG : klereoCmd::execute $newRegulValue: 0
0419|[2023-09-04 18:29:44]DEBUG : klereoCmd::execute *** execute ***: array (   'user_login' => 'admin',   'user_id' => '1', )
0420|[2023-09-04 18:29:44]DEBUG : klereoCmd::execute $logicalId: 'out_001_on'
0421|[2023-09-04 18:29:44]DEBUG : klereoCmd::execute $outIndex: 1
0422|[2023-09-04 18:29:44]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0423|[2023-09-04 18:29:44]DEBUG : klereo::getIndex / strtotime(self::now()) >= $expire_dt = *false*
0424|[2023-09-04 18:29:44]DEBUG : klereoCmd::execute $execCmd: 'ON'
0425|[2023-09-04 18:29:44]DEBUG : klereoCmd::execute $newOffValue: 0
0426|[2023-09-04 18:29:44]DEBUG : klereoCmd::execute $newOnValue: 1
0427|[2023-09-04 18:29:44]DEBUG : klereoCmd::execute $newAutoValue: 0
0428|[2023-09-04 18:29:44]DEBUG : klereoCmd::execute $newRegulValue: 0
0429|[2023-09-04 18:29:44]DEBUG : klereo::setOut / $_out_index = *1*
0430|[2023-09-04 18:29:44]DEBUG : klereo::setOut / $_mode = *0*
0431|[2023-09-04 18:29:44]DEBUG : klereo::setOut / $_state = *1*
0432|[2023-09-04 18:29:44]DEBUG : klereo::getIndex / strtotime(self::now()) >= $expire_dt = *false*
0433|[2023-09-04 18:29:44]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0434|[2023-09-04 18:29:44]DEBUG : klereo::setOut / $page_content = *HTTP/1.1 200 OK Date: Mon, 04 Sep 2023 16:29:44 GMT Server: Apache/2.4.41 (Ubuntu) Content-Length: 60 Content-Type: application/json; charset=UTF-8  {"status":"ok","response":[{"cmdID":2207585,"poolID":1197}]}*
0435|[2023-09-04 18:29:44]DEBUG : klereo::setOut / curl_request return OK
0436|[2023-09-04 18:29:44]DEBUG : klereo::setOut / $response = *array (   0 => 'HTTP/1.1 200 OK Date: Mon, 04 Sep 2023 16:29:44 GMT Server: Apache/2.4.41 (Ubuntu) Content-Length: 60 Content-Type: application/json; charset=UTF-8  ',   1 =>    array (     'status' => 'ok',     'response' =>      array (       0 =>        array (         'cmdID' => 2207585,         'poolID' => 1197,       ),     ),   ), )*
0437|[2023-09-04 18:29:44]DEBUG : klereo::setOut / $body['response'] = *array (   0 =>    array (     'cmdID' => 2207585,     'poolID' => 1197,   ), )*
0438|[2023-09-04 18:29:44]DEBUG : klereo::waitCommand / $_cmd_id = *2207585*
0439|[2023-09-04 18:29:47]DEBUG : klereo::waitCommand / $page_content = *HTTP/1.1 200 OK Date: Mon, 04 Sep 2023 16:29:44 GMT Server: Apache/2.4.41 (Ubuntu) Content-Length: 116 Content-Type: application/json; charset=UTF-8  {"status":"ok","response":{"cmdID":2207585,"status":9,"startTime":1693844984,"updateTime":1693844987,"detail":"Ok"}}*
0440|[2023-09-04 18:29:47]DEBUG : klereo::waitCommand / curl_request return OK
0441|[2023-09-04 18:29:47]DEBUG : klereo::waitCommand / $response = *array (   0 => 'HTTP/1.1 200 OK Date: Mon, 04 Sep 2023 16:29:44 GMT Server: Apache/2.4.41 (Ubuntu) Content-Length: 116 Content-Type: application/json; charset=UTF-8  ',   1 =>    array (     'status' => 'ok',     'response' =>      array (       'cmdID' => 2207585,       'status' => 9,       'startTime' => 1693844984,       'updateTime' => 1693844987,       'detail' => 'Ok',     ),   ), )*
0442|[2023-09-04 18:29:47]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0443|[2023-09-04 18:29:47]DEBUG : klereo::getPoolDetails / $page_content = *HTTP/1.1 200 OK Date: Mon, 04 Sep 2023 16:29:47 GMT Server: Apache/2.4.41 (Ubuntu) Content-Length: 6540 Content-Type: application/json; charset=UTF-8  {"status":"ok","response":[{"idSystem":1197,"poolNickname":"Ma piscine","access":10,"emailNotify":1,"podSerial":"0301C49300037A7E","device":0,"tabHW":109,"tabSW":"186A","tabBoot":206,"affHW":110,"affSW":"186A","affBoot":206,"status":796928,"infosTime":620,"Now":1693844987,"jitter":251,"autoClock":1,"suspended":0,"installDate":1495128341,"rfSent":171677,"rfErr":2,"ProductIdx":3,"FastValid":0,"NoLimit":0,"Inside":0,"BSVFlow":0,"CfgFSTab":1,"CfgFSMC1":0,"CfgFSMC2":0,"CfgFSAB":0,"NeedSettings":0,"IgnoreFiltering":0,"PoolConfig":79155,"extIJ":1,"FlowMC1":0,"FlowMC2":0,"FlowKPC":1,"PressionCapteur":-1,"EauCapteur":16,"pHCapteur":17,"TraitCapteur":18,"params":{"ParamVersion":122,"Elec_Throttle":100,"VolumeEau":60,"DebitPompe":12,"HeatControlTime":255,"MaxFilterTime":96,"ConsigneChlore":1.5,"ConsignePH":7.300000190734863,"ConsigneRedox":680,"ConsigneEau":-2000,"CleanFilter":700,"SeuilHorsGel":1,"EauMin":0,"EauMax":40,"pHMin":6.599999904632568,"pHMax":8,"OrpMin":440,"OrpMax":780,"AirMin":-5,"AirMax":50,"PressureMin":200,"PressureMax":1200,"PHMinus_Concentration":84,"PHMinus_Debit":15,"PHMinus_Cycle":300,"PHMinus_MaxDay":2640,"PHMinus_TotalTime":166608,"Regul_MaxPH":8.699999809265137,"Chlore_Concentration":25,"Chlore_Debit":15,"ElectroChlore_Cycle":300,"ElectroChlore_MaxDay":3000,"ElectroChlore_TotalTime":3173236,"CfgSalt":0,"MidJour1":52,"Chauff_Cycle":900,"Chauff_TotalTime":0,"Filtration_TotalTime":12632087,"Elec_ProdMini":500,"Elec_ProdNormal":20000,"Elec_ProdMaxi":65500,"Elec_TMini":15,"Elec_TMaxi":240,"Elec_TOff":15,"Elec_TempRef":15,"Elec_ProdRef":1500,"Elec_Coef":0.08699999749660492,"Elec_ChocRatio":45,"Elec_CouvRatio":20,"Elec_Mode":0,"Elec_TempSecurity":11,"Elec_InteriorRatio":20,"Elec_ORPSecurity":800,"RegulModes":4450,"RegulTemperature":29.9375,"RegulDuree":23.85000228881836,"ChloreChocOffset":100,"RegTempMin":10,"RegTemp1":15,"RegTemp2":25,"RegTempMax":30,"RegDuree":2,"RegCoef1":24,"RegCoef2":64,"RegFlags":0,"HorsGelTMax":7200,"HorsGelTOn":3600,"VolumePH_PerDay":100,"VolumeTrait_PerDay":750,"PressureSecurite":100,"PoolConfig":79155,"Oxy_TempRef1":15,"Oxy_TempRef2":20,"Oxy_BesoinRef1":15,"Oxy_BesoinRef2":20,"Oxy_Coef1":0.0666700005531311,"Oxy_Coef2":0.07999999821186066,"Oxy_H2O2":380,"VolumeFloc_PerDay":200,"Filtration_CurrentTime":94,"Filtration_OffTime":10,"Filtration_TodayTime":57237,"PHMinus_TodayTime":403,"PHMinus_TOn":8,"ElectroChlore_TodayTime":11070,"ElectroChlore_TOn":0,"Chlore_MaxCycle":150,"Dummy":0,"Chauff_TodayTime":0,"Chauff_TOn":0,"ChocTimer":0,"RegRedoxSlope":-1000,"SuspendHorsGelTimer":0,"TimePH_ToPush":0,"TimeTrait_ToPush":0,"Elec_TimeRemain":0,"PressureOffset":0,"Elec_GramReq":0,"Elec_CycleTimer":0,"Elec_GramDone":60900,"Unused":0,"ChlMin":0.5,"ChlMax":3,"Measure_CurrentTime":85,"Measure_OffTime":90,"TimeFloc_ToPush":0,"PoolMode":2,"TraitMode":6,"pHMode":1,"HeaterMode":1,"HeatHyst":0,"PacPanel":0,"PacFan":0,"Booster":0,"SaltThreshold":0,"NoLowVoltProd":0},"probes":[{"index":1,"type":1,"status":1,"updated":0,"filteredValue":29.9375,"filteredTime":752,"directValue":29.9375,"directTime":752,"updateTime":540,"seuilMin":-5,"seuilMax":50,"calib1":0,"calib2":0,"calib3":0},{"index":7,"type":12,"status":1,"updated":0,"filteredValue":100,"filteredTime":537,"directValue":100,"directTime":537,"updateTime":534,"seuilMin":10,"seuilMax":110,"calib1":0,"calib2":0,"calib3":0},{"index":8,"type":13,"status":1,"updated":0,"filteredValue":0,"filteredTime":537,"directValue":0,"directTime":537,"updateTime":533,"seuilMin":-10,"seuilMax":110,"calib1":0,"calib2":0,"calib3":0},{"index":16,"type":5,"status":1,"updated":0,"filteredValue":29.9375,"filteredTime":535,"directValue":29.9375,"directTime":535,"updateTime":523,"seuilMin":0,"seuilMax":40,"calib1":0,"calib2":0,"calib3":0},{"index":17,"type":3,"status":1,"updated":0,"filteredValue":7.34037,"filteredTime":526,"directValue":7.34037,"directTime":526,"updateTime":523,"seuilMin":6.6,"seuilMax":8,"calib1":443,"calib2":653,"calib3":18},{"index":18,"type":4,"status":1,"updated":0,"filteredValue":696.774,"filteredTime":445,"directValue":696.774,"directTime":445,"updateTime":443,"seuilMin":440,"seuilMax":780,"calib1":635,"calib2":263,"calib3":0}],"HorsGel":3,"PrioPh":1,"PrioTrait":1,"PrioHeat":1,"PrioPress":1,"PrioChoc":1,"AlternatePower":0,"HGChauff":3,"outs":[{"index":0,"type":0,"mode":0,"status":0,"totalTime":17643,"offDelay":240,"flags":96,"map":0,"cloneSrc":0,"updateTime":1,"realStatus":0},{"index":1,"type":0,"mode":0,"status":1,"totalTime":12632053,"offDelay":5,"flags":687,"map":1,"cloneSrc":0,"updateTime":1,"realStatus":0},{"index":2,"type":0,"mode":3,"status":0,"totalTime":166608,"offDelay":2,"flags":0,"map":5,"cloneSrc":1,"updateTime":1,"realStatus":0},{"index":3,"type":0,"mode":3,"status":0,"totalTime":3173236,"offDelay":2,"flags":2,"map":6,"cloneSrc":1,"updateTime":1,"realStatus":0},{"index":4,"type":null,"mode":3,"status":0,"totalTime":null,"offDelay":null,"flags":6,"map":1,"cloneSrc":null,"updateTime":1,"realStatus":0},{"index":9,"type":0,"mode":0,"status":0,"totalTime":0,"offDelay":240,"flags":0,"map":4,"cloneSrc":1,"updateTime":1,"realStatus":0}],"PumpMaxSpeed":1,"plans":[{"index":0,"plan":"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","updateTime":241},{"index":1,"plan":"\u0000\u0000\u0000€ÿÿÿÿÿÿ\u0000\u0000","updateTime":162},{"index":3,"plan":"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","updateTime":161},{"index":5,"plan":"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","updateTime":158},{"index":6,"plan":"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","updateTime":158},{"index":7,"plan":"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","updateTime":79},{"index":8,"plan":"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","updateTime":76},{"index":16,"plan":"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","updateTime":82},{"index":17,"plan":"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","updateTime":77},{"index":255,"plan":"¿ÿÿÿÿÿÿÿÿÿÿÿ","updateTime":776}],"register":{"pin":"0301-227966-969","proID":969,"lastUpdate":1495456458,"compta":"BL3922PRET"},"Address":{"idAddress":11433,"street":"115 Allée du Roitelet - Thuet","zipcode":"74130","city":"Bonneville","country":"France","latitude":46.0639359,"longitude":6.4238596,"app":291},"podinfo":{"app":291,"pingSent":7437,"pongRx":7265,"pingFail":90},"PodSW":291,"PodSW2":1,"IORename":[]}]}*
0444|[2023-09-04 18:29:47]DEBUG : klereo::getPoolDetails / curl_request return OK
0445|[2023-09-04 18:29:47]DEBUG : klereo::actualizeValues / Start
0446|[2023-09-04 18:29:47]DEBUG : klereo::actualizeValues / $eqKlereo->getName() = Piscine
0447|[2023-09-04 18:29:47]DEBUG : klereo::getIndex / strtotime(self::now()) >= $expire_dt = *false*
0448|[2023-09-04 18:29:47]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0449|[2023-09-04 18:29:47]DEBUG : klereo::actualizeValues / $probes = array (   0 =>    array (     'logicalId' => 'probe_1',     'minValue' => -5.0,     'maxValue' => 50.0,     'filteredValue' => 29.9375,     'directValue' => 29.9375,     'description' => 'Température air (1);°C',   ),   1 =>    array (     'logicalId' => 'probe_7',     'minValue' => 10.0,     'maxValue' => 110.0,     'filteredValue' => 100,     'directValue' => 100,     'description' => 'Niveau bidon (7);%',   ),   2 =>    array (     'logicalId' => 'probe_8',     'minValue' => -10.0,     'maxValue' => 110.0,     'filteredValue' => 0,     'directValue' => 0,     'description' => 'Position volet / couverture (8);%',   ),   3 =>    array (     'logicalId' => 'probe_16',     'minValue' => 0.0,     'maxValue' => 40.0,     'filteredValue' => 29.9375,     'directValue' => 29.9375,     'description' => 'Température eau (16);°C',   ),   4 =>    array (     'logicalId' => 'probe_17',     'minValue' => 6.0,     'maxValue' => 8.0,     'filteredValue' => 7.34037,     'directValue' => 7.34037,     'description' => 'pH seul (17);pH',   ),   5 =>    array (     'logicalId' => 'probe_18',     'minValue' => 440.0,     'maxValue' => 780.0,     'filteredValue' => 696.774,     'directValue' => 696.774,     'description' => 'Redox seul (18);mV',   ), )
0450|[2023-09-04 18:29:47]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0451|[2023-09-04 18:29:47]DEBUG : klereo::getIndex / strtotime(self::now()) >= $expire_dt = *false*
0452|[2023-09-04 18:29:47]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0453|[2023-09-04 18:29:47]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0454|[2023-09-04 18:29:47]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0455|[2023-09-04 18:29:47]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0456|[2023-09-04 18:29:47]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0457|[2023-09-04 18:29:54]DEBUG : klereoCmd::execute *** execute ***: array (   'user_login' => 'admin',   'user_id' => '1', )
0458|[2023-09-04 18:29:54]DEBUG : klereoCmd::execute $logicalId: 'out_001_auto'
0459|[2023-09-04 18:29:54]DEBUG : klereoCmd::execute $outIndex: 1
0460|[2023-09-04 18:29:54]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0461|[2023-09-04 18:29:54]DEBUG : klereo::getIndex / strtotime(self::now()) >= $expire_dt = *false*
0462|[2023-09-04 18:29:54]DEBUG : klereoCmd::execute $execCmd: 'AUTO'
0463|[2023-09-04 18:29:54]DEBUG : klereoCmd::execute $newOffValue: 0
0464|[2023-09-04 18:29:54]DEBUG : klereoCmd::execute $newOnValue: 1
0465|[2023-09-04 18:29:54]DEBUG : klereoCmd::execute $newAutoValue: 1
0466|[2023-09-04 18:29:54]DEBUG : klereoCmd::execute $newRegulValue: 0
0467|[2023-09-04 18:30:01]DEBUG : klereo::actualizeValues / Start
0468|[2023-09-04 18:30:01]DEBUG : klereo::actualizeValues / $eqKlereo->getName() = Piscine
0469|[2023-09-04 18:30:01]DEBUG : klereo::getIndex / strtotime(self::now()) >= $expire_dt = *false*
0470|[2023-09-04 18:30:01]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0471|[2023-09-04 18:30:01]DEBUG : klereo::actualizeValues / $probes = array (   0 =>    array (     'logicalId' => 'probe_1',     'minValue' => -5.0,     'maxValue' => 50.0,     'filteredValue' => 29.9375,     'directValue' => 29.9375,     'description' => 'Température air (1);°C',   ),   1 =>    array (     'logicalId' => 'probe_7',     'minValue' => 10.0,     'maxValue' => 110.0,     'filteredValue' => 100,     'directValue' => 100,     'description' => 'Niveau bidon (7);%',   ),   2 =>    array (     'logicalId' => 'probe_8',     'minValue' => -10.0,     'maxValue' => 110.0,     'filteredValue' => 0,     'directValue' => 0,     'description' => 'Position volet / couverture (8);%',   ),   3 =>    array (     'logicalId' => 'probe_16',     'minValue' => 0.0,     'maxValue' => 40.0,     'filteredValue' => 29.9375,     'directValue' => 29.9375,     'description' => 'Température eau (16);°C',   ),   4 =>    array (     'logicalId' => 'probe_17',     'minValue' => 6.0,     'maxValue' => 8.0,     'filteredValue' => 7.34037,     'directValue' => 7.34037,     'description' => 'pH seul (17);pH',   ),   5 =>    array (     'logicalId' => 'probe_18',     'minValue' => 440.0,     'maxValue' => 780.0,     'filteredValue' => 696.774,     'directValue' => 696.774,     'description' => 'Redox seul (18);mV',   ), )
0472|[2023-09-04 18:30:01]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0473|[2023-09-04 18:30:01]DEBUG : klereo::getIndex / strtotime(self::now()) >= $expire_dt = *false*
0474|[2023-09-04 18:30:01]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0475|[2023-09-04 18:30:01]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0476|[2023-09-04 18:30:01]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0477|[2023-09-04 18:30:01]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0478|[2023-09-04 18:30:01]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0479|[2023-09-04 18:30:01]ERROR : Erreur sur la fonction cron10 du plugin : Call to a member function execCmd() on bool
0480|[2023-09-04 18:30:10]DEBUG : klereoCmd::execute *** execute ***: array (   'user_login' => 'admin',   'user_id' => '1', )
0481|[2023-09-04 18:30:10]DEBUG : klereoCmd::execute $logicalId: 'out_001_auto'
0482|[2023-09-04 18:30:10]DEBUG : klereoCmd::execute $outIndex: 1
0483|[2023-09-04 18:30:10]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0484|[2023-09-04 18:30:10]DEBUG : klereo::getIndex / strtotime(self::now()) >= $expire_dt = *false*
0485|[2023-09-04 18:30:10]DEBUG : klereoCmd::execute $execCmd: 'AUTO'
0486|[2023-09-04 18:30:10]DEBUG : klereoCmd::execute $newOffValue: 0
0487|[2023-09-04 18:30:10]DEBUG : klereoCmd::execute $newOnValue: 1
0488|[2023-09-04 18:30:10]DEBUG : klereoCmd::execute $newAutoValue: 1
0489|[2023-09-04 18:30:10]DEBUG : klereoCmd::execute $newRegulValue: 0
0490|[2023-09-04 18:30:27]DEBUG : klereoCmd::execute *** execute ***: array (   'user_login' => 'admin',   'user_id' => '1', )
0491|[2023-09-04 18:30:27]DEBUG : klereoCmd::execute $logicalId: 'out_001_auto'
0492|[2023-09-04 18:30:27]DEBUG : klereoCmd::execute $outIndex: 1
0493|[2023-09-04 18:30:27]DEBUG : klereo::getPoolDetails / strtotime(self::now()) >= $expire_dt = *false*
0494|[2023-09-04 18:30:27]DEBUG : klereo::getIndex / strtotime(self::now()) >= $expire_dt = *false*
0495|[2023-09-04 18:30:27]DEBUG : klereoCmd::execute $execCmd: 'AUTO'
0496|[2023-09-04 18:30:27]DEBUG : klereoCmd::execute $newOffValue: 0
0497|[2023-09-04 18:30:27]DEBUG : klereoCmd::execute $newOnValue: 1
0498|[2023-09-04 18:30:27]DEBUG : klereoCmd::execute $newAutoValue: 1
0499|[2023-09-04 18:30:27]DEBUG : klereoCmd::execute $newRegulValue: 0
2023-09-04 18:43:44][ALERT] : [START UPDATE]
[2023-09-04 18:43:44][ALERT] : Début de la mise à jour de : jeedom-klereo
[2023-09-04 18:43:44][ALERT] : Téléchargement du plugin (source : github)
[2023-09-04 18:43:44][ALERT] : Téléchargement de jeedom-klereo
[2023-09-04 18:43:52][ALERT] : | OK
[2023-09-04 18:43:52][ALERT] : Echec lors du téléchargement du fichier. Veuillez réessayer plus tard (taille inférieure à 100 octets). Cela peut être dû à une absence de connexion au market (vérifiez dans la configuration de diy qu'un test de connexion au market marche) ou lié à un manque de place, une version minimale requise non consistante avec votre version de diy un souci du plugin sur le market, un soucis sur l'achat de votre plugin, etc.
[2023-09-04 18:43:52][ALERT] : [END UPDATE ERROR]

encore merci pour ton travail !

Sache que tu peux renommer les commandes comme il te plait, elles sont identifiées avec un logicalId.
Je vais quand même voir pour proposer quelque chose qui contient « verrou » dans le nom par défaut à la création.

J’avais oublié cette possibilité, merci !

C’est précisément le fonctionnement voulu. :slight_smile:

J’ai vérifié le code, il faut que je fasse un test supplémentaire sur chaque utilisation de la fonction execCmd(). Ce sera dans la prochaine version.
Dans le log ‹ http.error ›, est-ce qu’il y a un message qui est généré en même temps ?

edit : dans les logs que tu as envoyés, j’ai identifié un cas que je n’avais pas prévu. Dans la prochaine bêta, ce sera corrigé.

Chez moi je n’ai pas ce soucis, c’est peut-être effectivement lié à un problème de connexion, soit chez github, soit chez toi ?

Chez moi la mise à jour s’est bien passée :

0972|[2023-09-04 23:29:28]DEBUG : Lancement de : /var/www/html/core/class/../../core/php/jeePlugin.php  plugin_id=klereo function=pre_update callInstallFunction=1
0973|[2023-09-04 23:29:29]INFO : Début d'activation du plugin
0974|[2023-09-04 23:29:30]INFO : Info sur le démon : {"launchable_message":"","launchable":"nok","state":"nok","log":"nok","auto":0}
0975|[2023-09-04 23:29:30]DEBUG : Lancement de : /var/www/html/core/class/../../core/php/jeePlugin.php  plugin_id=klereo function=update callInstallFunction=1

J’ai actualisé le plugin en V0.4 beta à l’instant.
Tu veux bien mettre à jour chez toi et vérifier que le cron10 ne génère plus de défaut STP ?
edit : cron10 est une tâche qui s’exécute automatiquement toutes les 10 minutes, à 0:00, 0:10, etc. Il suffit donc d’attendre max 10 minutes et de vérifier dans les logs.

Pas besoin de supprimer l’équipement, mais des commandes créées par l’ancienne version pourraient ne plus être actualisées, donc ce serait mieux. Ca risque d’arriver encore souvent de devoir supprimer l’équipement, surtout si je change le logicalId des commandes, on est sur un plugin en version beta, je le rappelle.

J’ai supprimé le plugin et réinstallé, je n’ai donc plus d’erreur dans les MAJ (normal il est à jour)

l’erreur cron10 n’est pas réapparue

Oui je suis conscient de la version bêta, je te remonte juste les problèmes que je trouve, encore merci pour ton travail :slight_smile:

Nickel !

Et je t’en remercie, ça a bien aidé !
Prochaine grosse étape : la partie graphique du plugin

Bonjour je me permets de vous contacter car je suis intéressé par ce plugin.

Par contre je vois bien le plugin depuis le maket place.

Mais par contre impossible de le trouver depuis plugin=> gestion plugins => market

Avez vous une idée d’où peut venir mon pb ?

Merci beaucoup
Nicolas

Bonjour,

Il faut accepter, sur votre profil du Market, d’être bêta testeur pour voir ce plugin depuis l’interface de Jeedom.
/!\ Accepter d’être bêta testeur ce n’est pas juste avoir un plugin gratuit, il faut aider le développeur en lui reportant ce qu’il demande en cas de problème et surtout, accepter qu’il y ai des problèmes avec les produits en phase bêta.

Bonjour Michel,
Je suis particulièrement intéressé par les travaux que vous avez mené au sujet du plugin Klereo. Je suis moi-même équipé d’un système Klereo Connect pour la régulation de ma piscine.
Je suis familier de la plateforme Home Assistant et je n’ai pas encore évalué la plateforme Jeedom.
J’ai compris que vous étiez en contact avec le support de Klereo. J’ai moi même décortiqué l’API utilisée par l’application en ligne. Il me manque quelques documentations en particulier pour l’interprétation des plannings (masques de slot). J’ai traité un grand nombre des échanges de collecte et de commande. Avez-vous une documentation de cette API ?
Comment avez-vous traité le token de connexion JWT et son renouvellement ?
Je serai intéressé pour un échange avec vous et votre retour d’expérience.
Belle journée
Frédéric

Bonjour Frédéric,

je vous propose de rechercher les informations dans le repo github publique (lien dans le premier post de ce fil), particulièrement dans ce fichier et de revenir vers moi pour les clarifications éventuelles.

Non, juste des échanges de mail et de MP avec le développeur

Il vaut mieux consulter le fichier mis en lien ci-dessus, mais en gros il est renouvelé toutes les 55 minutes puisque valide qu’une heure.

Sans aucun problème, mais dans un nouveau fil, dans ce cas SVP

A+
Michel