NEWS
Stiebel-ISG - Modbus
-
@jb_mystery said in Stiebel-ISG - Modbus:
@jojo182
Ich dachte ich schreibe auch mal meine Regelung.
Evtl. gibt das dem ein oder anderen ja Anregungen es für sich modifiziert anzuwenden. Viel Spaß damit.
Habe Heiz-und Warmwasserbetrieb optimiert auf Eigenverbrauch. Meine Werte sind nicht für alle was, da ich ein hochgedämmtes Haus habe und nur alleine lebe. Als Heizungstyp habe ich eine LWZ304Sol, wobei ich die Solarunterstützung nicht habe. Wollte den ganzen Platz lieber für die PV verwenden.Regelwerte:
- Hysterese 1 (Wert für Solarunterstützung, bei mir nicht vorhanden)
- Hysterese 2 (Wert für Wärmepumpe)
- Asymmetrie (Die Hysteresen über Sollwert werden durch diesen Parameter geteilt)
- Fusspunkt (benutzt um Heizkurve nach oben zu schieben; Sollwerterhöhung)
- Max Pumpenzyklen (benutzt, um eine Heizungsbedarfsprüfung zu erzwingen Bsp.: 24h*60min/288Zyklen = alle 5 min Prüfen)
- Warmwassertemperatur
- Warmwasserhysterese
- Lüftungsstufe
Bei Sonnenstart (Heizung freigeben):
- Hysterese 1 - 2
- Hysterese 2 - 2
- Asymmetrie - 1
- Fusspunkt - 1,5
=> Einschalten bei 2K unter Solltemperatur und Ausschalten bei 1K über.
5 min vor Sonnenpeak (Prüfe auf Heizbedarf, dass Verdichter an bleibt nach WW):
- Hysterese 1 - 1,5
- Hysterese 2 - 1,5
- Asymmetrie - 1
- Fusspunkt - 2
- Max Pumpenzyklen - 288
=> Einschalten bei 1,5K unter Solltemperatur und Ausschalten bei 1,5K über. Zudem Heizkurve um 0,5°C angehoben. Prüfe alle 5 min auf Heizbedarf.
Sonnenpeak (Prüfe auf Warmwasserbedarf):
- Hysterese 1 - 2
- Hysterese 2 - 2
- Asymmetrie - 1
- Fusspunkt - 1,5
- Max Pumpenzyklen - 36
- Warmwassertemperatur - 42 oder 45, wenn PV größer 70%
- Warmwasserhysterese - 2,5
=> Standardwerte wieder herstellen und Warmwasserbereitung freigeben.
17:00 Uhr (Warmwasser AUS):
- Warmwassertemperatur - 37
- Warmwasserhysterese - 7
=> Standardwerte Warmwasserbereitung herstellen.
00:00 Uhr (Heizung AUS):
Außentemperatur > 0°C - Hysterese 1 - 8
- Hysterese 2 - 8
- Asymmetrie - 4
- Fusspunkt - 1,5
Außentemperatur > -3°C
- Hysterese 1 - 6
- Hysterese 2 - 6
- Asymmetrie - 3
- Fusspunkt - 1,5
Außentemperatur <= -3°C
- Hysterese 1 - 3,5
- Hysterese 2 - 3,5
- Asymmetrie - 2
- Fusspunkt - 1,5
=> Abhängig der Außentemperatur die Schwellwerte anpassen. Bsp.: Bei >0°C Einschalten bei 8K unter Solltemperatur und Ausschalten bei 2K über.
Hintergründe:
- Eigenverbrauch optimieren.
- Bin kalt Duscher, deswegen Warmwasser so gering.
- Warmwasserbereitung nach Peak bis ca. PV zu gering.
- Wenn PV >70% dann Warmwasser erhöhen.
- Wenn Warmwasser doch zu kalt dann richtig hochheizen.
- Heizung nachts ausschalten abhängig der Außentemperatur
- Wenn Heizung nachts doch an, dann richtig hochheizen
- Vor Warmwasserbereitung Heizbedarf prüfen, um Verdichterstarts zu reduzieren.
- Lüftungsstufe 1, wenn Verdichter AN (bessere Leistungszahl Wärmepumpe)
@jb_mystery said in Stiebel-ISG - Modbus:
@jojo182
Ich dachte ich schreibe auch mal meine Regelung.
Evtl. gibt das dem ein oder anderen ja Anregungen es für sich modifiziert anzuwenden. Viel Spaß damit.
Habe Heiz-und Warmwasserbetrieb optimiert auf Eigenverbrauch. Meine Werte sind nicht für alle was, da ich ein hochgedämmtes Haus habe und nur alleine lebe. Als Heizungstyp habe ich eine LWZ304Sol, wobei ich die Solarunterstützung nicht habe. Wollte den ganzen Platz lieber für die PV verwenden.Regelwerte:
- Hysterese 1 (Wert für Solarunterstützung, bei mir nicht vorhanden)
- Hysterese 2 (Wert für Wärmepumpe)
- Asymmetrie (Die Hysteresen über Sollwert werden durch diesen Parameter geteilt)
- Fusspunkt (benutzt um Heizkurve nach oben zu schieben; Sollwerterhöhung)
- Max Pumpenzyklen (benutzt, um eine Heizungsbedarfsprüfung zu erzwingen Bsp.: 24h*60min/288Zyklen = alle 5 min Prüfen)
- Warmwassertemperatur
- Warmwasserhysterese
- Lüftungsstufe
Bei Sonnenstart (Heizung freigeben):
- Hysterese 1 - 2
- Hysterese 2 - 2
- Asymmetrie - 1
- Fusspunkt - 1,5
=> Einschalten bei 2K unter Solltemperatur und Ausschalten bei 1K über.
5 min vor Sonnenpeak (Prüfe auf Heizbedarf, dass Verdichter an bleibt nach WW):
- Hysterese 1 - 1,5
- Hysterese 2 - 1,5
- Asymmetrie - 1
- Fusspunkt - 2
- Max Pumpenzyklen - 288
=> Einschalten bei 1,5K unter Solltemperatur und Ausschalten bei 1,5K über. Zudem Heizkurve um 0,5°C angehoben. Prüfe alle 5 min auf Heizbedarf.
Sonnenpeak (Prüfe auf Warmwasserbedarf):
- Hysterese 1 - 2
- Hysterese 2 - 2
- Asymmetrie - 1
- Fusspunkt - 1,5
- Max Pumpenzyklen - 36
- Warmwassertemperatur - 42 oder 45, wenn PV größer 70%
- Warmwasserhysterese - 2,5
=> Standardwerte wieder herstellen und Warmwasserbereitung freigeben.
17:00 Uhr (Warmwasser AUS):
- Warmwassertemperatur - 37
- Warmwasserhysterese - 7
=> Standardwerte Warmwasserbereitung herstellen.
00:00 Uhr (Heizung AUS):
Außentemperatur > 0°C - Hysterese 1 - 8
- Hysterese 2 - 8
- Asymmetrie - 4
- Fusspunkt - 1,5
Außentemperatur > -3°C
- Hysterese 1 - 6
- Hysterese 2 - 6
- Asymmetrie - 3
- Fusspunkt - 1,5
Außentemperatur <= -3°C
- Hysterese 1 - 3,5
- Hysterese 2 - 3,5
- Asymmetrie - 2
- Fusspunkt - 1,5
=> Abhängig der Außentemperatur die Schwellwerte anpassen. Bsp.: Bei >0°C Einschalten bei 8K unter Solltemperatur und Ausschalten bei 2K über.
Hintergründe:
- Eigenverbrauch optimieren.
- Bin kalt Duscher, deswegen Warmwasser so gering.
- Warmwasserbereitung nach Peak bis ca. PV zu gering.
- Wenn PV >70% dann Warmwasser erhöhen.
- Wenn Warmwasser doch zu kalt dann richtig hochheizen.
- Heizung nachts ausschalten abhängig der Außentemperatur
- Wenn Heizung nachts doch an, dann richtig hochheizen
- Vor Warmwasserbereitung Heizbedarf prüfen, um Verdichterstarts zu reduzieren.
- Lüftungsstufe 1, wenn Verdichter AN (bessere Leistungszahl Wärmepumpe)
Hast du das mit Blockly umgesetzt ?
Falls ja, könntest du dein Blockly teilen ?Beste Grüße
-
Ich habe alles mit JavaScript geschrieben. Denke es bringt dann auch nicht direkt was, wenn ich da Schnipsel reinstelle. Es muss ja immer alles angepasst werden an die Gegebenheiten der jeweiligen Hardware. Hoffe das reicht als Info. Die Modbus Parameter kann man ja dann selbst zu den Ereignissen modifizieren.
-
Hallo,
ich stehe kurz vor der Inbetriebnahme eines SMA Wechselrichters und betreibe parallel ein ISG Web (v. 12.2.0) an meiner Wärmepumpe. Da ich mich inzwischen gedanklich von dem Erwerb der EMI-Erweiterung verabschiedet habe und mich erst einmal mit SG Ready versuchen möchte, frage ich mich nun, wie das ISG Web und der Wechselrichter kommunizieren. Bei der EMI-Schnittstelle wäre das über das Heimnetz (LAN) gegangen. Funktioniert das bei SG Ready auch? Oder muss ich noch eine Modbus-Verkabelung zwischen ISG und Wechselrichter herstellen? Oder noch was anderes?
Bin für jeden Tipp dankbar! -
@android51
Hi, also Modbus läuft grundsätzlich auch über LAN und beide Geräte brauchen dafür eine Verbindung mit dem Heimnetz. Das ISG verfügt eigentlich nur über einen Wert 0/1 für Energiemanagement. Wenn dieser Wert auf 1 steht, werden die Werte für Warmwasser und Heizung auf selbst definierbare Werte gesetzt (normalerweise erhöht). Bei Wert 0 werden wieder die Standardwerte eingestellt.Je nachdem welche Werte eingestellt wurden, springt dann die Heizung an. Das ist alles, was hier als "smart" bezeichnet wird.
0/1 werden bei mir mittels ioBroker gesteuert, indem die Einspeisung meiner PV-Anlage ermittelt wird.
-
@unltdnetworx
Danke für die Rückmeldung bzw. Erklärung.
Mein ISG Web hängt logischerweise bereits im Heimnetz und der Wechselrichter wird ebenfalls per LAN eingebunden. Dann sollte der Kommunikationsweg ja gegeben sein. Kann die Kommunikation nicht direkt zwischen Wechselrichter und ISG stattfinden? Kann man die Geräte nicht verknüpfen?
Ich habe auch einen ioBroker in Betrieb. Im Zweifel müsste ich es auch darüber realisieren.
Ich dachte, die Geräte kommunizieren untereinander... -
@android51 said in Stiebel-ISG - Modbus:
Ich dachte, die Geräte kommunizieren untereinander...
Das machen Sie auch - wenn man EMI nutzt. Deine Antwort klingt eigentlich so, als ob EMI das Bessere für dich wäre (und da gibt es dann auch nicht nur 0 und 1, sondern eine feinere Abstufung).
Und wenn Du Geräte mit SG Ready direkt verknüpfen willst, geht das bei entsprechenden Voraussetzungen auch (Stichwort ISG Plus und eine SG Ready kompatible Wärmepumpe mit dafür vorhandenem Eingang).
Per Modbus TCP (wie im Falle des ISG Web) ist das Ganze sehr viel unabhängiger von irgendwelchen spezifischen Implementierungen und setzt auf Standards auf. Aber natürlich kann dein Wechselrichter nicht wissen, hinter welchem Modbus Register der Wärmepumpe sich der SG Ready Schalter verbirgt, oder wann er den überhaupt auslösen soll. Deshalb musst/kanst du das (zum Beispiel über ioBroker) selbst ansteuern, was dir dann auch alle Freiheiten lässt. Willst Du es so dass es einfach ohne Zusatzsoftware/Hardware funktioniert ohne dass Du etwas tun musst, brauchst Du die EMI Variante und einen Installateur der das alles für dich in Betrieb nimmt.
-
@berlinerbolle
Mein Problem ist, dass ich parallel noch eine Solarthermie auf dem Dach betreibe und ich gelesen habe, dass das EMI dies nicht berücksichtigen kann. Zudem habe ich im Allgemeinen viel mehr Schlechtes als Gutes über die EMI Schnittstelle gelesen (Stichwort: Taktung der Wärmepumpe usw.) Ich schließe die EMI Schnittstelle für mich auch nicht gänzlich aus. Ich werde nur erst einmal den Weg über sg ready versuchen und mich da reinfuchsen.
Vielleicht muss ich das eine oder andere nochmal nachfragen. -
Hallo zusammen,
dank der zur Verfügung gestellten Informationen und Beispiele von @unltdnetworx habe ich mir die die letzten Tage den ISG Adapter und Modbus im iobroker eingestellt. Meine WP ist eine Tecalor TTL 7.6 ACS mit dem ISG web.
Funktioniert soweit tadellos und auch die Schaltung mit PV Überschuss und SG Ready Eingang passt.
Die einzige Frage die ich mir stelle, warum schaltet das ISG selbständig ständig zwischen Betriebszustand 1 und 2? Ich logge den Datenpunkt und muss feststellen, nachdem ich den Eingang 1 auf 0 gesetzt habe, wechselt das ISG kurz in Betiebszustand 4 und schaltet dann in 2. Seither wechselt es ständig zwischen 1 und 2. Hat jemand eine Erklärung oder kann selbiges feststellen?
Gemäß Anleitung muss für Betiebszustand 1 eigentlich der SG Ready Eingang 2 geschaltet sein und Eingang 1 nicht, aber Eingang 2 fasse ich überhaupt nicht an.Grüße
Tobi
-
@tippy88
Also ich beschalte nur den Eingang 1 und bei mir springen die Werte nur zwischen Betriebsstatus 2 und 3 hin und her.Hast du vllt. irgendein Skript am Laufen? Weil es ja unterschiedlich lange dauert, bis der Betriebsstatus wechselt. Status 1 wäre ja der Bereitschaftsmodus, das dürfte ja nie der Fall sein.
-
@unltdnetworx said in Stiebel-ISG - Modbus:
Also ich beschalte nur den Eingang 1 und bei mir springen die Werte nur zwischen Betriebsstatus 2 und 3 hin und her.
Ich auch nur.
@unltdnetworx said in Stiebel-ISG - Modbus:
Hast du vllt. irgendein Skript am Laufen? Weil es ja unterschiedlich lange dauert, bis der Betriebsstatus wechselt.
Nur das Skript zum Überschuss heizen. Wenn die Änderung durch ein Skript getriggert wird, dann würde ich dass ja in der histroy von den Eingängen 1 oder 2 sehen, aber da gab es lediglich eine einzige Änderung als ich zum ersten Mal Eingang 1 geschalten und abgeschalten habe.
Hier, letzte Änderung der SG-Ready Eingänge vor 2 Tagen
Allein heute hat sich der Betriebszustand schon dutzende Male geändert zwischen 1 und 2, aber die 1 bleibt immer nur für 1s drin, verstehe ich nicht
Heizung läuft ansonsten komplett normal, von diesen Wechseln merkt man nichts, sie schaltet nicht aus oder so...
-
@unltdnetworx
vielen Dank für deinen Blog, leider kann ich die Kommentarfunktion nicht nutzen. Beim Absenden erhalte ich immer einen Fehler.
Ich erhalte beim Starten des java-scripts "modify-objects" immer Fehlermeldungen. Kannst du mir weiterhelfen, woran es liegen könnte?
Ich habe die var modbus.instanz auf 0 geändert, weil es meine einzige ist. Kann es daran liegen, dass ich inzwischen den Modbus-Adapter in Version 5.0.11 installiert habe. Oder liegt es daran, dass ich nicht alle Modbus Adressen importiert habe, sondern nur die, die ich für mich als notwendig erachte. Heizungstyp ist mit wpm-system auch richtig gewählt.17:34:39.222 error javascript.0 (1486) script.js.Modbus_ISG_Modified_Objects: TypeError: Cannot read property 'common' of null
17:34:39.222 error javascript.0 (1486) at modifyDP (script.js.Modbus_ISG_Modified_Objects:7:17)
17:34:39.222 error javascript.0 (1486) at script.js.Modbus_ISG_Modified_Objects:18:1
17:34:39.223 error javascript.0 (1486) at script.js.Modbus_ISG_Modified_Objects:51:3 -
@android51
Fehler in dem Skript können dadurch auftauchen, dass es manche Datenpunkte bei dir nicht gibt. Darauf deutet auch die Meldung mit "null" hin. Das Skript muss ohnehin nur einmal laufen.
Schau mal in den Datenpunkten nach, ob es dort im Objektebaum nun Dropdowns für die Werte gibt. Z.B.: bei "modbus.1.holdingRegisters.41001_Betriebsart" (bei deiner Heizung vllt. auch anders benannt). Dort sollte dann "Automatikbetrieb(11)" statt dem Wert "11" stehen.
Wenn das so ist, dann hat alles funktioniert und das Skript kann gestoppt werden. -
@unltdnetworx
es hat jetzt offenbar funktioniert. Aber die Betriebsart wird weiterhin bei mir mit 3, anstatt Komfortbetrieb.
41520_Reset wurde auch nicht modifiziert. -
@android51
Dieses Skript ist ja erst mal nur eine "Komfortfunktion" für besser lesbare Werte, beeinträchtigt die Funktion aber nicht. Damit kann kannst du dich im Nachgang nochmal beschäftigen. Klappt es mit dem anderen Skript? Achtung, das zweite Skript muss durchgehend laufen. -
@unltdnetworx
ja, das andere Script funktioniert. Vielen Dank!
Theoretisch müsste ich doch die beiden fehlenden Werte (z. B. Komfortbetrieb) auch händisch in den Objektdaten ergänzen können (3 = Komfortbetrieb usw. ). Kann mir das ja von einen anderen, über das erste Script ergänzte Werte, abgucken, oder?
z. B. "states": "{"0":"UNBESCHALTET","1":"GESCHALTET"}" -
@android51
Das kann man auch händisch im Objektbaum mit aktiviertem Expertenmodus ändern. Mittels Klick auf den Stift (Objekt bearbeiten) ganz hinten in der Zeile zum Wert, neben dem Papierkorb-Symbol.
Bei mir sieht die Zeile (common.states) für die Betriebsart im Modbusadapter (modbus.0.holdingRegisters.41001_Betriebsart) so aus:"states": "{\"11\":\"AUTOMATIK\",\"1\":\"BEREITSCHAFT\",\"3\":\"TAGBETRIEB\",\"4\":\"ABSENKBETRIEB\",\"5\":\"WARMWASSER\",\"14\":\"HANDBETRIEB\",\"0\":\"NOTBETRIEB\"}"
-
Gelöst: Im Modbus-Adapter fehlte bei mir bei Verbindungsparameter der Eintrag Typ: "Master". Das war erstmal nicht aufgefallen, da ja die Kommunikation anscheinend funktionierte (Adapter war grün und es kamen Daten). Nachdem ich "Master" aktiviert habe und die Register nochmal frisch eingeladen habe, funktionierte es wieder wie gewollt. (Im Modbus Adapter V5.x erscheint dieser Eintrag eher "unauffällig", wenn nicht gefüllt.)
~~@tippy88 Hast Du das mit dem Eingang 1 lösen können? Ich beobachte bei mir auch, dass wenn ich den Eingang 1 schalte, dieser nach ca 2 sec wieder zurück schaltet.
Prinzipiell reagiert das ISG dann auch und schaltet in Modus 3. Aber der Status ist nicht eindeutig steuerbar und fällt wieder zurück. (Skripte laufen keine, außer das lueftungsintegralgeraet.js )Damit verbunden die Frage in die Runde: Ist es richtig, dass der angezeigte Status im Modbus-Adapter (null) angezeigt wird? Generell habe ich das Problem, dass die Holding-Register (trotz Abarbeiten der Anleitung von @unltdnetworx (Vielen Dank Dir), nachdem ich das System leider neu aufsetzen musste, nicht mehr "grün" angezeigt werden und die Temperaturwerte z.B. alle auf "0" sind. Die Input-Register funktionieren wie erwartet.
Ich hatte im November schonmal "geübt" (die PV-Anlage war noch nicht fertig) und da hat dann alles nach Anleitung funktioniert, und ich konnte dann per VIS den Eingang manuell schalten und die WP hat den Status entsprechend geändert.
Jetzt wo die PV-Anlage endlich produktiv ist, war nach einem Update des Systems der iobroker kaputt und ich musste nach einigen Reparaturversuchen alles neu aufsetzen. Seitdem versuche ich seit Stunden den SG_Ready_Eingang1 (4002) wieder wie gewohnt nutzen zu können. Hat noch jemand Tipps?
(Setup: Tecalor THZ404, ISG Web mit V12.2.1, Modbus-Adapter, iobroker auf MX Linux Wildflower, Holding register kopiert aus stiebel-modbus/lueftungsintegralgeraet/modbus-adapter-version-3/)Vielen Dank im Voraus
Kai~~ -
@unltdnetworx
ich setze mich nunmehr mit deinem Script "Heizung bei PV-Überschuss..." auseinander. Ich verstehe nicht so ganz, was es mit dem Wert "Heizstufe" aus dem ISG-Adapter auf sich hat.
Zitat: "Der Wert, ob die Heizung momentan läuft wird mittels der Heizstufe ermittelt. Da ich bisher keine Möglichkeit entdeckt habe diesen Wert mit Modbus zu ermitteln, ist zusätzlich auch der Stiebel-ISG-Adapter installiert."
Unter welcher Rubrik im ISG-Web finde ich diesen Wert? finde ihn nämlich bei mir nicht. Gibt es weiterhin keine modbus-Möglichkeit, den Betrieb der Heizung zu ermitteln?
Was genau ist damit gemeint, "ob die Heizung momentan läuft". WW-Ladepumpe oder Pufferladepumpe ließe sich ermitteln.
Sorry, für die vielleicht blöden Fragen -
Gibt es inzwischen einen Lösungsansatz, warum der SG Ready Eingang1 sobald er aktiviert bzw. verändert wird, auf (null) springt?
-
Ich habe das Problem anscheinend gelöst, für diejenigen, die es interessiert:
im Modbus-Adapter fehlte hinten das Häkchen bei "Abfrage"
Nachdem dieses gesetzt wurde, lässt sich der Wert schalten und bleibt dann auf 1 bzw. geschaltet. Falls dies andere, negative Auswirkungen hat, bitte ich um Mitteilung.Ich habe aber noch eine andere Beobachtung gemacht. Wenn ich den SG Ready Eingang 1 schalte, dann werden die von mir im ISG Web hochgesetzten Werte forciert (Warmwasser z. B. 54 °). Ich stelle aber bei jedem Schaltvorgang fest, dass die Warmwasserproduktion bei ca. 46 ° aufhört und ein paar Minuten lang steigt die Temperatur dann noch auf 47 oder 48 °. Warum heizt der nicht bis auf 54 °?