tydom2MQTT addon :D - Delta Dore Tydom to MQTT Broker

Hi @Chartreusito ,

The alarm pin is no longer needed from version 3.0.0.

1 Like

Re:

I managed to connect on it, but I have this error on a loop
It crashes my raspberry well just makes everything slow and long can you help me?

2023-03-26 01:56:26,199 - main - WARNING - Unable to handle message: received 1000 (OK); then sent 1000 (OK)
2023-03-26 01:56:26,199 - main - WARNING - Unable to handle message: received 1000 (OK); then sent 1000 (OK)
2023-03-26 01:56:26,200 - main - WARNING - Unable to handle message: received 1000 (OK); then sent 1000 (OK)

Update en 3.01 sans problème. Tous mes volets et capteurs d’ouverture intégrés au menuiseries fonctionnent toujours. Le changement de niveau de log desormais aussi. Top. Merci.
Par contre mes 2 portes de garages sont toujours decouvertes en switch. Le payload est TOGGLE et ca n’est pas compris.
Dans tydom, mes portes de garages ( novomatic avec module x3d ) ont bien une fonction ouverture/fermeture , et l’appli tydom peut me remonter le pourcentage approximatif fermé quand pas entierement fermé donc avec retour d’info. Ca se rapproche plus d’un volet que d’un switch.
Le on/off/retour position a bcp plus d’interet qu’un simple toggle inutilisable sans capteur complementaire.
Pourquoi le payload est TOGGLE et pas ON ou OFF pour les portes de garage ? ( et qui d’apres mes tests semble etre compris mais je n’ai pas les connaissances pour integrer/modifier cela pour l’instant )
.
Quelqu’un a t’il reussi a faire fonctionner une porte de garage avec une action ouverture et fermeture distincte ? Pas trop d’aide ici mais quelqu’un peut il au moins m’indiquer comment je pourrai commencer a essayer d’avancer par moi meme. Install docker obligatoire avec a version du github et pas le addon ? Correct ?

Hello @fastm3 ,

Pour développer sur tydom2mqtt, tu n’as pas besoin de Docker.

Il te faut avoir installé :

  • un IDE (comme VdsCode, Pycharm…)
  • python

Il te faut avoir de disponible :

  • un broker mqtt
  • une tydom

Ensuite, pour lancer l’appli, il te suffit de positionner les bonnes variables d’environnement (celles référencées dans la doc) et de lancer python.

Exemple :

cd app/

export TYDOM_MAC="001A2..."
export TYDOM_PASSWORD="EWzB..."
export MQTT_HOST="192.168..."

# Needed because we rely on the unsecured 'UnsafeLegacyRenegotiation' ssl configuration
OPENSSL_CONF=./openssl_conf.cnf

python3 -u main.py

It looks Websocket errors between you and the Tydom.

Can you restart with LOG_LEVEL=DEBUG to get more traces?

Are you using the Tydom local IP address or the cloud based mediation.tydom.com endpoint?

Salut, j’utilise mediation.tydom.com car je n’ai pas réussi avec l’ip local, je test desuite avec le debug

Ou puis-je trouvé le fichier debug il spam tellement vite que j’ai pas le temps de copié mdrr même avec une capture vidéo

2023-03-26 11:53:14,115 - mqtt.MqttClient      - INFO    - Connecting to mqtt broker (host=192.168.1.72, port=1883, user=mqqqt, ssl=False)
2023-03-26 11:53:14,120 - tydom.TydomClient    - INFO    - Connecting to tydom
2023-03-26 11:53:14,328 - tydom.TydomClient    - DEBUG   - Response headers
2023-03-26 11:53:14,330 - tydom.TydomClient    - DEBUG   - X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Set-Cookie: JSESSIONID=51B38025636C0C5DA00C5EA1E4B9B826;path=/;HttpOnly
WWW-Authenticate: Digest realm="ServiceMedia", qop="auth", nonce="MTY3OTgyNDY5NDMxODozYmYzMThmYWQ1NDA1ODEyOGU0Yzc0NTI3MmE4Yjc0YQ=="
Content-Length: 0
Date: Sun, 26 Mar 2023 09:53:13 GMT
2023-03-26 11:53:14,388 - tydom.TydomClient    - DEBUG   - Response code
2023-03-26 11:53:14,389 - tydom.TydomClient    - DEBUG   - 401
2023-03-26 11:53:14,389 - tydom.TydomClient    - DEBUG   - response
2023-03-26 11:53:14,390 - tydom.TydomClient    - DEBUG   - b''
2023-03-26 11:53:14,391 - tydom.TydomClient    - DEBUG   - Upgrading http connection to websocket....
2023-03-26 11:53:14,392 - tydom.TydomClient    - DEBUG   - Attempting websocket connection with Tydom hub
2023-03-26 11:53:14,666 - gmqtt.mqtt.protocol  - INFO    - [CONNECTION MADE]
2023-03-26 11:53:14,698 - websockets.client    - DEBUG   - = connection is CONNECTING
2023-03-26 11:53:14,747 - websockets.client    - DEBUG   - > GET /mediation/client?mac=001A25020082&appli=1 HTTP/1.1
2023-03-26 11:53:14,747 - websockets.client    - DEBUG   - > Host: mediation.tydom.com
2023-03-26 11:53:14,747 - websockets.client    - DEBUG   - > Upgrade: websocket
2023-03-26 11:53:14,748 - websockets.client    - DEBUG   - > Connection: Upgrade
2023-03-26 11:53:14,749 - websockets.client    - DEBUG   - > Sec-WebSocket-Key: mtMZ5M6qDedBIQirPyp8pQ==
2023-03-26 11:53:14,749 - websockets.client    - DEBUG   - > Sec-WebSocket-Version: 13
2023-03-26 11:53:14,750 - websockets.client    - DEBUG   - > Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
2023-03-26 11:53:14,750 - websockets.client    - DEBUG   - > Authorization: Digest username="001A25020082", realm="ServiceMedia", nonce="MTY3OTgyNDY5NDMxODozYmYzMThmYWQ1NDA1ODEyOGU0Yzc0NTI3MmE4Yjc0YQ==", uri="/mediation/client?mac=001A25020082&appli=1", response="a2714029beab2baf6f51a246a615977b", qop="auth", nc=00000001, cnonce="75dd924d579dcf0c"
2023-03-26 11:53:14,751 - websockets.client    - DEBUG   - > User-Agent: Python/3.11 websockets/10.4
2023-03-26 11:53:14,794 - websockets.client    - DEBUG   - < HTTP/1.1 101 
2023-03-26 11:53:14,794 - websockets.client    - DEBUG   - < X-Content-Type-Options: nosniff
2023-03-26 11:53:14,795 - websockets.client    - DEBUG   - < X-XSS-Protection: 1; mode=block
2023-03-26 11:53:14,796 - websockets.client    - DEBUG   - < Cache-Control: no-cache, no-store, max-age=0, must-revalidate
2023-03-26 11:53:14,797 - websockets.client    - DEBUG   - < Pragma: no-cache
2023-03-26 11:53:14,797 - websockets.client    - DEBUG   - < Expires: 0
2023-03-26 11:53:14,798 - websockets.client    - DEBUG   - < X-Frame-Options: DENY
2023-03-26 11:53:14,799 - websockets.client    - DEBUG   - < Set-Cookie: JSESSIONID=2BE74AFCE869D9CDED4C5E18B8DC3B71;path=/;HttpOnly
2023-03-26 11:53:14,799 - websockets.client    - DEBUG   - < Upgrade: websocket
2023-03-26 11:53:14,800 - websockets.client    - DEBUG   - < Connection: upgrade
2023-03-26 11:53:14,800 - websockets.client    - DEBUG   - < Sec-WebSocket-Accept: uIE0NZpFsZ/IvtCTfIydFFydtOU=
2023-03-26 11:53:14,801 - websockets.client    - DEBUG   - < Sec-WebSocket-Extensions: permessage-deflate;client_max_window_bits=15
2023-03-26 11:53:14,801 - websockets.client    - DEBUG   - < Date: Sun, 26 Mar 2023 09:53:13 GMT
2023-03-26 11:53:14,803 - websockets.client    - DEBUG   - = connection is OPEN
2023-03-26 11:53:14,804 - tydom.TydomClient    - INFO    - Connected to tydom
2023-03-26 11:53:14,805 - tydom.TydomClient    - INFO    - Setup tydom client
2023-03-26 11:53:14,805 - tydom.TydomClient    - DEBUG   - Sending message to tydom (GET /info)
2023-03-26 11:53:14,806 - websockets.client    - DEBUG   - > BINARY 02 47 45 54 20 2f 69 6e 66 6f 20 48 54 54 50 2f ... 64 3a 20 30 0d 0a 0d 0a [104 bytes]
2023-03-26 11:53:14,808 - tydom.TydomClient    - DEBUG   - Sending message to tydom (POST /refresh/all)
2023-03-26 11:53:14,809 - websockets.client    - DEBUG   - > BINARY 02 50 4f 53 54 20 2f 72 65 66 72 65 73 68 2f 61 ... 64 3a 20 30 0d 0a 0d 0a [112 bytes]
2023-03-26 11:53:14,811 - tydom.TydomClient    - DEBUG   - Sending message to tydom (GET /configs/file)
2023-03-26 11:53:14,812 - websockets.client    - DEBUG   - > BINARY 02 47 45 54 20 2f 63 6f 6e 66 69 67 73 2f 66 69 ... 64 3a 20 30 0d 0a 0d 0a [112 bytes]
2023-03-26 11:53:14,814 - tydom.TydomClient    - DEBUG   - Sending message to tydom (GET /devices/cmeta)
2023-03-26 11:53:14,815 - websockets.client    - DEBUG   - > BINARY 02 47 45 54 20 2f 64 65 76 69 63 65 73 2f 63 6d ... 64 3a 20 30 0d 0a 0d 0a [113 bytes]
2023-03-26 11:53:14,817 - tydom.TydomClient    - DEBUG   - Sending message to tydom (GET /devices/data)
2023-03-26 11:53:14,818 - websockets.client    - DEBUG   - > BINARY 02 47 45 54 20 2f 64 65 76 69 63 65 73 2f 64 61 ... 64 3a 20 30 0d 0a 0d 0a [112 bytes]
2023-03-26 11:53:15,012 - websockets.client    - DEBUG   - < BINARY 02 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b ... 7d 0d 0a 30 0d 0a 0d 0a [1815 bytes]
2023-03-26 11:53:15,014 - websockets.client    - DEBUG   - < BINARY 02 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b ... 64 3a 20 30 0d 0a 0d 0a [140 bytes]
2023-03-26 11:53:15,017 - tydom.MessageHandler - DEBUG   - Message received detected as (msg_info)
2023-03-26 11:53:15,017 - tydom.MessageHandler - DEBUG   - Incoming data parsed with success
2023-03-26 11:53:15,076 - websockets.client    - DEBUG   - < BINARY 02 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b ... 72 6b 73 22 3a 5b 5d 7d [1371 bytes]
2023-03-26 11:53:15,077 - websockets.client    - DEBUG   - < BINARY 02 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b ... 0a 0d 0a 30 0d 0a 0d 0a [321 bytes]
2023-03-26 11:53:15,078 - websockets.client    - DEBUG   - < BINARY 02 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b ... 0a 0d 0a 30 0d 0a 0d 0a [1635 bytes]
2023-03-26 11:53:15,081 - tydom.MessageHandler - DEBUG   - Message received detected as (msg_config)
2023-03-26 11:53:15,082 - tydom.MessageHandler - DEBUG   - Configuration updated
2023-03-26 11:53:15,082 - tydom.MessageHandler - DEBUG   - Incoming data parsed with success
2023-03-26 11:53:15,084 - tydom.MessageHandler - DEBUG   - Message received detected as (msg_cmetadata)
2023-03-26 11:53:15,085 - tydom.MessageHandler - DEBUG   - Metadata configuration updated
2023-03-26 11:53:15,085 - tydom.MessageHandler - DEBUG   - Incoming data parsed with success
2023-03-26 11:53:15,087 - tydom.MessageHandler - DEBUG   - Message received detected as (msg_data)
2023-03-26 11:53:15,088 - tydom.MessageHandler - INFO    - Device update (id=1645988476, endpoint=1645988476, name=Chauffage 1, type=boiler)
2023-03-26 11:53:15,089 - tydom.MessageHandler - ERROR   - Error on parsing tydom response ('NoneType' object has no attribute 'publish')
2023-03-26 11:53:15,091 - tydom.MessageHandler - DEBUG   - Incoming data parsed with success
2023-03-26 11:53:15,775 - gmqtt.mqtt.handler   - DEBUG   - [CMD 0x20] b'\x00\x00\x06"\x00\n!\x00\x14'
2023-03-26 11:53:15,777 - gmqtt.mqtt.handler   - DEBUG   - [CONNACK] flags: 0x0, result: 0x0
2023-03-26 11:53:15,777 - mqtt.MqttClient      - DEBUG   - Subscribing to topics (+/tydom/#)
2023-03-26 11:53:15,779 - gmqtt.mqtt.utils     - DEBUG   - NEW ID: 1
2023-03-26 11:53:15,780 - gmqtt.mqtt.package   - INFO    - [SEND SUB] 1 [b'homeassistant/status']
2023-03-26 11:53:15,781 - gmqtt.mqtt.utils     - DEBUG   - NEW ID: 2
2023-03-26 11:53:15,782 - gmqtt.mqtt.package   - INFO    - [SEND SUB] 2 [b'+/tydom/#']
2023-03-26 11:53:15,784 - gmqtt.client         - DEBUG   - [QoS query IS EMPTY]
2023-03-26 11:53:15,784 - mqtt.MqttClient      - INFO    - Connected to mqtt broker
2023-03-26 11:53:15,844 - websockets.client    - DEBUG   - < BINARY 02 50 55 54 20 2f 64 65 76 69 63 65 73 2f 64 61 ... 0a 0d 0a 30 0d 0a 0d 0a [262 bytes]
2023-03-26 11:53:15,845 - tydom.MessageHandler - DEBUG   - PUT /devices/data message detected !
2023-03-26 11:53:15,847 - tydom.MessageHandler - DEBUG   - Message received detected as (msg_data)
2023-03-26 11:53:15,848 - tydom.MessageHandler - INFO    - Device update (id=1645988476, endpoint=1645988476, name=Chauffage 1, type=boiler)
2023-03-26 11:53:15,849 - gmqtt.mqtt.package   - DEBUG   - Sending PUBLISH (q0), 'b'homeassistant/climate/tydom/1645988476_1645988476/config'', ... (695 bytes)
2023-03-26 11:53:15,851 - gmqtt.mqtt.package   - DEBUG   - Sending PUBLISH (q0), 'b'climate/tydom/1645988476_1645988476/temperature'', ... (5 bytes)
2023-03-26 11:53:15,852 - tydom.MessageHandler - DEBUG   - Incoming data parsed with success
2023-03-26 11:53:16,025 - gmqtt.mqtt.handler   - DEBUG   - [CMD 0x90] b'\x00\x01\x00\x00'
2023-03-26 11:53:16,026 - gmqtt.mqtt.handler   - INFO    - [SUBACK] 1 (0,)
2023-03-26 11:53:16,027 - gmqtt.mqtt.utils     - DEBUG   - FREE MID: 1
2023-03-26 11:53:16,066 - gmqtt.mqtt.handler   - DEBUG   - [CMD 0x90] b'\x00\x02\x00\x00'
2023-03-26 11:53:16,067 - gmqtt.mqtt.handler   - INFO    - [SUBACK] 2 (0,)
2023-03-26 11:53:16,068 - gmqtt.mqtt.utils     - DEBUG   - FREE MID: 2
2023-03-26 11:53:16,068 - gmqtt.mqtt.handler   - DEBUG   - [CMD 0x30] b'\x00/climate/tydom/1645988476_1645988476/temperature\x0021.27'
2023-03-26 11:53:16,069 - gmqtt.mqtt.handler   - DEBUG   - [RECV climate/tydom/1645988476_1645988476/temperature with QoS: 0] b'\x0021.27'
2023-03-26 11:53:16,070 - gmqtt.mqtt.utils     - DEBUG   - FREE MID: None
2023-03-26 11:53:20,790 - gmqtt.client         - DEBUG   - [QoS query IS EMPTY]
2023-03-26 11:53:25,797 - gmqtt.client         - DEBUG   - [QoS query IS EMPTY]
2023-03-26 11:53:30,804 - gmqtt.client         - DEBUG   - [QoS query IS EMPTY]
2023-03-26 11:53:34,810 - websockets.client    - DEBUG   - % sending keepalive ping
2023-03-26 11:53:34,811 - websockets.client    - DEBUG   - > PING b0 20 b7 0a [binary, 4 bytes]
2023-03-26 11:53:34,839 - websockets.client    - DEBUG   - < PONG b0 20 b7 0a [binary, 4 bytes]
2023-03-26 11:53:35,807 - gmqtt.client         - DEBUG   - [QoS query IS EMPTY]
2023-03-26 11:53:40,814 - gmqtt.client         - DEBUG   - [QoS query IS EMPTY]
2023-03-26 11:53:45,817 - gmqtt.client         - DEBUG   - [QoS query IS EMPTY]
2023-03-26 11:53:50,825 - gmqtt.client         - DEBUG   - [QoS query IS EMPTY]
2023-03-26 11:53:54,818 - websockets.client    - DEBUG   - % sending keepalive ping
2023-03-26 11:53:54,820 - websockets.client    - DEBUG   - > PING ae 53 4f 61 [binary, 4 bytes]
2023-03-26 11:53:54,873 - websockets.client    - DEBUG   - < PONG ae 53 4f 61 [binary, 4 bytes]
2023-03-26 11:53:55,829 - gmqtt.client         - DEBUG   - [QoS query IS EMPTY]
2023-03-26 11:54:00,832 - gmqtt.client         - DEBUG   - [QoS query IS EMPTY]

J’ai réussi à copier que ceci avant de me prendre un spam de la mort de 1000 ok

Merci. J’ai entre temps remplacé mon addon par un container docker en suivant la doc de déploiement par docker. A l’arrache , en changeant juste le payload TOGGLE par ON et OFF dans le Switch.py ( ce que je faisais avant en bidouillant en direct mqtt car sans acces au code ) , je peux désormais au moins ouvrir/fermer mes portes de garage et laisser cette version “custom” tourner en “prod” , je n’ai pas encore de retour ouvert/fermé néanmoins.

Hello,

despite 3.0.1 update, I still have no connection to Tydom box (Tydom 2.0).

2023-03-26 12:42:17,803 - Starting tydom2mqtt
2023-03-26 12:42:17,804 - Hassio environment detected: loading configuration from /data/options.json
2023-03-26 12:42:17,805 - Validating configuration ({
“log_level”: “INFO”,
“mqtt_host”: “homeassistant”,
“mqtt_password”: “t***********o”,
“mqtt_port”: 1883,
“mqtt_ssl”: false,
“mqtt_user”: “tydommosquito”,
“tydom_alarm_home_zone”: 1,
“tydom_alarm_night_zone”: 2,
“tydom_alarm_pin”: “”,
“tydom_ip”: “192.168.1.68”,
“tydom_mac”: “001A25054767”,
“tydom_password”: “k*******7”
}
2023-03-26 12:42:17,805 - The configuration is valid
2023-03-26 12:42:17,806 - tydom.TydomClient - INFO - Configure local mode (192.168.1.68)
2023-03-26 12:42:17,813 - mqtt.MqttClient - INFO - Connecting to mqtt broker (host=homeassistant, port=1883, user=tydommosquito, ssl=False)
2023-03-26 12:42:17,825 - tydom.TydomClient - INFO - Connecting to tydom
2023-03-26 12:42:17,829 - asyncio - ERROR - Task exception was never retrieved
future: <Task finished name=‘Task-2’ coro=<listen_tydom() done, defined at /app/main.py:41> exception=SSLZeroReturnError(6, ‘TLS/SSL connection has been closed (EOF) (_ssl.c:992)’)>
Traceback (most recent call last):
File “/app/main.py”, line 44, in listen_tydom
await tydom_client.connect()
File “/app/tydom/TydomClient.py”, line 69, in connect
conn.request(
File “/usr/local/lib/python3.11/http/client.py”, line 1282, in request
self._send_request(method, url, body, headers, encode_chunked)
File “/usr/local/lib/python3.11/http/client.py”, line 1328, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File “/usr/local/lib/python3.11/http/client.py”, line 1277, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File “/usr/local/lib/python3.11/http/client.py”, line 1037, in _send_output
self.send(msg)
File “/usr/local/lib/python3.11/http/client.py”, line 975, in send
self.connect()
File “/usr/local/lib/python3.11/http/client.py”, line 1454, in connect
self.sock = self._context.wrap_socket(self.sock,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/ssl.py”, line 517, in wrap_socket
return self.sslsocket_class._create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/ssl.py”, line 1075, in _create
self.do_handshake()
File “/usr/local/lib/python3.11/ssl.py”, line 1346, in do_handshake
self._sslobj.do_handshake()
ssl.SSLZeroReturnError: TLS/SSL connection has been closed (EOF) (_ssl.c:992)
2023-03-26 12:42:17,845 - mqtt.MqttClient - INFO - Connected to mqtt broker
2023-03-26 12:44:16,471 - mqtt.MqttClient - INFO - status message received (topic=homeassistant/status, message=online)
2023-03-26 12:44:16,471 - tydom.TydomClient - WARNING - Cannot send message to Tydom because no connection has been established yet

Any idea to help me to move forward ?
(Note : my config worked weeks ago, with high Tydom latency, tydom green light often flashing).

Thanks :wink:

Si tu peux réessayer avec l’IP locale ; la communication y est généralement beaucoup plus stable.

Salut , merci j’ai réussi !!

Pourrais tu me dire si c’est possible d’y incruster la tycam 2000 ? Ou existe une autre solution pour l’ajouté ? (non reconnu pas tydom2mqtt ?

Auriez-vous de belles card pour le chauffage et portail ?

Tu n’as plus ton problème de boucle infinie
2023-03-26 01:56:26,200 - main - WARNING - Unable to handle message: received 1000 (OK); then sent 1000 (OK)
?

Non c’est résolu mais je possède un autre problème j’ai besoin d’un sensor pour mini-graph-card
Voici à quoi ressemble mon chauffage image


Comment puis-je obtenir la donné du Actuellement : 22,4°c ? merci

Comment as tu résolu le problème ?

j’ai juste changer l’ip en local ptit reboot et voilà en vrai j’en sais rien j’avais mis l’ip local avant cela n’avais pas marché…

Tu as bien vérifier que c’est le bon mot de passe Tydom ?

Hello. Pour ma part je traine un souci depuis un moment avec les volets à savoir :
tous les volets sont ouverts dans tydom et dans HA.
Je redémarre HA. Au redémarrage il en voit 5 fermés 4 ouverts et 1 partiel.
Ce sont toujours les mêmes volets.
En revanche si tous les volets sont ouverts dans ha et que je redémarre tydom2mqtt ils restent ouverts dans ha au redémarrage de l’addon.
Seul le redémarage de HA donne des status faux. Je pense que c’est il y a un long moment j’ai du redémarrer ha avec ces volets dans cet état et depuis ils reviennent ainsi au redémarrage de ha.
Je ne sais pas si je suis clair.
Dans les logs ha ou tydom2mqtt aucune erreur

J’ai essayé de changer l’IP de ma box, mais impossible. Je lui force une IP fixe sur mon routeur (Unifi), mais la box semble garde toujours la même (je vois ça dans l’appli dans les infos).

Comment lui as-tu changé l’IP toi ?
Je pense que le problème vient de là : le mqtt n’arrive pas à accrocher une connexion sur la Tydom 2.0.

Mais je sèche pour la solution.

Ah tu as configuré l’addon tydom ?