NEWS
HDG Heizung über Waveshare Modbus Gateway
-
@Ganner86 Hey, danke für deine Antwort.
Welcher Adapter ist das denn? Am Netz hab ich die Heizung schon.
Grüße, Tim
@Strike498
https://www.iobroker.net/#de/adapters/adapterref/iobroker.hdg-bavaria/README.md
Das ist der Adapter. Wird leider vom Entwickler nicht mehr weiter gepflegt. Hatte kurzfristig Mailkontakt mit ihm. Diesen Adapter verwende ich in einer angepassten Form da er in der Ursprungsversion nicht mit meiner Steuerung funktioniert hat. Sollte im iob in der Adapter Liste aber auch zu finden sein. -
@Strike498
https://www.iobroker.net/#de/adapters/adapterref/iobroker.hdg-bavaria/README.md
Das ist der Adapter. Wird leider vom Entwickler nicht mehr weiter gepflegt. Hatte kurzfristig Mailkontakt mit ihm. Diesen Adapter verwende ich in einer angepassten Form da er in der Ursprungsversion nicht mit meiner Steuerung funktioniert hat. Sollte im iob in der Adapter Liste aber auch zu finden sein. -
Habe ihn jetzt über Github installiert, da er bei mir in der Adapter Liste nicht zu finden war.
Was hast du denn noch geändert am Adapter? Ich bekomme schon einige Werte, nur bei manchen steht „unbekannt“ oder einfach nichts drin.@Strike498 Ich hatte mir den Adapter geforked und den request geändert da meine Steuerung nicht auf den request des original Adapter reagiert hat. Zusätzlich hab ich mir noch den Brauchwasserspeicher mit aufgenommen und ob eine Störung oder Warnung ansteht. Kenne deine Heizungsanlage nicht, eventuell stellt sie bei den unbekannten Werten keine Daten zur Verfügung. Bin leider selbst kein Entwickler und hab mir den Adapter etwas zurecht gebastelt das er für mich funktioniert.
-
@Strike498 Ich hatte mir den Adapter geforked und den request geändert da meine Steuerung nicht auf den request des original Adapter reagiert hat. Zusätzlich hab ich mir noch den Brauchwasserspeicher mit aufgenommen und ob eine Störung oder Warnung ansteht. Kenne deine Heizungsanlage nicht, eventuell stellt sie bei den unbekannten Werten keine Daten zur Verfügung. Bin leider selbst kein Entwickler und hab mir den Adapter etwas zurecht gebastelt das er für mich funktioniert.
-
@Ganner86
Der Kessel ist ein HDG F20(E) Stückholzkessel.
Vom Adapter anpassen habe ich leider gar keine Ahnung.@Strike498
Hab leider auch sehr wenig Ahnung von der Adapter Entwicklung. Da du einen Stückholzkessel hast werden sich die ID's die in der Steuerung angefragt werden teilweise zu den Pelletkessel unterscheiden. Ich hatte mir die benötigten ID's über die webvisu von der Steuerung mit den Entwicklertools vom Chrome raus gelesen und dann händisch im Adapter rein gebastelt. Wollte vor einiger Zeit mal in die Entwicklung von Adapter einsteigen, finde aber nicht so wirklich einen roten Faden.
Theoretisch kannst du die Daten von der Steuerung auch mit einem blockly Script zyklisch abfragen und in eigene Datenpunkte im iob schreiben lassen. Die Abfrage die an die HDG geht ist ein post request, hatte mit da testweise mal ein blockly gebaut. -
@Strike498
Hab leider auch sehr wenig Ahnung von der Adapter Entwicklung. Da du einen Stückholzkessel hast werden sich die ID's die in der Steuerung angefragt werden teilweise zu den Pelletkessel unterscheiden. Ich hatte mir die benötigten ID's über die webvisu von der Steuerung mit den Entwicklertools vom Chrome raus gelesen und dann händisch im Adapter rein gebastelt. Wollte vor einiger Zeit mal in die Entwicklung von Adapter einsteigen, finde aber nicht so wirklich einen roten Faden.
Theoretisch kannst du die Daten von der Steuerung auch mit einem blockly Script zyklisch abfragen und in eigene Datenpunkte im iob schreiben lassen. Die Abfrage die an die HDG geht ist ein post request, hatte mit da testweise mal ein blockly gebaut. -
@Ganner86 Habe mir jetzt auch mal eine ID rausgesucht, mit der ich es probieren will. Habe nur leider absolut keinen Ansatz wie ich da Daten erhalten kann über blockly.
@Strike498 sagte in HDG Heizung über Waveshare Modbus Gateway:
Habe nur leider absolut keinen Ansatz wie ich da Daten erhalten kann über blockly
Hallo ihr beide!
Mit Modbus hab ich schon viel experimentiert und auch hingekriegt. Habt ihr den IOB-Modbus-Adapter schon probiert? Der Konverter müsste etwa so konfiguriert werden:

Und der IOB-Modbus-Adapter - wahrscheinlich Holding-Register:


EDIT: Wenn dann Datenpunkte im IOB angezeigt werden, könnt ihr mit Blockly oder JS gut weiterarbeiten.
Vielleicht hilft euch das.Gruß, Fuzzy1955
-
@Strike498 sagte in HDG Heizung über Waveshare Modbus Gateway:
Habe nur leider absolut keinen Ansatz wie ich da Daten erhalten kann über blockly
Hallo ihr beide!
Mit Modbus hab ich schon viel experimentiert und auch hingekriegt. Habt ihr den IOB-Modbus-Adapter schon probiert? Der Konverter müsste etwa so konfiguriert werden:

Und der IOB-Modbus-Adapter - wahrscheinlich Holding-Register:


EDIT: Wenn dann Datenpunkte im IOB angezeigt werden, könnt ihr mit Blockly oder JS gut weiterarbeiten.
Vielleicht hilft euch das.Gruß, Fuzzy1955
@fuzzy1955 Vielen Dank für die Antwort. Ich selbst nutze keinen Modbus für die Kommunikation mit der Heizungssteuerung sondern die API der Webvisu über den ioBroker Adapter den ich mir etwas angepasst habe damit die Kommunikation funktioniert. Der Ursprungsadapter verwendet im Request einen String was bei mir nicht funktioniert hat da meine Steuerung als Request ein JSON Objekt mit jeweils 2 Key-Value Pairs pro Datenpunkt/ID erwartet. Zusätzlich habe ich mir noch ein zwei ID´s eingebaut die nicht vorhanden waren. Funktioniert bisher auch tadellos. Da ich leider kein Entwickler bin und wenig bis gar keine Ahnung von der Adapterentwicklung habe kann ich hier wenig unterstützen.
Da @strike498 einen anderen Kessel hat (Stückholz statt Pellet) werden bei ihm verschiedene Daten fehlen und andere keine Werte bringen da sie in der Steuerung nicht vorhanden sind.
Wenn ich mir das ganze so anschaue gibt es 3 Varianten wie man da die Kuh vom Eis bekommt:-
Möglichkeit: Modbus weiter testen bis es funktioniert. Hierbei würde ich die Verkabelung überprüfen und nach den Abschlusswiderständen schauen und kontrollieren welchen der rs485 Anschlüsse für die übergeordnete Steuerung ist. An meiner Touch XL gibt es 3 Anschlüsse wovon einer für die Kommunikation mit dem Kesselschaltfeld ist, frag mich bitte nicht an welchen der 3 man sich da andocken kann, da kann vermutlich nur der Support oder try&error helfen. Weiterhin brauchen RS485 Verbindungen Abschlusswiderstände an den Enden, manche Steuerungen haben diese integriert und können per DIP Schalter zugeschaltet werden, so auch die Heizungssteuerung, andere brauchen einen externen Abschlusswiederstand. Ich hatte ein ähnliches Problem vor einiger Zeit bei der Verbindung eines WAGO Controllers mit einer Steuerung eines Almig Schraubenkompressor. Da lag es letztendlich an einem fehlenden Abschlusswiederstand am WAGO Controller. Was man hier ggf. machen könnte wäre sich einen simplen rs485-USB converter zu besorgen und mit einem Laptop und einem Modbus Tester zu probieren bis man die richtigen Paramerter eingestellt hat und die Kommunikation steht, dann kann man sie auf den MODBUS-ETH Adapter übertragen und schauen das die Verbindung zum ioBroker klappt.
Edith: Die korrekten Pins sind wohl X4:1-3 habe ich gerade im Symcon Forum gelesen. -
Möglichkeit: ioBroker Adapter Anpassen
-
Möglichkeit: Blockly script/Javascript bauen und zyklisch in einem definierten Intervall die Daten von der Webvisu abfragen und in selbst erstellte Datenpunkte im iob schreiben zu lassen. Ich habe mir damals das Programm "Postman" auf meinem PC installiert und über die Entwicklertools vom Chrome den Netzwerktraffic angeschaut und mir dann in Postman einen Request nachgebaut. Diesen dann in ein Blockly/Java Script im iob übertragen.
-
-
@fuzzy1955 Vielen Dank für die Antwort. Ich selbst nutze keinen Modbus für die Kommunikation mit der Heizungssteuerung sondern die API der Webvisu über den ioBroker Adapter den ich mir etwas angepasst habe damit die Kommunikation funktioniert. Der Ursprungsadapter verwendet im Request einen String was bei mir nicht funktioniert hat da meine Steuerung als Request ein JSON Objekt mit jeweils 2 Key-Value Pairs pro Datenpunkt/ID erwartet. Zusätzlich habe ich mir noch ein zwei ID´s eingebaut die nicht vorhanden waren. Funktioniert bisher auch tadellos. Da ich leider kein Entwickler bin und wenig bis gar keine Ahnung von der Adapterentwicklung habe kann ich hier wenig unterstützen.
Da @strike498 einen anderen Kessel hat (Stückholz statt Pellet) werden bei ihm verschiedene Daten fehlen und andere keine Werte bringen da sie in der Steuerung nicht vorhanden sind.
Wenn ich mir das ganze so anschaue gibt es 3 Varianten wie man da die Kuh vom Eis bekommt:-
Möglichkeit: Modbus weiter testen bis es funktioniert. Hierbei würde ich die Verkabelung überprüfen und nach den Abschlusswiderständen schauen und kontrollieren welchen der rs485 Anschlüsse für die übergeordnete Steuerung ist. An meiner Touch XL gibt es 3 Anschlüsse wovon einer für die Kommunikation mit dem Kesselschaltfeld ist, frag mich bitte nicht an welchen der 3 man sich da andocken kann, da kann vermutlich nur der Support oder try&error helfen. Weiterhin brauchen RS485 Verbindungen Abschlusswiderstände an den Enden, manche Steuerungen haben diese integriert und können per DIP Schalter zugeschaltet werden, so auch die Heizungssteuerung, andere brauchen einen externen Abschlusswiederstand. Ich hatte ein ähnliches Problem vor einiger Zeit bei der Verbindung eines WAGO Controllers mit einer Steuerung eines Almig Schraubenkompressor. Da lag es letztendlich an einem fehlenden Abschlusswiederstand am WAGO Controller. Was man hier ggf. machen könnte wäre sich einen simplen rs485-USB converter zu besorgen und mit einem Laptop und einem Modbus Tester zu probieren bis man die richtigen Paramerter eingestellt hat und die Kommunikation steht, dann kann man sie auf den MODBUS-ETH Adapter übertragen und schauen das die Verbindung zum ioBroker klappt.
Edith: Die korrekten Pins sind wohl X4:1-3 habe ich gerade im Symcon Forum gelesen. -
Möglichkeit: ioBroker Adapter Anpassen
-
Möglichkeit: Blockly script/Javascript bauen und zyklisch in einem definierten Intervall die Daten von der Webvisu abfragen und in selbst erstellte Datenpunkte im iob schreiben zu lassen. Ich habe mir damals das Programm "Postman" auf meinem PC installiert und über die Entwicklertools vom Chrome den Netzwerktraffic angeschaut und mir dann in Postman einen Request nachgebaut. Diesen dann in ein Blockly/Java Script im iob übertragen.
@Ganner86 sagte in HDG Heizung über Waveshare Modbus Gateway:
Modbus weiter testen bis es funktioniert. Hierbei würde ich die Verkabelung überprüfen und nach den Abschlusswiderständen schauen und kontrollieren welchen der rs485 Anschlüsse für die übergeordnete Steuerung ist.
korrekt!
ich kenne mich leider nicht mit dem RTU2ETH Umsetzer aus. Vermute aber das Problem an dessen Konfiguration.Daher jetzt die Frage;
liegt bei Verbindung des Touch via LAN dort bereits Modbus TCP an? -
-
@Ganner86 sagte in HDG Heizung über Waveshare Modbus Gateway:
Modbus weiter testen bis es funktioniert. Hierbei würde ich die Verkabelung überprüfen und nach den Abschlusswiderständen schauen und kontrollieren welchen der rs485 Anschlüsse für die übergeordnete Steuerung ist.
korrekt!
ich kenne mich leider nicht mit dem RTU2ETH Umsetzer aus. Vermute aber das Problem an dessen Konfiguration.Daher jetzt die Frage;
liegt bei Verbindung des Touch via LAN dort bereits Modbus TCP an?@Homoran An meiner Touch XL Steuerung gibt es 1 LAN Schnittstelle fürs Netzwerk und Fernwartung durch den Hersteller (Webserver mit Visu) sowie 3 RS485 Schnittstellen. Was ich gerade in einem Symcon Forum gelesen habe ist es wohl die RS Schnittstelle an der Klemmleiste X4 Pins 1-3 (Bezeichnung RS485-2 Extern).
Was ich im Beitrag von @strike498 gelesen habe ist das es Fehlermeldungen vom FC100 gibt, das ist die Funktion für einzelne Coils (Bits) zu lesen, das wird nicht gehen da man höchstwahrscheinlich nur komplette Register lesen kann. Jedenfalls habe ich in meiner Beschreibung der Modbus Adressen nur Register gefunden und keine Coils, da würde ich an seiner Stelle mal ansetzen. -
@Homoran An meiner Touch XL Steuerung gibt es 1 LAN Schnittstelle fürs Netzwerk und Fernwartung durch den Hersteller (Webserver mit Visu) sowie 3 RS485 Schnittstellen. Was ich gerade in einem Symcon Forum gelesen habe ist es wohl die RS Schnittstelle an der Klemmleiste X4 Pins 1-3 (Bezeichnung RS485-2 Extern).
Was ich im Beitrag von @strike498 gelesen habe ist das es Fehlermeldungen vom FC100 gibt, das ist die Funktion für einzelne Coils (Bits) zu lesen, das wird nicht gehen da man höchstwahrscheinlich nur komplette Register lesen kann. Jedenfalls habe ich in meiner Beschreibung der Modbus Adressen nur Register gefunden und keine Coils, da würde ich an seiner Stelle mal ansetzen.@Ganner86 sagte in HDG Heizung über Waveshare Modbus Gateway:
das es Fehlermeldungen vom FC100 gibt, das ist die Funktion für einzelne Coils (Bits) zu lesen, das wird nicht gehen da man höchstwahrscheinlich nur komplette Register lesen kann.
das have ich auch gedacht, @strike498 hat aber angeblich nur bei input resp. Holdingregister etwas eingetragen.
kann der Rtu2eth Konverter da etwas verursachen?
-
@Ganner86 sagte in HDG Heizung über Waveshare Modbus Gateway:
das es Fehlermeldungen vom FC100 gibt, das ist die Funktion für einzelne Coils (Bits) zu lesen, das wird nicht gehen da man höchstwahrscheinlich nur komplette Register lesen kann.
das have ich auch gedacht, @strike498 hat aber angeblich nur bei input resp. Holdingregister etwas eingetragen.
kann der Rtu2eth Konverter da etwas verursachen?
@Homoran Puh da bin ich etwas überfragt, hab leider solch einen Konverter nicht da um mal zu schauen. Generell ist es so das man den richtigen Funktionscode nutzen muss um was raus zu bekommen. Wenn ich nicht ganz auf dem Holzweg bin waren die Inputregister read only und Holding register r/w. Demnach müsste in der Konfig des adapters m.M.n die Funktion für read Input Register genutzt werden und dann die korrekte Adresse ggf mit offset.
-
@Homoran Puh da bin ich etwas überfragt, hab leider solch einen Konverter nicht da um mal zu schauen. Generell ist es so das man den richtigen Funktionscode nutzen muss um was raus zu bekommen. Wenn ich nicht ganz auf dem Holzweg bin waren die Inputregister read only und Holding register r/w. Demnach müsste in der Konfig des adapters m.M.n die Funktion für read Input Register genutzt werden und dann die korrekte Adresse ggf mit offset.
@Ganner86 Da sind wir uns beide einig!
@strike498 hatte
FCirrtümlich für einen FehlerCode statt FunctionCode gehaltenWenn der sich nochmal meldet, sollte er mal in der Registerkonfig unter coils nachsehen
wenn da was steht, löschen.
Dann müssen wir eben nochmal von vorne beginnen -
@Ganner86 Da sind wir uns beide einig!
@strike498 hatte
FCirrtümlich für einen FehlerCode statt FunctionCode gehaltenWenn der sich nochmal meldet, sollte er mal in der Registerkonfig unter coils nachsehen
wenn da was steht, löschen.
Dann müssen wir eben nochmal von vorne beginnen@Homoran Ja ein reset wäre eventuell ein Ansatz sodass mit einer frischen Konfig neu angefangen wird. Modbus ist an sich schon etwas zickig, mit einem ETH Konverter dazwischen kann das recht wild werden.
Hatte im SPS Bereich diverse male Berührungpunkte mit Modbus auf RS485 und mich daher damals dafür entschieden den Weg über den iobroker Adapter und die Webvisu zu gehen. Vielleicht besorge ich mir mal noch einen RTU-ETH Adapter und spiele etwas damit rum nur um mich ein wenig zu quälen :-) .
Man bekommt via Modbus aus der Steuerung mehr Infos raus, weshalb es natürlich schon interessant wäre.
Leider hab ich bis jetzt noch keinen Ansatz gefunden wie ich in das Thema Adapterentwicklung richtig rein komme sonst hätte ich den ioBroker Adapter für die HDG weiter entwickelt und betreut. -
@fuzzy1955 Vielen Dank für die Antwort. Ich selbst nutze keinen Modbus für die Kommunikation mit der Heizungssteuerung sondern die API der Webvisu über den ioBroker Adapter den ich mir etwas angepasst habe damit die Kommunikation funktioniert. Der Ursprungsadapter verwendet im Request einen String was bei mir nicht funktioniert hat da meine Steuerung als Request ein JSON Objekt mit jeweils 2 Key-Value Pairs pro Datenpunkt/ID erwartet. Zusätzlich habe ich mir noch ein zwei ID´s eingebaut die nicht vorhanden waren. Funktioniert bisher auch tadellos. Da ich leider kein Entwickler bin und wenig bis gar keine Ahnung von der Adapterentwicklung habe kann ich hier wenig unterstützen.
Da @strike498 einen anderen Kessel hat (Stückholz statt Pellet) werden bei ihm verschiedene Daten fehlen und andere keine Werte bringen da sie in der Steuerung nicht vorhanden sind.
Wenn ich mir das ganze so anschaue gibt es 3 Varianten wie man da die Kuh vom Eis bekommt:-
Möglichkeit: Modbus weiter testen bis es funktioniert. Hierbei würde ich die Verkabelung überprüfen und nach den Abschlusswiderständen schauen und kontrollieren welchen der rs485 Anschlüsse für die übergeordnete Steuerung ist. An meiner Touch XL gibt es 3 Anschlüsse wovon einer für die Kommunikation mit dem Kesselschaltfeld ist, frag mich bitte nicht an welchen der 3 man sich da andocken kann, da kann vermutlich nur der Support oder try&error helfen. Weiterhin brauchen RS485 Verbindungen Abschlusswiderstände an den Enden, manche Steuerungen haben diese integriert und können per DIP Schalter zugeschaltet werden, so auch die Heizungssteuerung, andere brauchen einen externen Abschlusswiederstand. Ich hatte ein ähnliches Problem vor einiger Zeit bei der Verbindung eines WAGO Controllers mit einer Steuerung eines Almig Schraubenkompressor. Da lag es letztendlich an einem fehlenden Abschlusswiederstand am WAGO Controller. Was man hier ggf. machen könnte wäre sich einen simplen rs485-USB converter zu besorgen und mit einem Laptop und einem Modbus Tester zu probieren bis man die richtigen Paramerter eingestellt hat und die Kommunikation steht, dann kann man sie auf den MODBUS-ETH Adapter übertragen und schauen das die Verbindung zum ioBroker klappt.
Edith: Die korrekten Pins sind wohl X4:1-3 habe ich gerade im Symcon Forum gelesen. -
Möglichkeit: ioBroker Adapter Anpassen
-
Möglichkeit: Blockly script/Javascript bauen und zyklisch in einem definierten Intervall die Daten von der Webvisu abfragen und in selbst erstellte Datenpunkte im iob schreiben zu lassen. Ich habe mir damals das Programm "Postman" auf meinem PC installiert und über die Entwicklertools vom Chrome den Netzwerktraffic angeschaut und mir dann in Postman einen Request nachgebaut. Diesen dann in ein Blockly/Java Script im iob übertragen.
-
-
@Ganner86 Prinzipiell ist es mir egal welche der genannten Möglichkeiten ich umsetze, leider bin ich weder bei dem einen noch bei dem anderen sonderlich bewandert.
@Strike498 Dann überprüfe doch bitte nochmal deibe Registerkonfiguration
@Ganner86 sagte in HDG Heizung über Waveshare Modbus Gateway:
Fehlermeldungen vom FC100 gibt, das ist die Funktion für einzelne Coils (Bits) zu lesen,
-
@Ganner86 Da sind wir uns beide einig!
@strike498 hatte
FCirrtümlich für einen FehlerCode statt FunctionCode gehaltenWenn der sich nochmal meldet, sollte er mal in der Registerkonfig unter coils nachsehen
wenn da was steht, löschen.
Dann müssen wir eben nochmal von vorne beginnen -
@Homoran sagte in HDG Heizung über Waveshare Modbus Gateway:
Wenn der sich nochmal meldet, sollte er mal in der Registerkonfig unter coils nachsehen
Ich finde leider nichts mit Coils. Wo soll ich da nachsehen?
-
Dann müsste sich jemand der sich damit auskennt doch nochmal die Konverterkonfiguration ansehen.
Vielleicht @wendy2702 ??
