Hello Kromagnsss,
I thank you for your feedback. Yes automatic discovery need birth message to be retained to allow proper behavior if the Diematic interface is launched after HA.
I have updated wiki to remind that.
Benoit
Hi all,
Thanks for all this great work !
@BenoitS and @mtrofimm , based on your discussion here above, does that mean that the GitHub project from BenoitS is compatible with Diametic Isystem (one year before, it seems to not to be the case)?
I have a De Dietrich Modulens AGC 35.
Thanks
Hello,
I donāt think itās compatible because I heard that Diematic Isystem is only a modBus slave. But I never try as I do not have access to any Boiler with Diematic Isystem.
What I saw on the internet that modBus register seems to be equivalent, so the main task should be update the loop function inside Diematic3Panel class. For that you need a Boiler, the hardware stuff and few python knowledeges.
Regards,
Benoit
Hi,
I try to use docker compose and I got this message :
[+] Running 0/1
ā ¦ diematic Pulling 1.6s
manifest unknown
I search on dockerhub : diematic and i didnāt find any image
docker image diematic, is it still in dockerhub ?
maybe you change name ?
Thanks
I forgot to give my docker-compose.yml
version: ā3ā
services:
diematic:
container_name: diematic
restart: unless-stopped
image: Package diematic_to_mqtt Ā· GitHub
volumes:
- ~docker/diematic/conf:/app/conf
- ~docker/diematic/log:/app/log
hello,
docker image are still there :
But I think there is an access right issue:
docker pull Package diematic_to_mqtt Ā· GitHub
Error response from daemon: Head āhttps://ghcr.io/v2/benoit3/diematic_to_mqtt/manifests/dev-latestā: denied: denied
As I renew github repository secret token for workflow actions 3 days ago, it could be linked. But I donāt at all to solve that. I will look for, but as Iām newbe for this kind of subject it could take days.
Benoit
Hi Benoit,
Thanks for your answer.
Iām going to wait for your search.
Iām newbe too and iām trying to use docker for parts of my sofwares to avoid too much confusion
Itās working, thanks.
But I have an other trouble. Everything is working, except i donāt see any published message in my MQTT server (Mosquitto). What can be wrong ?
see below some logs:
024-01-24 10:01:40,676 - main - CRITICAL - Modbus interface address: 192.168.1.62 : 20108
2024-01-24 10:01:40,677 - main - CRITICAL - Modbus regulator address: 0xa
2024-01-24 10:01:40,679 - main - CRITICAL - Broker: 192.168.1.87 #warning: using server name or localhost or 127.0.0.1 may not work with docker : 1883
2024-01-24 10:01:40,680 - main - CRITICAL - Topic Root: home/heater/boiler
2024-01-24 10:01:40,681 - main - CRITICAL - Hassio Discovery Enable: True
2024-01-24 10:01:40,682 - main - CRITICAL - Hassio Discovery Prefix: homeassistant
2024-01-24 10:01:40,683 - main - CRITICAL - Regulator type is Diematic3
2024-01-24 10:01:40,865 - Diematic - INFO - Using tzinfo (āEurope/Parisā) for Boiler time sync
2024-01-24 10:01:40,869 - Diematic - WARNING - Init Link with Regulator
2024-01-24 10:01:46,193 - Diematic - INFO - ModBus Master Slave Synchro OK
2024-01-24 10:01:47,222 - main - INFO - Publish :home/heater/boiler/status Online
2024-01-24 10:01:47,224 - main - INFO - Publish :home/heater/boiler/date 2024-01-24T11:01:00+01:00
2024-01-24 10:01:47,226 - main - INFO - Publish :home/heater/boiler/lastTimeSync
2024-01-24 10:01:47,229 - main - INFO - Publish :home/heater/boiler/type 1
2024-01-24 10:01:47,231 - main - INFO - Publish :home/heater/boiler/ctrl 402
2024-01-24 10:01:47,233 - main - INFO - Publish :home/heater/boiler/ext/temp 10.1
2024-01-24 10:01:47,235 - main - INFO - Publish :home/heater/boiler/temp 48.8
2024-01-24 10:01:47,237 - main - INFO - Publish :home/heater/boiler/targetTemp 0.0
2024-01-24 10:01:47,239 - main - INFO - Publish :home/heater/boiler/returnTemp
2024-01-24 10:01:47,241 - main - INFO - Publish :home/heater/boiler/waterPressure 1.0
When i check with MQTT explorer no trace on any message home/ā¦
I published a message from SBC where diematic_to_MQTT is implemented
eric@pine64:~$ mosquitto_pub -h 192.168.1.87 -t home/heater/boiler/zoneB/dayTemp/set -m 17.5
and then i can see a message in an other SBC where i have MQTTT server home/heater/boiler/zoneB/dayTemp
So it seems something is wrong in my config see above
Modbus]
ip: 192.168.1.62
port: 20108
#regulator address is used for Diematic3
regulatorAddress:0x0A
#interfaceAddress is used for DiematicDelta
interfaceAddress:0x32
[MQTT]
brokerHost: 192.168.1.87 #warning: using server name or localhost or 127.0.0.1 may not work with docker
brokerPort: 1883
brokerLogin:
brokerPassword:
#topic prefix without any / at the beginning and the end of it
topicPrefix: home/heater
#clientId is append to the topicPrefix
clientId: boiler
[Boiler]
#regulator type ( Diematic3 (Default) or DiematicDelta, for dev purpose only)
regulatorType:Diematic3
#timezone in pytz list
timezone:Europe/Paris
#automatic boiler time synchronization
timeSync:False
#period for parameter polling in seconds
period: 10
#force circuit A to be enabled. False means it is automatic if a temperature sensor is detected
enable_circuit_A: False
#force circuit B to be enabled. False means it is automatic if a temperature sensor is detected
enable_circuit_B: True
[Home Assistant]
#enable MQTT Discovery
MQTT_DiscoveryEnable:1
#topic prefix without any / at the beginning and the end of it
discovery_prefix: homeassistant
thanks
Eric
Hello,
seems to be corrected now.
I unfortunately clear some parts of docker images.
They should be regenerated
Benoit
Hi Benoit,
After upgrading Paho-MQTT to version 2.0 I had a ācallback_api_versionā issue without possibility to launch the diematic service. So to make it compatible with paho-mqtt 2.0, it is very simple and we just have to change in Diematic32MQTT.py Line 322
client = mqtt.Client()
by
client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION1)
Then again it works like a charm
Rofiq
Hello,
Trank you for the issue and the correction. Can you raise an issue on github to track them?
Regards,
Benoit
Hi Benoit,
Done, thanks
Corrected in main / v1.2.5
Hi @ damienvw,
I have the same heater and looking for an integration with HA.
I used the integration via Somfy Tahoma and Dedietrich ModBus interface 7618074, but since 2023 the integration does not work anymore. I reported this to Somfy but did not get any help.
Did you find a solution for Diematic iSystem?
I found integration by ngraziano/isystem-to-mqtt, but it uses different USB interface and not plug and play for HA.
Regards,
Pawel
Hi,
Unfortunately I donāt belong any boiler with such iSystem interface. So Iām not able to do it.
Maybe somebody will do it but when?
BenoƮt
Hi @rofiq
Thanks for the nice guide.
I tried to instal it on my HAOS running on rpi5-64.
- Core2024.10.1
- Supervisor2024.10.0
- Operating System13.1
When using SSH & web terminal I am getting ābash: sudo command not foundā for command sudo pip3 install pytz.
I check the Terminal & SSH add-on documentation a there is statement " * This add-on will not enable you to install packages or do anything as root. This is not working with Home Assistant*."
Looks I canāt use the HA CLI.
Any idea/advice?
Hi @champ2410
Thanks for the detailed installation guide.
I tried to instal it on my HAOS running on rpi5-64.
- Core2024.10.1
- Supervisor2024.10.0
- Operating System13.1
I can see the local add-on āDiematic 3ā in my HA add-ons section. However when. trying to instal I got error:
INFO (MainThread) [supervisor.addons.addon] No local_diematic3 addon Docker image local/aarch64-addon-diematic3 found
ERROR (MainThread) [supervisor.docker.addon] Invalid build environment, canāt build this add-on!
Do you have any suggestions what I am doing wrong?
Hi @BenoitS,
I finally managed to get your brilliant script in HA and connected it with Diematic4 (iSystem). Thanks for sharing it!
I am not able to instal it in HAOS but I did using my another rpi with docker composer.
I have two HAs, one for Diematic32MQTT and second for HA dashboard and MQTT broker.
I use same converter USR-TCP232 306. In general it works fin. It reads the boiler parameter as well as updates them. I changed the settings in the converter and unselected option āCP Server-kick off old connectionā. Otherwise, it worked only once for 40 seconds (in MASTER mode).
Settings of the converter seem to be ok:
Iām getting error in the SLAVE mode "WARNING - Received Frame Length Error". I assume because of this only MASTER mode is working and in HA I got parameters for 40 seconds and for the next 40s MQTT device is not available. I understand that 40s coming from 10s pooling refresh time set in config and 30s validity time set in the Diematic3Panel.py.
Regulator address is set in the config as 0x0A
I assume it will work as expected when I solve the issue with the frame length.
Here is some log info:
Do you have any idea what could be the problem here?
Thanks for any input
Hello ,
I thank you for your feedback, it is the first one with Diematic4 (iSystem). For HAOS installation I can not help you as I donāt use it, and have not enough free time to build a test bench. Maybe can you contact rofiq (see above).
For second issue analysis, can you provide logs between 16:53:08 and 15:53:48 ?
Regards,
Benoit
Hi Benoit,
Thank you for the quick response.
There is nothing in the log between this timeframe:
This log was created just after restarting the service.
Here is additional log from the running script when switching between SLAVE and MASTER mode:
2024-10-11 19:28:07,158 - DDModbus - WARNING - Received Frame Length Error
2024-10-11 19:28:07,158 - Diematic - WARNING - Synchro timeout
2024-10-11 19:28:07,167 - Diematic - WARNING - Init Link with Regulator
2024-10-11 19:28:07,768 - Diematic - DEBUG - Bus status switched to MASTER after 40.609395265579224
2024-10-11 19:28:07,769 - DDModbus - DEBUG - Send read request: 0a030001003f556100
2024-10-11 19:28:08,025 - DDModbus - DEBUG - Answer received: 0a037e0000000000300015001b0005005000be8046000100030000000000af00aa003c0008ffff0003000f0000000000d200b9003c000800f000070016006401c20000ffff000000c800b4003c000800e800070016006401c20000ffff0000000000000000000000000000000000000000000000000000022600000002022200005142000000
2024-10-11 19:28:08,026 - DDModbus - DEBUG - Answer valid
2024-10-11 19:28:08,027 - DDModbus - DEBUG - Send read request: 0a0300400040449500
2024-10-11 19:28:08,214 - DDModbus - DEBUG - Answer received: 0a038000010000000000000000000000000000000000000064028f8ccc280609110000000000000000000000000000000000000000002b000000000000000000000000006400000000000000000000006c00000000000000000000000b000a0018000000008ccc000000000000028f00000000000203200000000000000000000f03e02c85000000
2024-10-11 19:28:08,215 - DDModbus - DEBUG - Answer valid
2024-10-11 19:28:08,216 - DDModbus - DEBUG - Send read request: 0a0301800040455500
2024-10-11 19:28:08,435 - DDModbus - DEBUG - Answer received: 0a03800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000028002b000000000000000000000000000000000064000e0078000400040000000000000000091128060000a2f9000000
2024-10-11 19:28:08,436 - DDModbus - DEBUG - Answer valid
2024-10-11 19:28:08,436 - DDModbus - DEBUG - Send read request: 0a0301c00017057f00
2024-10-11 19:28:08,543 - DDModbus - DEBUG - Answer received: 0a032e0000000000000033028f02498ccc073b000e00180000022300000000006400000000ffff00008001800100008001d8e5000000
2024-10-11 19:28:08,543 - DDModbus - DEBUG - Answer valid
2024-10-11 19:28:08,544 - __main__ - INFO - Publish :home/heater/boiler/status Online
2024-10-11 19:28:08,545 - __main__ - INFO - Publish :home/heater/boiler/date 2024-10-11T21:27:00+02:00
2024-10-11 19:28:08,545 - __main__ - INFO - Publish :home/heater/boiler/type 24
2024-10-11 19:28:08,546 - __main__ - INFO - Publish :home/heater/boiler/ctrl 48
2024-10-11 19:28:08,547 - __main__ - INFO - Publish :home/heater/boiler/ext/temp 8.0
2024-10-11 19:28:08,547 - __main__ - INFO - Publish :home/heater/boiler/temp 65.5
2024-10-11 19:28:08,548 - __main__ - INFO - Publish :home/heater/boiler/targetTemp 0.0
2024-10-11 19:28:08,549 - __main__ - INFO - Publish :home/heater/boiler/returnTemp 58.5
2024-10-11 19:28:08,550 - __main__ - INFO - Publish :home/heater/boiler/waterPressure 1.4
2024-10-11 19:28:08,550 - __main__ - INFO - Publish :home/heater/boiler/power 31
2024-10-11 19:28:08,551 - __main__ - INFO - Publish :home/heater/boiler/smokeTemp -327.6
2024-10-11 19:28:08,553 - __main__ - INFO - Publish :home/heater/boiler/ionizationCurrent 5.1
2024-10-11 19:28:08,554 - __main__ - INFO - Publish :home/heater/boiler/fanSpeed 1851
2024-10-11 19:28:08,556 - __main__ - INFO - Publish :home/heater/boiler/burnerStatus 1
2024-10-11 19:28:08,556 - __main__ - INFO - Publish :home/heater/boiler/alarm {"id": 65535, "txt": "D\u00e9faut inconnu"}
2024-10-11 19:28:08,558 - __main__ - INFO - Publish :home/heater/boiler/hotWater/pump 1
2024-10-11 19:28:08,559 - __main__ - INFO - Publish :home/heater/boiler/hotWater/temp 54.6
2024-10-11 19:28:08,560 - __main__ - INFO - Publish :home/heater/boiler/hotWater/mode AUTO
2024-10-11 19:28:08,561 - __main__ - INFO - Publish :home/heater/boiler/hotWater/dayTemp 55.0
2024-10-11 19:28:08,562 - __main__ - INFO - Publish :home/heater/boiler/hotWater/nightTemp 10.0
2024-10-11 19:28:08,563 - __main__ - INFO - Publish :home/heater/boiler/zoneB/temp 24.0
2024-10-11 19:28:08,564 - __main__ - INFO - Publish :home/heater/boiler/zoneB/mode AUTO
2024-10-11 19:28:08,565 - __main__ - INFO - Publish :home/heater/boiler/zoneB/pump 0
2024-10-11 19:28:08,566 - __main__ - INFO - Publish :home/heater/boiler/zoneB/dayTemp 21.0
2024-10-11 19:28:08,566 - __main__ - INFO - Publish :home/heater/boiler/zoneB/nightTemp 18.5
2024-10-11 19:28:08,568 - __main__ - INFO - Publish :home/heater/boiler/zoneB/antiiceTemp 6.0
2024-10-11 19:28:08,569 - Diematic - DEBUG - Now :2024-10-11 19:28:08.569296+00:00
2024-10-11 19:28:08,570 - Diematic - DEBUG - Boiler :2024-10-11 21:27:00+02:00
2024-10-11 19:28:08,571 - Diematic - DEBUG - Drift :68.569296
2024-10-11 19:28:08,571 - Diematic - DEBUG - Drift Counter:1
2024-10-11 19:28:48,623 - Diematic - WARNING - Synchro timeout
2024-10-11 19:28:48,624 - __main__ - INFO - Publish :home/heater/boiler/status Offline
2024-10-11 19:28:48,624 - __main__ - INFO - Publish :home/heater/boiler/date
2024-10-11 19:28:48,625 - __main__ - INFO - Publish :home/heater/boiler/type
2024-10-11 19:28:48,625 - __main__ - INFO - Publish :home/heater/boiler/ctrl
2024-10-11 19:28:48,626 - __main__ - INFO - Publish :home/heater/boiler/ext/temp
2024-10-11 19:28:48,627 - __main__ - INFO - Publish :home/heater/boiler/temp
2024-10-11 19:28:48,628 - __main__ - INFO - Publish :home/heater/boiler/targetTemp
2024-10-11 19:28:48,628 - __main__ - INFO - Publish :home/heater/boiler/returnTemp
2024-10-11 19:28:48,629 - __main__ - INFO - Publish :home/heater/boiler/waterPressure
2024-10-11 19:28:48,629 - __main__ - INFO - Publish :home/heater/boiler/power
2024-10-11 19:28:48,630 - __main__ - INFO - Publish :home/heater/boiler/smokeTemp
2024-10-11 19:28:48,631 - __main__ - INFO - Publish :home/heater/boiler/ionizationCurrent
2024-10-11 19:28:48,631 - __main__ - INFO - Publish :home/heater/boiler/fanSpeed
2024-10-11 19:28:48,632 - __main__ - INFO - Publish :home/heater/boiler/burnerStatus
2024-10-11 19:28:48,634 - __main__ - INFO - Publish :home/heater/boiler/alarm
2024-10-11 19:28:48,637 - __main__ - INFO - Publish :home/heater/boiler/hotWater/pump
2024-10-11 19:28:48,639 - __main__ - INFO - Publish :home/heater/boiler/hotWater/temp
2024-10-11 19:28:48,641 - __main__ - INFO - Publish :home/heater/boiler/hotWater/mode
2024-10-11 19:28:48,642 - __main__ - INFO - Publish :home/heater/boiler/hotWater/dayTemp
2024-10-11 19:28:48,643 - __main__ - INFO - Publish :home/heater/boiler/hotWater/nightTemp
2024-10-11 19:28:48,645 - __main__ - INFO - Publish :home/heater/boiler/zoneB/temp
2024-10-11 19:28:48,646 - __main__ - INFO - Publish :home/heater/boiler/zoneB/mode
2024-10-11 19:28:48,647 - __main__ - INFO - Publish :home/heater/boiler/zoneB/pump
2024-10-11 19:28:48,648 - __main__ - INFO - Publish :home/heater/boiler/zoneB/dayTemp
2024-10-11 19:28:48,649 - __main__ - INFO - Publish :home/heater/boiler/zoneB/nightTemp
2024-10-11 19:28:48,650 - __main__ - INFO - Publish :home/heater/boiler/zoneB/antiiceTemp
2024-10-11 19:28:48,656 - Diematic - WARNING - Init Link with Regulator
2024-10-11 19:28:48,658 - DDModbus - DEBUG - Frame received:
2024-10-11 19:28:48,658 - DDModbus - WARNING - Received Frame Length Error
2024-10-11 19:28:48,659 - Diematic - DEBUG - Bus status switched to SLAVE
2024-10-11 19:28:48,659 - DDModbus - DEBUG - Frame received:
Thanks and regards,
Pawel