NEWS
Adapter: ebus
-
@andreasw63 , ja der Wert ist eingetragen.
Den Gedanken, dass SIGNOFLIFE von vorherigen „übrig geblieben“ sei, hatte ich auch und den Datenpunkt gelöscht …. Ich weiß nicht wie lange es dauerte, aber nach einer Zeit x war er und somit auch die Fehlermeldungen wieder da.
Also habe ich ihn jetzt nochmals gelöscht -> beim nächsten Zyklus war er wieder da.
Hat noch jemand eine Idee?
-
@leonundjulie
Das Verhalten ist bei meiner Installation genau so.
Ich habe den Entwickler des Adapters auf Github gefragt:
https://github.com/rg-engineering/ioBroker.ebus/issues/391Ich bin auf die Antwort gespannt.
-
@andreasw63
Nachdem die Parameter aus der Instanz-Konfiguration gelöscht wurden, muss auch der ebusd neu gestartet werden, sonst werden die Datenpunkte wieder angelegt. -
@marc-berg …. Auch das hilft nicht. Ich habe EBUSD für 10 Sekunden ausgeschaltet, zwischenzeitlich den DP SIGNOFLIFE gelöscht - Anmerkung: in der Instanz EBUS ist von mir nie ein SIGNOFLIFE definiert worden. Fazit: beim nächsten Abrufzyklus waren der DP und die Fehlermeldung wieder da.
-
@leonundjulie sagte in Adapter: ebus:
Anmerkung: in der Instanz EBUS ist von mir nie ein SIGNOFLIFE definiert worden
Hier: https://forum.iobroker.net/post/1241062
hast du es noch anders geschrieben.
Wie dem auch sei, dein Fall und der von @AndreasW63 scheint unterschiedlich gelagert zu sein. Den Fehler bei @AndreasW63 konnte ich so 1:1 nachstellen.
-
@Marc-Berg … auf der Suche nach der Ursache bin icheinen Schritt weiter. Ich erinnerte mich, dass der IOB Adapter EBUS grundsätzlich Werte über das sogenannte PARSEN, also dem Abgreifen von Daten von einer http-Seite basiert. In diesem Fall also der Seite, die über den ebusd Service bereitgestellt wird.
Die Seite habe ich aufgerufen (sie ist sowohl in der Konfiguration des EBUSD-Services als auch im IOB Adpater EBUS genannt … also verlinkt
Ein Auszug meiner Seite zeigt sofort, dass meine Fehlerursache also nicht in der Konfiguration des EBUS Adpaters innerhalb des IOB liegt, die Ursache vielmehr im EBUSD zu suchen ist.
.Das Ergebnis des SACN zeigt folgendes:
Ich habe das jetzt mal bei GITHUB platziert https://github.com/john30/ebusd/discussions/1462#discussion-7852698
Nachtrag: ich habe mir mal die bei mir hinterlegten CSV-Dateien angesehen. In einer - und nur in einer - steckt das SIGNOFLIFE.
Jetzt müsste man sich mit den CSV-Dateien auskennen … kann man die Zeile einfach löschen? Ich habe mir auf der GITHUB-Seite mal ein paar der VAILANT-CSV‘en angesehen .. die kennen das SIGNOFLIFE nicht - was sagt mir das?
-
@marc-berg
Danke für deinen Tipp.
DAS hat geholfen.Ich bin wie folgt vorgegangen:
Die Instanz ebus.0 habe ich im iobroker gestoppt.
Den Dienst ebusd habe ich mit "sudo service ebusd stop" auf den Betriebssystemconsole beendet.
Nun habe ich in den Objekten des iobrokers die nicht gewünschten Datenpunkte entfernt.
Dann den Dienst ebusd mit "sudo service ebusd start" auf den Betriebssystemconsole gestartet.
Anschließend die Instanz ebus.0 im iobroker wieder gestartet.Auch nach einiger Wartezeit (ca. 2 Stunden) wurden die o.g. Objekte nicht mehr im Protokoll angezeigt.
-
Jetzt habe ich noch folgende Meldungen im Logfile:
ebus.0 2025-01-22 14:44:36.239 warn sent read -f -c sc D2Temp, received ERR: invalid position in decode for {"active":true,"circuit":"sc","name":"D2Temp","parameter":""} please check ebusd logs for details!
ebus.0 2025-01-22 14:44:35.471 warn sent read -f -c sc D1Temp, received ERR: invalid position in decode for {"active":true,"circuit":"sc","name":"D1Temp","parameter":""} please check ebusd logs for details!2025-01-22 14:44:34.653 [bus info] send message: 31ecb509030d0200
2025-01-22 14:44:34.760 [bus error] send to ec: ERR: wrong symbol received, retry
2025-01-22 14:44:35.470 [update info] sent MS cmd: 31ecb509030d0200 / 00
2025-01-22 14:44:35.471 [update error] unable to parse read sc D1Temp from 31ecb509030d0200 / 00: ERR: invalid position
2025-01-22 14:44:35.471 [main error] read sc D1Temp: decode ERR: invalid position
2025-01-22 14:44:35.472 [bus info] send message: 31ecb509030d0800
2025-01-22 14:44:36.237 [update info] sent MS cmd: 31ecb509030d0800 / 00
2025-01-22 14:44:36.237 [update error] unable to parse read sc D2Temp from 31ecb509030d0800 / 00: ERR: invalid position2025-01-22 14:44:36.238 [main error] read sc D2Temp: decode ERR: invalid position
2025-01-22 14:44:36.239 [network info] [00053] connection closed
Hat jemand einen Tipp für mich ?
-
@andreasw63 sagte in Adapter: ebus:
Ich bin wie folgt vorgegangen:
Die Instanz ebus.0 habe ich im iobroker gestoppt.
Den Dienst ebusd habe ich mit "sudo service ebusd stop" auf den Betriebssystemconsole beendet.
Nun habe ich in den Objekten des iobrokers die nicht gewünschten Datenpunkte entfernt.
Dann den Dienst ebusd mit "sudo service ebusd start" auf den Betriebssystemconsole gestartet.
Anschließend die Instanz ebus.0 im iobroker wieder gestartet.
Auch nach einiger Wartezeit (ca. 2 Stunden) wurden die o.g. Objekte nicht mehr im Protokoll angezeigt.die oben beschriebene Lösung ist zu empfehlen.
Leider hilft das nur so lange, bis der ebusd manuell oder automatisch eine neue Suche nach Datenpunkten auf dem Bus startet. Dabei werden ggf. Datenpunkte im ebusd (nicht im Adapter) gefunden und angelegt, die nicht regelmäßig oder nie aktualisiert werden. Der Adapter übernimmt dann diese Datenpunkte und meldet, dass diese nicht aktualisiert wurden. Das lässt sich nur mit der oben beschriebenen Methode wieder rückgängig machen.
Da diese Diskussion immer wieder aufkommt, werde ich eine Option hinzufügen, um diese Prüfung komplett zu deaktivieren.siehe auch
https://github.com/rg-engineering/ioBroker.ebus/issues/391 -
Da ich auch gerade (mal wieder) mit dem ebus kämpfe noch ein Tipp von mir, um zumindest immer gleiche Ergebnisse zu erhalten, falls noch jemand das Problem hat:
Da der ebus Service bei mir beim Starten sehr unzuverlässig die csv Dateien den gescannten Geräten zugeordnet hat (mal garnicht, mal eine ander Datei genommen) wurden danach andere Objekte in ioBroker aktualisiert bzw. halt nicht mehr aktualisiert. Im dümmsten Fall wurde auf git die csv aktualisiert und etwas umbenannt, dann war es nach Neustart des ebus Service ein anderes Objekt. Dadurch hat meine VIS oft nicht mehr gestimmt.
Ich habe jetzt die csv lokal abgelegt (durch ein lokales git repository clonen, sehr einfach; händisch kopieren hat nur zu Fehlermeldungen geführt) und seitdem ist nach jedem ebus Neustart auf dem Raspi die Zurodnung der csv identischWenn man nun wie im vorherigen Post einen Status hat, der immer wieder ungwewollt auftaucht, kann man diese Zeile in der lokalen csv einfach löschen. Dann erscheint er nach Neustart des ebus daemons sicher nicht mehr.
ABER: klar, Aktualisierungen werden online dann nicht mehr gezogen. Da sich eine Heizungssystem aber nicht sooo oft ändert, ist das akzeptabel, denke ich.
Was ich noch nicht herausgefunden habe: wie kann ich manuell eine csv einem in ebus gefundenem Gerät zuordnen, z.B. nach einem Scan? Aber das ist keine ioBroker Frage, sondern ebus