Code Monkey home page Code Monkey logo

diematic_to_mqtt's People

Contributors

benoit3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

diematic_to_mqtt's Issues

Bugs on Diematic3qMQTT.py

buffer.update('targetTemp',floatValue(self.targetTemp)); buffer.update('returnTemp',floatValue(self.targetTemp));

instead of reading the return temperature, it kept giving the same temperature as the set point.

Very good job. Works great with a Sofath Caliane heat pump (of course I had to make some code changes).

P.S. maybe you know how to combine readings from 2 addresses into one topic. I am talking about the addresses 508 and 507 (burner starts for a gas furnace and cooling compressor starts for me.

Unable to retrieve A or B zone target temp without a connected room thermostat "Control Panel"

Salut Benoît,

Without a room thermostat aka "Control Panel" connected to the boiler (i.e. no information retrieved on 18 DDREGISTER) the following conditionnal test in Diematic3Panel.py code prevents retrieving proper information regarding target A temp (same for B with the 27 DDREGISTER) :

		self.zoneATemp=self.float10(self.registers[DDREGISTER.TEMP_AMB_A]);
		if ( self.zoneATemp is not None):
			modeA=self.registers[DDREGISTER.MODE_A]& 0x2F;

A quick and dirty solution is to provide a switch from the configuration file, enforcing the test to True if needed

         self.zoneATemp=self.float10(self.registers[DDREGISTER.TEMP_AMB_A]);
         if ( self.zoneATemp is not None) or self.ForceAMode:
             self.logger.info(f"zoneATemp is :'{self.zoneATemp}'");
             self.logger.info(f"ForceAMode is :'{self.ForceAMode}'");

Here for example ForceAMode is set to True in the configuration file and provided to the function (code not ready to be published).

No MQTT messages

Hi Benoit,
désolé d'utiliser ce canal pour échanger avec toi, mais je ne peux plus envoyer de message sur le forum HA : limite de 3 messages pour un nouvel utilisateur.
Je voulais déjà te remercier pour la maj de l'image docker qui fonctionne maintenant.
J'ai pu lancer le conteneur diematic.
Par contre, je rencontre un pb certainement lié à ma configuration. Mais je ne trouve pas le pb.

ci-dessous un log :
2024-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_

J'ai donc bien une connection avec mon diematic3 et ça me remonte des infos.
Par contre, je ne vois pas les messages sur mon broker MQTT (mosquitto) qui se trouve sur un rasp 3 en 1921.168.1.87:1883.
J'utilise MQTT explorer pour visualiser les messages
J'ai fait un test du SBC où j'ai mon contenair docker : eric@pine64:~$ mosquitto_pub -h 192.168.1.87 -t home/heater/boiler/zoneB/dayTemp/set -m 17.5 et là je vois bien apparaitre le message sur mon broker

Ci-dessous ma config

_[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_

Qu'est ce que j'ai mal configuré ?

Merci pour ton aide
Cordialement
Eric

v1.2.5 is not compliant

Hi.
I wanted to install this integration but I get the message.:

Integration Benoit3/Diematic_to_MQTT> Repository structure for v1.2.5 is not compliant

Home Assistant version.: core-2024.7.4, supervisor-2024.06.2, Operating System 12.4

Would it be possible to fix this?.
Regards
tomik67

Utilisation sur DTG 1300-24 eco v130

Bonjour,

Je me permet d'ouvrir une issue, même si je crains de déjà connaître la réponse...

Depuis quelque jours je chercher à comprendre comment je pourrais connecter ma Chaudière gaz DTG 1300-24 eco v130 à une solution domotique. Après pas mal de temps à fouiller ce projet me semblais être le plus prometteur, mais je ne pense pas qu'il correspond à mon modèle de chaudière...

En effet si j'ai bien compris il est nécessaire d'avoir une interface de contrôle de type Diematic sur ma chaudière, qui si je comprend bien n'a rien à voir avec "Easymatic" (j'ai tellement déterré/vu de post de forum que je commence à être perdu)...

Qui dit chaudière équipée avec Diematic, dit un panneau de control "éléctronique" sur la chaudière comme celui en page d'accueil de ce repo ?

Celui de ma chaudière ressemble à ça :
image
Et ma chaudière est piloté par un thermostat identique à celui en page d'accueil :
image

Quelqu'un peut me confirmer que ce n'est pas du Diematic et que donc, je ne peux pas piloter ma chaudière avec Diematic_to_MQTT 🤔 ?

Je me permet également de citer #11 où il est dit que "la chaudière implémente un protocole ModBus largement modifié" mais celà ne semble pas empêcher @famdeg d'utiliser le projet.

Enfin, je suis tombé sur des (très) vieux posts de forum (notamment celui là) où il est question du protocole "Easymatic" avec des tentatives d'implementation avait été faites, mais apparement sans jamais aboutir... (Je présume que le protocol "Easymatic" est celui que ma chaudière utilise pour communiquer avec mon thermostat ?)

Voilà, voilà, sans grand espoir je jète une bouteille à la mer ici 😅 si une âme charitable à des réponses à m'offrir ce serait super !

Un grand merci d'avance !

Problème récupération données

Bonjour Benoit,

J'ai récupéré ton programme pour le transcrire en Arm64 et adapté les paramètres de configuration compatible avec mon matériel.
Je possède une chaudière fioul De Dietrich (GT120) avec Diematic3 sur laquelle j'ai branché un convertisseur RS485 vers TCP par une liaison Wifi (PW11). Voir image de la config PW11 ci-dessous.
image
image

J'ai installé ton programme via Docker Compose tel que tu le montre dans ton Wiki. Au lancement du programme le fichier log boucle sur les infos ci-dessous (logs.txt).

2023-03-19 17:37:33,460 - Diematic - WARNING - Init Link with Regulator
2023-03-19 17:38:13,616 - Diematic - WARNING - Synchro timeout

Je reçois bien les publications sur mon serveur MQTT mais toutes les valeurs sont vide.
image

J'ai testé la communication avec mon convertisseur et je récupère bien, manuellement, les valeurs de mon diematic en entrant une valeur de registre.

J'ai effectué différent test et je suis dans une impasse, j'attend ton secours.

MasterReadError ... Frame too short - Diematic Delta

Salut Benoit,

I've got a Problem with connecting my Boiler. I know you espacially wrote it for the diematic 3. ive got a diematic delta from 1997.

i read in somewhere in the openhab forums that the delta only uses Single Master Mode and sleeps the other 5 Seconds.

Since i am not a Developer i wanted to ask you, if you had the time and nerves to help me get infos out of my chaudiere. in dont really need to set things, it would just help to get infos and help using less oil.

2022-09-30 20:19:35,985 - DDModbus - WARNING - WRITE_MULTIPLE_REGISTERS frame too short
2022-09-30 20:19:39,169 - Diematic3Panel - INFO - ModBus Master Slave Synchro OK
2022-09-30 20:19:41,671 - DDModbus - WARNING - No answer to masterReadAnalog
2022-09-30 20:19:41,672 - Diematic3Panel - WARNING - ModBus Master Slave Synchro Error
2022-09-30 20:19:46,012 - DDModbus - WARNING - WRITE_MULTIPLE_REGISTERS frame too short
2022-09-30 20:19:48,678 - Diematic3Panel - INFO - ModBus Master Slave Synchro OK
2022-09-30 20:19:51,181 - DDModbus - WARNING - No answer to masterReadAnalog

Thank You

Thomas

Regulator ebv delta 23b

Dear Benoit,

Many thanks for sharing your work. I am not a specialist and I wonder if I can use you work with this regulator : ebv delta 23b
0450000312_1750_BA_DELTA-_EbV_FR.pdf
I went on the web and see no data regarding the communication protocol with this regulator. Probably have to consider the regulator you have.

Many thanks in advance for your return.

Docker image manifest

Bonjour Benoit,

It seems there is a problem with the docker manifest when trying to retrieve images from ghcr.io (on aarch64 plateform / pi4)

$ docker -v
Docker version 20.10.5+dfsg1, build 55c4c88

$ docker pull ghcr.io/benoit3/diematic_to_mqtt:latest
latest: Pulling from benoit3/diematic_to_mqtt
manifest unknown

$ uname -a
Linux xxxx 6.1.47-v8+ #1674 SMP PREEMPT Fri Aug 25 13:17:22 BST 2023 aarch64 GNU/Linux

Invalid zone B NightTargetTemp & zone B AntiiceTargetTemp (typo)

Salut Benoît,

Thanks for sharing this code. This issue to raise a typo seen in the code Diematic3Panel.py between TargetTemp and TempTarget

			self._zoneBNightTempTarget=self.float10(self.registers[DDREGISTER.CONS_NUIT_B]);
			self._zoneBAntiiceTempTarget=self.float10(self.registers[DDREGISTER.CONS_ANTIGEL_B]);

[...]

			self._zoneBNightTempTarget=None;
			self._zoneBAntiiceTempTarget=None;

should be :

			self._zoneBNightTargetTemp=self.float10(self.registers[DDREGISTER.CONS_NUIT_B]);
			self._zoneBAntiiceTargetTemp=self.float10(self.registers[DDREGISTER.CONS_ANTIGEL_B]);

[...]

			self._zoneBNightTargetTemp=None;
			self._zoneBAntiiceTargetTemp=None;

Compatibility issue with Paho-MQTT 2.0

Hi
After upgrading Paho-MQTT to version 2.0 there is a “callback_api_version” issue without possibility to launch the diematic service. So to make it compatible with paho-mqtt 2.0, there is a quick fix by just changing in Diematic32MQTT.py Line 322

client = mqtt.Client()

to

client = mqtt.Client(mqtt.CallbackAPIVersion.VERSION1)

Merci
Rofiq

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.