OBone-git / Cozytouch-domoticz

Python script for read/write data between the cozytouch server and domoticz on rpi
MIT License
18 stars 15 forks source link

Consigne de dérogation annulée par cozytouch #49

Closed Tatroxitum closed 1 year ago

Tatroxitum commented 1 year ago

Bonjour,

Après quelques années où tout tournait parfaitement, je me rends compte qu'aléatoirement la consigne de dérogation est prise en compte puis annulée par le cozytouch.

Par exemple : ¤¤¤¤ Demarrage script cozytouch <=> domoticz version 5.33 (debug :2) 2022-12-09 16:30:02.092378 Version python : 2.7.16 Test existence / creation configuration cozytouch (hardware domoticz + fichier de sauvegarde) ... Demarrage mise a jour devices ... GET-> http://192.168.x.x:x/json.htm?type=devices&rid=x : 200 POST-> https://ha110-1.overkiz.com/enduser-mobile-web/externalAPI/json/../../enduserAPI/exec/apply | {"actions": [{ "deviceURL": "io://XxxxX/XxxxX#1" , "commands": [{ "name": "setDerogatedTargetTemperature", "parameters":[19.0]}]}]} : 200 GET-> http://192.168.x.x:x/json.htm?type=command&param=addlogmessage&message=Cozytouch - Rad. xxx : nouvelle consigne derogation transmise: 19.0°C : 200 Fonction gestion_consigne : Chgt consigne Domoticz, envoie vers Cozytouch : Rad. xxx/derogation/19.0°C ...

et au déclenchement du script une minute après (crontab), sans changement dans domoticz : ¤¤¤¤ Demarrage script cozytouch <=> domoticz version 5.33 (debug :2) 2022-12-09 16:31:01.936570 Version python : 2.7.16 Test existence / creation configuration cozytouch (hardware domoticz + fichier de sauvegarde) ... Demarrage mise a jour devices ... GET-> http://192.168.xx.xx:x/json.htm?type=devices&rid=x : 200 Fonction gestion_consigne : Chgt consigne Cozytouch, envoie vers Domoticz : Rad. xxx/derogation/0.0°C GET-> http://192.168.xx.xx:x/json.htm?type=command&param=addlogmessage&message=Cozytouch - Rad. xxx : detection changement consigne derogation : 0.0°C : 200 ...

J'ai en tout 6 radiateurs identiques et un chauffe eau, les consignes de dérogation sont généralement envoyées toutes en même temps via script blocky sous domoticz. J'utilise uniquement ces consignes pour gérer mon chauffage, je n'utilise pas les états du fil pilote, ils sont donc toujours en mode "eco" et aucune autre conf ne change jamais. Ce qui est bizarre, c'est que de temps en temps une ou deux consignes de dérogation passent à 0 au refresh d'après, mais c'est vraiment aléatoire. Sur une semaine, sur 14 consignes pour cet équipement, 3 n'ont pas été prises en compte (alors que pour les 5 autres radiateurs, au même moment, tout est ok). N'importe quel radiateur peut être touché par ce comportement mais jamais tous en même temps.

D'après ces logs, j'ai l'impression que c'est un problème provenant du cozytouch puisque "l'envoi" de la consigne de dérogation retourne un "200" donc j'imagine une correcte prise en compte ? Comme c'est aléatoire je n'ai pas pu voir si dans l'appli dans la minute impartie si je voyais le changement provoqué par Domoticz. Et manuellement, quand j'envoi des consignes, évidement je ne suis jamais retombé dans le problème...

Quelqu'un a-t-il déjà rencontré ce problème ? Avez-vous des idées sur comment investiguer ce problème ?

Merci d'avance :)

OBone-git commented 1 year ago

Bonjour, oui cela a l'air de venir de Cozytouch avec le retour à 0.0C° à la suite d'une demande de dérogation, mais c'est étrange qu'il renvoie une telle consigne. Plusieurs choses à tester :

  1. De l'appli Cozytouch, appliquer une T°C de dérogation et laisser le script Domoticz acquérie la consigne modifiée. Est elle correcte ?
  2. Lors de l'envoi des dérogations, concernent elles les 6 radiateurs en même temps ? C'est peut etre beaucoup d'un seul coup. Si oui, à essayer de baisser le nombre de dérogations envoyées en même temps.
  3. Approfondir avec l'outil Postman avec plusieurs essais pour reproduire et comprendre ton cas.
Tatroxitum commented 1 year ago

Merci !!

  1. Oui. mais je le répète, c'est aléatoire et finalement assez rare donc le fait que ça fonctionne est non concluant.
  2. Oui les 6 en même temps. Le problème c'est que mes scripts de chauffage gèrent d'autres équipements (dont des module fil pilote pour d'autres radiateur), donc assez galère en l'état pour décaler (pour appliquer les consignes de dérogation en blocky seul les set setpoint fonctionnent, je ne peux pas utiliser les set after x sec). Je vais réfléchir à effectuer une refonte du système qui permettrait de gérer les décalages.
  3. Je ne connaissais pas ca soft de test des APIs, mais comme le point 1 fonctionne je ne pense pas que le résultat soit concluant.

Bref, je vais réfléchir à une refonte du système de planification. Merci pour l'idée :).

Tatroxitum commented 1 year ago

Comme le problème vient du cozytouch je clos le sujet, merci pour les pistes.