NEWS
Test Adapter OpenKNX 0.6.x
-
Aktuelle Testversion v0.7.3-alpha.1 Stabile Version: 0.6.3 Erstveröffentlichungsdatum 16.12.2021 Github Link https://github.com/iobroker-community-adapters/ioBroker.openknx/ NPM Link https://www.npmjs.com/package/iobroker.openknx Issues Board in GitHub https://github.com/iobroker-community-adapters/ioBroker.openknx/issues Installation der Testversion
"Adapter", "Expertenmodus", "Octocat", "Benutzerdefiniert" und diesen Link:
https://github.com/iobroker-community-adapters/ioBroker.openknx.gitAdapter Beschreibung, Changelog etc.
Hier ist die erste öffentliche Testversion des Open KNX Adapters. Der Adapter kommuniziert über ein IP Interface mit dem KNX Bus. Verschiedene KNX Telegrammtypen (GroupValue_Read, GroupValue_Write, GroupValue_Response) in Sende- und Empfangsrichtung werden in, dem IOB Anwender vertrauten Interaktionen mit IoBroker Objekten übersetzt.Motivation
Ich habe den Adapter aus einer Not heraus erstellt, da der verfügbare Adapter nicht fehlerfrei lief und nicht kompatibel zu meinen IP Interfaces ist. Debuggen war aufgrund Closed Source nicht möglich. Da Adapter läuft so gut, dass ich ihn der Öffentlichkeit übergeben möchte.
Der Adapter ist Quelloffen, Code kann gerne von Jedermann inspiziert und Pull Requests eingestellt werden.
Eine Beschreibung des Adapters und dessen Verwendung ist auf den verlinkten Seiten zu finden.Ziel
Der Adapter soll:- Stabil laufen und sich Standardkonform verhalten
- möglich einfach und verständlich sein
Thema umgesetzt ab Version Erwartung Release 0.1.x Release im stable repository Installation 0.1.6 Adapter lässt sich fehlerfrei über NPM installieren Installation 0.1.9 Adapter lässt sich über IOB Bordmittel installieren Betrieb 0.1.6 Adapter zeigt den Betriebszustand (rot,gelb,grün) korrekt an, bei Verbindungsabbrucht wird der Adapter gelb, keine Warnungen im Log die nicht zum Zustand passen Betrieb 0.1.8 keine Warnungen im Log die nicht zum Zustand passen Übersetzung 0.1.8 Admin Dialoge in alle Sprachen übersetzt, Logs nicht Alias 0.1.11 Generierung von Alias zur Zusammenbringen von Status und Ausgabe-GA zu einem Objekt eingebaut, noch nicht fehlerfrei Ich erhoffe mir Feedback zB zu
- Bugs, Error Logs;
- Verständlichkeit und Vollständigkeit der Doku
- Verwendbarkeit des Adapters, sind die Features brauchbar, was fehlt essentielles
- Code Reviews
- Erfahrungen aus dem Betrieb
- Ideen zur Geschäftslogik, zB werden aktuell Szenen DPTs von der Autoread Abfrage bei Start ausgeschlossen; gibt es bessere Filter?
- Verbesserungsvorschläge am Interface, z.B. welche State roles eignen sich für welche DPTs, sind die Datentypen passend gewählt, ...
Feature Anfragen, Fehlermeldungen dürfen gerne in GitHub erstellt werden. Umsetzung erfolgt immer nach Beschlusslage.
-
@killroy2 sagte in Test Adapter OpenKNX 0.1.x:
gerne auch Code Reviews
Ganz ganz high level: Dein Repo-Name ist falsch - es sollte
ioBroker.openknx
heißen, um später ins ioBroker repo aufgenommen zu werden.
==> https://github.com/ioBroker/ioBroker.repositories/#requirements-for-adapter-to-get-added-to-the-latest-repository
-
@alcalzone danke, ich fixe die Findings vom Adapter checker zu einem der nächsten Releases
-
1 Fragen zum Adapter Check:
[E300] Not found on travis. Please setup travis
Ist es sinnvoll Travis aufzusetzen? Wie ich verstehe haben die massiv den Support für Open Source Projekte eingestellt und GitHub actions bietet eine ähnliche Funktionalität. -
Version 0.1.3 ist jetzt verfügbar.
-
@killroy2 Moin, hab nochmal einen Versuch gestartet. Der Adapter lässt sich jetzt installieren und wird auch grün.
Von daher schonmal ein Fortschritt
Ich lass ihn heute mal auf meine KNX Installation los und werde berichten.Im Anhang noch die Lod Datei während der Installation...irgendwas scheint noch nicht rund zu laufen. Sind etliche Warnungen und Errors dabei.
pi@raspberrypi:~ $ cd /opt/iobroker/node_modules pi@raspberrypi:/opt/iobroker/node_modules $ npm i iobroker.openknx npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.7 (node_modules/osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman-converters/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman-converters/node_modules/zigbee-herdsman/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/zigbee-herdsman/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) + iobroker.openknx@0.1.3 added 13 packages from 73 contributors in 34.525s 87 packages are looking for funding run `npm fund` for details pi@raspberrypi:/opt/iobroker/node_modules $ iobroker add openknx host.raspberrypi install adapter openknx upload [12] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/style.css style.css text/css upload [11] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/openknx.png openknx.png image/png upload [10] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/index_m.html index_m.html text/html upload [9] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/zh-cn/translations.json i18n/zh-cn/translations.json application/json upload [8] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/ru/translations.json i18n/ru/translations.json application/json upload [7] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/pt/translations.json i18n/pt/translations.json application/json upload [6] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/pl/translations.json i18n/pl/translations.json application/json upload [5] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/nl/translations.json i18n/nl/translations.json application/json upload [4] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/it/translations.json i18n/it/translations.json application/json upload [3] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/fr/translations.json i18n/fr/translations.json application/json upload [2] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/es/translations.json i18n/es/translations.json application/json upload [1] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/en/translations.json i18n/en/translations.json application/json upload [0] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/de/translations.json i18n/de/translations.json application/json host.raspberrypi object system.adapter.openknx created/updated host.raspberrypi create instance openknx host.raspberrypi object openknx.0.info.connection created host.raspberrypi object openknx.0.info created host.raspberrypi object system.adapter.openknx.0.logLevel created host.raspberrypi object system.adapter.openknx.0.sigKill created host.raspberrypi object system.adapter.openknx.0.eventLoopLag created host.raspberrypi object system.adapter.openknx.0.outputCount created host.raspberrypi object system.adapter.openknx.0.inputCount created host.raspberrypi object system.adapter.openknx.0.uptime created host.raspberrypi object system.adapter.openknx.0.memRss created host.raspberrypi object system.adapter.openknx.0.memHeapTotal created host.raspberrypi object system.adapter.openknx.0.memHeapUsed created host.raspberrypi object system.adapter.openknx.0.cputime created host.raspberrypi object system.adapter.openknx.0.cpu created host.raspberrypi object system.adapter.openknx.0.compactMode created host.raspberrypi object system.adapter.openknx.0.connected created host.raspberrypi object system.adapter.openknx.0.alive created host.raspberrypi Set default value of openknx.0.info.connection: false host.raspberrypi object system.adapter.openknx.0 created pi@raspberrypi:/opt/iobroker/node_modules $ npm i knx npm ERR! code ENOENT npm ERR! syscall rename npm ERR! path /opt/iobroker/node_modules/.staging/knx-26a60b3f/node_modules/@types/node npm ERR! dest /opt/iobroker/node_modules/.staging/@types/node-1c9978e2 npm ERR! errno -2 npm ERR! enoent ENOENT: no such file or directory, rename '/opt/iobroker/node_modules/.staging/knx-26a60b3f/node_modules/@types/node' -> '/opt/iobroker/node_modules/.staging/@types/node-1c9978e2' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2021-12-18T07_05_22_893Z-debug.log pi@raspberrypi:/opt/iobroker/node_modules $ npm i iobroker.openknx npm ERR! code ENOENT npm ERR! syscall rename npm ERR! path /opt/iobroker/node_modules/.staging/iobroker.openknx-fc72243e/node_modules/ipaddr.js npm ERR! dest /opt/iobroker/node_modules/.staging/ipaddr.js-438c21e9 npm ERR! errno -2 npm ERR! enoent ENOENT: no such file or directory, rename '/opt/iobroker/node_modules/.staging/iobroker.openknx-fc72243e/node_modules/ipaddr.js' -> '/opt/iobroker/node_modules/.staging/ipaddr.js-438c21e9' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2021-12-18T07_06_59_846Z-debug.log pi@raspberrypi:/opt/iobroker/node_modules $ iobroker upload openknx upload [12] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/style.css style.css text/css upload [11] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/openknx.png openknx.png image/png upload [10] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/index_m.html index_m.html text/html upload [9] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/zh-cn/translations.json i18n/zh-cn/translations.json application/json upload [8] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/ru/translations.json i18n/ru/translations.json application/json upload [7] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/pt/translations.json i18n/pt/translations.json application/json upload [6] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/pl/translations.json i18n/pl/translations.json application/json upload [5] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/nl/translations.json i18n/nl/translations.json application/json upload [4] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/it/translations.json i18n/it/translations.json application/json upload [3] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/fr/translations.json i18n/fr/translations.json application/json upload [2] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/es/translations.json i18n/es/translations.json application/json upload [1] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/en/translations.json i18n/en/translations.json application/json upload [0] openknx.admin /opt/iobroker/node_modules/iobroker.openknx/admin/i18n/de/translations.json i18n/de/translations.json application/json Update "system.adapter.openknx.0" pi@raspberrypi:/opt/iobroker/node_modules $ code_text
-
@killroy2 So, hab mal ein bisschen getestet:
- Adapter wird nach der Installation grün, obwohl noch kein GW, Pi-Addr., PA eingetragen sind.
- Nach eintragen der Daten in den Einstellungen wird der Adapter nicht mehr grün.
Fazit: Das sollte genau andersrum sein.
Und bevor die Frage kommt...ich hab eine IP Schnittstelle und einen IP Router mit jeweils 5 Tunneln. Hab auch alle 10 Tunnel getestet...der Adapter wird nicht grün.
-
Hab dann trotzdem versucht, meine GA's einzulesen, Export in XML kann man machen ist halt nicht mehr zeitgemäß.
Nach einer Stunde rumrödeln ohne Ergebniss...also in den Objekten wurde auch nichts angelegt, hab ich dann abgebrochen.
Fazit: So ist der Adapter noch nicht zu gebrauchen. -
Obwohl der Adapter gelb ist, schreibt er dann ständig diese Warn-Meldungen ins Log:
openknx.0 2021-12-18 10:53:45.277 warn Ignoring GroupValue_Write received on unknown GA: 7/1/28 openknx.0 2021-12-18 10:53:42.339 warn Ignoring GroupValue_Write received on unknown GA: 7/1/8
-
@killroy2 sagte in Test Adapter OpenKNX 0.1.x:
Ist es sinnvoll Travis aufzusetzen?
Nein! Ignorieren.
-
Hi, ich hab den Adapter auch mal getestet.
- Adapter wird nicht grün sondern bleibt gelb
Trotzdem scheint aber die Datenübertragung zu funktionieren. - Temperaturwerte und Statusmeldungen kommen an
- Ein und Aus Befehle gehen an den KNX-Bus
Hier mal das Log beim Starten des Adapters:
openknx.0 2021-12-18 12:55:38.524 info Connection lost openknx.0 2021-12-18 12:55:38.192 info /opt/iobroker/node_modules/iobroker.js-controller openknx.0 2021-12-18 12:55:38.191 info Connecting to knx gateway: 192.168.2.250:3671 with phy. Adr: 1.1.210 minimum send delay: 40 openknx.0 2021-12-18 12:55:38.156 info starting. Version 0.1.3 in /opt/iobroker/node_modules/iobroker.openknx, node: v14.18.2, js-controller: 3.3.21 host.iobrokerDS1 2021-12-18 12:55:36.440 info instance system.adapter.openknx.0 started with pid 1021 host.iobrokerDS1 2021-12-18 12:55:33.952 info instance system.adapter.openknx.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) host.iobrokerDS1 2021-12-18 12:55:33.358 info stopInstance system.adapter.openknx.0 send kill signal openknx.0 2021-12-18 12:55:33.305 info Connection lost openknx.0 2021-12-18 12:55:33.290 info Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason openknx.0 2021-12-18 12:55:33.288 info terminating
Info: Mein System läuft auf Docker
- Adapter wird nicht grün sondern bleibt gelb
-
danke fürs die Rückmeldung,
Fazit: 0.1.3 ist nicht wirklich zu gebrauchen, ich hatte ein paar wichtige Use Cases nicht betrachtet
bitte auf die nächste Version 0.1.5 warten.. -
@frankthegreat said in Test Adapter OpenKNX 0.1.x:
Adapter wird nach der Installation grün, obwohl noch kein GW, Pi-Addr., PA eingetragen sind.
Nach eintragen der Daten in den Einstellungen wird der Adapter nicht mehr grün.
Fazit: Das sollte genau andersrum sein.Bitte nochmal probieren mit 0.1.5
Hab da ein paar Verbesserungen eingebaut, wenn ich bei mir Ethernet kappe wird der Adapter gelb, bei Verbinden wird er wieder grün.
Sollte jetzt wesentlich besser sein.Hab dann trotzdem versucht, meine GA's einzulesen, Export in XML kann man machen ist halt nicht mehr zeitgemäß.
Ja, warum?
Nach einer Stunde rumrödeln ohne Ergebniss...also in den Objekten wurde auch nichts angelegt, hab ich dann abgebrochen.
Der Importvorgang dauert <<1 Min, sonst ist es wie hier ein Problem. Da war noch ein Fehler drin, Neuinstallation habe ich vergessen zu testen. Sollte mit 0.1.5 gehen.Obwohl der Adapter gelb ist, schreibt er dann ständig diese Warn-Meldungen ins Log:
Das ist ein Folgefehler -
@mane444
sieht ja gut aus,
die Connection lost Meldung bei Startup ist noch ein Schönheitsproblem
mit 0.1.5 ist das Farbproblem gefixt. Temperaturen sind je nach DPT skaliert. -
@killroy2
ich hab gleich mal 0.1.5 probiert.
Die läuft leider gar nicht.host.iobrokerDS1 2021-12-18 16:40:44.202 error instance system.adapter.openknx.0 terminated with code 1 (JS_CONTROLLER_STOPPED) host.iobrokerDS1 2021-12-18 16:40:44.202 error Caught by controller[0]: } host.iobrokerDS1 2021-12-18 16:40:44.202 error Caught by controller[0]: ] host.iobrokerDS1 2021-12-18 16:40:44.201 error Caught by controller[0]: '/opt/iobroker/node_modules/iobroker.openknx/main.js' host.iobrokerDS1 2021-12-18 16:40:44.201 error Caught by controller[0]: '/opt/iobroker/node_modules/iobroker.openknx/lib/projectImport.js', host.iobrokerDS1 2021-12-18 16:40:44.201 error Caught by controller[0]: '/opt/iobroker/node_modules/iobroker.openknx/lib/knx/src/dptlib/index.js', host.iobrokerDS1 2021-12-18 16:40:44.198 error Caught by controller[0]: requireStack: [ host.iobrokerDS1 2021-12-18 16:40:44.198 error Caught by controller[0]: code: 'MODULE_NOT_FOUND', host.iobrokerDS1 2021-12-18 16:40:44.198 error Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:974:19) { host.iobrokerDS1 2021-12-18 16:40:44.197 error Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:790:12) host.iobrokerDS1 2021-12-18 16:40:44.197 error Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:950:32) host.iobrokerDS1 2021-12-18 16:40:44.197 error Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) host.iobrokerDS1 2021-12-18 16:40:44.197 error Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1085:14) host.iobrokerDS1 2021-12-18 16:40:44.197 error Caught by controller[0]: at Object.<anonymous> (/opt/iobroker/node_modules/iobroker.openknx/lib/knx/src/dptlib/index.js:38:13) host.iobrokerDS1 2021-12-18 16:40:44.196 error Caught by controller[0]: at require (internal/modules/cjs/helpers.js:93:18) host.iobrokerDS1 2021-12-18 16:40:44.196 error Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:974:19) host.iobrokerDS1 2021-12-18 16:40:44.196 error Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:746:27) host.iobrokerDS1 2021-12-18 16:40:44.196 error Caught by controller[0]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15) host.iobrokerDS1 2021-12-18 16:40:44.196 error Caught by controller[0]: - /opt/iobroker/node_modules/iobroker.openknx/main.js host.iobrokerDS1 2021-12-18 16:40:44.195 error Caught by controller[0]: - /opt/iobroker/node_modules/iobroker.openknx/lib/projectImport.js host.iobrokerDS1 2021-12-18 16:40:44.195 error Caught by controller[0]: - /opt/iobroker/node_modules/iobroker.openknx/lib/knx/src/dptlib/index.js host.iobrokerDS1 2021-12-18 16:40:44.195 error Caught by controller[0]: Require stack: host.iobrokerDS1 2021-12-18 16:40:44.195 error Caught by controller[0]: Error: Cannot find module 'log-driver' host.iobrokerDS1 2021-12-18 16:40:44.195 error Caught by controller[0]: ^ host.iobrokerDS1 2021-12-18 16:40:44.194 error Caught by controller[0]: throw err; host.iobrokerDS1 2021-12-18 16:40:44.194 error Caught by controller[0]: internal/modules/cjs/loader.js:905 host.iobrokerDS1 2021-12-18 16:40:43.609 info instance system.adapter.openknx.0 started with pid 12663 host.iobrokerDS1 2021-12-18 16:40:13.573 info Restart adapter system.adapter.openknx.0 because enabled
-
@killroy2 Nach wie vor das gleiche Verhalten...er tut nicht.
Wird auch noch als 0.1.4 angezeigt. -
@mane444
bitte noch die fehlenden Abhängigkeiten manuell installieren, ich korrigiere das in der nächsten Version:npm i knx npm i xmldom
-
@frankthegreat
das muss gehen, ich teste das mit einer frischen Installation.
Mache mal:
npm i iobroker.openknx@0.1.5
Davor auch den Adapter stopen und auf Fehlermeldungen von NPM achten. -
@killroy2 sagte in Test Adapter OpenKNX 0.1.x:
@frankthegreat
das muss gehen, ich teste das mit einer frischen Installation.
Mache mal:
npm i iobroker.openknx@0.1.5
Davor auch den Adapter stopen und auf Fehlermeldungen von NPM achten.Es wird leider immer schlimmert statt besser.
Adapter bleibt komplett rot, lauter ERRORS im Log und der js-Controller hat wohl auch einen Treffer abbekommenSorry, aber ich bin erstmal wieder raus...solange die Installation vom Adapter nicht sauber durchläuft ist kein vernünftiger Test möglich.
Muß erstmal mein System wieder neu aufsetzen.
-
@frankthegreat sagte in Test Adapter OpenKNX 0.1.x:
Adapter bleibt komplett rot, lauter ERRORS im Log und der js-Controller hat wohl auch einen Treffer abbekommen
Wie soll @killroy2 ( Fehler beheben ), wenn keine Log´s dazu bereit gestellt werden.
-
@frankthegreat sagte in Test Adapter OpenKNX 0.1.x:
pi@raspberrypi:/opt/iobroker/node_modules $ npm i iobroker.openknx
Warum stehst du in diesem Verzeichnis und nimmst npm Befehle ?
-
@killroy2 läuft fehlerfrei
Installation wie beschrieben durchgeführt
XML eingelesen ...passt
Alle Funktionen sind gegeben.Verwendet
Admin 5.1.28
Node.js 14.17.2
Npm 6.14.13
JS-controller 3.3.21
Openknx 0.1.6Aufgefallen ist mir nur das ich auch einen Status beschreiben könnte