NEWS
EBus Adpater
-
Hallo,
die Unterstützung von eBus in ioBroker ist sehr rudimentär. @Hoich hat zwei Skripte geschrieben, die jedoch mehr experimentell als produktiv eingesetzt werden können. Aus diesem Grund suche ich Leute, die Ihre Heizung über eBus abfragen/steuern um sich mit ihnen auszutauschen.
Ich danke für eure Unterstützung,
a200.
-
Also ich wäre auch interessiert an einen Ebus "Adapter" hab mir eine Platine zusammen gelötet und kann die Heizungsanlage auslesen!
Besitzen tue ich eine Vaillant Gasbrennwerttherme!
Ich glaube das waren die Scripte die ich mal testweise in Benutzung hatte!
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
Kurzes Update: ich hab ebusd auf eine neue Version hochgezogen und verwende jetzt MQTT um die Daten in iobroker einzulesen. Dazu muss ich aber im Moment noch immer meine Skripte nehmen um das Senden der Daten zu veranlassen. Nur Status01 und DateTime kommen regelmäßig über den ebus.
Ich hab mir auch letzte Woche eine Version von vrDialog geholt, die offizielle Software von Vaillant. Die scheint nichts anderes zu machen als regelmäßig die Felder abzufragen die gerade in der Ansicht sind. Und es sind viel weniger Daten als ich über ebusd bekomme - bin gerade etwas enttäuscht, aber vielleicht mach ich ja auch noch etwas falsch.
Gesendet von iPad mit Tapatalk
-
Kurzes Update: ich hab ebusd auf eine neue Version hochgezogen und verwende jetzt MQTT um die Daten in iobroker einzulesen. Dazu muss ich aber im Moment noch immer meine Skripte nehmen um das Senden der Daten zu veranlassen. Nur Status01 und DateTime kommen regelmäßig über den ebus.
Ich hab mir auch letzte Woche eine Version von vrDialog geholt, die offizielle Software von Vaillant. Die scheint nichts anderes zu machen als regelmäßig die Felder abzufragen die gerade in der Ansicht sind. Und es sind viel weniger Daten als ich über ebusd bekomme - bin gerade etwas enttäuscht, aber vielleicht mach ich ja auch noch etwas falsch.
Gesendet von iPad mit Tapatalk `
hi, da du der Spezialist für ebus bist, wende ich mich direkt an dich. Mein eBus liedert mir folgende Daten:
!
root@raspberrypi:/etc/ebusd/vaillant# ebusctl info version: ebusd 3.0pre.cc59b32 signal: acquired symbol rate: 23 reconnects: 0 masters: 3 messages: 712 conditional: 12 poll: 1 update: 8 address 03: master #11 address 08: slave #11, scanned "MF=Vaillant;ID=BAI00;SW=0604;HW=5502", loaded "bai.308523.inc", "vaillant/08.bai.csv" address 10: master #2 address 15: slave #2, scanned "MF=Vaillant;ID=UI ;SW=0508;HW=6201", loaded "vaillant/15.ui.csv" address 23: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/23.solsy.cc.csv" address 25: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/25.solsy.hwc.csv" address 26: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/26.solsy.hc.csv" address 31: master #8, ebusd address 36: slave #8, ebusd address 50: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/50.solsy.mc.csv" address ec: slave, scanned "MF=Vaillant;ID=SOLSY;SW=0500;HW=6301", loaded "vaillant/ec.solsy.sc.csv" !
Wenn ich dein ioBroker find-Skript laufen lasse bekomme ich zig Datenpunkte, die in dem meisten Fällen leer sind oder einen Fehler enthalten. Das ist an sich in Ordnung denn auch manuell kann ich nur wenige Daten abfragen:
! ` > broadcast vdatetime
outsidetemp
datetime
mc status 29;off;29.06;18
mode 18;auto;0;0;low;mixer;day
hwc status 0;off;53.94;55
mode 55;auto;02;off
hc currenterror
SumFlowSensor 33.31;ok
datetime
bai status01 31.5;31.5;-;-;-;off
mode standby `
Leider kann ich nichts zu sc auslesen, auch wenn ich schon mal dort Daten gesehen habe. Jetzt meine Fragen an dich:a) wie würdest du vorgehen um mehr Infos herauszufinden?
b) Was ist jetzt bei mir die Vorlauftemp. Was ist die akt. Temp? An welche Stellen in der angefügten Grafik würde man meine Daten einfügen?
c) lohnt sich im Moment der umstieg auf MQTT? Und wenn ja, welche Änderungen brauche ich im ioBroker?
d) Würdest du uns deine Sripte für MQTT zur Verfügung stellen?
Ich würde mich freuen, wenn du wenigstens ein paar Fragen beantworten könntest. Verstehe mich nicht falsch, ich will die arbeit selber machen, aber über etwas Unterstützung würde ich mich freuen.
Danke und LG, a200.
1597_plan.jpg -
Ich habe seit einiger Zeit (schon lange vor ioBroker) einen ebus-Adapter auf Basis eines Arduino Leonardo gebaut. Der liefert mir die Daten im xml-Format über's Netzwerk. Diese Daten hole ich mir jetzt mit dem ebus-Adapter https://github.com/rg-engineering/ioBro … ntrol_ebus in ioBroker.
Ziel wäre eine Ansicht wie diese
Wobei diese Ansicht noch unter Qt in C++ geschrieben ist., für ioBroker vis habe ich noch keine Lösung…
Im Moment bekomme ich folgende Daten von der Vaillant GeoTherm:
Das ganze funktioniert ohne zusätzliche scripts, der ebus-Adapter wird nur read-only betrieben…
-
Hi a200, die Daten die via broadcast kommen sehen doch schonmal prächtig aus! Du musst Dir die config-Files von ebusd zu deinen Geräten anschauen und dann kannst Du z.B. die status-Nachrichten interpretieren. Da sollte die Vorlauf und Rücklauftemperatur drinstecken, ebenso Außentemperatur.
Ich sitze heute abend wieder mal etwas dran, komme aber auch nicht so schnell weiter wie ich gerne würde, da meine iobroker-Installation noch an vielen Stellen hängt. Aber was ich letzte Woche versucht hatte, sah folgendermaßen aus:
Ich hab ebusd auf meinem rPi mit MQTT gestartet. Dazu muss man einen Parameter mehr in die Configdatein reinstekcne, so dass er einen MQTT Broker ansprechen kann. Der eingebaute von iobroker wollte aber nicht, dann hab ich eben mosquitto auf dem rPi installiert und greif von meinem Odroid mit dem MQTT Client auf den Broker zu. Da bekomm ich schonmal genau diese Statusmeldungen, in denen eigentlich das Wesentliche drinsteckt. Die anderen Felder kommen auch sobal man das find_f Skript ausführt, da alles was ebusd von der Therme holt auch via MQTT verschickt wird.
Als sorry, dass es so bruchstückhaft ist, aber ich komme auch nur gelegentlich dazu, wieder mal etwas umzubauen. Viel Erfolg, und ich melde mich sobald ich was neues hab
Gesendet von iPad mit Tapatalk
-
Hi nochmal, nachdem ja jetzt MQTT bei mir funktioniert, hier ein kleines Skript um die regelmäßigen Statusupdates der Therme auszuwerten und auseinanderzudrößeln. Damit solltest Du jetzt die wichtigsten Parameter visualisieren können. Mit ebusd geht noch viel mehr, aber das ist wohl das Relevanteste. Es ginge auch noch Status02 und DateTime, aber das kann man analog machen - Du solltest die Parameter noch anpassen dass sie zu der Config Deiner Therme passen (ich hab hier eine VRC430):
var idStatus01 = "mqtt.1.ebusd.bai.Status01"; createState('vaillant'); function updateStatus01() { var Status01 = getState(idStatus01).val; createState('vaillant' + '.' + 'vorlaufTemp'); createState('vaillant' + '.' + 'ruecklaufTemp'); createState('vaillant' + '.' + 'aussenTemp'); createState('vaillant' + '.' + 'WWTemp'); createState('vaillant' + '.' + 'speicherTemp'); createState('vaillant' + '.' + 'pumpenStatus'); var tmp = Status01.split(';'); setState('vaillant' + '.' + 'vorlaufTemp', tmp[0]); setState('vaillant' + '.' + 'ruecklaufTemp', tmp[1]); setState('vaillant' + '.' + 'aussenTemp', tmp[2]); setState('vaillant' + '.' + 'WWTemp', tmp[3]); setState('vaillant' + '.' + 'speicherTemp', tmp[4]); setState('vaillant' + '.' + 'pumpenStatus', tmp[5]); } on(idStatus01, updateStatus01);
Die Werte tauchen dann bei mir in javascript.0.vaillant.xxx auf
-
Ich habe seit einiger Zeit (schon lange vor ioBroker) einen ebus-Adapter auf Basis eines Arduino Leonardo gebaut. Der liefert mir die Daten im xml-Format über's Netzwerk. Diese Daten hole ich mir jetzt mit dem ebus-Adapter https://github.com/rg-engineering/ioBro … ntrol_ebus in ioBroker. `
Kannst du uns mal was zu deiner Anbindung via Arduino Leonardo sagen!? Gibt es irgendwo eine Anleitung!?
Gruß
Adrian
Gesendet von iPhone mit Tapatalk Pro
-
Kannst du uns mal was zu deiner Anbindung via Arduino Leonardo sagen!? Gibt es irgendwo eine Anleitung!? `
Ich verwende
-
ebus-Adapter (derzeit nur read only, die Leiterplatte enthält beide Richtungen)
- Arduino Leonardo (Mega geht da sicher auch)
- Ethernet shield für Arduino (W5100)
Der ebus-Adapter ist so aufgebaut:
Die Leiterplatte enthält zwar auch noch den Schreib-Teil, den habe ich aber bisher noch nicht in Betrieb genommen.
Vorteil ist, dass ich sicher bin, dass keine ungewollten Kommandos auf dem ebus landen Nachteil ist, dass ich nicht aktiv
einen Parameter abfragen kann, sondern warten muss, bis ein Busteilnehmer die Daten abfragt. Für die meine Anwendung reicht es,
da mein Ziel war, im Flur zu visualisieren, ob die Heizung läuft oder einen Fehler hat…
Der Prototyp der Leiterplatte inkl. (deaktiviertem) Schreib-Teil sieht so aus (hier im TTL-2-USB-Adapter, der aber nicht benötigt wird):
Hier noch die zwei Arduino-Leiterplatten:
Die Software für den Arduino (als Atmel-Studio-Projekt) findet man hier:
https://github.com/rg-engineering/Leona … _Interface
Wichtig ist, dass auch das Arduino-Studio installiert ist, da auf Arduino-Bibliotheken zugegriffen wird.
Derzeit sind nur Basis-Kommandos für die Vaillant GeoTherm implementiert. Erweiterungen sind aber
einfach realisierbar.
Eine Testsoftware für Windows findet man hier
https://github.com/rg-engineering/ebus4Win
Dafür schliesst man den ebus-Adapter mit einem TTL-2-USB-Adapter an einen Windows-PC. Dies ist hilfreich, wenn
man weitere Kommandos implementieren will.
-
-
Hallo,
die Unterstützung von eBus in ioBroker ist sehr rudimentär. @Hoich hat zwei Skripte geschrieben, die jedoch mehr experimentell als produktiv eingesetzt werden können. Aus diesem Grund suche ich Leute, die Ihre Heizung über eBus abfragen/steuern um sich mit ihnen auszutauschen.
Ich danke für eure Unterstützung,
a200. `
Hallo,
ich versuche jetzt schon seit einigen Wochen eine vernünftige Lösung zu finden. Das ebusd-Projekt scheint mir am weitesten gediehen. Da ich ohnehin gerade von ccu.io auf ioBroker umsteige, wäre die Anbindung meiner Vaillant Eco mittels ioBroker die ideale Lösung. Es gibt ja offensichtlich schon etwas, was die Anbindung der Heizung an ioBroker mehr oder weniger bereits ermöglicht. Mir ist jetzt nur noch nicht ganz klar, was ich alles benötige. Könntest Du hier einen kurzen "Fahrplan" veröffentlichen ? Etwa so:
1.) ioBroker installieren und Grundkonfiguration
2.) eBus-Adapter installieren (und da scheitert es schon, den finde ich gar nicht in der Übersicht …)
3.) ...
lg.
TF
-
Die Installation war jetzt soweit erfolgreich. Hier die nötigen Schritte.
1.) Installieren einer eBus-Bridge Hardware. In meinem Fall ist das ein Seriell2USB Adapter nach https://www.mikrocontroller.net/topic/346833 der an einem RaspberryPi 1 hängt. Dort läuft der ebusd.
2.) Installieren des ebus adapter (iobroker läuft bei mir unter dem User iobroker, der sudo-Rerchte hat, davon geht das Beispiel aus).
2.1.) sudo -i -u iobroker
2.2) iobroker stop
2.3) cd Download/
2.4) wget https://github.com/lennycb/ioBroker.ebu … master.zip
2.5) unzip master.zip
2.6) sudo chown -R iobroker. *
2.7) sudo npm install ioBroker.ebus-master/
2.8) iobroker upload ebus
2.9) iobroker start
3.) Administrieren mittels WebUI (http://<iobroker>:8081/#adapters
3.1) ebus adapter ioBroker eBus Adapter ebus Vaillant Wolf Heizung -> klick [+]
3.2) konfiguriere IP-Adresse und Port des ebusd
Fenster [Adapterkonfiguration: ebus.0]
host 192.168.x.x
port 8888
[Speichern und schließen]
4.) Erfolgskontrolle (http://<iobroker>:8081/#objects)
ebus.0
-
370
-
bai
-
broadcast
-
general
-
memory
-
scan
5.) Status (http://<iobroker>:8081/#logs)
-> bei mir viele Errors im Log
host.iobroker 2017-05-01 14:37:53.166 info Restart adapter system.adapter.ebus.0 because enabled
host.iobroker 2017-05-01 14:37:53.166 error instance system.adapter.ebus.0 terminated with code 6 (uncaught exception)
ebus.0 2017-05-01 14:37:52.200 error TypeError: Cannot read property 'val' of null at /home/iobroker/node_modules/iobroker.ebus/main.js:119:18 at /home/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3864:61 at So
ebus.0 2017-05-01 14:37:52.199 error uncaught exception: Cannot read property 'val' of null
ebus.0 2017-05-01 14:37:42.083 info starting. Version 0.0.1 in /home/iobroker/node_modules/iobroker.ebus, node: v4.2.6
host.iobrokert 2017-05-01 14:37:41.514 info instance system.adapter.ebus.0 started with pid 1674
und einige mehr. Aber grundsätzlich kommen schon Werte an. Sehr gut.</iobroker></iobroker></iobroker>
-
-
Wundert mich das da überhaupt was geht. Den "Adapter" hatte ich mal angefangen, aber aus Zeitgründen nach hinten gestellt. Der funktionierte noch nicht. Hier sind hauptsächlich die scripte von "hoich" drin.
Gesendet von meinem SM-G925F mit Tapatalk
-
Das habe ich auch so verstanden. Leider reichen meine Kenntnisse nicht aus, um daran anzuknüpfen. Ich warte also (un)geduldig, ob vielleicht doch mal irgendwann wieder etwas passiert.
Danke schon mal für das, was da ist.
-
Ah, das sieht ja schon recht gut aus Das hatte ich mir auch mal vorgenommen die ebusd-Skripte in einen Adapter zu packen, aber leider keine Ahnung wie man einen Adapter schreibt (und auch meine Javascript-Kenntnisse sind sehr rudimentär, ich wende nur an, was ich von woanders her kann) und außerdem hat der ebusd-Autor gemeint, er würde jetzt eh auf MQTT umstellen. Aber die find-Skripte scheinen immer noch sinnvoll zu sein, weil über MQTT kommen nur ein paar regelmäßige Meldungen.
Mal sehen wie ich den installiert bekomm, vielleicht kann ich ja damit besser weiterarbeiten als mit den Skripten im Javascript-Adapter.
-
…die ebusd-Skripte in einen Adapter zu packen, aber leider keine Ahnung wie man einen Adapter schreibt ... ` und da sind wir schon 2 die es nicht können.
Ich habe auch nur "abgekupfert" und Hilfe aus dem Forum hatte ich auch.
Ist auch schon ein paar Tage her wo ich deine Scripte gesehen hatte. Ich meine mich zu errinnern, dass komplett alles angelegt wird was da ist. Quasi auch Sachen die nicht zum Heizungsmodell passen.
Meine Idee war, modelspezifisch zu suchen (find) und anzulegen. Danach nur noch die States zu aktualisieren.
Jetzt wird, glaube ich, bei jedem Durchlauf alles States neu angelegt.
-
Hallo,
es wird ja bereits ein find -f vom Adapter an den ebusd abgesetzt, wozu auch immer. Ich habe mich jetzt den ganzen Tag über mit dem Adapter beschäftigt. Leider bin ich nicht in der Lage, das Problem zu erkennen.
Das Hauptproblem im Moment ist, dass der Adapter nach jedem Durchlauf beendet wird (terminated with code 6 (uncaught exception)).
host.iobroker 2017-05-02 15:39:35.491 info Restart adapter system.adapter.ebus.0 because enabled host.iobroker 2017-05-02 15:39:35.490 error instance system.adapter.ebus.0 terminated with code 6 (uncaught exception) ebus.0 2017-05-02 15:39:34.463 debug cleaned everything up... ebus.0 2017-05-02 15:39:34.462 error TypeError: Cannot read property 'val' of null at /home/iobroker/node_modules/iobroker.ebus/main.js:119:18 at /home/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:3864:61 at Socket. (/home/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:150:27) at Socket.onack (/home/iobroker/node_modules/socket.io-client/lib/socket.js:312:9) at Socket.onpacket (/home/iobroker/node_modules/socket.io-client/lib/socket.js:236:12) at Manager. (/home/iobroker/node_modules/component-bind/index.js:21:15) at Manager.Emitter.emit (/home/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20) at Manager.ondecoded (/home/iobroker/node_modules/socket.io-client/lib/manager.js:332:8) at Decoder. (/home/iobroker/node_modules/component-bind/index.js:21:15) at Decoder.Emitter.emit (/home/iobroker/node_modules/component-emitter/index.js:134:20) ebus.0 2017-05-02 15:39:34.461 error uncaught exception: Cannot read property 'val' of null
Die Verwendung von mqtt ist leider auch keine Alternative. Der ebusd sendet an den Broker nur dann einen neuen Wert, wenn er selbst einen neuen Wert kennt. Dazu müsste jedoch jemand auf dem ebus nach einen neuen Wert fragen.
-
Hallo Hoich,
hast du dein mqtt Script noch im Einsatz? Habe Vaillant 430 auch im Einsatz und seit heute das ganze auch mit mqtt im Einsatz. Darum wollte ich fragen ob du eventuell dein Script erweitert hast?
@Hoich sagte in EBus Adpater:
Hi nochmal, nachdem ja jetzt MQTT bei mir funktioniert, hier ein kleines Skript um die regelmäßigen Statusupdates der Therme auszuwerten und auseinanderzudrößeln. Damit solltest Du jetzt die wichtigsten Parameter visualisieren können. Mit ebusd geht noch viel mehr, aber das ist wohl das Relevanteste. Es ginge auch noch Status02 und DateTime, aber das kann man analog machen - Du solltest die Parameter noch anpassen dass sie zu der Config Deiner Therme passen (ich hab hier eine VRC430):
var idStatus01 = "mqtt.1.ebusd.bai.Status01"; createState('vaillant'); function updateStatus01() { var Status01 = getState(idStatus01).val; createState('vaillant' + '.' + 'vorlaufTemp'); createState('vaillant' + '.' + 'ruecklaufTemp'); createState('vaillant' + '.' + 'aussenTemp'); createState('vaillant' + '.' + 'WWTemp'); createState('vaillant' + '.' + 'speicherTemp'); createState('vaillant' + '.' + 'pumpenStatus'); var tmp = Status01.split(';'); setState('vaillant' + '.' + 'vorlaufTemp', tmp[0]); setState('vaillant' + '.' + 'ruecklaufTemp', tmp[1]); setState('vaillant' + '.' + 'aussenTemp', tmp[2]); setState('vaillant' + '.' + 'WWTemp', tmp[3]); setState('vaillant' + '.' + 'speicherTemp', tmp[4]); setState('vaillant' + '.' + 'pumpenStatus', tmp[5]); } on(idStatus01, updateStatus01);
Die Werte tauchen dann bei mir in javascript.0.vaillant.xxx auf