Dear all.
I am struggling making my Tydom2mqtt / Mosquitto configuration working.
Both are installed in a docker container.
Here is my docker compose file:
services:
mosquitto:
container_name: mosquitto
image: eclipse-mosquitto
restart: always
user: 1000:1003
ports:
- 1883:1883
- 1884:1884
- 9001:9001
volumes:
- /home/dimitri/mosquitto:/mosquitto
depends_on:
- tydom2mqtt
tydom2mqtt:
image: fmartinou/tydom2mqtt
# image: ghcr.io/tydom2mqtt/tydom2mqtt
container_name: tydom2mqtt
restart: always
environment:
- TYDOM_MAC=001A2xxxxxx
- TYDOM_PASSWORD=xxxxxxx
- TYDOM_IP=192.168.1.102
- TYDOM_ALARM_HOME_ZONE=1
- TYDOM_ALARM_NIGHT_ZONE=2
- TYDOM_POLLING_INTERVAL=300
- MQTT_HOST=mosquitto
- MQTT_PORT=1883
- MQTT_USER=mqtt-user
- MQTT_PASSWORD=xxxxxxx
- MQTT_SSL=false
- LOG_LEVEL=DEBUG
When looking at MQTT explorer, I do not see anything.
Here is the logfile from tydom2mqtt:
Attaching to mosquitto, tydom2mqtt
tydom2mqtt | 2025-07-21 15:05:34,326 - Starting tydom2mqtt
tydom2mqtt | 2025-07-21 15:05:34,326 - Validating configuration ({
tydom2mqtt | "deltadore_login": null,
tydom2mqtt | "deltadore_password": "",
tydom2mqtt | "log_level": "DEBUG",
tydom2mqtt | "mqtt_host": "mosquitto",
tydom2mqtt | "mqtt_password": "m*******r",
tydom2mqtt | "mqtt_port": "1883",
tydom2mqtt | "mqtt_ssl": "false",
tydom2mqtt | "mqtt_user": "mqtt-user",
tydom2mqtt | "thermostat_cool_mode_temp_default": 26,
tydom2mqtt | "thermostat_custom_presets": null,
tydom2mqtt | "thermostat_heat_mode_temp_default": 16,
tydom2mqtt | "tydom_alarm_home_zone": "1",
tydom2mqtt | "tydom_alarm_night_zone": "2",
tydom2mqtt | "tydom_alarm_pin": "",
tydom2mqtt | "tydom_ip": "192.168.1.102",
tydom2mqtt | "tydom_mac": "001A2503E460",
tydom2mqtt | "tydom_password": "D*******1",
tydom2mqtt | "tydom_polling_interval": "300"
tydom2mqtt | }
tydom2mqtt | 2025-07-21 15:05:34,327 - The configuration is valid
tydom2mqtt | 2025-07-21 15:05:34,327 - tydom.TydomClient - DEBUG - Initializing TydomClient Class
tydom2mqtt | 2025-07-21 15:05:34,327 - tydom.TydomClient - INFO - Configure local mode (192.168.1.102)
tydom2mqtt | 2025-07-21 15:05:34,328 - asyncio - DEBUG - Using selector: EpollSelector
tydom2mqtt | 2025-07-21 15:05:34,329 - mqtt.MqttClient - INFO - Connecting to mqtt broker (host=mosquitto, port=1883, user=mqtt-user, ssl=false)
tydom2mqtt | 2025-07-21 15:05:34,349 - tydom.TydomClient - INFO - Connecting to tydom
tydom2mqtt | 2025-07-21 15:05:35,549 - tydom.TydomClient - DEBUG - Response headers
tydom2mqtt | 2025-07-21 15:05:35,550 - tydom.TydomClient - DEBUG - Connection: close
tydom2mqtt | WWW-Authenticate: Digest realm="Protected Area", qop="auth", nonce="809524ecccb9fba6101591b315ff8371", opaque="994e3429fbb239ff9a47b17920141d2c"
tydom2mqtt | Content-Type: text/html
tydom2mqtt |
tydom2mqtt |
tydom2mqtt | 2025-07-21 15:05:35,569 - tydom.TydomClient - DEBUG - Response code
tydom2mqtt | 2025-07-21 15:05:35,569 - tydom.TydomClient - DEBUG - 401
tydom2mqtt | 2025-07-21 15:05:35,569 - tydom.TydomClient - DEBUG - response
tydom2mqtt | 2025-07-21 15:05:35,570 - tydom.TydomClient - DEBUG - b'<!doctype html>\r\n<html>\r\n<head><title>Error 401</title></head>\r\n<body>\r\n<h2>Error 401</h2>\r\n<p>Authorization required</p>\r\n</body>\r\n</html>\r\n'
tydom2mqtt | 2025-07-21 15:05:35,571 - tydom.TydomClient - DEBUG - Upgrading http connection to websocket....
tydom2mqtt | 2025-07-21 15:05:35,571 - tydom.TydomClient - DEBUG - Attempting websocket connection with Tydom hub
tydom2mqtt | 2025-07-21 15:05:35,595 - websockets.client - DEBUG - = connection is CONNECTING
tydom2mqtt | 2025-07-21 15:05:35,596 - mqtt.MqttClient - WARNING - MQTT connection error : 'str' object has no attribute 'wrap_bio'
tydom2mqtt | 2025-07-21 15:05:36,784 - websockets.client - DEBUG - > GET /mediation/client?mac=001A2503E460&appli=1 HTTP/1.1
tydom2mqtt | 2025-07-21 15:05:36,784 - websockets.client - DEBUG - > Host: 192.168.1.102
tydom2mqtt | 2025-07-21 15:05:36,785 - websockets.client - DEBUG - > Upgrade: websocket
tydom2mqtt | 2025-07-21 15:05:36,785 - websockets.client - DEBUG - > Connection: Upgrade
tydom2mqtt | 2025-07-21 15:05:36,785 - websockets.client - DEBUG - > Sec-WebSocket-Key: 7eCJ5A5GzsKJ5JmGWVdE7Q==
tydom2mqtt | 2025-07-21 15:05:36,785 - websockets.client - DEBUG - > Sec-WebSocket-Version: 13
tydom2mqtt | 2025-07-21 15:05:36,785 - websockets.client - DEBUG - > Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
tydom2mqtt | 2025-07-21 15:05:36,785 - websockets.client - DEBUG - > Authorization: Digest username="001A2503E460", realm="protected area", nonce="809524ecccb9fba6101591b315ff8371", uri="/mediation/client?mac=001A2503E460&appli=1", response="25b2b7e20b9ab1b00309b88927acfc50", qop="auth", nc=00000001, cnonce="52b8c72b02c1cddc"
tydom2mqtt | 2025-07-21 15:05:36,785 - websockets.client - DEBUG - > User-Agent: Python/3.11 websockets/12.0
tydom2mqtt | 2025-07-21 15:05:36,791 - websockets.client - DEBUG - < HTTP/1.1 101 Switching Protocols
tydom2mqtt | 2025-07-21 15:05:36,791 - websockets.client - DEBUG - < Upgrade: websocket
tydom2mqtt | 2025-07-21 15:05:36,791 - websockets.client - DEBUG - < Connection: Upgrade
tydom2mqtt | 2025-07-21 15:05:36,791 - websockets.client - DEBUG - < Sec-WebSocket-Accept: dgBMdJb0QEohptlY0HVxwu5LmGo=
tydom2mqtt | 2025-07-21 15:05:36,791 - websockets.client - DEBUG - = connection is OPEN
tydom2mqtt | 2025-07-21 15:05:36,791 - tydom.TydomClient - INFO - Connected to tydom
tydom2mqtt | 2025-07-21 15:05:36,791 - tydom.TydomClient - INFO - Setup tydom client
tydom2mqtt | 2025-07-21 15:05:36,791 - tydom.TydomClient - DEBUG - Sending message to tydom (GET /info)
tydom2mqtt | 2025-07-21 15:05:36,791 - websockets.client - DEBUG - > BINARY 47 45 54 20 2f 69 6e 66 6f 20 48 54 54 50 2f 31 ... 64 3a 20 30 0d 0a 0d 0a [103 bytes]
tydom2mqtt | 2025-07-21 15:05:36,792 - tydom.TydomClient - DEBUG - running post_refresh
tydom2mqtt | 2025-07-21 15:05:36,793 - tydom.TydomClient - DEBUG - Sending message to tydom (POST /refresh/all)
tydom2mqtt | 2025-07-21 15:05:36,793 - websockets.client - DEBUG - > BINARY 50 4f 53 54 20 2f 72 65 66 72 65 73 68 2f 61 6c ... 64 3a 20 30 0d 0a 0d 0a [111 bytes]
tydom2mqtt | 2025-07-21 15:05:36,793 - tydom.TydomClient - DEBUG - nb_poll_devices : 0
tydom2mqtt | 2025-07-21 15:05:36,794 - tydom.TydomClient - DEBUG - Sending message to tydom (GET /configs/file)
tydom2mqtt | 2025-07-21 15:05:36,794 - websockets.client - DEBUG - > BINARY 47 45 54 20 2f 63 6f 6e 66 69 67 73 2f 66 69 6c ... 64 3a 20 30 0d 0a 0d 0a [111 bytes]
tydom2mqtt | 2025-07-21 15:05:36,794 - tydom.TydomClient - DEBUG - Sending message to tydom (GET /devices/cmeta)
tydom2mqtt | 2025-07-21 15:05:36,795 - websockets.client - DEBUG - > BINARY 47 45 54 20 2f 64 65 76 69 63 65 73 2f 63 6d 65 ... 64 3a 20 30 0d 0a 0d 0a [112 bytes]
tydom2mqtt | 2025-07-21 15:05:36,795 - tydom.TydomClient - DEBUG - Sending message to tydom (GET /devices/data)
tydom2mqtt | 2025-07-21 15:05:36,795 - websockets.client - DEBUG - > BINARY 47 45 54 20 2f 64 65 76 69 63 65 73 2f 64 61 74 ... 64 3a 20 30 0d 0a 0d 0a [111 bytes]
tydom2mqtt | 2025-07-21 15:05:36,796 - tydom.TydomClient - DEBUG - Sending message to tydom (GET /areas/data)
tydom2mqtt | 2025-07-21 15:05:36,796 - websockets.client - DEBUG - > BINARY 47 45 54 20 2f 61 72 65 61 73 2f 64 61 74 61 20 ... 64 3a 20 30 0d 0a 0d 0a [109 bytes]
tydom2mqtt | 2025-07-21 15:05:36,805 - websockets.client - DEBUG - < BINARY 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d ... 67 65 72 2e 6a 73 6f 6e [1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:36,944 - websockets.client - DEBUG - < CONT '": 0,\r\n12\r\n"bioclim.json": 0,\r\n16\r\n"dat...ltService", "available"' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:36,944 - websockets.client - DEBUG - < CONT ':false},\r\n26\r\n{"protocol":"HTTP", "availabl...\r\n1\r\n}\r\n0\r\n\r\n' [text, 71 bytes]
tydom2mqtt | 2025-07-21 15:05:36,944 - 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 [271 bytes]
tydom2mqtt | 2025-07-21 15:05:36,944 - 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 [139 bytes]
tydom2mqtt | 2025-07-21 15:05:36,945 - tydom.MessageHandler - DEBUG - Message received detected as (msg_info)
tydom2mqtt | 2025-07-21 15:05:36,945 - tydom.MessageHandler - DEBUG - Incoming data parsed with success
tydom2mqtt | 2025-07-21 15:05:36,945 - tydom.MessageHandler - DEBUG - PUT /devices/data or /areas/data message detected !
tydom2mqtt | 2025-07-21 15:05:36,945 - tydom.MessageHandler - DEBUG - Message received detected as (msg_data)
tydom2mqtt | 2025-07-21 15:05:36,946 - tydom.MessageHandler - WARNING - Unknown device name (1745492369_1745492369)
tydom2mqtt | 2025-07-21 15:05:36,946 - tydom.MessageHandler - WARNING - Unknown device type (1745492369_1745492369)
tydom2mqtt | 2025-07-21 15:05:36,946 - tydom.MessageHandler - INFO - Device update (id=1745492369, endpoint=1745492369, name=, type=)
tydom2mqtt | 2025-07-21 15:05:36,946 - tydom.MessageHandler - DEBUG - Incoming data parsed with success
tydom2mqtt | 2025-07-21 15:05:36,948 - websockets.client - DEBUG - < BINARY 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d ... 3a 22 22 2c 22 6e 61 6d [1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:36,952 - websockets.client - DEBUG - < CONT 'e":"équipement non géré","first_usage":"","anti...ation_start":false},{"p' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:36,962 - websockets.client - DEBUG - < CONT 'icto":"","id_device":1722009481,"name":"Cuisine...rue,"is_group_user":fal' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:36,962 - websockets.client - DEBUG - < CONT 'se,"name":"TOTAL","picto":"picto_smartplug"}],"....10 (1409)","areas":[]}' [text, 413 bytes]
tydom2mqtt | 2025-07-21 15:05:36,962 - tydom.MessageHandler - DEBUG - Message received detected as (msg_config)
tydom2mqtt | 2025-07-21 15:05:36,963 - tydom.MessageHandler - DEBUG - Configuration updated
tydom2mqtt | 2025-07-21 15:05:36,963 - tydom.MessageHandler - DEBUG - Incoming data parsed with success
tydom2mqtt | 2025-07-21 15:05:36,968 - websockets.client - DEBUG - < BINARY 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d ... 59 22 2c 22 50 4f 57 45 [1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:36,977 - websockets.client - DEBUG - < CONT 'R"]}]}\r\n145\r\n,{"name":"oms","permission":"w...e":"station","type":"st' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:36,977 - websockets.client - DEBUG - < CONT 'ring","enum_values":["TOTAL_ELEC","TI1","TI2","...[]}]}]\r\n\r\n0\r\n\r\n' [text, 321 bytes]
tydom2mqtt | 2025-07-21 15:05:36,978 - tydom.MessageHandler - DEBUG - Message received detected as (msg_cmetadata)
tydom2mqtt | 2025-07-21 15:05:36,978 - tydom.MessageHandler - DEBUG - Metadata configuration updated
tydom2mqtt | 2025-07-21 15:05:36,978 - tydom.MessageHandler - DEBUG - Incoming data parsed with success
tydom2mqtt | 2025-07-21 15:05:36,989 - websockets.client - DEBUG - < BINARY 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d ... 2c 22 76 61 6c 69 64 69 [1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:36,989 - websockets.client - DEBUG - < CONT 'ty":"expired","value":false}\r\n3F\r\n,{"name":...e}\r\n3D\r\n,{"name":"l' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:36,995 - websockets.client - DEBUG - < CONT 'oadSheddingOn","validity":"expired","value":fal...hvacMode","validity":"e' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:37,001 - websockets.client - DEBUG - < CONT 'xpired","value":"NORMAL"}\r\n34\r\n,{"name":"ti...r\n74\r\n]}]},{"id":0,"' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:37,013 - websockets.client - DEBUG - < CONT 'endpoints":[{"id":0,"error":15,"data":[{"name":...lse}\r\n41\r\n,{"name":' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:37,014 - websockets.client - DEBUG - < CONT '"tempSensorShortCut","validity":"expired","valu...\n36\r\n,{"name":"absen' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:37,020 - websockets.client - DEBUG - < CONT 'ce","validity":"expired","value":false}\r\n3F\r...n,{"name":"antifrostOn"' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:37,026 - websockets.client - DEBUG - < CONT ',"validity":"expired","value":false}\r\n3D\r\n,...","value":"STOP"}\r\n3A' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:37,027 - websockets.client - DEBUG - < CONT '\r\n,{"name":"hvacMode","validity":"expired","v...pCoeff","validity":"upT' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:37,039 - websockets.client - DEBUG - < CONT 'oDate","value":30}\r\n46\r\n]}]},{"id":16863920...r\n,{"name":"energyInst' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:37,045 - websockets.client - DEBUG - < CONT 'antTotElecP","validity":"expired","value":1404}...name":"energyScaleTi1P_' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:37,051 - websockets.client - DEBUG - < CONT 'Min","validity":"expired","value":0}\r\n42\r\n,...InstantTi1I","validity"' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:37,064 - websockets.client - DEBUG - < CONT ':"expired","value":6.460}\r\n44\r\n,{"name":"en...\n40\r\n,{"name":"energ' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:37,064 - websockets.client - DEBUG - < CONT 'yInstantTi1I","validity":"expired","value":0.73...ue":null}\r\n37\r\n,{"n' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:37,067 - websockets.client - DEBUG - < CONT 'ame":"timeDelay","validity":"expired","value":n...,"endpoints":[{"id":174' [text, 1024 bytes, continued]
tydom2mqtt | 2025-07-21 15:05:37,067 - websockets.client - DEBUG - < CONT '5492369,"error":0,"data":[{"name":"energyIndexC...}]}]}]\r\n\r\n0\r\n\r\n' [text, 109 bytes]
tydom2mqtt | 2025-07-21 15:05:37,069 - tydom.MessageHandler - DEBUG - Message received detected as (msg_data)
tydom2mqtt | 2025-07-21 15:05:37,069 - tydom.MessageHandler - INFO - Device update (id=1722006643, endpoint=1722006643, name=Detecteur Fumée, type=smoke)
tydom2mqtt | 2025-07-21 15:05:37,070 - tydom.MessageHandler - ERROR - Error on parsing tydom response ('NoneType' object has no attribute 'publish')
tydom2mqtt | 2025-07-21 15:05:37,070 - tydom.MessageHandler - ERROR - Incoming data ([{"id":1609836510,"endpoints":[{"id":1609836510,"error":15,"data":[{"name":"authorization","validity":"expired","value":"HEATING"},{"name":"setpoint","validity":"expired","value":null},{"name":"thermicLevel","validity":"expired","value":"STOP"},{"name":"hvacMode","validity":"expired","value":"NORMAL"},{"name":"timeDelay","validity":"expired","value":0},{"name":"temperature","validity":"expired","value":24.940},{"name":"tempoOn","validity":"expired","value":false},{"name":"antifrostOn","validity":"expired","value":true},{"name":"loadSheddingOn","validity":"expired","value":false},{"name":"openingDetected","validity":"expired","value":false},{"name":"presenceDetected","validity":"expired","value":false},{"name":"absence","validity":"expired","value":false},{"name":"productionDefect","validity":"expired","value":false},{"name":"batteryCmdDefect","validity":"expired","value":false},{"name":"tempSensorDefect","validity":"expired","value":false},{"name":"tempSensorShortCut","validity":"expired","value":false},{"name":"tempSensorOpenCirc","validity":"expired","value":false},{"name":"boostOn","validity":"expired","value":false},{"name":"anticipCoeff","validity":"upToDate","value":30}]}]},{"id":1609914299,"endpoints":[{"id":1609914299,"error":15,"data":[{"name":"authorization","validity":"expired","value":"HEATING"},{"name":"setpoint","validity":"expired","value":null},{"name":"thermicLevel","validity":"expired","value":"STOP"},{"name":"hvacMode","validity":"expired","value":"NORMAL"},{"name":"timeDelay","validity":"expired","value":0},{"name":"temperature","validity":"expired","value":24.240},{"name":"tempoOn","validity":"expired","value":false},{"name":"antifrostOn","validity":"expired","value":true},{"name":"loadSheddingOn","validity":"expired","value":false},{"name":"openingDetected","validity":"expired","value":false},{"name":"presenceDetected","validity":"expired","value":false},{"name":"absence","validity":"expired","value":false},{"name":"productionDefect","validity":"expired","value":false},{"name":"batteryCmdDefect","validity":"expired","value":false},{"name":"tempSensorDefect","validity":"expired","value":false},{"name":"tempSensorShortCut","validity":"expired","value":false},{"name":"tempSensorOpenCirc","validity":"expired","value":false},{"name":"boostOn","validity":"expired","value":false},{"name":"anticipCoeff","validity":"upToDate","value":30}]}]},{"id":1609914462,"endpoints":[{"id":1609914462,"error":15,"data":[{"name":"authorization","validity":"expired","value":"HEATING"},{"name":"setpoint","validity":"expired","value":null},{"name":"thermicLevel","validity":"expired","value":"STOP"},{"name":"hvacMode","validity":"expired","value":"NORMAL"},{"name":"timeDelay","validity":"expired","value":0},{"name":"temperature","validity":"expired","value":null},{"name":"tempoOn","validity":"expired","value":false},{"name":"antifrostOn","validity":"expired","value":true},{"name":"loadSheddingOn","validity":"expired","value":false},{"name":"openingDetected","validity":"expired","value":false},{"name":"presenceDetected","validity":"expired","value":false},{"name":"absence","validity":"expired","value":false},{"name":"productionDefect","validity":"expired","value":false},{"name":"batteryCmdDefect","validity":"expired","value":false},{"name":"tempSensorDefect","validity":"expired","value":true},{"name":"tempSensorShortCut","validity":"expired","value":false},{"name":"tempSensorOpenCirc","validity":"expired","value":false},{"name":"boostOn","validity":"expired","value":false},{"name":"anticipCoeff","validity":"upToDate","value":30}]}]},{"id":0,"endpoints":[{"id":0,"error":15,"data":[{"name":"authorization","validity":"expired","value":"HEATING"},{"name":"setpoint","validity":"expired","value":null},{"name":"thermicLevel","validity":"expired","value":"STOP"},{"name":"hvacMode","validity":"expired","value":"NORMAL"},{"name":"timeDelay","validity":"expired","value":0},{"name":"temperature","validity":"expired","value":25.220},{"name":"tempoOn","validity":"expired","value":false},{"name":"antifrostOn","validity":"expired","value":true},{"name":"loadSheddingOn","validity":"expired","value":false},{"name":"openingDetected","validity":"expired","value":false},{"name":"presenceDetected","validity":"expired","value":false},{"name":"absence","validity":"expired","value":false},{"name":"productionDefect","validity":"expired","value":false},{"name":"batteryCmdDefect","validity":"expired","value":false},{"name":"tempSensorDefect","validity":"expired","value":false},{"name":"tempSensorShortCut","validity":"expired","value":false},{"name":"tempSensorOpenCirc","validity":"expired","value":false},{"name":"boostOn","validity":"expired","value":false},{"name":"anticipCoeff","validity":"upToDate","value":30}]}]},{"id":1,"endpoints":[{"id":0,"error":15,"data":[{"name":"authorization","validity":"expired","value":null},{"name":"setpoint","validity":"expired","value":null},{"name":"thermicLevel","validity":"expired","value":null},{"name":"hvacMode","validity":"expired","value":null},{"name":"timeDelay","validity":"expired","value":null},{"name":"temperature","validity":"expired","value":null},{"name":"tempoOn","validity":"expired","value":false},{"name":"antifrostOn","validity":"expired","value":false},{"name":"loadSheddingOn","validity":"expired","value":false},{"name":"openingDetected","validity":"expired","value":false},{"name":"presenceDetected","validity":"expired","value":false},{"name":"absence","validity":"expired","value":false},{"name":"productionDefect","validity":"expired","value":false},{"name":"batteryCmdDefect","validity":"expired","value":false},{"name":"tempSensorDefect","validity":"expired","value":false},{"name":"tempSensorShortCut","validity":"expired","value":false},{"name":"tempSensorOpenCirc","validity":"expired","value":false},{"name":"boostOn","validity":"expired","value":false},{"name":"anticipCoeff","validity":"upToDate","value":30}]}]},{"id":2,"endpoints":[{"id":0,"error":15,"data":[{"name":"authorization","validity":"expired","value":null},{"name":"setpoint","validity":"expired","value":null},{"name":"thermicLevel","validity":"expired","value":null},{"name":"hvacMode","validity":"expired","value":null},{"name":"timeDelay","validity":"expired","value":null},{"name":"temperature","validity":"expired","value":null},{"name":"tempoOn","validity":"expired","value":false},{"name":"antifrostOn","validity":"expired","value":false},{"name":"loadSheddingOn","validity":"expired","value":false},{"name":"openingDetected","validity":"expired","value":false},{"name":"presenceDetected","validity":"expired","value":false},{"name":"absence","validity":"expired","value":false},{"name":"productionDefect","validity":"expired","value":false},{"name":"batteryCmdDefect","validity":"expired","value":false},{"name":"tempSensorDefect","validity":"expired","value":false},{"name":"tempSensorShortCut","validity":"expired","value":false},{"name":"tempSensorOpenCirc","validity":"expired","value":false},{"name":"boostOn","validity":"expired","value":false},{"name":"anticipCoeff","validity":"upToDate","value":30}]}]},{"id":3,"endpoints":[{"id":0,"error":15,"data":[{"name":"authorization","validity":"expired","value":"HEATING"},{"name":"setpoint","validity":"expired","value":null},{"name":"thermicLevel","validity":"expired","value":"STOP"},{"name":"hvacMode","validity":"expired","value":"NORMAL"},{"name":"timeDelay","validity":"expired","value":0},{"name":"temperature","validity":"expired","value":25.090},{"name":"tempoOn","validity":"expired","value":false},{"name":"antifrostOn","validity":"expired","value":true},{"name":"loadSheddingOn","validity":"expired","value":false},{"name":"openingDetected","validity":"expired","value":false},{"name":"presenceDetected","validity":"expired","value":false},{"name":"absence","validity":"expired","value":false},{"name":"productionDefect","validity":"expired","value":false},{"name":"batteryCmdDefect","validity":"expired","value":false},{"name":"tempSensorDefect","validity":"expired","value":false},{"name":"tempSensorShortCut","validity":"expired","value":false},{"name":"tempSensorOpenCirc","validity":"expired","value":false},{"name":"boostOn","validity":"expired","value":false},{"name":"anticipCoeff","validity":"upToDate","value":30}]}]},{"id":1686392044,"endpoints":[{"id":1686392044,"error":15,"data":[{"name":"thermicDefect","validity":"expired","value":false},{"name":"level","validity":"expired","value":100},{"name":"onFavPos","validity":"expired","value":false}]}]},{"id":1686394223,"endpoints":[{"id":1686394223,"error":15,"data":[{"name":"jobsMP","validity":"upToDate","value":144},{"name":"softVersion","validity":"upToDate","value":"01.02.03"},{"name":"softPlan","validity":"upToDate","value":"23.63.00.11"},{"name":"energyTotIndexWatt","validity":"expired","value":12678173},{"name":"energyInstantTotElec","validity":"expired","value":6.000},{"name":"energyInstantTotElec_Min","validity":"expired","value":0.000},{"name":"energyInstantTotElec_Max","validity":"expired","value":48.000},{"name":"energyScaleTotElec_Min","validity":"expired","value":0.000},{"name":"energyScaleTotElec_Max","validity":"expired","value":30.000},{"name":"energyInstantTotElecP","validity":"expired","value":1404},{"name":"energyInstantTotElec_P_Min","validity":"expired","value":0},{"name":"energyInstantTotElec_P_Max","validity":"expired","value":10896},{"name":"energyScaleTotElec_P_Min","validity":"expired","value":0},{"name":"energyScaleTotElec_P_Max","validity":"expired","value":6000},{"name":"energyIndexTi1","validity":"expired","value":1350222},{"name":"energyInstantTi1I","validity":"expired","value":0.100},{"name":"energyInstantTi1I_Min","validity":"expired","value":0.000},{"name":"energyInstantTi1I_Max","validity":"expired","value":30.230},{"name":"energyScaleTi1I_Min","validity":"expired","value":0.000},{"name":"energyScaleTi1I_Max","validity":"expired","value":60.000},{"name":"energyInstantTi1P","validity":"expired","value":0},{"name":"energyInstantTi1P_Min","validity":"expired","value":0},{"name":"energyInstantTi1P_Max","validity":"expired","value":6863},{"name":"energyScaleTi1P_Min","validity":"expired","value":0},{"name":"energyScaleTi1P_Max","validity":"expired","value":15420},{"name":"energyIndexColdWater","validity":"expired","value":null},{"name":"leakWaterDetect","validity":"expired","value":false},{"name":"leakWaterVolume","validity":"expired","value":null}]}]},{"id":1722006643,"endpoints":[{"id":1722006643,"error":0,"data":[{"name":"config","validity":"upToDate","value":2},{"name":"battDefect","validity":"upToDate","value":false},{"name":"supervisionMode","validity":"upToDate","value":"LONG"},{"name":"techSmokeDefect","validity":"upToDate","value":false}]}]},{"id":1722007943,"endpoints":[{"id":1722007943,"error":15,"data":[{"name":"jobsMP","validity":"upToDate","value":144},{"name":"softVersion","validity":"upToDate","value":"01.02.02"},{"name":"softPlan","validity":"upToDate","value":"23.63.00.15"},{"name":"energyIndexTi1","validity":"expired","value":678654},{"name":"energyInstantTi1I","validity":"expired","value":6.460},{"name":"energyInstantTi1I_Min","validity":"expired","value":0.000},{"name":"energyInstantTi1I_Max","validity":"expired","value":17.930},{"name":"energyScaleTi1I_Min","validity":"expired","value":0.000},{"name":"energyScaleTi1I_Max","validity":"expired","value":35.860},{"name":"energyInstantTi1P","validity":"expired","value":1},{"name":"energyInstantTi1P_Min","validity":"expired","value":0},{"name":"energyInstantTi1P_Max","validity":"expired","value":4158},{"name":"energyScaleTi1P_Min","validity":"expired","value":0},{"name":"energyScaleTi1P_Max","validity":"expired","value":9200}]}]},{"id":1722009481,"endpoints":[{"id":1722009481,"error":15,"data":[{"name":"jobsMP","validity":"upToDate","value":144},{"name":"softVersion","validity":"upToDate","value":"01.02.02"},{"name":"softPlan","validity":"upToDate","value":"23.63.00.15"},{"name":"energyIndexTi1","validity":"expired","value":264470},{"name":"energyInstantTi1I","validity":"expired","value":0.730},{"name":"energyInstantTi1I_Min","validity":"expired","value":0.000},{"name":"energyInstantTi1I_Max","validity":"expired","value":28.960},{"name":"energyScaleTi1I_Min","validity":"expired","value":0.000},{"name":"energyScaleTi1I_Max","validity":"expired","value":57.920},{"name":"energyInstantTi1P","validity":"expired","value":1509},{"name":"energyInstantTi1P_Min","validity":"expired","value":0},{"name":"energyInstantTi1P_Max","validity":"expired","value":7900},{"name":"energyScaleTi1P_Min","validity":"expired","value":0},{"name":"energyScaleTi1P_Max","validity":"expired","value":15420}]}]},{"id":1736021088,"endpoints":[{"id":1736021088,"error":15,"data":[{"name":"authorization","validity":"expired","value":null},{"name":"setpoint","validity":"expired","value":null},{"name":"thermicLevel","validity":"expired","value":null},{"name":"hvacMode","validity":"expired","value":null},{"name":"timeDelay","validity":"expired","value":null},{"name":"temperature","validity":"expired","value":null},{"name":"tempoOn","validity":"expired","value":false},{"name":"antifrostOn","validity":"expired","value":false},{"name":"loadSheddingOn","validity":"expired","value":false},{"name":"openingDetected","validity":"expired","value":false},{"name":"presenceDetected","validity":"expired","value":false},{"name":"absence","validity":"expired","value":false},{"name":"productionDefect","validity":"expired","value":false},{"name":"batteryCmdDefect","validity":"expired","value":false},{"name":"tempSensorDefect","validity":"expired","value":false},{"name":"tempSensorShortCut","validity":"expired","value":false},{"name":"tempSensorOpenCirc","validity":"expired","value":false},{"name":"boostOn","validity":"expired","value":false},{"name":"anticipCoeff","validity":"upToDate","value":30}]}]},{"id":1745492369,"endpoints":[{"id":1745492369,"error":0,"data":[{"name":"energyIndexColdWater","validity":"upToDate","value":2769990}]}]}]
tydom2mqtt | )
tydom2mqtt | 2025-07-21 15:05:37,070 - tydom.MessageHandler - ERROR - 'NoneType' object has no attribute 'publish'
tydom2mqtt | Traceback (most recent call last):
tydom2mqtt | File "/app/tydom/MessageHandler.py", line 407, in parse_response
tydom2mqtt | await self.parse_devices_data(parsed=parsed)
tydom2mqtt | File "/app/tydom/MessageHandler.py", line 517, in parse_devices_data
tydom2mqtt | await self.parse_endpoint_data(endpoint, i["id"])
tydom2mqtt | File "/app/tydom/MessageHandler.py", line 806, in parse_endpoint_data
tydom2mqtt | await new_smoke.update()
tydom2mqtt | File "/app/sensors/Sensor.py", line 149, in update
tydom2mqtt | await self.setup() # Publish config
tydom2mqtt | ^^^^^^^^^^^^^^^^^^
tydom2mqtt | File "/app/sensors/Sensor.py", line 136, in setup
tydom2mqtt | self.mqtt.mqtt_client.publish(
tydom2mqtt | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tydom2mqtt | AttributeError: 'NoneType' object has no attribute 'publish'
tydom2mqtt | 2025-07-21 15:05:37,073 - tydom.MessageHandler - DEBUG - Incoming data parsed with success
tydom2mqtt | 2025-07-21 15:05:37,108 - websockets.client - DEBUG - < BINARY 48 54 54 50 2f 31 2e 31 20 32 30 30 20 4f 4b 0d ... 0a 0d 0a 30 0d 0a 0d 0a [161 bytes]
tydom2mqtt | 2025-07-21 15:05:37,109 - tydom.MessageHandler - WARNING - Unknown message type received ([]
tydom2mqtt | )
tydom2mqtt | 2025-07-21 15:05:37,109 - tydom.MessageHandler - DEBUG - Incoming data parsed with success
tydom2mqtt | 2025-07-21 15:05:56,817 - websockets.client - DEBUG - % sending keepalive ping
tydom2mqtt | 2025-07-21 15:05:56,817 - websockets.client - DEBUG - > PING 55 91 6f 4d [binary, 4 bytes]
tydom2mqtt | 2025-07-21 15:05:56,819 - websockets.client - DEBUG - < PONG '' [0 bytes]
tydom2mqtt | 2025-07-21 15:06:16,838 - websockets.client - DEBUG - % sending keepalive ping
tydom2mqtt | 2025-07-21 15:06:16,838 - websockets.client - DEBUG - > PING ad d2 10 6d [binary, 4 bytes]
tydom2mqtt | 2025-07-21 15:06:16,840 - websockets.client - DEBUG - < PONG '' [0 bytes]
and the logfile from mosquitto:
1753110334: mosquitto version 2.0.22 starting
1753110334: Config loaded from /mosquitto/config/mosquitto.conf.
1753110334: Opening ipv4 listen socket on port 1883.
1753110334: Opening ipv6 listen socket on port 1883.
1753110334: mosquitto version 2.0.22 running
1753110335: New connection from 172.18.0.2:57956 on port 1883.
1753110335: Client <unknown> closed its connection.
Any help would be wonderful.
Thanks.

