NEWS
Test Adapter e3oncan - Viessmann E3 Serie einbinden
-
@jrbwh Das Viessmann-Forum habe ich zu Datenpunkten schon durchsucht, da findet man nur Klagen, dass Viessmann eben keine Auskunft dazu gibt. Im Forum des open3e-Projekts habe ich dann unter vx3_datapoints nur das da gefunden:
import open3e.Open3Ecodecs from open3e.Open3Ecodecs import * dataIdentifiers = { "name": "EMCU", "dids": { 256 : None, 257 : None, 258 : None, 259 : None, 260 : None, 261 : None, 262 : None, 263 : None, 264 : None, ... usw.Schade. So langsam gehen mir die Ideen aus, wo ich noch suchen könnte.
@flatlander In der Datei vx3_... stehen nur die Datenpunkte, die vom Standardwert abweichen, also z.B. eine andere Länge haben. Alle anderen Datenpunkte stehen im generischen File Open3Edatapoints.py. Das bringt Dich aber vermutlich auch nicht weiter.
Würde empfehlen, Deine Frage(n) im Viessmann-Forum oder in open3e unter Discussions zu stellen. Vielleicht hat bereits ein anderer User das Problem gelöst. -
@flatlander In der Datei vx3_... stehen nur die Datenpunkte, die vom Standardwert abweichen, also z.B. eine andere Länge haben. Alle anderen Datenpunkte stehen im generischen File Open3Edatapoints.py. Das bringt Dich aber vermutlich auch nicht weiter.
Würde empfehlen, Deine Frage(n) im Viessmann-Forum oder in open3e unter Discussions zu stellen. Vielleicht hat bereits ein anderer User das Problem gelöst.@jrbwh
Hallo, ich habe eben meinen iobroker auf NodeJS v22.18 geupdated. Leider scheint dies dem e3onCAN nicht gut getan zu haben, denn jetzt funktioniert er nicht mehr.host.iobrokerpi4b 2025-08-17 17:28:23.026 error instance system.adapter.e3oncan.0 terminated with code 1 (JS_CONTROLLER_STOPPED) host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: Node.js v22.18.0 host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: } host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: code: 'ERR_DLOPEN_FAILED' host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: at Object..js (node:internal/modules/cjs/loader:1820:10) { host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: at Module._compile (node:internal/modules/cjs/loader:1688:14) host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/socketcan/dist/socketcan.js:51:26) host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: at require (node:internal/modules/helpers:135:16) host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: at Module.require (node:internal/modules/cjs/loader:1445:12) host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: at TracingChannel.traceSync (node:diagnostics_channel:322:14) host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: at Function._load (node:internal/modules/cjs/loader:1246:12) host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: at Module.load (node:internal/modules/cjs/loader:1423:32) host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: at Object..node (node:internal/modules/cjs/loader:1846:18) host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: Error: Module did not self-register: '/opt/iobroker/node_modules/socketcan/build/Release/can.node'. host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: ^ host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: return process.dlopen(module, path.toNamespacedPath(filename)); host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: node:internal/modules/cjs/loader:1846 host.iobrokerpi4b 2025-08-17 17:28:21.579 info instance system.adapter.e3oncan.0 in version "0.10.9" started with pid 662310 host.iobrokerpi4b 2025-08-17 17:28:19.832 info "system.adapter.e3oncan.0" enabledHast Du Tips, was man da tun kann?
-
@jrbwh
Hallo, ich habe eben meinen iobroker auf NodeJS v22.18 geupdated. Leider scheint dies dem e3onCAN nicht gut getan zu haben, denn jetzt funktioniert er nicht mehr.host.iobrokerpi4b 2025-08-17 17:28:23.026 error instance system.adapter.e3oncan.0 terminated with code 1 (JS_CONTROLLER_STOPPED) host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: Node.js v22.18.0 host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: } host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: code: 'ERR_DLOPEN_FAILED' host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: at Object..js (node:internal/modules/cjs/loader:1820:10) { host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: at Module._compile (node:internal/modules/cjs/loader:1688:14) host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/socketcan/dist/socketcan.js:51:26) host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: at require (node:internal/modules/helpers:135:16) host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: at Module.require (node:internal/modules/cjs/loader:1445:12) host.iobrokerpi4b 2025-08-17 17:28:23.026 error Caught by controller[0]: at wrapModuleLoad (node:internal/modules/cjs/loader:235:24) host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: at TracingChannel.traceSync (node:diagnostics_channel:322:14) host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: at Function._load (node:internal/modules/cjs/loader:1246:12) host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: at Module.load (node:internal/modules/cjs/loader:1423:32) host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: at Object..node (node:internal/modules/cjs/loader:1846:18) host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: Error: Module did not self-register: '/opt/iobroker/node_modules/socketcan/build/Release/can.node'. host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: ^ host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: return process.dlopen(module, path.toNamespacedPath(filename)); host.iobrokerpi4b 2025-08-17 17:28:23.025 error Caught by controller[0]: node:internal/modules/cjs/loader:1846 host.iobrokerpi4b 2025-08-17 17:28:21.579 info instance system.adapter.e3oncan.0 in version "0.10.9" started with pid 662310 host.iobrokerpi4b 2025-08-17 17:28:19.832 info "system.adapter.e3oncan.0" enabledHast Du Tips, was man da tun kann?
@bertderkleine Das könnte an nicht korrekt aufgelösten Modul-Abhängigkeiten liegen. Bitte versuche mal folgendes:
- Adapter stoppen
- in einem Terminalfenster folgende Befehle ausführen:
cd /opt/iobroker/node_modules/iobroker.e3oncan/ npm rb npm i- Adapter starten
-
@bertderkleine Das könnte an nicht korrekt aufgelösten Modul-Abhängigkeiten liegen. Bitte versuche mal folgendes:
- Adapter stoppen
- in einem Terminalfenster folgende Befehle ausführen:
cd /opt/iobroker/node_modules/iobroker.e3oncan/ npm rb npm i- Adapter starten
@jrbwh sagte in Test Adapter e3oncan - Viessmann E3 Serie einbinden:
/opt/iobroker/node_modules/iobroker.e3oncan/
Danke Dir für die super fixe Reaktion! :+1: :+1: :+1:
Ich habe die Befehle ausgeführt und jetzt läuft der Adapter wieder! :grinning:
Klasse, danke!Hier das Feedback des Systems:
Bert@iobroker:/opt/iobroker/node_modules/iobroker.e3oncan $ npm rb rebuilt dependencies successfully Bert@iobroker:/opt/iobroker/node_modules/iobroker.e3oncan $ npm i added 402 packages, and audited 404 packages in 2m 77 packages are looking for funding run `npm fund` for details found 0 vulnerabilitiesHaben dem Ding wirklich 402 Pakete gefehlt? Die Eieeruhr beim Ausführen von "npm i" hat eine Weile gedreht.
Ich verstehe von sowas ja nichts...
-
@jrbwh sagte in Test Adapter e3oncan - Viessmann E3 Serie einbinden:
/opt/iobroker/node_modules/iobroker.e3oncan/
Danke Dir für die super fixe Reaktion! :+1: :+1: :+1:
Ich habe die Befehle ausgeführt und jetzt läuft der Adapter wieder! :grinning:
Klasse, danke!Hier das Feedback des Systems:
Bert@iobroker:/opt/iobroker/node_modules/iobroker.e3oncan $ npm rb rebuilt dependencies successfully Bert@iobroker:/opt/iobroker/node_modules/iobroker.e3oncan $ npm i added 402 packages, and audited 404 packages in 2m 77 packages are looking for funding run `npm fund` for details found 0 vulnerabilitiesHaben dem Ding wirklich 402 Pakete gefehlt? Die Eieeruhr beim Ausführen von "npm i" hat eine Weile gedreht.
Ich verstehe von sowas ja nichts...
@bertderkleine Freut mich, dass es wieder funktioniert. Die Meldungen von npm wundern mich aber auch. Muss mir das auf einem Test-System anschauen. Danke für die schnelle Rückmeldung.
Update:
Ich habe noch ein wenig nachgeforscht. Das Problem entsteht dadurch, dass sog. "native modules" (diese verwenden C-Code) für eine bestimmte Version von node.js compiliert werden. ioBroker.e3oncan verwendet das native module "socketcan". Deshalb muss nach einem Upgrade der Version von node.js ein Rebuild angestoßen werden. das geht am einfachsten mit dem Befehl (vorher Adapter stoppen)iob rebuildWenn das Erfolg meldet, sollte der Adapter wieder ohne Fehler zu starten sein.
Einen entsprechenden Hinweis habe ich nun auch im Readme ergänzt.
-
@bertderkleine Freut mich, dass es wieder funktioniert. Die Meldungen von npm wundern mich aber auch. Muss mir das auf einem Test-System anschauen. Danke für die schnelle Rückmeldung.
Update:
Ich habe noch ein wenig nachgeforscht. Das Problem entsteht dadurch, dass sog. "native modules" (diese verwenden C-Code) für eine bestimmte Version von node.js compiliert werden. ioBroker.e3oncan verwendet das native module "socketcan". Deshalb muss nach einem Upgrade der Version von node.js ein Rebuild angestoßen werden. das geht am einfachsten mit dem Befehl (vorher Adapter stoppen)iob rebuildWenn das Erfolg meldet, sollte der Adapter wieder ohne Fehler zu starten sein.
Einen entsprechenden Hinweis habe ich nun auch im Readme ergänzt.
@jrbwh Danke für die Recherche und Rückmeldung!
Ich versuchs mir zu merken bzw. ans Readme nächstesmal zu denken. -
Gerne würde ich den Pufferspeicher zu unserer Wärmepumpe Vitocal 250 SH (252.B10) verwenden, um in den Übergangszeiten (Herbst, Frühjahr) diesen mit PV-Überschuss aufzuheizen. Dieses Vorgehen ist sicherlich wirtschaftlicher als eine größere Batterie einzusetzen, die in den dunklen Jahreszeiten erfahrungsgemäß nie voll wird.
Bei meiner Suche stieß ich auf die Register 7202, 7208 und 7209. Leider half mir dies nicht weiter, da ich diese Datenpunkte im ioBroker-Adapter nicht zu finden vermag.
Wer weiß Rat?
-
Hallo zusammen,
erst mal kann man nur Hochachtung zollen zu dem e3oncan-Adapter! Ich bin glücklich, dass ich nicht mehr über den Viessamnn-api Adapter Daten lesen muss.
Ich habe den CAN-Bus und Adapter relative schnell zum Laufen gebracht (nach den sehr guten Beschreibungen aus dem Forum). Das Lesen der Werte geht auch sehr gut.
Ich hänge aber jetzt beim Schreiben von Werten.
Ich habe eine Vitodens 300-W. In der whitelist (e3oncan.0.HMUMASTER_0x680.info.udsDidsWritable) sind die Datenpunkte für die timerschedules von 691-697, 726-732 sowie 761-767 erhalten. Dann sollten die Punkte doch beschreibar sein? ich kann aber z.B. den Datenpunkt e3oncan.0.HMUMASTER_0x680.json.0726_DomesticHotWaterCirculationTimeScheduleMonday mit dem Format schreibbare691_DomesticHotWaterTimeScheduleMonday mit setState(xx,yy, true) setzen; beim nächsten zyklischen Anfordern von Daten auf dem UDS CAN-Adapter über UDSonCAN wird er wieder überschrieben. Was mache ich falsch? Schon mal vielen Dank!!!! -
Hallo zusammen,
erst mal kann man nur Hochachtung zollen zu dem e3oncan-Adapter! Ich bin glücklich, dass ich nicht mehr über den Viessamnn-api Adapter Daten lesen muss.
Ich habe den CAN-Bus und Adapter relative schnell zum Laufen gebracht (nach den sehr guten Beschreibungen aus dem Forum). Das Lesen der Werte geht auch sehr gut.
Ich hänge aber jetzt beim Schreiben von Werten.
Ich habe eine Vitodens 300-W. In der whitelist (e3oncan.0.HMUMASTER_0x680.info.udsDidsWritable) sind die Datenpunkte für die timerschedules von 691-697, 726-732 sowie 761-767 erhalten. Dann sollten die Punkte doch beschreibar sein? ich kann aber z.B. den Datenpunkt e3oncan.0.HMUMASTER_0x680.json.0726_DomesticHotWaterCirculationTimeScheduleMonday mit dem Format schreibbare691_DomesticHotWaterTimeScheduleMonday mit setState(xx,yy, true) setzen; beim nächsten zyklischen Anfordern von Daten auf dem UDS CAN-Adapter über UDSonCAN wird er wieder überschrieben. Was mache ich falsch? Schon mal vielen Dank!!!!@lummerlandsmarthome Feut mich, wenn Dir der Adapter gefällt :-)
Ja, die Datenpunkte sollten schreibbar sein.
Wenn Du Datenpunkte schreiben möchtest, muss das Acknowledged-Flag auf false gesetzt werden (auch wenn Du das von Hand machst, darf das Häkchen bei Acknowledged nicht gesetzt werden). Nur das wird vom Adapter als Kommando interpretiert. Nach erfolgreicher Ausführung des Kommandos setzt der Adapter Acknowledged auf true. Das ist bei ioBroker die übliche Herangehensweise für Kommandos. Du muss alsosetState(xx,yy, false)verwenden. Mittruemacht der Adapter schlicht gar nichts.Im Log kannst Du auch nachvollziehen, was passiert.
-
VIELEN DANK für schenlle Anwort. Es funktioniert
-
VIELEN DANK für schenlle Anwort. Es funktioniert
@lummerlandsmarthome Sehr schön. Ich würde mich über eine Bewertung des Adapters freuen. Wenn Du magst, in der Adapter-Liste auf die Sternchen klicken und eine Bewertung abgeben.