NEWS
Adapter: ebus
-
was sagt denn das log im iobroker? Eigentlich habe ich an der Ecke zwischen 0.4. und 0.5. nicht viel geändert. Ich könnte mir aber vorstellen, dass Einstellungen von einer Version auf die andere verloren gegangen sind? Vielleicht mal die Adapter-Einstellungen zwischen den beiden Version prüfen?
Nutzt du die gepollten Werte vom Adapter aus oder ist diese Liste leer?
-
Die Datenpunkte-Liste bei 0.5 ist leer (siehe Screenshot)
Ich bin davon ausgegangen das er alle Broadcast werde automatisch übernimmt (so wie bei der Version 0.4.2)
Log 0.5
ebus.0 2018-03-09 17:11:01.550 warn force terminate ebus.0 2018-03-09 17:10:01.551 debug telnet connected ebus.0 2018-03-09 17:10:01.550 debug polled: ebus.0 2018-03-09 17:10:01.549 debug connect telnet to IP 192.168.5.6 port 8889 ebus.0 2018-03-09 17:10:01.540 debug _____ ctr 2 ebus.0 2018-03-09 17:10:01.540 debug init variables ebus.0 2018-03-09 17:10:01.539 debug start with interface ebusd ebus.0 2018-03-09 17:10:01.535 info starting. Version 0.5.0 in /opt/iobroker/node_modules/iobroker.ebus, node: v6.13.0 ebus.0 2018-03-09 17:10:01.491 debug statesDB connected ebus.0 2018-03-09 17:10:01.412 debug objectDB connected
Beim 0.4.2 Adapter:
Log:
[...] ebus.0 2018-03-09 17:15:02.126 debug Key : bai.messages.SetMode.fields.hwcflowtempdesired.value, Value : null ebus.0 2018-03-09 17:15:02.126 debug Key : bai.messages.SetMode.fields.hwctempdesired.value, Value : null ebus.0 2018-03-09 17:15:02.123 debug Key : bai.messages.SetMode.fields.flowtempdesired.value, Value : 31 ebus.0 2018-03-09 17:15:02.107 debug Key : bai.messages.SetMode.fields.hcmode.value, Value : auto ebus.0 2018-03-09 17:15:02.106 debug Key : bai.messages.SetMode.lastup, Value : 1520612094 ebus.0 2018-03-09 17:15:02.097 debug Key : bai.messages.Flame.fields.0.value, Value : off ebus.0 2018-03-09 17:15:02.091 debug Key : bai.messages.Flame.lastup, Value : 1520611870 ebus.0 2018-03-09 17:15:01.952 debug request data from http://192.168.5.6:8889/data ebus.0 2018-03-09 17:15:01.952 debug start with interface ebusd ebus.0 2018-03-09 17:15:01.950 info starting. Version 0.4.2 in /opt/iobroker/node_modules/iobroker.ebus, node: v6.13.0 ebus.0 2018-03-09 17:15:01.902 debug statesDB connected ebus.0 2018-03-09 17:15:01.790 debug objectDB connected
-
Ich bin davon ausgegangen das er alle Broadcast werde automatisch übernimmt (so wie bei der Version 0.4.2) `
ja, das ist die Idee. Ich schau mir das heute nochmal an…
-
Laut log liegt das Problem in der Telnet-Verbindung.
Eigentlich (und bei meinen Tests funktioniert das) sollte eine Telnet Verbindung aufgebaut werden, auch wenn keine Werte gepollt werden sollen. Dann kommt vom ebusd eine leere Meldung zurück und die triggert dann den Aufbau der HTTP-Verbindung zum eigentlichen Abrufen der Daten. Hier bleibt der adapter aber irgendwie hängen. Seltsam ist auch, dass in den settings der Telnet Port 8890 eingestellt ist, aber im log eine Verbindung zum Port 8889 aufgebaut werden soll. :?
Im github habe ich jetzt eine Version 0.5.1. In der Version baue ich gar keine Telnet-Verbindung auf, wenn die Liste der zu pollenden Werte leer ist. Damit sollte das ganze identisch zu 0.4.x funktionieren.
Außerdem habe ich eingebaut, dass ein Fehler vom Telnet nicht zum Abbrechen des Abrufes über HTTP führt. Damit sollten auch Werte abgerufen werden, wenn die Telnet - Verbindung nicht zu stande kommt.
-
Im github habe ich jetzt eine Version 0.5.1 `
Muss ich diese Version über die Github URL installieren?
-
ja,
über
https://github.com/rg-engineering/ioBroker.ebus
Wäre gut, wenn du es testen kannst bevor ich es auf npm stelle und dann offiziell release…
Danke.
-
Hallo,
ich hoffe ich bin hier richtig…
ich habe mir den Ebus Ethernet Adapter gekauft https://www.esera.de/produkte/ebus/142/ … r-ethernet
In der Hoffnung , dann mit dem ebus Adapter direkt per Netzwerk darauf zugreifen zu können…
Nach einigen Versuchen wird mir jetzt aber klar, dass das wohl doch nicht so funktioniert ?
Kann man den mit dem Ethernet-Adapter überhaupt was mit ioBroker machen, oder soll ich es besser zurückschicken und mir den USB Adapter holen ?
-
naja, direkt geht nicht. Der hier vorgestellte Adapter braucht zwingend den ebusd. siehe https://github.com/john30/ebusd
Wenn du den eBUS Koppler Ethernet aber am ebusd betreibst, sollte das gehen. Es gibt verschiedene Berichte, wonach beide zusammen arbeiten.
z.Bsp. https://knx-user-forum.de/forum/%C3%B6f … et-koppler
Ich selbst nutze einen ebus-Koppler Marke "Eigenbau" mit USB interface. (ist deutlich günstiger.. )
-
Danke für den Tipp…
scheint jetzt Daten zu liefern.. mal warten bis morgen, was da ankommt...
-
Hi,
im obigen Screenshot steht was von schreiben über Telnet… kann man damit wirklich Werte schreiben? Wir bauen gerade ein Haus mit Lüftungsanlage von Vaillant, wäre ja schön wenn die auf Volllast arbeitet, sobald die Luftfeuchtigkeit im Bad steigt.
-
An selbigen Problem hänge ich auch gerade. Wie würde das mit schreiben funktionieren? Einfach die Werte ändern, wäre zu einfach
-
ja, schreiben von Werten auf den ebus geht mit dem Adapter.
Einfach per script das ebusd-Kommando zusammenbauen und auf den Datenpunkt "cmd" des ebus-Adapters legen.
Ein ebusd-Kommando zum Schreiben sieht ungefähr so aus:
write -c ehp CirPump off
Details unter https://github.com/john30/ebusd/wiki/3. … t-commands
Dieses Kommando wird dann beim nächsten Aufruf des Adapters auf den ebusd geschrieben. Etwaige Antworten vom ebusd werden auf den Datenpunkt "cmdResult" gelegt.
<u>ABER</u>
1. man sollte genau wissen, was man da auf die Heizung schreibt. Ich übernehme keine Gewährleistung für Schäden…
2. o.g. Kommando geht zumindest bei meiner Vaillant Geotherm nicht, weil der Datenpunkt auf der Heizung nur ein read-only-Wert ist. Das macht auch Sinn, da die Steuerung z.Bsp. der Zirkuationspumpe zeitgesteuert auf der Geotherm implementiert ist. Ein Einschalten von extern ist so nicht vorgesehen. Das ist übrigens für viele Werte der Fall... Man könnte die Zeitsteuerung manipulieren, aber das wollte ich mir nicht antun. Ich habe der Zirkulationspumpe also einen Homematic-Aktor gegönnt... Man kann herausfinden, welche Parameter schreibbar sind, indem man im browser eingibt:
http://IP:port/data z.Bsp.: http://192.168.1.123:8889/data
wobei natürlich die IP die IP des Systems mit dem ebusd sein sollte, und der Port (hier 8889) der http-Port dieses Systems (also die gleichen Daten, die man in der ebus-Adapter-Konfiguration verwendet)
Dieser Aufruf liefert die Daten als json inkl. Information über read-only oder schreibbar:
{ "broadcast": { "messages": { "datetime": { "name": "datetime", "passive": true, "write": false, "lastup": 1525024511, "zz": 254, "fields": { "outsidetemp": {"value": 17.812}, "time": {"value": "19:55:02"}, "date": {"value": "29.04.2018"} } }, "error": { "name": "error", "passive": true, "write": false, "lastup": 0 } }
-
Man kann herausfinden, welche Parameter schreibbar sind, indem man im browser eingibt: `
Da war ich auch schonmal. Allerdings ist danach kein einziger Wert beschreibbar. (Steuerung: Vaillant auromatic620)
-
Hallo
Habe mir auch einen Ebus USB Adapter gekauft und auch erfolgreich installiert .Bekomme auch Daten abgerufen.
ebusctl r -f DisplayedOutsideTemp zeigt mir die Außentemperatur
Jetzt bekomme ich es einfach nicht hin den Ebusd mit http zu starten der adapter im IOBroker hat keine Verbindung zum Ebusd.
Das ist meine config:
EBUSD_OPTS1="–configpath=/etc/ebusd --latency=0 --receivetimeout=100000 --enablehex --scanconfig=15 -d /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A906RNA1-if00-port0 -p 8890 --httpport=8889 --htmlpath=/var/www -l /var/log/ebusd1.log"
kann mir vielleicht einer weiter helfen.
Edit
jetzt werden die Daten korrekt vom IOBroker eingelesen aber es werden keine Datenpunkte angelegt
ebus.0 2018-11-30 11:17:02.600 debug request data from http://127.0.0.1:8889/data
ebus.0 2018-11-30 11:17:02.600 debug all telnet done
ebus.0 2018-11-30 11:17:02.596 debug received 38675 for YieldTotal
ebus.0 2018-11-30 11:17:02.262 debug received 4.6875 for DisplayedOutsideTemp
ebus.0 2018-11-30 11:17:01.804 debug telnet connected
ebus.0 2018-11-30 11:17:01.804 debug connect telnet to IP 127.0.0.1 port 8888
ebus.0 2018-11-30 11:17:01.804 debug to poll ctr 2 vals: DisplayedOutsideTemp,YieldTotal org DisplayedOutsideTemp,YieldTotal org length 31
ebus.0 2018-11-30 11:17:01.804 debug init common variables
ebus.0 2018-11-30 11:17:01.804 debug init variables
ebus.0 2018-11-30 11:17:01.804 debug start with interface ebusd
-
Kannst du probieren, ob du Daten im Browser bekommst, wenn du http://127.0.0.1:8889/data als Adresse eingibst? Der Adapter nutzt HTTP um Daten zu lesen und telnet um Kommandos zu schreiben. Telnet funktioniert laut deinem log, HTTP scheinbar nicht.
Eigentlich sollte –httpport=8889 in den EBUSD_OPTS1 den Port öffnen...
siehe auch https://github.com/john30/ebusd/wiki/3.2.-HTTP-client
Gruß
René
-
Hallo in die Runde,
ich habe eine Wärmepumpe (Vaillant VWF ecocompact 58/4) im Einsatz. Dazu gehört ein Vaillant-Internetmodul VR 920 mit Ethernet-Anschluss.
Leider finde ich kein Doku dazu.
Auf der Vaillant-Webseite steht: EEBus Ready bei zusätzlicher Verwendung des Systemreglers multiMATIC 700. Den Systemregler habe ich im Einsatz.
Kann mir jemand sagen, ob auf dem Vaillant-Internetmodul VR 920 ein ebusd läuft und ich diesen über iobroker einbinden kann?
-
Ich denke nicht, dass Vaillant ebusd direkt unetrstützt.
Ich vermute, dass das Modul VR 920 intern mit den anderen Modulen der Heizung per ebus kommuniziert. Auf der anderen Seite steht dann Ethernet / IP zur Kommunikation mit Tablet usw zur Verfügung. Der Adapter unterstützt dies aber nicht.
Aus meiner Sicht zwei Möglichkeiten:
-
Integration des Vaillant-Internetmodul VR 920 als Adapter in ioBroker
-
ein zusätzliches ebus-Interface mit Raspberry Pi o.ä. an den ebus anschliessen und den ebusd dann auf dem Raspberry Pi laufen lassen. Dann kann man den Adapter hier verwenden.
Bei der ersten Variante kann ich leider nicht helfen, da ich dieses Modul nicht zur Verfügung habe…
-
-
Hi,
ich teste gerade, was mit diesem Adapter so geht und musste dabei feststellen, dass die Zeit nicht reicht, alle Datenpunkte zu aktualisieren. Der Adapter stoppt nach einer Minute, obwohl er noch nicht fertig ist.
Kann man das irgendwie beeinflussen?
-
Im Moment ist der timeout noch fix, wenn das kritisch ist, kann ich den timeout aber einstellbar machen…
-
Dafür wäre ich dir sehr dankbar. Im Moment arbeite ich mit zwei Instanzen, weil das Laden aller Datenpunkte ewig dauert, und das Laden der von mir als interessant identifizierten Datenpunkte immer noch 52 Sekunden + 33 Sekunden.
Am Ende muss ich aber sagen, dass mir das trotzdem viel zu lange vorkommt. Insbesondere das Laden von Werten, die keiner Zahl entsprechen, braucht ewig und mündet oft sogar in einem Timeout. Ich kann mir das nicht so richtig erklären, denn eigentlich sind das garnicht so viele Datenpunkte und meine ioBroker-Maschine hat eigentlich auch genug Power, um diese paar Daten schnell verarbeiten zu können.
Was mir auch noch auf dem Herzen liegt: wäre es möglich, werte wie on und off als true und false abzuspeichern? Das würde es viel einfacher machen, diese auch grafisch mit Flot auszuwerten.