Stiebel-Eltron mit CAN-Bus unter Verwendung eines C++-Wrappers

Begonnen von juerg5524, 14 Oktober 2015, 13:43:31

Vorheriges Thema - Nächstes Thema

Vincent82

Ich habe das jetzt über einen Rasperry Pi in Python umgesetzt. Code werde ich dann auch noch mal teilen, wenn erfolgreich getestet.

Folgendes Problem konnte ich bisher in Esphome nämlich auch nicht zuverlässig lösen:

Jedes Mal um Mitternacht wird von der Wärmenpumpensteuerung der Tagesverbrauch in den Speicher für den Lifetimeverbrauch geschrieben. Wenn man also einen aktuellen Lifetimeverbrauch haben will, muss man den Tagesverbrauch auf den Lifetimeverbrauch addieren (so macht es auch das Display).

Mit Esphome habe ich es bisher nicht geschafft, immer die Aktualiserung des Lifetime-Verbrauchs im richtigen Moment zu machen. Oft haut das beim Warmwasser nicht hin.

Mit eigenem Code ist es da deutlich einfacher einen passenden Check einzubauen.

Was mir bisher noch an Info fehlt ist die Info, in welcher Nachricht wie die Info zu den Statusicons zu finden sind, also
Verdichter an/aus
Wamwasser an/aus
Heizen an/aus
Abtauen an/aus

Kann hier jemand helfen?

robob

Das erklärt mir gerade warum mein COP bei der Berechnung immer den gleichen Wert ausgibt. Wenn ich den aus dem Gesamtverbrauch ermittle fehlt die Information vom Tagesverbrauch.

Aber warum ist das zeitlich ein Problem? Es gilt doch dann zu jeder Tageszeit z.B. <WW Tag> + <WW Gesamt> + <WW elektrische Nachheizung> = <WW Gesamt aktuell>

Wie überträgst du dann die Daten von deinem Raspberry in deinen Homeassistant? Via MQTT?
Helfen diese Einträge weiter?

  { "LZ_VERD_1_HEIZBETRIEB"                            , 0x07fc, et_mil_val},
  { "LZ_VERD_2_HEIZBETRIEB"                            , 0x07fd, et_mil_val},
  { "LZ_VERD_1_2_HEIZBETRIEB"                          , 0x07fe, et_mil_val},
  { "LZ_VERD_1_KUEHLBETRIEB"                           , 0x07ff, et_mil_val},
  { "LZ_VERD_2_KUEHLBETRIEB"                           , 0x0800, et_mil_val},
  { "LZ_VERD_1_2_KUEHLBETRIEB"                         , 0x0801, et_mil_val},
  { "LZ_VERD_1_WW_BETRIEB"                             , 0x0802, 0},
  { "LZ_VERD_2_WW_BETRIEB"                             , 0x0803, 0},
  { "LZ_VERD_1_2_WW_BETRIEB"                           , 0x0804, 0},
  { "ABTAUUNGAKTIV"                                    , 0x0061, 0}

Vincent82

#167
Helfen diese Einträge weiter?
Ja diese Einträge könnten es wohl sein. Ich habe sie nur noch nicht auf dem Bus gefunden. Eigentlich sollte man die ja nicht anfragen müssen, denn die Informationen werden ja permanent auf dem Display angezeigt und werden deshalb zyklisch oder on change gesendet.  Was bedeutet "et_mil_val"?


Aber warum ist das zeitlich ein Problem?

Die machen das ja so, dass die den Wert im nichtflüchtigen Speicher nur 1x am Tag aktualisieren, weil der Speicher nicht zu viele Schreibzugriffe verträgt. Ich bin mir nicht sicher, ob Lesezugriffe auch problematisch sind. Deshalb frage ich nur 1x zu Mitternacht an. Wenn das ganze Zeitlich nicht 100%ig passt, kommt es zu fehlern. Gleiches gilt übrigens bei den Tageswerten auch, wenn man erst die stellen vor dem Komma anfragt, dann die nach dem Komma, es inzischen aber einen Übersprung bei den Vorkommastellen gab.
Solche Dinge kann man mit ESPhome sicherlich auch abfangen aber für mich gestaltete sich das in Python einfacher.

Wie überträgst du dann die Daten von deinem Raspberry in deinen Homeassistant?
Die Daten übertrage ich per MQTT an Homeassistant.

Vincent82

Habe gerade in Erfahrung gebracht "et_mil_val" heisst, der Umrechnungsfaktor ist 0,001. Dann ist es aber kein Status.

robob

Zitat von: Vincent82 am 08 Februar 2022, 20:08:07
Ich bin mir nicht sicher, ob Lesezugriffe auch problematisch sind. Deshalb frage ich nur 1x zu Mitternacht an.

Aber von Stiebel Eltron gibt es ja auch ein Internet Service Gateway. Das wird die gleichen Lesezugriffe vornehmen.
Denkst du wirklich dass Lesezugriffe problematisch sind?

robob

Hallo,

von Stiebel Eltron gibt es ja auch ein Energie Management System (EMI)
https://www.stiebel-eltron.at/content/dam/ste/de/de/home/services/Downloadlisten/Bedienungsanleitung%20EMI.pdf

Ich möchte im Grunde das gleiche über CAN-Bus und in Eigenentwicklung umsetzen.
Also Warmwasser auf erhöhte Temperatur setzen, wenn ich genug PV-Strom erzeuge und senken, wenn nicht genug verfügbar ist.
Weiß zufällig jemand, wie dieses System die erhöhte Temperatur umsetzt?

Ich könnte ja rund um die Uhr auf Komfort-Betrieb fahren und via CAN-Bus die Komfort Soll-Temperatur erhöhen sobald genug PV-Strom verfügbar ist. Und dann wieder am Abend die Komfort Soll-Temperatur auf niedrigere Temperatur senken.
Aber laufe ich da Gefahr, dass ich dem internen Speicher schade?

Die Anlage ist von 2019, also noch nicht so alt.

Vincent82

Hallo Also, wenn Du ein paar mal am Tag die Temperatur veränderst ist das sicherlich kein Problem.

Irgendwo abe ich auch schon mal gelesen, dass es jemand so macht wie Du es vorhast. Ich habe selbst noch keine PV aber mein Freund und bei ihm möchte ich es demnächst auch so realisieren.

robob

#172
Also lt. Handbuch vom EMI stellt dieses Gerät die Zeit für das Warmwasserprogramm ein.
dH wenn der Forecast sagt, dass die Sonne scheint, dann wird in dieses Zeitfenster das Warmwassprogramm gelegt.

Ich hab das jetzt gerade auch ausprobiert, weil sich so etwas gut umsetzen ließe, wenn gerade genug Strom auf der PV-Anlage ist.

Warmwasserprogramm Mo-So ist die Adresse 0x17a0
Der Tag dabei wird in 24x15 Minuten-Intervalle aufgeteilt. Der Hexwert an 6. Stelle das CAN-Pakets gibt die Startzeit des Programm-Intervalls an. Die 7. Stelle die Ende-Zeit.
Ich hab mir dazu im Excel eine Tabelle für jede Viertelstunde des Tages erstellt und die entsprechende Codierung in Dezimal bzw. Hexadezimal in eine weitere Spalte.

00:15 = 1; 00:30 = 2, ...
für ein Zeitintervall von 11:30 Uhr bis 13:30 (länger braucht die Heizung normal nicht für rd. 10-15 °C von Eco- zu Komfort-Temperatur) kommt entsprechend raus (Dezimal) 46 bis 54.

Das CAN-Paket sieht dann so aus:

0x30 0x00 0xfa 0x17 0xa0 0x2e 0x36

Mir fehlt noch der Weg, wie ich die Start- und Ende-Zeit in ein Script im Homeassistant bekomme.
Evtl. über Dezimalstunden: 0:15=0,25=1/4; 0:30=0,5=2/4; 0:45=0,75=3/4...

Vielleicht ist aber doch der Weg über die Temperaturerhöhung und -Absenkung einfacher

Vincent82

Ja die Frage stelle ich mir auch wieso nicht einfach die Solltemperatur dynamisch anpassen?

momad

Zitat von: Vincent82 am 05 Dezember 2021, 21:51:53
Hallo author=momad, Dein Screenshot sieht so aus als wäre er von Home Assistant. Wenn dem so ist, könntest Du einmal beschreiben, wie Du das technisch gelöst hast?
Hallo Vincent,
Sorry ich war ewig nicht mehr hier und habe erst deine Frag hier gesehen.
Ich schulde dir hier eine Antwort und zwar ich habe bei mir die Lösung damals für Faule per mqtt von Fhem@PI3 alles Richtung Homeassitant zu schicken und dort die Sensoren und Daten zu verarbeiten.
Bei Interesse kann ich gerne meine config hier posten.

momad

Offen ist noch bei mir das Thema :
Lässt sich eigentlich den SG Ready Modus (PV Anlage Überschuss nutzen) hier auch via CAN-BUS ansteuern?
Falls ja hat es jemanden bereits probiert und welches Wert sollte hierfür aktiviert werden?
Sind die CAN BUS Adressen für den SG-Ready Betriebsmodis bekannt?
Damit lässt sich den ISG Web Plus fast komplett ersetzen.

HGButte

Ich steuer bei mir bei Bedarf einfach die Warmwasser Temperatur auf einen höheren Wert wenn PV Überschuss vorhanden.

tomix

Ich suche schon länger eine Möglichkeit die Stiebel-Eltron (WPL 13 mit WPM II)  Wärmepumpe einzubinden. Eigentlich möchte ich diese Warmwasser aufbereiten lassen, wenn genügen PV-Strom da ist. Aktuell habe ich aber das Problem, dass die IWS (Steuerung in der WPL 13) zwischen durch auf Störung geht und ich nicht weiss warum. HD/ND-Fehler bis anhin nur im Sommerbetrieb und ziemlich exakt jeweils nach einem Jahr im Juli, nun aber öfters. Der Sache möchte ich  auf den Grund gehen. Gefunden habe ich dazu mal folgendes:
https://www.haustechnikdialog.de/Forum/t/140804/Sammelstoerung-HD-ND-Fehler-bei-Stiebel-WPL18

Mit FHEM (läuft auf einem Standard PC mit Debian) und einem CAN Bus USB-Adapter erhoffe ich mir, zumindest den Zustand beim Eintreten des Fehlers loggen zu können. Als Adapter den hier z.B.:
https://linux-automation.com/de/products/candlelight.html
wobei ich mich bei dem Adapter Frage wie anschliessen (wo ist CAN_L, GND?). Ist die Belegung des SUB-D-Stecker «normiert»? Also so wie hier (bzgl. der beschrifteten Seite passt es):
https://www.opendcc.de/info/can/can_connector.html

Irgendwelche Tipps bzgl. Adapter usw.?

Gruss
tomix

tomix

Hallo Frank

Zitat von: intershopper am 24 März 2018, 09:40:08
Ich habe meine WPL13 um ein paar sinnvolle Usereadings erweitert. So kann Pumpen- und Verdichterstatus überwacht werden.

Wir haben auch eine WPL13 und ich versuche eine passende 50_Elster.pm zu generieren. Nun finde ich im Internet die Software ComfortSoft nirgends und wenn ich sie finden würde fehlt mir ein Windows (evtl. würde die Software aber in Wine oder so laufen).

Hast du ein 50_Elster.pm passen für eine WPL13 (dann könnte ich mir das gennerien sparen) oder weisst du wo ich ComfortSoft noch runter laden könnte.

Bis jetzt bin ich wie hier beschrieben vorgegangen:
https://forum.fhem.de/index.php/topic,128767.0.html

Gruss
tomix

juerg5524

Hallo tomix

ComfortSoft läuft nicht unter Wine, leider.

Viele Grüsse
Jürg