ebus Energieintegral #740
-
Hallo zusammen, ich möchte mich vorne weg bei allen Beteiligten, insbesondere natürlich bei @john30, für diese Projekt hier bedanken. Es ist einfach großartig, was hier passiert. Danke dafür! Jetzt zu meinem Anliegen. Ich habe folgendes Setup (Vaillant):
ebus läuft einwandfrei und ich kann schon fast alles machen, was ich benötige. Steuerung über Node Red, Daten sammeln in Zabbix. Die letzten Tage habe ich mich damit beschäftigt, wie ich Daten aus dem Live Monitor der hmu auslesen kann, da mich besonders das Energieintegral interessiert. Dabei bin ich durch den Beitrag #437 (bzw. dem follow up #720) von @Yunkie zu 99% zum Ziel gekommen. Ich kann das Energieintegral auslesen. Allerdings nicht wirklich in "echtzeit" sondern scheinbar nur alle 4,2 Minuten. Ist jetzt nicht dramatsch schlimm, aber es interessiert mich schon warum. Beim decoden der unbekannten Hexwerte bin ich auf sowas wie 7108b51a04056a3221 / 0a6a082554ffffff000000 gestossen und habe da den vermuteten Wert gefunden und in die lokale CSV eingebaut. Was mir dabei aufgefallen ist, ist das was in #720 von @jkrauss82 beschrieben wurde: Ich habe an einer Stelle Werte, die scheinbar einen Zeitfaktor beinhalten. Hier ein paar Beispiele: 7108b51a0405da3221 Antworten sehen dann zum beispiel so aus: 0a6a08254fffffff000000. Diese habe ich dank des ebusctl grab result decode super "entziffern" können. 54ffff ist das, was mich interessiert. Und wie gesagt auch nach einbau in die csv wie erwartet ausgegeben wird. Master klar, Slave klar, PBSB klar. Dann kommt immer die Länge 04 und die ID 05 (ich hoffe, das habe ich richtig ausgedrückt). Dann kommt ein Wert, der sich ändert und danach immer 3221. Die Werte variieren in Dezimal von 0 bis 254. Durch Beobachtung habe ich die Vermutung, dass es sich dabei um Sekunden handelt. Denn 254 sind in Minuten 4,2 und das entspricht ziemlich genau dem zeitraum, wann neue Werte (bei Änderung) über den Bus kommen. Hat jemand Erfahrungen damit und kann mir sagen, ob ich das noch besser machen kann? Danke fürs lesen und viele Grüße |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 13 replies
-
Das hängt mit der Funktionsweise von ebusd zusammen. Intern werden ausgelesene Werte 5 Minuten gecacht. Um einen aktuellen Wert auszulesen, kann man Vorsicht: zumindest bei mir führt ein zu häufiges Abfragen am Bus zu Fehlern wie "arbitration lost". Habe bei mir einen Cronjob, der gewisse Werte, bspw. die Kompressormodulation, einmal pro Minute abfragt, das funktioniert recht verlässlich. Dann sind sie auch im HTTP Interface aktuell. |
Beta Was this translation helpful? Give feedback.
-
Hallo @dabbelju007, |
Beta Was this translation helpful? Give feedback.
Das hängt mit der Funktionsweise von ebusd zusammen. Intern werden ausgelesene Werte 5 Minuten gecacht. Um einen aktuellen Wert auszulesen, kann man
ebusctl
mit dem Parameter-f
dazu bringen, immer eine Anfrage an den Bus zu stellen und so den aktuellen Wert zu erhalten.Vorsicht: zumindest bei mir führt ein zu häufiges Abfragen am Bus zu Fehlern wie "arbitration lost". Habe bei mir einen Cronjob, der gewisse Werte, bspw. die Kompressormodulation, einmal pro Minute abfragt, das funktioniert recht verlässlich. Dann sind sie auch im HTTP…