eBusd Konfiguration für TEM PS5511 - Arbeitsthread

Begonnen von DS_Starter, 18 Juni 2022, 20:55:57

Vorheriges Thema - Nächstes Thema

DS_Starter

 :)

Ja die geänderten Speicheradressen können wir sehr wahrscheinlich auf die Version S statt S-1 zurückführen.
Vielleicht aber auch die Koppelart IP vs. USB, kann ich nicht sagen. Vllt. wissen es die Entwickler des ebus Adapters.

Du müsstest also die CSV anpassen und statt "0AF502" die "A0F502" eintragen.
Bei den anderen Adressen wird es vemutlich auch so sein. Teste es mal.
Aber das ist doch schonmal was.  8)

ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

mr_86

Ja, haut hin: Die hinterlegten Adressen für TKO, TBU, PS, Q und Q_total liefern jetzt die richtigen Werte und ich freue mich wie ein Schnitzel. Ich denke recht viel mehr wird bei meiner "Minimalkonfiguration" nicht zu holen sein, aber brauche ich eigentlich auch nicht. Die Werte die das Kästchen anzeigt wollte ich eben auch am Rechner haben und das haben wir geschafft.
Wenn ich mal Zeit habe werde ich trotzdem noch ein bisschen mit den Adressen spielen und schauen ob ich noch was Sinnvolles finde. Würde mich z.B. wundern wenn die Betriebsstunden nicht auch irgendwo rauszulesen sind und der Wert ist ja auch recht gut rückwärts zu erschließen...
Viele Grüße und schönes Wochenende!
Matthias

DS_Starter

#17
Betriebsstunden sind bei mir unter "PS_Operating_Hours" mit der Adresse "28F502" zu finden.

Dir auch ein schönes WE und noch viel Spaß beim suchen.  :)

PS: ... aktuellste CSV aus meinem contrib vorausgesetzt..
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

mr_86

Hallo Heiko,

du hast ja geschrieben, dass das Haustechnik-Forum dein Ausgangspunkt für die bei dir korrekten Adressen war. Mittlerweile hast du aber viele mehr in deiner Konfiguration. Darf ich fragen, wie du auf die gestoßen bist? Das kann ja kaum alles Trial and Error sein, oder?

Und in dem Zusammenhang, auch ganz wichtig: Bevor ich munter Hex-Codes an meine Steuerung feuere, sind das eigentlich reine Abfragen oder kann das auch ein Schreibbefehl sein, also könnte ich mir damit was verstellen oder gar zerschießen?

Neben den erwähnten Gesamtbetriebsstunden fände ich noch einen eventuell vorliegenden Fehlercode interessant auszulesen. Denn meine alte Pumpe streikt manchmal bei hohen Temperaturen/hohem Druck mit dem Wiederanlaufen...

Viele Grüße
Matthias




DS_Starter

Hallo Matthias,

Zitat
Mittlerweile hast du aber viele mehr in deiner Konfiguration. Darf ich fragen, wie du auf die gestoßen bist? Das kann ja kaum alles Trial and Error sein, oder?

Momentan gehe ich davon aus, dass die interessanten Speicheradressen sich im Bereich 00F4 bis FFF5 befinden.
Möglicherweise sind es noch andere Stellen, mir aber momentan unbekannt.

Um jetzt einen bestimmten Zusammenhang zu finden, stelle ich am TEM zunächst einen markanten Wert ein um danach suchen zu können.
Nehmen wir als Beispiel einen hypothetischen Wert von 20,8.
Können die Parameter eine Nachkommastelle enthalten, wäre der zu suchende Wert 208 und nicht 20,8 (also mit 10 multipliziert).
Diesen Wert von 208 rechne ich in Hex um, ergibt  00d0 (Highbyte/Lowbyte).
Jetzt muß man High-Byte und Low-Byte tauschen, daraus ergibt sich als Suchmuster d000.

Auf Betriebssystemebene lese ich nun gleich mehrere Bytes aus um voran zu kommen und suche mit einem grep nach dem Muster:

ebusctl hex fc09000300F410 | grep d000
 
bringt zum Beispiel als

  0ed0007040f000847c0000e3eb000
 
Das erste Byte vorn (0e) zeigt nur die Anzahl der insg. gelieferten Bytes und wird ignoriert.
Aber die ersten Adressen gleich danach (00F4 , 2 Bytes) bringen das Suchmuster d000.
Jetzt schaue ich mir die genauer an und rufe ab:

ebusctl hex fc09000300F402

und es kommt

02d000

Nun ändere ich am TEM den verdächtigen Paramter und wiederhole den letzten Abruf um zu schauen ob die Änderung wie erwartet
mitläuft. Wenn es so ist, gehe ich stark davon aus einen Treffer gelandet zu haben. Ansonsten muß man weitersuchen.
Ich habe mir eine Liste erstellt die ich nach und nach fülle um Treffer und Versuche zu dokumentieren und so immer
einfacher voranzukommen. Immer dran denken dass High-Byte und Low-Byte vertauscht sind.

Manche Werte habe ich noch nicht entdeckt. Sie sind vielleicht an anderer Stelle oder entziehen sich meiner Vorgehensweise.
Vielleicht ist in diesen Fällen der Wert anders kodiert, what ever ...

Wenn ich einen neuen Wert dann gefunden habe, ist er nur noch in die CSV Datei nach dem Schema einzupflegen welches im eBusd Wiki beschrieben ist. Ich bin da auch noch nicht soooo firm, es gibt Optimierungsmöglichkeiten.

Schwierig ist es natürlich einen Wert mit 0 zu finden, zumal wenn man ihn nicht manuell ändern kann wie bei dem Fehlercode, welcher natürlich sehr interessant wäre. Aber wenn du öfters mal einen Fehlerwert hast, besteht ja durchaus die Chance.

Zitat
Und in dem Zusammenhang, auch ganz wichtig: Bevor ich munter Hex-Codes an meine Steuerung feuere, sind das eigentlich reine Abfragen oder kann das auch ein Schreibbefehl sein, also könnte ich mir damit was verstellen oder gar zerschießen?

Mit dem Befehl (fc)0900 werden RAM Adressen ausschließlich gelesen nicht geschrieben.

LG,
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

mr_86

Hut ab, dann isses ja wirklich trial and error.  :D Aber mit System, nochmal großen Respekt vor deiner Arbeit!
Und auch gut zu wissen, dass es read-only ist.

Da bei den bei mir funktionierenden fünf Abfragen zwei der drei Byte (..F502) immer gleich sind, beschränkt sich der Bereich den ich durchscannen werde erstmal auf 256 Adressen. Die Ergebnisse werde ich mir dann abspeichern und schauen, ob es im Fehlerfall dann den Wechsel von Dezimal 0 auf 1 (Es ist immer Fehler 1: Kein Wärmeanstieg im Puffer trotz Ansteuerung, da Pumpe nicht dreht) stattfindet.

Viele Grüße
Matthias

pc1246

Zitat von: DS_Starter am 29 Juni 2022, 19:22:27

Noch etwas zu meiner Umgebung. Ich spreche den ebus V3 Adapter mit dem ebusd Daemon aus einem Docker Container meiner Synology an. Gestartet ist ebusd mit den Optionen:


ebusd -f --enablehex --enabledefine --scanconfig --configlang=de --configpath=/etc/ebusd --accesslevel=* -d enh:192.168.2.216:9999 --loglevel=info --latency=20 --address=ff --mqttport=1883 --mqttjson --mqtthost=192.168.2.46 --mqtttopic=ebusd/%circuit/%name",


Du siehst ich benutze eine lokales Konfigurationsverzeichnis "/etc/ebusd". Das ist im Docker gemapt auf ein Volume der Synology. Dadurch kann ich die Konfiguration sehr einfach ablegen.
Die von mir erstellte Datei legt man einfach ab in dem Verzeichnis "/etc/ebusd/tem".


Moin Heiko
Ich weiss, dass meine Frage eigentlich nichts mit Deinem Thread hier zu tun hat!
Ich bin ueber google suche auf diesen Thread/post hier gestossen.
Mein Problem ist immer wieder wie ich eine Anleitung einen Docker-Container zu starten auf Synology umsetzen soll. Insbesondere der DSM-Wechsel ist auch nicht immer verstaendlich, da Synology da gerne mal etwas an andere Stellen schiebt, oder auch gar umbenennt.
Magst, kannst Du (mir) bitte kurz zeigen, wie man das auf der Synology einstellen muss, damit man den Container zum Laufen bekommt!?
Danke und Gruss
Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

DS_Starter

Nabend Christoph,

ist alles angekommen und klappt ?

LG
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

pc1246

Moin Heiko
Nachdem ich noch Tage damit verbracht habe docker zu verstehen, bei mir ist Port 9000 leider belegt.
Laeuft es jetzt fast. Habe mir jetzt auch portainer als Container installiert, das macht es etwas einfacher!
Danke und Gruss
Christoph
HP T610
Onkyo_AVR;3 Enigma2; SB_Server ; SB_Player; HM-USB mit 15 HM-CC-RT-DN, 3 HM_WDS10_TH_O, 6 HM-Sec-SCo, 4 HM-Sec-MDIR-2, 1 HM-Sen-MDIR-O-2, 8 Ferion 5000 OW ; PhilipsTV; 4 harmony hub; Jeelink mit 9 PCA301; Somfy; S7-300; 3 LGW; HUE; HM-IP auf Charly

DS_Starter

Moin,

ZitatHabe mir jetzt auch portainer als Container installiert...
Gut dass du das erwähnst... hatte ich auch noch vor und wieder verdrängt.  :o

Schönes WE,
LG
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

PCMichi

Guten Abend zusammen,

ich habe bei mir Zuhause auch eine PS 5511, allerdings in der Version: "PS5511S-3.2". Somit habe wir alle drei verschiedene Versionen der Steuerung oder?

Bei mir ist die Hydraulik Variante 1 aktiv.

Ich versuche auch schon lange, die Werte per eBus auszulesen. Nachdem ich diesen Eintrag durchgelesen habe, bekomme ich schon mal eBus Meldungen an meinem Raspi (habe auch den eBus Adapter V3.0).

Leider bekomme ich mit den bekannten RAM-Werte bei mir keine oder falsche Angaben (vermute ich), hier ein Beispiel vom TKO Wert:

Temperatur laut Display: 2 Grad

Ich habe folgende Varianten probiert:

TKO-Adresse von DS_Starter:
root@pi-test:/# ebusctl hex FC0900030AF502
020000


TKO-Adresse von der Datei 70_TEMPS.pm.txt

root@pi-test:/# ebusctl hex FC090003A0F502
020000


TKO-Adresse aus der Datei wrsol.pdf (https://ebus-wiki.org/lib/exe/fetch.php/ebus/wrsol.pdf / https://www.haustechnikdialog.de/Forum/t/133963/Solar-Regelung-TEM-PS-5511-SZ)
root@pi-test:/# ebusctl hex FC0900031CF502
02e33e
root@pi-test:/# ebusctl hex FC090003F51C02
029e7c



Leider verstehe ich die Anleitung von DS_Starter mit dem Finden der richtigen RAM-Werte nicht. Ich hänge bei der Aussage:
ZitatDas erste Byte vorn (0e) zeigt nur die Anzahl der insg. gelieferten Bytes und wird ignoriert.
Aber die ersten Adressen gleich danach (00F4 , 2 Bytes) bringen das Suchmuster d000.
Jetzt schaue ich mir die genauer an und rufe ab:

0e finde ich noch in dem Beispiel, aber die ersten Adressen 00F4 nicht mehr?

Wenn ich "ebusctl hex fc09000300F410" ausführe, dann bekomme ich diese Ausgabe:

root@pi-test:/# ebusctl hex fc09000300F410
0e00f700000000a98b000930fc6cfc

root@pi-test:/# ebusctl hex fc09000300F410
0e00f700000000a9eb010930fc6cfc

root@pi-test:/# ebusctl hex fc09000300F410
0e00f700000000a964000930fc6cfc


Kann man eventuell mal eine Ausgabe aller RAM-Werte machen und so den Wert suchen?

Vielleicht könnt ihr mir hier ein bisschen helfen.

Vielen Dank schon einmal und Grüße
Michael

mr_86

Hallo Michael,
zunächst sorry dass so lange keine Antwort kam, aber ich hab keine Mail-Benachrichtigungen aktiv und schau hier eher sporadisch rein. Da mir hier so nett geholfen wurde, werde ich es auch versuchen:

Zur Deutung der Werte: Es sieht wirklich so aus, als wären deine Adressen andere, denn die ausgespuckten Werte entsprechen keinen realistischen Temperaturwerten.
Da du die Erläuterung von Heiko/DS_Starter nicht verstanden hast, werde ich es nochmal mit meinen Worten anhand eines deiner Beispiele probieren:

root@pi-test:/# ebusctl hex FC0900031CF502
02e33e


Der Rückgabewert besteht aus drei Byte: 02, e3 und 3e.
02 ist wie Heiko schon beschrieben hat die Länge der Daten. Also zwei Byte.
Damit verbleiben für den eigentlichen Wert die beiden Byte e3 und 3e. Die Reihenfolge ist zu tauschen, also 3ee3.
In einen HEX-DEC Konverter reingeworfen ergibt sich ein Wert von 16099. Den Wert noch durch 10 teilen und du hättest deine Temperatur. Aber wie gesagt: 1609,9°C: Unrealistisch. ;-)

Nun das ganze noch Mal von hinten aufzäumen: Du sagst, du hast eine Temperatur von 2 Grad abgelesen und würdest die gerne in deinen Rückgabewerten suchen. Also los:
2 Grad auf dem Display entspricht dem Wertebereich 2,0 bis 2,9 Grad im Regler. Es kann also leider einer dieser zehn Werte sein, nicht nur einer. 2,0 bis 2,9 gibt 20 bis 29 im Dezimalen oder 14 bis 1D in Hex. Nun noch auf zwei Bytes erweitern und diese tauschen ergibt 1400 bis 1D00. Das heißt bei 2 Grad im Display suchst du nach einer der folgenden zehn Antworten:
021400
021500
021600
021700
021800
021900
021A00
021B00
021C00
021D00

So besser verständlich?

ZitatKann man eventuell mal eine Ausgabe aller RAM-Werte machen und so den Wert suchen?
Dazu habe ich mir ein Skript geschrieben. Es fragt die Adressen FC09000300F502 bis FC090003FFF502, ab. Ich habs mal angehängt, ebenso eine Datei mit den Antworten meines Reglers.

Die Spaltenüberschriften  in dieser Datei bedeuten:

DECIMAL: Dezimalwert der abgefragten Adresse
Bekannt?: Falls der Wert zugeordnet ist, steht hier sein Name
HEX: Der Hexadzimalwert der Adresse von 00 bis FF
response1: Die zwei Byte von Interesse
response rigth order: Die Bytes getauscht
decimal.1: Die Bytes in Dezimalwert umgerechnet
response: Nochmal die zwei Byte von Interesse(? weiß grad nimmer warum)
response2: Eine Antwort einer zweiten Abfrage an einem anderen Tag
response3: Eine Antwort einer dritten Abfrage an einem anderen Tag
response4: Eine Antwort einer vierten Abfrage an einem anderen Tag

Vielleicht hilfts, viele Grüße!
Matthias

any

#27
Hi zusammen :)

Ich habe einen PS5510 S-1 in der Software Version 1.00 vom 27.04.1999 (dieser war bereits vorhanden als ich eingezogen bin). Weiter Unterlagen dazu habe ich leider nicht.
Gestern habe ich einen ebus Adapter (Ethernet Variante von ebusd) angeschlossen, leider zeigt dieser aber kein Signal am E-Bus an und die grüne LED leuchtet durchgängig, ebusctl zeigt:


root@domoticz:~# ebusctl i
version: ebusd 23.1.23.1
update check: OK
device: 10.0.0.25:9999, enhanced, firmware 1.1[8419].2[847f]
signal: no signal
reconnects: 0
masters: 1
messages: 11
conditional: 0
poll: 0
update: 4
address 31: master #8, ebusd
address 36: slave #8, ebusd, scanning


Muss der E-Bus noch irgendwie aktiviert werden? In den Einstellungen habe ich leider nichts gefunden. Angeschlossen ist der E-Bus Adapter an den Pins 1 und 2 am PS5511 (Klemmleiste X2).
Hat jemand eine Idee?


Danke und viele Grüße
Martin

DS_Starter

#28
Hallo Martin,

am TEM musst du nichts aktivieren.
Der eBusd muss beim scannen den TEM finden. Hast du die Polung (+-) beachtet ?

EDIT: Habe das Manual angehängt falls du es brauchst (weil du keine Unterlagen zum Gerät hast).

Grüße,
Heiko


ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

any

Hallo Heiko,

vielen Dank für deine Antwort. Ich hatte heute morgen auch eine Rückmeldung von TEM erhalten, angeblich hat der PS5510 S1 (nicht PS5511) keinen E-Bus,
auch wenn die entsprechenden Klemmen sowie die Buchse an der Frontseite vorhanden sind. Ein vorhin gefundenes Handbuch (siehe Anhang) für den PS5510 S1 zeigt allerdings
ebenfalls, dass ein E-Bus vorhanden sein müsste *sigh* Ich bin mir aktuell unsicher, was jetzt richtig ist. Ich messe zwischen den PINs 1 und 2 auf dem Klemmfeld X2
jedoch auch keine Spannung und diese müsste - soweit ich das verstehe - ja eigentlich anliegen, der LOW-Pegel soll sich ja irgendwo bei 9V bewegen.

Danke und viele Grüße
Martin