fmartinou / tydom2mqtt

Deltadore Tydom to MQTT Bridge
https://fmartinou.github.io/tydom2mqtt/
MIT License
86 stars 49 forks source link

HVAC Mode : climatisation ne fonctionne pas et fait un Reset de ma température #177

Open dedgedesign opened 4 months ago

dedgedesign commented 4 months ago

Bonjour, J'ai installé la version 3.4.3 et je n'arrive pas à faire basculer mon chauffage en mode climatisation ou en chauffage. Et chose étrange, dès que je tente de changer de mode (chauffage ou climatisation), la température de consigne bascule automatique à 19°C! Ma configuration de chauffage est la suivante : une PAC Panasonic All In One, commandé par un module X3D avec 2 zones (j'ai 2 thermostats radio appairés avec le boitier X3D) et connecté avec une Tydom Home. Dans Home Assistant, j'ai 2 entités Climate qui remontent. (j'ai aussi un TYWATT 2000 qui ne m'affiche que le total consommé mais c'est un autre sujet, et j'ai aussi des volets qui fonctionnent parfaitement, merci pour ça d'ailleurs!)

Je me suis mis en mode Debug et voilà ce qui remonte lorsque je tente de basculer de chauffage à climatisation : On voit que le message part bien (on voit aussi que la température demandée bascule à 19°C ensuite, sans intervention de ma part)

2024-02-29 19:31:06,988 - gmqtt.client - DEBUG - [CMD 0x30] b'\x000climate/tydom/MONID MON_ENDPOINT/set_hvacMode\x00cool' 2024-02-29 19:31:06,988 - gmqtt.client - DEBUG - [RECV climate/tydom/MONID MON_ENDPOINT/set_hvacMode with QoS: 0] b'\x00cool' 2024-02-29 19:31:06,988 - gmqtt.mqtt.utils - DEBUG - FREE MID: None 2024-02-29 19:31:06,988 - mqtt.MqttClient - INFO - set_hvacMode message received (topic=climate/tydom/MONID MON_ENDPOINT/set_hvacMode, message=cool) 2024-02-29 19:31:06,988 - sensors.Boiler - INFO - MON_ENDPOINT set_hvacMode cool 2024-02-29 19:31:06,988 - tydom.TydomClient - DEBUG - Sending message to tydom (PUT devices data [{"name":"thermicLevel","value":"COMFORT"}]) 2024-02-29 19:31:06,988 - websockets.client - DEBUG - > BINARY 50 55 54 20 2f 64 65 76 69 63 65 73 2f 31 36 36 ... 54 22 7d 5d 0d 0a 0d 0a [191 bytes] 2024-02-29 19:31:06,988 - tydom.TydomClient - DEBUG - Sending message to tydom (PUT devices data [{"name":"setpoint","value":"19"}]) 2024-02-29 19:31:06,988 - websockets.client - DEBUG - > BINARY 50 55 54 20 2f 64 65 76 69 63 65 73 2f 31 36 36 ... 39 22 7d 5d 0d 0a 0d 0a [182 bytes] 2024-02-29 19:31:07,006 - websockets.client - DEBUG - < BINARY 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d ... 64 3a 20 30 0d 0a 0d 0a [172 bytes] 2024-02-29 19:31:07,006 - websockets.client - DEBUG - < BINARY 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d ... 64 3a 20 30 0d 0a 0d 0a [172 bytes] 2024-02-29 19:31:07,269 - gmqtt.client - DEBUG - [QoS query IS EMPTY] 2024-02-29 19:31:08,328 - websockets.client - DEBUG - < BINARY 50 55 54 20 2f 64 65 76 69 63 65 73 2f 64 61 74 ... 0a 0d 0a 30 0d 0a 0d 0a [258 bytes] 2024-02-29 19:31:08,328 - tydom.MessageHandler - DEBUG - PUT /devices/data or /areas/data message detected ! 2024-02-29 19:31:08,328 - tydom.MessageHandler - DEBUG - Message received detected as (msg_data) 2024-02-29 19:31:08,328 - tydom.MessageHandler - INFO - Device update (id=MON_ID, endpoint=MON_ENDPOINT, name=Chauffage, type=boiler) 2024-02-29 19:31:08,328 - tydom.TydomClient - DEBUG - get presets 2024-02-29 19:31:08,328 - gmqtt.mqtt.package - DEBUG - Sending PUBLISH (q0), 'b'homeassistant/climate/tydom/MONID MON_ENDPOINT/config'', ... (756 bytes) 2024-02-29 19:31:08,329 - tydom.TydomClient - DEBUG - get MONID MON_ENDPOINT, current_temp in memory 2024-02-29 19:31:08,329 - tydom.TydomClient - DEBUG - get MONID MON_ENDPOINT, current_setpoint in memory 2024-02-29 19:31:08,329 - tydom.TydomClient - DEBUG - set MONID MON_ENDPOINT, current_setpoint : 19.0 in memory 2024-02-29 19:31:08,329 - tydom.TydomClient - DEBUG - Memory state : {'MONID MON_ENDPOINT': {'current_temp': 21.75, 'current_setpoint': 19.0}, 'MONID MON_ENDPOINT': {'current_temp': 23.46, 'current_setpoint': 19.0}} 2024-02-29 19:31:08,329 - gmqtt.mqtt.package - DEBUG - Sending PUBLISH (q0), 'b'climate/tydom/MONID MON_ENDPOINT/setpoint'', ... (4 bytes) 2024-02-29 19:31:08,329 - sensors.Boiler - INFO - set hvac action 2024-02-29 19:31:08,329 - gmqtt.mqtt.package - DEBUG - Sending PUBLISH (q1), 'b'climate/tydom/MONID MON_ENDPOINT/action'', ... (4 bytes) 2024-02-29 19:31:08,329 - gmqtt.mqtt.utils - DEBUG - NEW ID: 34 2024-02-29 19:31:08,329 - tydom.TydomClient - DEBUG - get presets 2024-02-29 19:31:08,329 - tydom.MessageHandler - DEBUG - Incoming data parsed with success 2024-02-29 19:31:08,331 - gmqtt.client - DEBUG - [CMD 0x30] b'\x00,climate/tydom/MONID MON_ENDPOINT/setpoint\x0019.0' 2024-02-29 19:31:08,331 - gmqtt.client - DEBUG - [RECV climate/tydom/MONID MON_ENDPOINT/setpoint with QoS: 0] b'\x0019.0' 2024-02-29 19:31:08,331 - gmqtt.mqtt.utils - DEBUG - FREE MID: None 2024-02-29 19:31:08,331 - gmqtt.client - DEBUG - [CMD 0x30] b'\x00*climate/tydom/MONID MON_ENDPOINT/action\x00idle' 2024-02-29 19:31:08,331 - gmqtt.client - DEBUG - [RECV climate/tydom/MONID MON_ENDPOINT/action with QoS: 0] b'\x00idle' 2024-02-29 19:31:08,331 - gmqtt.mqtt.utils - DEBUG - FREE MID: None 2024-02-29 19:31:08,331 - gmqtt.client - DEBUG - [CMD 0x40] b'\x00"' 2024-02-29 19:31:08,331 - gmqtt.client - INFO - [RECEIVED PUBACK FOR] 34 2024-02-29 19:31:08,331 - gmqtt.mqtt.utils - DEBUG - FREE MID: 34 2024-02-29 19:31:08,331 - gmqtt.client - DEBUG - [REMOVE MESSAGE] 34 2024-02-29 19:31:12,274 - gmqtt.client - DEBUG - [QoS query IS EMPTY] 2024-02-29 19:31:17,279 - gmqtt.client - DEBUG - [QoS query IS EMPTY] 2024-02-29 19:31:18,964 - websockets.client - DEBUG - % sending keepalive ping 2024-02-29 19:31:18,964 - websockets.client - DEBUG - > PING 8e c9 2f 8e [binary, 4 bytes] 2024-02-29 19:31:18,966 - websockets.client - DEBUG - < PONG '' [0 bytes]

Sachant que je n'ai jamais codé (bon à part au taf où je fais du VBA ;-) ), je n'ai pas la capacité d'aller beaucoup trop loin dans l'analyse, mais je me demande : il semblerait que le message envoyé au Tydom soit de basculer en mode "cool" avec un preset "COMFORT" ==> est-ce que tout simplement ce seraient des ordres qui ne sont pas compatibles avec ma configuration?

Quel serait la méthode pour "espionner" ce qu'il se passe entre mon appli Tydom sur l'iPhone et le Tydom Home lorsque je fais la même opération (mais par un canal officiel)? Un petit coup de charles proxy?

Merci pour votre aide!

JBSC commented 4 months ago

Bonjour,

A travers le PR #163 j'ai ajouté le support de l'affichage du mode COOL mais la bascule de mode n'est pas encore supportée. Mais ca va venir, je proposerai le support quand j'aurai un peu de temps pour valider la procédure. (avant l'été ;-))

Le réglage à 19 provient de la PR#155. C'est la valeur par défaut en absence de valeur précédente. Je regarderai si c'est juste une perte de la valeur de consigne lors de la bascule ou un problème de gestion . (L'appli Tydom fait également une modification de la valeur de consigne de l'ensemble des thermostats -qui prend un certain temps- quand on bascule d'un mode à l'autre).

Mes premières analyses indiquent qu'il nous manque la gestion des messages "events/home/hvac" qui sont émis lors du changement de mode depuis le thermostat maitre.

Avez-vous également un des deux thermostats qui est maitre ? et une seule gestion du mode de la PAC dans l'appli Tydom ? La modification du mode (cool/heat) depuis l'appli Tydom/le thermostat est bien reflétée dans HA ?

dedgedesign commented 4 months ago

Ah ok, j’ai cru que le changement de mode était déjà supporté, désolé pour mon impatience! J’ai effectivement plusieurs thermostats dont l’un en mode maître, et dans l’appli j’ai actuellement un seul mode de fonctionnement qui s’applique à tous les thermostats.
Toute modification (mode ou température) faite dans l’app Tydom se reflète quasi immédiatement dans HA, et a l’inverse un changement de température dans HA remonte également très vite dans Tydom. Seul le changement de mode est donc - pour l’instant du coup- inopérant.