OBone-git / Cozytouch-domoticz

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

Ajout de la consigne de dérogation pour les radiateurs #24

Closed Tatroxitum closed 2 years ago

Tatroxitum commented 3 years ago

Prise en compte de la consigne de dérogation pour les radiateurs. Fonctionnel, mais peut être amélioré.

olivierberthomme commented 3 years ago

J'ai eu des bugs sur la température de dérog. Situation : radiateur Malao en mode Prog ; sur une plage éco ; domoticz a une température de consigne dérog à 0°c Je monte la température depuis le radiateur pour passer de 16°c (éco) à 17°c. Le script détecte la consigne "Dérog" mais envoie à cozytouch la dérog domoticz (c-à-d 0°c ce qui est refusé par cozytouch) au lieu d'enregistrer dans domoticz la consigne cozytouch.

POST-> https://ha110-1.overkiz.com/enduser-mobile-web/externalAPI/json/../../enduserAPI/exec/apply | {"actions": [{ "deviceURL": "io://0805-0080-6200/16488973#1" , "commands": [{ "name": "setDerogatedTargetTemperature", "parameters":[0.0]}]}]} : 400
Erreur HTTP 400 :

http://pastebin.fr/77776

Par contre, lorsque la dérogation est configurée depuis domoticz, le script fonctionne bien et envoie la nouvelle consigne dérog.

Je n'ai pas trouvé comment quitter le mode dérogation : en tout cas, pas via l'envoie d'une consigne de dérog à 0°c puisque refusé par l'API cozytouch.

Tatroxitum commented 3 years ago

Prise en compte du changement provenant du radiateur dans le cas où la consigne de dérogation est à 0 dans Domoticz.

J'ai remarqué que pour quitter le mode de dérogation, soit :

Dans le cadre de mon intégration, les radiateurs sont en mode programmation ECO en permanence. Ainsi je ne les pilote que par la température de dérogation. Donc ici, pas besoin de quitter le mode de dérogation.

olivierberthomme commented 3 years ago

Je viens de tester ton commit ; ça n'a pas changé le comportement pour mon cas.

Le script entre toujours dans le cas ligne 1088: if cons_device != cons_domoticz and cons_domoticz != cons_domoticz_prec : avec mes valeurs (radiateur en prog. / éco 16°c ; passé à 17°c manuellement sur le radiateur): if 17 != 0 and 0 != 1

olivierberthomme commented 3 years ago

Je propose ce pull request qui fonctionne pour le cas que je décris. A toi de valider tes cas d'usage.