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

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

Vorheriges Thema - Nächstes Thema

jodamm

Hallo, ich habe es endlich auch mal geschafft meine LWZ504 anzuschließen. Das Modul hat nicht gleich mit der LWZ504 zusammen funktioniert, doch davon gibt es in einem späteren Post mehr, wenn ich alles fertig eingerichtet habe. Bei der Inbetriebnahme sind mir zwei Fehler in den Programmen aufgefallen. Die CAN Send Routine hat nicht auf die Antwort gewartet wenn sich ein anderes Telegram dazwischen gemogelt hat. Mir haben bei meinen Scans Werte gefehlt und das hat dann wohl zu den nicht erfoglreichen Gets geführt die hier im Thread erwähnt werden. Und im Elster Modul für fhem hat das Sniffen nicht funktioniert. Anbei sind die gefixten Programmdateien für die can_progs vom 20.05.18.
Der Fix für das Sniffen ist in den Zeilen 667 und 668 von 50_Elster.pm
        if (hex($el->{ID}) == hex($recv_id) &&
            hex($el->{EIdx}) == hex($elster_idx))

In der 50_Elster.pm habe ich auch noch den Befehl in Zeile 529 auskommentiert (siehe Beitrag zuvor).

Für den Fix für die verlorenen Antworttelegramme wurden die folgenden Zeilen nach Zeile 171 in die KCanElster.cpp eingefügt.
            else
              continue;

Der Bereich sieht dann so aus:
              Ok = true;
          #if !defined(__UVR__)
            if (Ok)           
              SniffedData.ClearSniffedValue(RecvFrame);
            else
              continue;
          #endif
            return Ok;


Für den Fix mit den verlorenen Telegrammen muss man dann die elster_perl lib neu kompilieren mit ./elster_perl.arm und dann die elster_perl.so in das passende Verzeichnis kopieren.

juerg5524

Hallo jodamm

Vielen herzlichen Dank, deine Fehler-Korrektur in KCanElster.cpp ist für die Stabilität von grosser Bedeutung! Das mit dem Sniffen werde ich bei Gelegenheit anschauen.

Viele Grüsse
Jürg

P.S.: KCanElster.cpp ist in can_prog.zip korrigiert.

Phil_E

Hallo

Stiebel hat nun zum 3. mal bei mir einen der beiden Kompressoren ausgetauscht (min. 3 Monate insgesamt mit Strom geheizt) und ich zweifle sehr, dass dies der letzte war.
Dieser Zweifel brachte mich zu diesem Forum, da ich meine WP überwachen und loggen möchte (die startet ja nach einem Fehler gleich wieder.)
Der Servicemonteur sagte mir bei Fragen mit Vernetzung, dass ein Freak aus der Schweiz die WP von Stiebel schon länger loggt..wird wohl Jürg sein  ;)

Ich möchte allen und vor allem Jürg danken für ihren Beitrag, der mir vielleicht hilft, dass meine Stromkosten nicht weiter explodieren und ich jetzt ein neues Hobby habe  ;) (Haus automatisieren)

Ich warte leider immer noch auf die CAN-Schnittstelle und werde danach meine Erfahrung mit euren Anleitungen und Software berichten.

CANBus
Ich werde beide Augen zudrücken und wie choetzu eine Stichleitung legen...bei dieser Baud. sollte es ja mit der Kabellänge keine Probleme geben.

Ist es richtig, dass hier noch niemand die Fehlermeldungen geloggt hat?

Nochmals vielen Dank und Grüsse...auch aus Schwiizerland(TG)

Philipp

Phil_E

Hallo nochmals

Ich habe mit RaPi FHEM, Perl und Python praktisch noch keine Erfahrung aber dank euren Posts kriege ich nun schon mal die Aussentemperatur rein, 8)
danach funktioniert die Struktur leider nicht mehr.
Vielen Dank nochmals!

Ich habe eine WPL33HT mit WPM 2.1, die eine andere Struktur hat als das Tabellenfile von Jürg.

Ich konnte im Netz die Comfortsoft nirgends finden, da der Link nicht mehr gültig ist.

Könnte mir jemand das Scanfile im Anhang bearbeiten, damit ich es in die ElsterTable einbinden kann oder weiss jemand wo ich die Software kriegen kann?
merci

Grüsse Philipp


juerg5524

Hallo Philipp

Die Datei für deine WP findest du im Anhang.

Viel Spass
Jürg

gbr

Hallo Jürg,

Darf ich fragen wie du Fehler detektierst und anzeigst?

Danke und Gruß,
Gerrit

Edit: sorry Auto Korrektur

Phil_E

Hallo Jürg
Vielen herzlichen Dank für deine Bemühungen..ich habe die Änderungen in 50_Elster übernommen und habe gesehen, dass eigentlich nur die WPM-Adresse bei mir 300 ist.
Muss aber erstmal den RasPi neu aufsetzen, da der nicht mehr startet. :-\
Bin öfters Gesch. in Wohlen und müsste dir eigendlich min. eine Flasche Wein mal in den Briefkasten stellen ;)

Allerdings hat meine WP 2 FUs/ 2 Komp. und für meine Diagnose brauche ich unbedingt noch zusätzliche Daten der IWS.(siehe PDF)

Infos Temperaturen:
Am meisten interessiert mich die SauggastempHD, aber auch die anderen Daten wie Ströme, Drehzahl und Wärmemenge wären interessant.
Ich nehme an, das IWS ist Adresse 500 oder? Wie komme ich nun zu den Indizies?
Geht das mit Comfortsoft und deiner Brücke und woher bekomme ich die Software...soll ich mal Stiebel fragen?..die zittern schon wenn ich wieder anrufe ;) 

Ich nehme mal an, wenn ich die Fehler des HD-Verdichters(2.Seite PDF)  tracen will, muss ich das an FHEM vorbei lösen?

Nochmals vielen Dank
Gruss Philipp



juerg5524

Hallo Gerrit

Der Typ zum einzelnen Wert wird in der Datei ElsterTable.inc zugeordnet.

Wenn du einen Scan durchführst

./can_scan can0 680 total >scan.txt

und mir scan.txt gibst, kann ich dir die Werte, die von der Software ComfortSoft generiert werden, zukommen lassen. Für einen vollständigen Scan musst du zwingend die neuste can_progs.zip Software verwenden!

Im Anhang ist eine Fehlerliste von ComfortSoft.

FHEM verwende ich nur in einer Simulation, um Austesten zu können. Ich zeige deshalb keine Fehler an. 

Viele Grüsse
Jürg


juerg5524

Hallo Philipp

Danke, das mit der Flasche Wein ist lieb von dir, aber übertrieben!

Die Datei ElsterTable.inc enthält alle mir bekannten "Elster-Paare" und diese Paare stimmen nicht zwingend. ComfortSoft liefert keine zusätzlichen Werte.

Kannst du z.B. die "SAUGGASTEMP" im WPM anzeigen? Wenn du das kannst, dann muss der WPM den Wert von ID 180 abfragen, d.h. er ist auf dem CAN-Bus sichtbar.

Viele Grüsse
Jürg

thorschtn

Zitat von: Phil_E am 15 Januar 2019, 12:52:06
Stiebel hat nun zum 3. mal bei mir einen der beiden Kompressoren ausgetauscht (min. 3 Monate insgesamt mit Strom geheizt) und ich zweifle sehr, dass dies der letzte war.

Hallo Phillip,

die elektrische Zusatzheizung ist bei mir separat abgesichert. Seitdem ich unmittelbar nach Einzug mal einen Defekt hatte und daraufhin unwissentlich mit Heizstab geheizt habe, ist die Sicherung bei mir permanent aus. Das heisst, wenn Dein Kompressor mal wieder kaputt ist, wirds zwar kalt in der Hütte, so bekommst Du aber sofort mit, wenns Probleme gibt und heizt nicht ohne Dein Wissen mit Heizstab.

Gruß,

Thorsten
NUC - FHEM & HA
MapleCUN, Homematic, 433MHz, AB440, 1-Wire Bewässerung & Pool, Jarolift (Signalduino), Signal Messenger, Denon AVR, LG WebOS, AmazonEcho, Jura S90 (ESP8266), Sonoff, Xiaomi Mii Sauger, Worx SO500i

Phil_E

Zitat von: thorschtn am 21 Januar 2019, 10:52:21
die elektrische Zusatzheizung ist bei mir separat abgesichert. Seitdem ich unmittelbar nach Einzug mal einen Defekt hatte und daraufhin unwissentlich mit Heizstab geheizt habe, ist die Sicherung bei mir permanent aus. Das heisst, wenn Dein Kompressor mal wieder kaputt ist, wirds zwar kalt in der Hütte, so bekommst Du aber sofort mit, wenns Probleme gibt und heizt nicht ohne Dein Wissen mit Heizstab.
Hallo Thorsten
Danke für deine Info, aber mein DHC springt erst bei Notbetrieb an und den stelle ich manuell ein. Der Heizwendel im Speicher (für Not-Notbetrieb) ist eh abgeschaltet, da ich den nicht am Sperrschütz habe. ;)
Ich habe so lange mit Strom geheizt, da Stiebel jedes Mal mind. 3 Wochen braucht, bist der Kompressor getauscht ist!
Gruss Philipp

Phil_E

#116
Hallo Jürg
Danke für die Antwort. Ich überlege mir mal bei Stiebel die kompletten Adressen und Eigenschaften der Parameter anzufragen.
Die schulden mir noch was!

Ist das IWS nicht ID500?
Ich habe den Bus mal aufgezeichnet, bin dann runter in den Keller und habe den WPM auf Infos Temp "SAUGGASTEMPHD" gestellt
Danach kann man im File sehen, dass nur im unteren Bereich gewisse neue Werte beiI D500 auftauchen.
Da ich zuerst auf Aussentemp gestellt habe und danach nach 0C suchte, nahm ich an, dass die 2Byte FA05 die Adresse des Sauggastemp ist--> gedreht 05FA.

Das war falsch..inzwischen habe ich gemerkt, dass die Adresse in Byte 4/5 ist und nicht gedreht werden muss!
--> gelbe Markierung 1Byte nach rechts

Danach habe ich einen Eintrag in der ElsterTable.inc und 50Elster.pm gemacht.(ist das ok)?
{ "SAUGGASTEMPHD"                                , 0x05d7, et_dec_val},
"SAUGGASTEMPHD"   => { EIdx => "05d7", ID => "500" } ,

In FHEM Sauggastemp ausgewählt...kam der Wert ohne Komma zurück.
So habe ich auch den Strom gefunden!

Habe nur jetzt die Möglichkeit aufzuzeichnen, da ich sonnst wieder auf <-5° ein Jahr warten muss  ;)
So, jetzt gehts ans ploten oder DB, die Zeit drängt ;)

Gruss Philipp
 

gbr

Zitat von: juerg5524 am 20 Januar 2019, 09:57:14
Im Anhang ist eine Fehlerliste von ComfortSoft.
Hallo Jürg, vielen Dank für die Infos. Hab im Bauexpertenforum noch einen Beitrag von 2014 von dir gefunden, in dem du die Fehlerfeld Struktur näher erläuterst. Da das mit der Fehlernummer aus Adresse 0001 zufällig gepasst hatte (genau in dem Feld war zufällig der gleiche Fehlercode wie aktuell, aber eben doch anderer Zeitpunkt in den Feldern davor), hat ich mir die Daten ansonsten nicht mehr angeschaut. Aber alle Daten der Historie mit Zeitangaben sind in den Feldern aufgeteilt. Der letzte Fehler aktuell im letzen Fehler-Feld 139. In der ElsterTable.inc hab ich noch weitere Felder gefunden, die vllt mehr Infos zum aktuellen geben (oder ist bei mir jetzt immer der aktuelle Fehler in Feld 139?). Zwar Schade zum Testen aber zum Glück gibts aktuell nicht so häufig Fehler ;) (Alle paar Monate mal einer)
Ich werde die neueste Version heut oder morgen zum Laufen bringen und dann Feedback geben!

juerg5524

Hallo Philipp

Die Einträge in ElsterTable.inc und 50_Elster.pm sind richtig, aber hast du auch die folgende Zeile entfernt?

{ "LEISTUNGSREDUZIERUNG_KUEHLEN"                     , 0x05d7, 0},

Viele Grüsse
Jürg

choetzu

Guten Tag,
Bei mir läuft das Elster Modul seit einiger Zeit stabil. Danke Jürg für das tolle Modul und deinen unermüdlichen Support! Einfach super.

Frage in die Runde: wie habt ihr nun die Steuerung der Heizung in Fhem umgesetzt? Welche notify und DOIFS habt ihr? Welche Readings beobachtet ihr?

Ich habe lediglich ein at zum Auslesen der Readingss

defmod Timer_WPL18e_auslesen at +*00:05:00 {\
fhem "get WPL18e AUSSENTEMP";;\
        sleep 2;; \
        fhem "get WPL18e PROGRAMMSCHALTER";;\
sleep 2;; \
        fhem "get WPL18e RUECKLAUFISTTEMP";;\
sleep 2;; \
        fhem "get WPL18e WPVORLAUFIST";;\
sleep 2;; \
        fhem "get WPL18e PUFFERSOLL";;\
        sleep 2;;\
        fhem "get WPL18e SPEICHERISTTEMP";;\
}
attr Timer_WPL18e_auslesen alias Betriebsstatus Überwachung
attr Timer_WPL18e_auslesen alignTime 00:00
attr Timer_WPL18e_auslesen group Status
attr Timer_WPL18e_auslesen room Heizung
Raspi3, EnOcean, Zwave, Homematic