NEWS
eBus Adapter Vaillant
-
Hallo zusammen,
nachdem ich letzte Woche auch endlich meinen Ebus Adapter (John30 V3.1) eingerichtet habe, kann ich momentan ein Problem mit der regelmäßigen Abfrage von bestimmten Datenpunken nicht lösen un hoffe auf eure Erfahrungen/Hilfe.System:
Raspberry Pi 3 B+ mit 64bit Bullseye
Ebusd mit MQTT dienst nach Anleitung von John30 Github installiert
config ebusd =EBUSD_OPTS="--scanconfig -d ens:/dev/ttyUSB0 --httpport=8889 --htmlpath=/va$"
iobroker + ebus adapter v3.0.7Die Verbindung zur Vaillant Wärmepumpe funktioniert und der ebusd dienst stellt die ausgelesenen Daten auf dem port 8889 bereit, wo sie der iobroker adapter abholt.
Leider werden einige Datenpunkte nur beim Starten des ebusd dienstes aktualisiert. Diese sind weder auft der HTML Seite noch im iobroker adapter aktuell (siehe lastup)Beispiel
Könnt ihr mir helfen, wie die Datenpunkte regelmäßig aktualisiert werden können?
Vielen Dank im Voraus
Foradh -
@foradh-0 in den Instanzeinstellungen des ebus-Adapters kannst du Datenpunkte hinterlegen, die zyklisch abgefragt werden sollen. Eingetragen wird immer der Name, wie der Datenpunkt bei ebus heißt. In deinem Fall ist das
HwcTemp-u
-
@hiltex sagte in eBus Adapter Vaillant:
HwcTemp-u
Danke für deine schnelle Antwort. Was muss denn bei Schaltkreis hinterlegt werden?
-
@foradh-0 da muss nicht zwingend ein Wert eingetragen werden.
Allerdings habe die Geräte in der Regel intern mehrere Module (bai, 700, vms, usw.), die im Datenpunktbaum als übergeordnete Gruppierung angezeigt werden. Sollte das bei dir auch so sein, und mehrere Module denselben Datenpunktnamen verwenden, dann kannst du gezielt das Modul auswählen, von dem der Datenpunkt abgerufen wird.
-
Hab mal die Datenpunkte eingetragen die sich nicht automatisch aktualisiert hatten. Leider aktualisieren sich die Werte nach dem Eintrag auch nicht.
Zusätzulich bekomme ich nun im Log die Meldungexception from tcp socket in ebusd_ReadValues [Error: connect ECONNREFUSED]
-
Ich habe nochmal im Terminal mit ebusctl Abfragen experementiert.
Hierbei ist mir aufgefallen, dass für die AbfrageHwcTemp-u
die Fehlermeldung "element not found" auftritt.
Habe einfach mal das -u weggelassen und mitebusctl read HwcTemp
wird der korrekte Wert ausgelesen.Wenn ich nun im iobroker ebus adapter die Abfrage auf z.B.
HwcTemp
eintrage, wird ein neuer Eintrag in Objekten erstellt und auch der korrekte Werte angezeigt.
Leider aktualisieren sich diese Werte ebenfalls nicht automatisch und auch die Fehlermeldung"exception from tcp socket in ebusd_ReadValues [Error: connect ECONNREFUSED]
erscheint regelmäßig im Log. Wenn ich allerdings die Werte im Terminal perebusctl read HwcTemp
abfrage werden diese auch korrekt an iobroker übergeben und angezeigt. -
Ich hatte im adapter versehentlich den falschen telnet port eingestellt. Mit dem korrekten funktionieren nun auch die automatischen Abfragen über den Adapter.
Also die Lösung für mich ware einmal die Datenpunkte ohne den Zusatz -u zu erzeugen und natürlich auch den korrekten port im Adapter anzugeben.Danke nochmal an Hiltex!
-
Bei MQTT scheint der ebusd nicht selbständig zu senden.
Bei mir werden nur "Status1" über MQTT Aktualisiert.
Alle anderen Datenpunkte werden nicht "slebständig" über MQTT gesendet und werden "per Hand" vom ebus Adapter über
HTTP abgeholt.P.S.
ebus & Vaillant. Ein Spross ewiger Freude.
Aber Viessmann ist noch schlimmer.
(nie wieder) -
Rein zum Verständnis...brauche ich für meine Verwendung überhaupt die MQTT Variante?
Ich lasse den ebus Adapter im iobroker die Daten über http abholen. Habe bisher mit MQTT keine Berührungspunkte und weiß auch nicht welche Aufgaben es in der ebus Konstellation hat. -
@foradh-0 ich denke nicht. MQTT ist meiner Ansicht nach ein relativ neues Feature, und vorher hat das ja auch wunderbar funktioniert.
Allerdings ist es so, dass es relativ normal ist, dass die Werte nicht automatisch aktualisiert werden. Meine Therme sendet so gut wie keine Daten von alleine. Ich muss alles aktiv abfragen, was für mich interessant ist.
-
Bei MQTT würde man keinen ebus-Adapter mehr benötigen.
Was es wiederum einfacher macht mit Node-Red herum zu spielen.Wenn es genügt, braucht man nur den ebus Adapter.
Dann empfiehlt sich ein "ebusctl find -F circuit,name,comment" um die benötigten Datenpunkte zu finden.Wie frage ich aktiv MQTT ab ? Leeres Topic an den Datenpunkt senden ?
-
@dreistein Damit habe ich überhaupt keine Erfahrung. Ich benutze ebusd und den ebus-Adapter, kein MQTT
-
@hiltex sagte in eBus Adapter Vaillant:
@dreistein Damit habe ich überhaupt keine Erfahrung. Ich benutze ebusd und den ebus-Adapter, kein MQTT
Schade
-
Hi!
Ich muss mal ganz doof fragen.
Ich habe meinen Adapter 3 von John via USB eingebunden und bekomme dort auch Werte. Leider die, die mich nicht sonderlich interessieren.
Ich wollte Brennerstarts, derzeitige Leistungsaufnahme und so weiter haben.
Ich sehe diese Sachen auch immer in den Screenshots von euch aber ich habe diese Punkte leider nicht. Scheint als ob er die nicht automatisch abfragt.
So weit so gut, frage ich sie manuell ab (so wie "mwolle" Beitrag 30.12.2022 )dachte ich mir und wollte die Datenpunkte herausfinden die ich überhaupt alle abfragen kann. Und da werde ich nicht schlau welche Kommandos ihr dafür benutzt alle verfügbaren datenpunkte herauszufinden.. Könnt ihr mir da kurz helfen bitte?VR700 an Vaillant 75/6 Luftpumpe :-),
Bisherige Datenpunkte :
Wie sieht es mit diesem Bild aus?
Ich weiß nicht wann er mit dem scannen von Adresse 31 bzw 36 fertig sein soll? läuft ja nun schon ein paar tage der adapter -
Aus meinem Memofile :
:EBUS:
sudo nano /etc/default/ebusd
sudo systemctl restart ebusd
ebusctl find -F circuit,name,comment
ebusctl read ModulationTempDesired
tail -f /var/log/ebusd.log -
@dreistein said in eBus Adapter Vaillant:
ebusctl read ModulationTempDesired
"I go crazy!" um es mit Sachsenpaule´s Worten zu sagen... Vielen Dank!
Ich habe mit "find" viele Werte identifizieren können und mit "read" einen davon aktiv ausgelesen und schon war er im iobroker als Objekt. Klasse!
Es sind nun eine Menge Werte die dort zusätzlich aufgetaucht sind.Ist es möglich die Ausgabe in ein Script umzuleiten und jeden Wert einmal aktiv abzufragen damit er direkt erstmal auftaucht in den Objekten?
Wenn ich das richtig verstanden habe muss man dann anschließend trotzdem jeden Wert zyklisch aktiv abfragen oder? ( ich meine die "abgefragten Datenpunkte" in den Instanzeinstellungen) oder geht das dann nach der ersten Abfrage automatisch?Edit: Noch eine Frage bitte....
Ich habe die Ausgabe nun in eine Datei umgeleitet. Nun ist aber die Ausgabe eine ganz andere. Werden bei dieser Abfrage nur die derzeitig verfügbaren abgefragt oder wirklich alle werte?
Beispiel: bei der ersten Abfrage kam kaum etwas Adapter wurde ja gerade neu gestartet.
zweite Abfrage: viele Werte unter anderem PrEnergySum ale Energieverbrauch gesamt
dritte Abfrage: PrEnergySum fehlte wieder -
Achtung Vermutung und Halbwissen !
Die Werte die du Abfragen möchtest musst du in den eBus Adapter eintragen./übertragen (Spoiler)
Warum einige Werte auftauchen, andere nicht kann ich nicht sagen.
Einige Werte werden automatsich gesendet , einige muss man aktiv abfragen.
Ich hab den Algorythmus dahinter nicht verstanden.
Wie du siehts, viel hilfe gibt es von mir nicht mehr. Sicher wissen die Mitlesenden mehr.
Ich und eBus werden keine Freunde.
Falls du Fragen möchtest wie man aktiv mit eBus steuert, tja da bin ich raus. -
Moin!
Danke für die Tipps!
Ich habe es nun einfacher gelöst.
Ich habe mir die Datei 15.700 (habe eine vrc700) angesehen und dort die bekannten Datenpunkte genommen die ich interessant fand. Ich habe die dann mit "read" einmal ausgelesen und anschließend in den Instanzeinstellungen die nochmals hinterlegt . Jetzt werden die auch zyklisch abgefragt und ich habe meine ersten regelmäßigen Werte.
Ich hatte mal versucht herauszufinden wie ich das mit dem Script hätte machen können die alle erstmalig auslesen zu können....alles zu aufwendig im Vergleich zum Ergebnis. Ich muss ja eh alle werte in den regelmäßig abzufragenden Werten manuell hinterlegen.
Das wäre allerdings eine richtig super Sache die man das für den Adapter in die Software einbauen könnte.
Je nach benutzter Datei z.B. "15.700" oder "15.720" werden diese dort vorhandenen Datenpunkte automatisch in den Instanzeinstellungen als regelmäßige, abzufragende Werte eingetragen. Das wäre echt eine super Erleichterung . Gerade für Neueinsteiger wie mich.
Und schon hast du eine richtig Benutzerfreundlich gestaltete Ebus Schnittstelle. Und es ist flexibel, je nach automatisch erkannter Anlage. -
@drurob
eBus, von Ingenöre für Ingenöre.
Viessmann , WIR verkaufen dir DEINE Daten.
Vaillant, Software braucht keiner .... neumodischer Krams .. setzt sich nicht durch !Ich kann das meckern eninfach nicht lassen
-
@dreistein sagte in eBus Adapter Vaillant:
Warum einige Werte auftauchen, andere nicht kann ich nicht sagen.
Der ebus legt Werte nur dann auf dem Bus, wenn sie ein Busteilnehmer anfordert. Wenn also ein Wert nicht auftaucht, fordert ihn keiner an. Im Normalfall hört der ebus-Adapter einfach nur mit, und schreibt sich alles auf, was auf dem Bus gesendet wird. Deshalb muss man manche Werte selbst über den Bus abfragen...
@drurob sagte in eBus Adapter Vaillant:
Das wäre echt eine super Erleichterung . Gerade für Neueinsteiger wie mich
Ich habe in der 3.2.0 einen Button "find" eingebaut. Der ruft zunächst die beim ebusd (laut Konfiguration) bekannten Datenpunkte ab und anschliessend wird der Wert gelesen (also eine Anforderung zur Übertragung auf den Bus gelegt). Wenn ein Busteilnehmer den Wert kennt, wird er antworten. Damit kommt der Wert dann als Datenpunkt im ioBroker an. Zusätzlich übernehme ich die Beschreibung der Datenpunkte vom ebusd in den Objekt-Baum. Jetzt hat man die bekannten und verfügbaren Daten im ioBroker. Die Übernahme in die regelmässig abzurufenden Daten kann ich nicht automatisch machen, weil jede Anlage anders ist und evtl. will das ja auch jeder anders.. Außerdem sollte man nur die Daten abfragen, die man wirklich benötigt um den Bus nicht unnötig zu belasten...