NEWS
Stiebel-ISG - Modbus
-
Stiebel hatte heute morgen die 12.2.0 aufgespielt. Das FEK mit 416.03 habe ich daraufhin wieder montiert und es funktioniert alles wunderbar. Werte werden nun vernünftig ausgetauscht. Ich nutze nun die SG-Ready Modbus Adresse zum aktivieren von PV-Überschuss Nutzung, der erhöht dann ja selbst das SOLL von WW und Heizung Erster Test eben grad funktionierte wunderbar, hat bei Schaltung von Eingang 1 auf "1" auf Betriebszustand 3 gewechselt und Wasser auf den gewünschten Wert aufgeheizt (55° statt 50°)
Stromverbrauch ist immer noch die große Frage ob die Werte aus der Heizung selbst korrekt sind
Vielleicht baue ich noch einen Zwischenzähler ein ... in 2 Jahren haben wir hier angeblich 3800kWh für die Heizung verbraucht. Hatten rund 3000 Stunden Laufzeit (Heizung und Warmwasser) was immer ca. 1.3kW zieht. Könnte also fast passen...Betriebszustand auslesen bin ich noch dabei. Ich vergleiche da nochmal aus der CSV-Datei. Letztendlich funktioniert nun aber alles
-
Mein ISG:
Ich habe das Problem, dass ich die Modbus-Adresse für den Temperaturfühler in der Wärmepumpe nicht finde :/. Den Fühler der Anlage fand ich problemlos, nur den der Wärmepumpe nicht.
Würde gerne einen Vergleich mit Grafana anzeigen lassen
Hat den schon jemand gefunden?
-
@thomas-austria
Also die auf meiner Github-Seite verlinkten Adressen sind alle, die es laut Anleitung gibt. Leider sind nicht alle Datenpunkte der Weboberfläche auch als Modbus-Adresse verfügbar. -
Hallo Zusammen,
gibt es auch die Möglichkeit die Steuerung einer alten LWZ303Sol mit dem EIB Bedienteil abzufragen und zu steuern?
Verbindung zum USB Anschluss geht mit RS232 auf USB geht und die Servicesoftware funktioniert auch: https://www.stiebel-eltron.ch/de/home/service/service-partner/software/software_lwz.html
Hat hiermit jemand Erfahrungen mit ioBroker?
VG Jörg
-
Ich würde gerne erfassen, wie lange der Verdichter meiner TTF05 lief und wie lange meine Anlage warmes Wasser bereitet hat.
Das Script ist nicht das Problem, allerdings fehlt mir der Auslöser. Gibt es ein Register, wo der Zustand des Verdichters (true/false) abgebildet wird. Hier könnte ich evtl. noch mit dem Volumenstrom arbeiten, sobald der >0 ist kann die Zeitrechnung starten, aber wie kann ich die Warmwasseraufbereitung erfassen?
Jemand ne IDee für mich?
LG
Frank -
@jb_mystery sagte in Stiebel-ISG - Modbus:
Hallo,
auch ich habe letzte Woche mein ISGplus updaten lassen, damit es Modbus fähig ist. Ich betreibe es an einer LWZ304 bei der die nachfolgenden Werte funktionieren:
- 32001 Betriebsstatus
- 32002 Fehlerstatus
- 32003 BUS-Status
- 33001 WM-Heizen-Tag
- 33002 WM-Heizen-Summe
- 33003 WM-Heizen-Summe
- 33004 WM-WW-Tag
- 33005 WM-WW-Summe
- 33006 WM-WW-Summe
- 33007 WM-NE-Heizen-Summe
- 33008 WM-NE-Heizen-Summe
- 33009 WM-NE-WW-Summe
- 33010 WM-NE-WW-Summe
- 33011 WM-WRG-Tag
- 33012 WM-WRG-Summe
- 33013 WM-WRG-Summe
- 33022 P-Heizung-Tag
- 33023 P-Heizung-Summe
- 33024 P-Heizung-Summe
- 33025 P-WW-Tag
- 33026 P-WW-Summe
- 33027 P-WW-Summe
- 33028 Verdichter-Heizen
- 33029 Verdichter-Kuehlen
- 33030 Verdichter-WW
- 33031 Elektr-NE-Heizen
- 33032 Elektr-NE-WW
Um den Betriebsstatus zuzuordnen, benutze ich das nachfolgende Script, welches pro Änderung gestartet wird.
myDez = getState('modbus.2.inputRegisters.32001_Betriebsstatus').val; myBin = myDez.toString(2).padStart(16, "0"); if (myBin.charAt(1)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.Aufheizprogtamm_Aktiv", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.Aufheizprogtamm_Aktiv", false); if (myBin.charAt(2)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.Filterwechsel_Zuluft", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.Filterwechsel_Zuluft", false); if (myBin.charAt(3)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.Filterwechsel_Abluft", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.Filterwechsel_Abluft", false); if (myBin.charAt(4)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.Abtauen_Verdampfer", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.Abtauen_Verdampfer", false); if (myBin.charAt(5)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.Heizkreispumpe", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.Heizkreispumpe", false); if (myBin.charAt(6)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.Lueftung", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.Lueftung", false); if (myBin.charAt(7)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.Filterwechsel_Beide", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.Filterwechsel_Beide", false); if (myBin.charAt(8)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.EVU_Sperre", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.EVU_Sperre", false); if (myBin.charAt(9)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.Service", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.Service", false); if (myBin.charAt(10)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.Elektrische_Nacherwaermung", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.Elektrische_Nacherwaermung", false); if (myBin.charAt(11)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.Warmwasserbereitung", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.Warmwasserbereitung", false); if (myBin.charAt(12)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.Kuehlen", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.Kuehlen", false); if (myBin.charAt(13)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.Heizen", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.Heizen", false); if (myBin.charAt(14)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.Verdichter", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.Verdichter", false); if (myBin.charAt(15)=="1") setState("stiebel-isg.0.Info.ANLAGE.STATUS.Schaltprogramm_Aktiv", true); else setState("stiebel-isg.0.Info.ANLAGE.STATUS.Schaltprogramm_Aktiv", false);
Geht eines der oben geschriebenen Register bei deiner Anlage? Bei mir triggere ich auf die Bits aus dem Betriebstatus.
-
@jb_mystery
Meine Anleitung zur Modbus-Anbindung enthält ein Skript, das die verschiedenen Werte auflistet. Oder habe ich das Anliegen falsch verstanden? -
@unltdnetworx
Ich denke wir verstehen es gleich. Wir machen ja beide quasi das Selbe. Jetzt schauen wir mal, ob es @frana120500 hilft.
Deine Anleitung kannte ich so noch nicht, aber sieht super aus. -
@jb_mystery
Da stehen vor allem alle Datenpunkte für alle Heizungstypen schon vorgefertigt drin. Zumindest die, die zum damaligen Zeitpunkt in der Anleitung von Stiebel-Eltron standen.
Da war mir mal langweilig -
@jb_mystery Meine Register sehen gänzlich anders aus.
Auf den Betriebstatus triggern bringt mir nix, da der bei mir dann nur schreibt, welcher Betriebstatus eingestellt ist. Ich müsste ein Register haben, wo ich sehe, dass der Verdichter angelaufen ist (0 oder 1; true oder false) oder ob die WW Bereitung läuft.
-
@frana120500
Der Betriebszustand ist bicodiert und enthält je nach Wärmepumpe verschiedene Werte. Aber Verdichter sollte dabei sein.
Lies dir mal die oben erwähnte Anleitung durch. -
aaaaaahhhhhh jetzt sehe ich es auch. Danke. Hatte ich völlig verdrängt.
-
Habe dein Script laufen, aber sämtliche DP bleiben auf false, obwohl die Wärmepumpe gerade läuft (Heizung & WW)
Eine Idee was da falsch läuft?
-
@frana120500
Ist es denn die passende Heizung zum Skript? Es gibt nämlich, glaube ich, vier verschiedene Skripte, je nach Heizungstyp.Vermutlich aber schon, wenn du die Datenpunkte und das Skript aus dem gleichen Ordner genommen hast.
Das Skript muss natürlich auch auf den entsprechenden Modbus Wert verweisen. Falls deine Wert für Betriebsstatus anders benannt ist, musst du das natürlich im Skript anpassen.
-
Ich habe im Script die Modbusinstanz oben angepasst (bei mir "2"). Das Modbisregister "32501_Betriebsstatus" stimmt bei mir auch und funktioniert auch.
Die Register im modify objects script, welches ich nur 1x habe laufen lassen (das andere läuft dauerhaft), stimmen auch.
-
@frana120500
Das klingt soweit korrekt. Aber alle Werte stehen auf false?
Evtl. muss sich erst etwas ändern, damit das Skript auslöst. Habe es gerade nicht im Kopf. -
selbst wenn ich die Anlage über den Iobroker auf Bereitschaftsbetrieb stelle und wieder zurück auf Programmbetrieb und dann der Verdichter anläuft, ändert sich bei den Datenpunkten nichts.
Der Zeitstempel und das letzte Änderungsdatum stehen auf dem 07.09.2021.
-
@frana120500
Dann löst das Skript offensichtlich nicht aus. Komisch. Das Problem ist, dass ich es bei mir nicht testen kann, da ich ein Lüftungsintegralgerät habe.
Stimmt denn der Datenpunkt 1:1 mit der Variable id_betriebsstatus überein?
modbus.2.inputRegisters.32501_BetriebsstatusEvtl. mal im Objektbaum den Pfad kopieren und direkt drunter einfügen. Vllt. passt hier etwas nicht.
-
soweit ich da blicke stimmt das alles. Ich schaue heute Nachmittag mal in Ruhe zu Hause
-
@frana120500
Alles klar. Halt mich gerne auf dem Laufenden. Evtl. muss das Skript ja angepasst werden.