tydom2mqtt
tydom2mqtt copied to clipboard
Containerized tydom2mqtt to Mosquitto connection issue
Hi,
Here I want to test Home Assistant Container AND HAOS (VM) on my Synology NAS before setting up a clean Home Assistant. I prefer the first solution for many reasons, but I have issues with tydom2mqtt.
First, in HAOS : all is working fine. I installed the tydom2mqtt addon, even a mosquitto broker all in Home Assistant.
Then I installed a Container version of Home Assistant with a Docker Compose. Inside it runs 3 containers : tydom2mqtt, eclipse-mosquitto and home-assistant. All is working fine, except the connection between tydom2mqtt and the mqtt broker ! (Tydom2mqtt connection to Tydom is good.)
Here are the logs from tydom2mqtt container :
2024-04-23 08:04:16,848 - mqtt.MqttClient - WARNING - MQTT connection error : 'str' object has no attribute 'wrap_bio'
2024-04-23 08:02:09,599 - mqtt.MqttClient - INFO - Connecting to mqtt broker (host=mosquitto, port=1883, user=mqtt-user, ssl=false)
In Mosquitto logs, we can see the connection, but immediately disconnects :
New connection from 172.19.0.2:44460 on port 1883.
1713859316: Client <unknown> closed its connection.
I tried many configurations since 2 days, with or without anonymous access ... same problem. Tried to run another tydom2mqtt on my computer Docker : it fails (same error). Tried host or bridge network in containers, same error.
BUT
I tried to connect the HAOS tydom2mqtt on my containerized Mosquitto, and it works perfectly ! Like my Home Assistant container is configured with this Mosquitto, it can open and close X3D devices, read their positions ... with the HAOS addon ;) I tested Mosquitto with MQTT explorer : all is fine.
Here's the Docker Compose section for non functionnal tydom2mqtt :
services:
tydom2mqtt:
image: fmartinou/tydom2mqtt
container_name: tydom2mqtt
restart: always
# network_mode: host
environment:
- TYDOM_MAC=001A25xxxxx
- TYDOM_PASSWORD=xxxxxxxxx
- TYDOM_IP=xxx.xxx.xxx.xxx
- 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=xxxxxxxxxxxx
- MQTT_SSL=false
- LOG_LEVEL=DEBUG
I'll probably give up the Container installation to go to HAOS, but maybe someone can have an idea to solve this ?
What i forgot to do ?
Thanks.
Hello, are they in the same network?
Hello, Yes of course. I tested the two instances of Mosquitto (haos and containerized) from a client on the same network and both are responding correctly.
Hello,
I have exactly the same error. Docker tydom and docker mqtt are in the same docker network. I'm able to ping from the tydom docker the mqtt docker.
From the docker tydom, I can publish a message on the mqtt server with:
mosquitto_pub -h mqtt-broker -m "test message" -t test/test -u mqttuser -P xxxxxx -q
Log are like this from the tydom docker:
2024-08-07 13:22:43,378 - The configuration is valid
2024-08-07 13:22:43,380 - tydom.TydomClient - INFO - Configure local mode (192.168.1.204)
2024-08-07 13:22:43,389 - mqtt.MqttClient - INFO - Connecting to mqtt broker (host=mqtt-broker, port=1883, user=mqtttydom, ssl=false)
2024-08-07 13:22:43,393 - tydom.TydomClient - INFO - Connecting to tydom
2024-08-07 13:22:46,093 - mqtt.MqttClient - WARNING - MQTT connection error : 'str' object has no attribute 'wrap_bio'
2024-08-07 13:22:48,555 - tydom.TydomClient - INFO - Connected to tydom
2024-08-07 13:22:48,556 - tydom.TydomClient - INFO - Setup tydom client
2024-08-07 13:22:48,936 - tydom.MessageHandler - INFO - Device update (id=1685081908, endpoint=1685081908, name=Fixe droite, type=shutter)
2024-08-07 13:22:48,937 - tydom.MessageHandler - ERROR - Error on parsing tydom response ('NoneType' object has no attribute 'publish')
2024-08-07 13:22:48,937 - tydom.MessageHandler - ERROR - Incoming data ([{"id":1685081908,"endpoints":[{"id":1685081908,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":100},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":3096},{"name":"softVersion0","validity":"upToDate","value":"01.03.00"},{"name":"softPlan0","validity":"upToDate","value":"24.28.00.20"},{"name":"softVersion1","validity":"upToDate","value":"02.04.00"},{"name":"softPlan1","validity":"upToDate","value":"24.28.00.11"},{"name":"softVersion2","validity":"upToDate","value":"01.00.00"},{"name":"softPlan2","validity":"upToDate","value":"24.28.00.31"},{"name":"softVersion3","validity":"upToDate","value":"01.01.00"},{"name":"softPlan3","validity":"upToDate","value":"22.10.00.30"}]}]},{"id":1685081943,"endpoints":[{"id":1685081943,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":100},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":3096},{"name":"softVersion0","validity":"upToDate","value":"01.03.00"},{"name":"softPlan0","validity":"upToDate","value":"24.28.00.20"},{"name":"softVersion1","validity":"upToDate","value":"02.04.00"},{"name":"softPlan1","validity":"upToDate","value":"24.28.00.11"},{"name":"softVersion2","validity":"upToDate","value":"01.00.00"},{"name":"softPlan2","validity":"upToDate","value":"24.28.00.31"},{"name":"softVersion3","validity":"upToDate","value":"01.01.00"},{"name":"softPlan3","validity":"upToDate","value":"22.10.00.30"}]}]},{"id":1685082690,"endpoints":[{"id":1685082690,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":100},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":3096},{"name":"softVersion0","validity":"upToDate","value":"01.04.00"},{"name":"softPlan0","validity":"upToDate","value":"24.28.00.20"},{"name":"softVersion1","validity":"upToDate","value":"02.04.00"},{"name":"softPlan1","validity":"upToDate","value":"24.28.00.12"},{"name":"softVersion2","validity":"upToDate","value":"01.00.00"},{"name":"softPlan2","validity":"upToDate","value":"24.28.00.31"},{"name":"softVersion3","validity":"upToDate","value":"01.01.00"},{"name":"softPlan3","validity":"upToDate","value":"22.10.00.30"}]}]},{"id":1685082707,"endpoints":[{"id":1685082707,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":100},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":3096},{"name":"softVersion0","validity":"upToDate","value":"01.04.00"},{"name":"softPlan0","validity":"upToDate","value":"24.28.00.20"},{"name":"softVersion1","validity":"upToDate","value":"02.04.00"},{"name":"softPlan1","validity":"upToDate","value":"24.28.00.12"},{"name":"softVersion2","validity":"upToDate","value":"01.00.00"},{"name":"softPlan2","validity":"upToDate","value":"24.28.00.31"},{"name":"softVersion3","validity":"upToDate","value":"01.01.00"},{"name":"softPlan3","validity":"upToDate","value":"22.10.00.30"}]}]},{"id":1685082810,"endpoints":[{"id":1685082810,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":100},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":3096},{"name":"softVersion0","validity":"upToDate","value":"01.03.00"},{"name":"softPlan0","validity":"upToDate","value":"24.28.00.20"},{"name":"softVersion1","validity":"upToDate","value":"02.04.00"},{"name":"softPlan1","validity":"upToDate","value":"24.28.00.11"},{"name":"softVersion2","validity":"upToDate","value":"01.00.00"},{"name":"softPlan2","validity":"upToDate","value":"24.28.00.31"},{"name":"softVersion3","validity":"upToDate","value":"01.01.00"},{"name":"softPlan3","validity":"upToDate","value":"22.10.00.30"}]}]},{"id":1685082811,"endpoints":[{"id":1685082810,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":100},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":3096},{"name":"softVersion0","validity":"upToDate","value":"01.03.00"},{"name":"softPlan0","validity":"upToDate","value":"24.28.00.20"},{"name":"softVersion1","validity":"upToDate","value":"02.04.00"},{"name":"softPlan1","validity":"upToDate","value":"24.28.00.11"},{"name":"softVersion2","validity":"upToDate","value":"01.00.00"},{"name":"softPlan2","validity":"upToDate","value":"24.28.00.31"},{"name":"softVersion3","validity":"upToDate","value":"01.01.00"},{"name":"softPlan3","validity":"upToDate","value":"22.10.00.30"}]}]},{"id":1685082827,"endpoints":[{"id":1685082827,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":100},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":3096},{"name":"softVersion0","validity":"upToDate","value":"01.03.00"},{"name":"softPlan0","validity":"upToDate","value":"24.28.00.20"},{"name":"softVersion1","validity":"upToDate","value":"02.04.00"},{"name":"softPlan1","validity":"upToDate","value":"24.28.00.11"},{"name":"softVersion2","validity":"upToDate","value":"01.00.00"},{"name":"softPlan2","validity":"upToDate","value":"24.28.00.31"},{"name":"softVersion3","validity":"upToDate","value":"01.01.00"},{"name":"softPlan3","validity":"upToDate","value":"22.10.00.30"}]}]},{"id":1685082988,"endpoints":[{"id":1685082988,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":100},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":3096},{"name":"softVersion0","validity":"upToDate","value":"01.03.00"},{"name":"softPlan0","validity":"upToDate","value":"24.28.00.20"},{"name":"softVersion1","validity":"upToDate","value":"02.04.00"},{"name":"softPlan1","validity":"upToDate","value":"24.28.00.11"},{"name":"softVersion2","validity":"upToDate","value":"01.00.00"},{"name":"softPlan2","validity":"upToDate","value":"24.28.00.31"},{"name":"softVersion3","validity":"upToDate","value":"01.01.00"},{"name":"softPlan3","validity":"upToDate","value":"22.10.00.30"}]}]},{"id":1685083042,"endpoints":[{"id":1685083042,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":100},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":3096},{"name":"softVersion0","validity":"upToDate","value":"01.03.00"},{"name":"softPlan0","validity":"upToDate","value":"24.28.00.20"},{"name":"softVersion1","validity":"upToDate","value":"02.04.00"},{"name":"softPlan1","validity":"upToDate","value":"24.28.00.11"},{"name":"softVersion2","validity":"upToDate","value":"01.00.00"},{"name":"softPlan2","validity":"upToDate","value":"24.28.00.31"},{"name":"softVersion3","validity":"upToDate","value":"01.01.00"},{"name":"softPlan3","validity":"upToDate","value":"22.10.00.30"}]}]},{"id":1685083048,"endpoints":[{"id":1685083048,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":100},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":3096},{"name":"softVersion0","validity":"upToDate","value":"01.03.00"},{"name":"softPlan0","validity":"upToDate","value":"24.28.00.20"},{"name":"softVersion1","validity":"upToDate","value":"02.04.00"},{"name":"softPlan1","validity":"upToDate","value":"24.28.00.11"},{"name":"softVersion2","validity":"upToDate","value":"01.00.00"},{"name":"softPlan2","validity":"upToDate","value":"24.28.00.31"},{"name":"softVersion3","validity":"upToDate","value":"01.01.00"},{"name":"softPlan3","validity":"upToDate","value":"22.10.00.30"}]}]},{"id":1685083065,"endpoints":[{"id":1685083065,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":100},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":3096},{"name":"softVersion0","validity":"upToDate","value":"01.03.00"},{"name":"softPlan0","validity":"upToDate","value":"24.28.00.20"},{"name":"softVersion1","validity":"upToDate","value":"02.04.00"},{"name":"softPlan1","validity":"upToDate","value":"24.28.00.11"},{"name":"softVersion2","validity":"upToDate","value":"01.00.00"},{"name":"softPlan2","validity":"upToDate","value":"24.28.00.31"},{"name":"softVersion3","validity":"upToDate","value":"01.01.00"},{"name":"softPlan3","validity":"upToDate","value":"22.10.00.30"}]}]},{"id":1685083169,"endpoints":[{"id":1685083169,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":100},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":3096},{"name":"softVersion0","validity":"upToDate","value":"01.03.00"},{"name":"softPlan0","validity":"upToDate","value":"24.28.00.20"},{"name":"softVersion1","validity":"upToDate","value":"02.04.00"},{"name":"softPlan1","validity":"upToDate","value":"24.28.00.11"},{"name":"softVersion2","validity":"upToDate","value":"01.00.00"},{"name":"softPlan2","validity":"upToDate","value":"24.28.00.31"},{"name":"softVersion3","validity":"upToDate","value":"01.01.00"},{"name":"softPlan3","validity":"upToDate","value":"22.10.00.30"}]}]},{"id":1685083717,"endpoints":[{"id":1685083717,"error":0,"data":[{"name":"outTemperature","validity":"upToDate","value":null}]},{"id":1685083718,"error":0,"data":[]}]},{"id":1691687703,"endpoints":[{"id":1691687703,"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":1691687990,"endpoints":[{"id":1691687990,"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}]}]}]
)
2024-08-07 13:22:48,937 - tydom.MessageHandler - ERROR - 'NoneType' object has no attribute 'publish'
Traceback (most recent call last):
File "/app/tydom/MessageHandler.py", line 407, in parse_response
await self.parse_devices_data(parsed=parsed)
File "/app/tydom/MessageHandler.py", line 517, in parse_devices_data
await self.parse_endpoint_data(endpoint, i["id"])
File "/app/tydom/MessageHandler.py", line 761, in parse_endpoint_data
await new_cover.update()
File "/app/sensors/Cover.py", line 73, in update
await self.setup()
File "/app/sensors/Cover.py", line 68, in setup
self.mqtt.mqtt_client.publish(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'publish'
2024-08-07 13:22:48,947 - tydom.MessageHandler - WARNING - Unknown message type received ([]
)
Any idea why?
Hi,
My dockered tydom2mqtt / mosquitto / HA combo has been working fine for about 1 year and since a bit more than 1 week I have the exact same problem.
Connection seems fine to the MQTT broker and to the tydom box (tydome 1.0). but I have the same MQTT connection error : 'MQTT connection error : 'str' object has no attribute 'wrap_bio'.'
Here are the logs from the MQTT connection :
tydom2mqtt | 2024-08-19 20:51:09,242 - Starting tydom2mqtt tydom2mqtt | 2024-08-19 20:51:09,242 - Validating configuration ({ tydom2mqtt | "deltadore_login": null, tydom2mqtt | "deltadore_password": "", tydom2mqtt | "log_level": "INFO", tydom2mqtt | "mqtt_host": "192.168.1.xxx", tydom2mqtt | "mqtt_password": "xxxx", tydom2mqtt | "mqtt_port": 1883, tydom2mqtt | "mqtt_ssl": "true", tydom2mqtt | "mqtt_user": "mqtt", tydom2mqtt | "thermostat_custom_presets": null, tydom2mqtt | "tydom_alarm_home_zone": 1, tydom2mqtt | "tydom_alarm_night_zone": 2, tydom2mqtt | "tydom_alarm_pin": "", tydom2mqtt | "tydom_ip": "192.168.1.xxx", tydom2mqtt | "tydom_mac": "xxxx", tydom2mqtt | "tydom_password": "xxxx", tydom2mqtt | "tydom_polling_interval": 300 tydom2mqtt | } tydom2mqtt | 2024-08-19 20:51:09,242 - The configuration is valid tydom2mqtt | 2024-08-19 20:51:09,242 - tydom.TydomClient - INFO - Configure local mode (192.168.1.101) tydom2mqtt | 2024-08-19 20:51:09,245 - mqtt.MqttClient - INFO - Connecting to mqtt broker (host=192.168.1.100, port=1883, user=mqtt, ssl=true) tydom2mqtt | 2024-08-19 20:51:09,245 - tydom.TydomClient - INFO - Connecting to tydom tydom2mqtt | 2024-08-19 20:51:10,444 - mqtt.MqttClient - WARNING - MQTT connection error : 'str' object has no attribute 'wrap_bio' tydom2mqtt | 2024-08-19 20:51:11,628 - tydom.TydomClient - INFO - Connected to tydom tydom2mqtt | 2024-08-19 20:51:11,628 - tydom.TydomClient - INFO - Setup tydom client tydom2mqtt | 2024-08-19 20:51:11,980 - tydom.MessageHandler - INFO - Device update (id=1595616559, endpoint=1595616559, name=Salon, type=shutter) tydom2mqtt | 2024-08-19 20:51:11,980 - tydom.MessageHandler - ERROR - Error on parsing tydom response ('NoneType' object has no attribute 'publish') tydom2mqtt | 2024-08-19 20:51:11,981 - tydom.MessageHandler - ERROR - Incoming data ([{"id":1595616559,"endpoints":[{"id":1595616559,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":0},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"upDefect","validity":"upToDate","value":false},{"name":"downDefect","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":536},{"name":"softVersion","validity":"upToDate","value":"02.03.01"},{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}]}]},{"id":1595616957,"endpoints":[{"id":1595616957,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":0},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"upDefect","validity":"upToDate","value":false},{"name":"downDefect","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":536},{"name":"softVersion","validity":"upToDate","value":"02.03.01"},{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}]}]},{"id":1595617240,"endpoints":[{"id":1595617240,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":0},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"upDefect","validity":"upToDate","value":false},{"name":"downDefect","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":536},{"name":"softVersion","validity":"upToDate","value":"02.03.01"},{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}]}]},{"id":1595617425,"endpoints":[{"id":1595617425,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":0},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"upDefect","validity":"upToDate","value":false},{"name":"downDefect","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":536},{"name":"softVersion","validity":"upToDate","value":"02.03.01"},{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}]}]},{"id":1595620943,"endpoints":[{"id":1595620943,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":0},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"upDefect","validity":"upToDate","value":false},{"name":"downDefect","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":536},{"name":"softVersion","validity":"upToDate","value":"02.03.01"},{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}]}]},{"id":1595621339,"endpoints":[{"id":1595621339,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":0},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"upDefect","validity":"upToDate","value":false},{"name":"downDefect","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":536},{"name":"softVersion","validity":"upToDate","value":"02.03.01"},{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}]}]},{"id":1595621538,"endpoints":[{"id":1595621538,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":0},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"upDefect","validity":"upToDate","value":false},{"name":"downDefect","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":536},{"name":"softVersion","validity":"upToDate","value":"02.03.01"},{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}]}]},{"id":1595621628,"endpoints":[{"id":1595621628,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":0},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"upDefect","validity":"upToDate","value":false},{"name":"downDefect","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":536},{"name":"softVersion","validity":"upToDate","value":"02.03.01"},{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}]}]},{"id":1596476182,"endpoints":[{"id":1596476182,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":0},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"upDefect","validity":"upToDate","value":false},{"name":"downDefect","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":536},{"name":"softVersion","validity":"upToDate","value":"02.03.01"},{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}]}]},{"id":1596476354,"endpoints":[{"id":1596476354,"error":0,"data":[{"name":"thermicDefect","validity":"upToDate","value":false},{"name":"position","validity":"upToDate","value":0},{"name":"onFavPos","validity":"upToDate","value":false},{"name":"upDefect","validity":"upToDate","value":false},{"name":"downDefect","validity":"upToDate","value":false},{"name":"obstacleDefect","validity":"upToDate","value":false},{"name":"intrusion","validity":"upToDate","value":false},{"name":"battDefect","validity":"upToDate","value":false},{"name":"jobsMP","validity":"upToDate","value":536},{"name":"softVersion","validity":"upToDate","value":"02.03.01"},{"name":"softPlan","validity":"upToDate","value":"21.40.00.10"}]}]},{"id":1601804653,"endpoints":[{"id":1601804653,"error":0,"data":[{"name":"outTemperature","validity":"upToDate","value":20.800}]},{"id":1601804654,"error":0,"data":[]}]}] tydom2mqtt | ) tydom2mqtt | 2024-08-19 20:51:11,981 - tydom.MessageHandler - ERROR - 'NoneType' object has no attribute 'publish' tydom2mqtt | Traceback (most recent call last): tydom2mqtt | File "/app/tydom/MessageHandler.py", line 362, in parse_response tydom2mqtt | await self.parse_devices_data(parsed=parsed) tydom2mqtt | File "/app/tydom/MessageHandler.py", line 472, in parse_devices_data tydom2mqtt | await self.parse_endpoint_data(endpoint, i["id"]) tydom2mqtt | File "/app/tydom/MessageHandler.py", line 686, in parse_endpoint_data tydom2mqtt | await new_cover.update() tydom2mqtt | File "/app/sensors/Cover.py", line 73, in update tydom2mqtt | await self.setup() tydom2mqtt | File "/app/sensors/Cover.py", line 68, in setup tydom2mqtt | self.mqtt.mqtt_client.publish( tydom2mqtt | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tydom2mqtt | AttributeError: 'NoneType' object has no attribute 'publish' tydom2mqtt | 2024-08-19 20:51:11,987 - tydom.MessageHandler - WARNING - Unknown message type received ([]
Followed by a lot of warnings "unkown message type received"
Here you can see the connection / deconnection from the MQTT broker :
mosquitto | 1724100585: New connection from 172.20.0.1:39870 on port 1883. mosquitto | 1724100586: Client
closed its connection.
I was away from home during the start of the problem so I'm pretty sure I have not updated anything and nor mosquitto or tydom2mqtt have got a new release at that time...
Any Idea of what could be causing the problem ?
edit : sorry for the "quote" formating, I could manage to get the "code" tags to keep the line changes and that made everyhting unreadable.
any news ?
Hi !
I've got some news from my side. I extracted the scripts from the docker container and managed to launch it directly from the os (ubuntu 22.04.5 LTS) with python 3.8 (some functions used are deprecated and seems not available in python >= 3.10 and I happen to have a 3.8 version installed for an old script of mine) and settings the environments constants directly in app/configuration/Configuration.py (starting line 52 not line 11) without modifying anything else than conf. strings.
I launch it at start using a systemctl service. It works for me even though I'd rather have it on a docker.
So I suppose it's some docker container configuration / environment issue and not a "script" issue. The " 'str' object has no attribute 'wrap_bio' " being an SSL problem, I suppose a version of some library (python / SSL / websockets / ... ?) is not compatible with my hardware / OS version.
I've very little knowledge on Docker so I have not recreated a docker image that works but I'll try to do it in the future.
If I manage to point what's going wrong with this docker image, I'll post it here.
In the meantime if someone passing here knows a good (very) beginner's guide on how to create/modify a docker image so I can make tests more easily, let me know. It will help me a lot.
I m also experiencing this issue :/ Same circonstances, same error. Was working flawlessly for the past months
Hi !
I've got some news from my side. I extracted the scripts from the docker container and managed to launch it directly from the os (ubuntu 22.04.5 LTS) with python 3.8 (some functions used are deprecated and seems not available in python >= 3.10 and I happen to have a 3.8 version installed for an old script of mine) and settings the environments constants directly in app/configuration/Configuration.py (starting line 52 not line 11) without modifying anything else than conf. strings.
I launch it at start using a systemctl service. It works for me even though I'd rather have it on a docker.
So I suppose it's some docker container configuration / environment issue and not a "script" issue. The " 'str' object has no attribute 'wrap_bio' " being an SSL problem, I suppose a version of some library (python / SSL / websockets / ... ?) is not compatible with my hardware / OS version.
I've very little knowledge on Docker so I have not recreated a docker image that works but I'll try to do it in the future.
If I manage to point what's going wrong with this docker image, I'll post it here.
In the meantime if someone passing here knows a good (very) beginner's guide on how to create/modify a docker image so I can make tests more easily, let me know. It will help me a lot.
How did you perform this please?
- Download the git archive.
- Set your environment variables in app/configuration/Configuration.py (from line52)
- Install python3.8-full
- Launch app/main.py using python 3.8.
- Resolve dependencies using pip.
- Repeat 4 and 5 until it doesn't say you miss a library. It should be ok.
To include this in a service launched at boot, there are many tutorials on the web and this highly depend on your system.