NEWS
Test Adapter e3oncan - Viessmann E3 Serie einbinden
-
Test Adapter e3oncan - Viessmann E3 Serie einbinden. Aktuelle Test Version 0.6.17 Veröffentlichungsdatum 28.01.2024 Github Link https://github.com/MyHomeMyData/ioBroker.e3oncan Viessmann E3 Serie einbinden
Der Adapter bindet die aktuellen Geräte der Viessmann E3 Serie (One Base), z.B. die Wärmepumpe Vitocal 250, PV-Anlage Vitocharge VX3 oder Gas-Therme Vitodens in ioBroker ein. Die Verbindung wird über den CAN-Bus hergestellt, ist also lokal ohne Internetanbindung verfügbar.
Als Basis habe ich das Projekt open3e verwendet, das eine ähnliche Funktionalität per Kommandozeile oder MQTT bereitstellt und in Python realisiert ist. An open3e habe ich von Anfang an mitgearbeitet. Weiterführende Infos gibt es im Wiki.
Der Adapter beherrscht sowohl einen "Lausch-Modus" ("Collect"), bei dem auf dem CAN-Bus zugehört wird, als auch einen aktiven Modus, bei dem über das Protokoll UDSonCAN aktiv Daten abgefragt oder geschrieben werden.
Der "Lausch-Modus" funktioniert bei vernetzten Viessmann-Geräten. Diese tauschen sehr viele Informationen über den CAN-Bus aus. Der Adapter dekodiert diese Daten und speichert sie in den Objektbaum.
Beide Modi können parallel genutzt werden.Features
- Lauschen auf dem internen und externen Bus (incl. Energy Meter E380).
- Lesen und Dekodieren aller Datenpunkte der gemeinsamen Datenpunkliste. Device spezifische Datenpunkte werden per RawCodec verarbeitet.
- Schreiben aller für Datenpunkte, die auf einer editierbaren White-List stehen. Auch komplexe Datenpunkte können geschrieben werden, z.B. kann nur die Anfangszeit für die Zirkulationspumpe eines bestimmten Zeitraumes geändert werden.
- Scan der Devices bei der ersten Einrichtung des Adapters.
- Optional Festlegen des Gerätenamens für den Objektbaum.
- Datenpunkt-Scan aller erkannten Devices (entspricht Depict-Funktion von open3E).
- Auflisten und filtern der gerätespezifischen Datenpunkte.
- Die Daten aus beiden Quellen (collect und UDS) werden pro Device in einem Objektbaum gesammelt.
- Für jeden Datenpunkt stehen die Formate json, raw und tree parallel zur Verfügung.
- Individuelle Definition und Konfiguration zur einmaligen oder regelmäßigen Abfrage von Datenpunktlisten.
Reale oder virtuelle Geräte zum Testen
Um den Adapter testen zu können, benötigt man passenden Geräte, mit denen per CAN-Bus kommuniziert wird. Das können reale Viessmann-Geräte sein oder eine Simulation. Im Rahmen von open3e ist auch eine Virtualisierung der Viessmann CAN-Kommunikation entstanden. Ich habe einen Fork erzeugt, der auf den Test des Adapters abgestimmt ist, siehe hier. Dort ist auch beschrieben, wie man das installiert und einrichtet.
Die Simulation unterstützt keine Collect-Daten. Der "Lausch-Modus" kann damit also nicht getestet werden.Installation
Installation ist über Github oder das ioBroker Beta-Repo möglich. Nach "e3oncan" oder "Viessmann" suchen.
Feedback
Ich freue ich mich auf euer Feedback! Natürlich beantworte ich auch gerne eure Fragen.
Ein paar Screenshots
-
Hallo
Ich bin nicht sicher, ob ich meine Fragen hier posten oder ein neues Thema erstellen soll. Ich verschiebe meine Fragen gerne, bitte einfach Bescheid sagen
Seit einem guten Tag archiviere ich folgende Datenpunkte, die ich per usb2can (Konverter von innomaker) von meiner Vitocal 250-a10 abgreife
Zum Archivieren habe ich folgende Einstellungen gewählt:
Unter Verlaufsdaten ist auch zu sehen, dass eine Menge Daten im iobroker ankommen.
Ich habe versucht mit den Adaptern echart oder flot (flot diagramme) die archvierten Daten als Diagramme darzustellen. In beiden Adaptern funktioniert das nur mit einem kleinen Teil der Datenpunkte. Ein Großteil erscheint nicht im Diagramm.
Nachfolgend besielhaft ein Screenshot des Diagramms aus flot. 4 von 8 Datenpunkte werden nicht dargetellt.
Beim roten Trend ist darüber hinaus ungewöhnlich, dass Daten angezeigt werde, bevor ich mit der Archivierung begonnen habe. Sobald der Datenpunkt archiviert wird, wird nichts mehr angezeigt^^
Bei beiden Adapter fehlen die gleichen Datenpunkte.
Mit den Optionen minmax, Instant - history.0 oder default, Änderung, Füllen, Punkte, Linie, Streudiagramm, Schritte etc. habe ich umfangreich rum gespielt ohne Änderungen bewirken zu können.
Hat jemand eine Idee was ich machen kann, um alle Datenpunkte in Trends zu bekommen?
Beste Grüße
Tobias -
@_tobias_ Deine Fragen betreffen ja die Visualisierung, speziell flot und eCharts. Das hat mit e3oncan nicht direkt was zu tun. Würde empfehlen, im Forum bei Visualisierung zu schauen. Vielleicht findest Du ja da ähnliche Themen. Oder Du stellst dort Deine Fragen.
Wenn Daten in der Visualisierung scheinbar "verloren gehen", kann das an der Aggregation der Daten liegen. Schau Dir mal an, was bei flot im Tab Time bei Aggregate bzw. bei eCharts im Tab Time bei Step Time und Counts/Seconds eingestellt ist.
-
@jrbwh
Schon mal danke für deine Antwort.
Ich gehe heute Abend erstmal deinen Hinweisen mit den genannten Einstellungen nach und erstelle bei Bedarf danach bie Visualisierung ein neues Thema -
@jrbwh Vielen Dank für Deinen Post, habe Deinen e3oncan gleich mal zu installieren versucht, bin aber leider an dieser Fehlermeldung gescheitert:
Traceback (most recent call last): File "/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module> import gyp # noqa: E402 File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module> import gyp.input File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 8, in <module> import gyp.common File "/opt/iobroker/node_modules/node-gyp/gyp/pylib/gyp/common.py", line 435 if CC := os.environ.get("CC_target") or os.environ.get("CC"): ^SyntaxError: invalid syntax gyp ERR! stack Error: `gyp` failed with exit code: 1gyp ERR! stack at ChildProcess.<anonymous> (/opt/iobroker/node_modules/node-gyp/lib/configure.js:317:18)gyp ERR! stack at ChildProcess.emit (node:events:514:28)gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:291:12)gyp ERR! System Linux 4.19.0-27-amd64gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/.bin/node-gyp" "rebuild"gyp ERR! cwd /opt/iobroker/node_modules/socketcangyp ERR! node -v v18.17.1gyp ERR! node-gyp -v v11.0.0gyp ERR! not ok npm error code 1npm error path /opt/iobroker/node_modules/socketcannpm error command failed npm error command sh -c node-gyp rebuild npm error A complete log of this run can be found in: /home/iobroker/.npm/_logs/2025-02-06T17_04_50_686Z-debug-0.log host.DellE6400 Cannot install MyHomeMyData/ioBroker.e3oncan: 1 ERROR: Process exited with code 25
Ich bereibe einen IoB v7.1.5 mit NPM 10.8.2 und Node.js 18.17.1; sollte also aktuell sein.
Hast Du eine Idee, was da schief lief ?
Gruß Flatlander. -
@flatlander Das sagt mir grade gar nichts, sorry. Über welchen Weg hast Du denn installiert? Welches Betriebssystem?
Sieht mir eher nach einem ioBroker-Thema aus als nach einem Problem des Adapters.Die aktuelle Version 0.10.4 von e3oncan ist seit 15.01.25 verfügbar, mehr als 40 Mal installiert und mir sind keine Probleme bekannt.
-
@jrbwh Ich fahre Ubuntu 24/04 und den Adapter habe ich aus dem ioB- Repository installiert. Habe dann nochmal die Adapter Javascript Ausführung und MQTT-Broker aktualisiert und dann nochmal den ViessmannApi-Adapter installiert - jetzt hat's problemlos geklappt :-)))
Jetzt muss nur noch der CAN2USB- Adapter kommen... -
@flatlander sagte in Test Adapter e3oncan - Viessmann E3 Serie einbinden:
node -v v18.17.1gyp ERR! node-gyp -v v11.0.0
Die Kombination sieht für mich nach krummer Installation aus.
Installier die empfohlene Version 20 von nodejs:iob nodejs-update
nodejs@18 läuft ohnehin in wenigen Wochen aus.
-
Guten Abend,
habe einen Raspi 4 mit iobroker aufgesetzt, den CANBUS USB Adapter, allerdings wird ein Fehler ausgegeben External CAN Bus was stopped.
Was könnte die Ursache sein?
Verkabelung habe ich geprüft, Cat Kabel ist rund 2m lang.
Vielen Dank für Unterstützung.
-
@raspican sagte in Test Adapter e3oncan - Viessmann E3 Serie einbinden:
Was könnte die Ursache sein?
Mit dem Einzeiler kan wohl niemand was anfangen.
Logfile sagt? -
@raspican Hallo, diese Meldung bedeutet, eine bestehende Verbindung des Raspi zum CAN-Adapter wurde unterbrochen. Eine typische Ursache sind Probleme mit der USB-Verbindung zwischen Raspi und Adapter. Das kann am Kabel liefen oder an den Buchsen. Ich hatte einen Adapter mit schlechter Lötverbindung der USB-Buchse. Da hat bereits eine ungeschickte Berührung des Kabels gereicht und die Verbindung war unterbrochen.
Aber auch andere Ursachen sind möglich, z.B. SW-seitig.Wie lange läuft denn die Verbindung stabil? Gibt es typische Begleitumstände, wenn der Verbindung abbricht?
-
@jrbwh
Bisher konnte ich noch keine Verbindung aufbauen, bricht immer mit Fehlermeldung ab.Habe gerade noch einen USB2CAN bestellt, vielleicht hat dieser tatsächlich einen Defekt.
Bin absoluter Neuling, seht es mir nach, aber ich bemühe mich.
Die LED des Adapters leuchtet rot.
Anschluss genau nach Vorgabe CAN L CAN H verdrillt.
Muss der Jumper gesetzt oder nicht gesetzt sein?
-
-
Habe die einzelnen Schritte in die Kommandozeile kopiert und auf enter gedrückt, gemäß Anleitung.
-
@raspican Ok, der CAN läuft nicht. Da steht
state DOWN
undcan state STOPPED
Ein funktionierender CAN liefert z.B. so was:
3: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UP mode DEFAULT group default qlen 10 link/can promiscuity 0 allmulti 0 minmtu 0 maxmtu 0 can state ERROR-ACTIVE restart-ms 0 bitrate 250000 sample-point 0.875 tq 250 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1 brp 12 gs_usb: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..1024 brp_inc 1 clock 48000000 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 65536 tso_max_segs 65535 gro_max_size 65536 parentbus usb parentdev
Versuch mal ein
sudo ip link set can0 up type can bitrate 250000
und dann nochmalip -details link show can0
-
@raspican
Hab nochmal alles auseinander und zusammen gesteckt und jetzt scheint es zu gehen. -
-
@raspican Ja, das sieht gut aus. Dann sollte jetzt auch e3oncan funktionieren.
Noch einen schönen Abend!
Jürgen -
@jrbwh
Vielen Dank für den super SupportWünsche Dir ebenfalls einen schönen Abend
-
@jrbwh Der CAN-Bus Adapter ist jetzt eingebaut und funzt auch. Die Instanz wird im IoB auch als verbunden mit Host und Gerät angezeigt aber in den Instanz- Einstellungen kann ich nur die Viessmann ID, pwd, etc. eingeben aber keine Geräteeinstellungen - es gibt keinen Reiter in dm Fenster. Was habe ich falsch gemacht ?