NEWS
Test Adapter OpenKNX 0.6.x
-
@killroy2 habe heute das update von 0.3.2 auf 0.4.0 durchgeführt. Leider startet danach der Adapter nicht mehr. Hier mal der debug log, ich hoffe das es hilfreich ist.
2022-12-17 17:14:12.014 - info: host.raspberrypi "system.adapter.openknx.0" enabled 2022-12-17 17:14:12.257 - info: host.raspberrypi instance system.adapter.openknx.0 started with pid 10351 2022-12-17 17:14:13.881 - debug: openknx.0 (10351) Redis Objects: Use Redis connection: 127.0.0.1:9001 2022-12-17 17:14:13.923 - debug: openknx.0 (10351) Objects client ready ... initialize now 2022-12-17 17:14:13.926 - debug: openknx.0 (10351) Objects create System PubSub Client 2022-12-17 17:14:13.928 - debug: openknx.0 (10351) Objects create User PubSub Client 2022-12-17 17:14:13.964 - debug: openknx.0 (10351) Objects client initialize lua scripts 2022-12-17 17:14:13.972 - debug: openknx.0 (10351) Objects connected to redis: 127.0.0.1:9001 2022-12-17 17:14:14.000 - debug: openknx.0 (10351) Redis States: Use Redis connection: 127.0.0.1:9000 2022-12-17 17:14:14.013 - debug: openknx.0 (10351) States create System PubSub Client 2022-12-17 17:14:14.015 - debug: openknx.0 (10351) States create User PubSub Client 2022-12-17 17:14:14.035 - debug: openknx.0 (10351) States connected to redis: 127.0.0.1:9000 2022-12-17 17:14:14.124 - debug: openknx.0 (10351) Plugin sentry Initialize Plugin (enabled=true) 2022-12-17 17:14:14.533 - info: openknx.0 (10351) starting. Version 0.4.0 in /opt/iobroker/node_modules/iobroker.openknx, node: v16.18.1, js-controller: 4.0.24 2022-12-17 17:14:14.571 - error: openknx.0 (10351) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2022-12-17 17:14:14.572 - error: openknx.0 (10351) unhandled promise rejection: Cannot read properties of undefined (reading 'init') 2022-12-17 17:14:14.797 - error: openknx.0 (10351) TypeError: Cannot read properties of undefined (reading 'init') at openknx.onReady (/opt/iobroker/node_modules/iobroker.openknx/main.js:82:33) at openknx.emit (node:events:513:28) at openknx.emit (node:domain:489:12) at /opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:9139:26 2022-12-17 17:14:14.798 - error: openknx.0 (10351) Cannot read properties of undefined (reading 'init') 2022-12-17 17:14:14.821 - info: openknx.0 (10351) terminating 2022-12-17 17:14:14.823 - debug: openknx.0 (10351) Plugin sentry destroyed 2022-12-17 17:14:14.824 - warn: openknx.0 (10351) Terminated (UNCAUGHT_EXCEPTION): Without reason 2022-12-17 17:14:15.412 - error: host.raspberrypi Caught by controller[0]: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason: 2022-12-17 17:14:15.412 - error: host.raspberrypi Caught by controller[1]: TypeError: Cannot read properties of undefined (reading 'init') 2022-12-17 17:14:15.412 - error: host.raspberrypi Caught by controller[1]: at openknx.onReady (/opt/iobroker/node_modules/iobroker.openknx/main.js:82:33) 2022-12-17 17:14:15.413 - error: host.raspberrypi Caught by controller[1]: at openknx.emit (node:events:513:28) 2022-12-17 17:14:15.413 - error: host.raspberrypi Caught by controller[1]: at openknx.emit (node:domain:489:12) 2022-12-17 17:14:15.413 - error: host.raspberrypi Caught by controller[1]: at /opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.js:9139:26 2022-12-17 17:14:15.414 - error: host.raspberrypi instance system.adapter.openknx.0 terminated with code 6 (UNCAUGHT_EXCEPTION) 2022-12-17 17:14:15.414 - info: host.raspberrypi Restart adapter system.adapter.openknx.0 because enabled 2022-12-17 17:14:39.593 - info: host.raspberrypi "system.adapter.openknx.0" disabled 2022-12-17 17:14:47.151 - debug: openknx.0 (10366) Redis Objects: Use Redis connection: 127.0.0.1:9001 2022-12-17 17:14:47.194 - debug: openknx.0 (10366) Objects client ready ... initialize now 2022-12-17 17:14:47.197 - debug: openknx.0 (10366) Objects create System PubSub Client 2022-12-17 17:14:47.198 - debug: openknx.0 (10366) Objects create User PubSub Client 2022-12-17 17:14:47.267 - debug: openknx.0 (10366) Objects client initialize lua scripts 2022-12-17 17:14:47.297 - debug: openknx.0 (10366) Objects connected to redis: 127.0.0.1:9001 2022-12-17 17:14:47.327 - debug: openknx.0 (10366) Redis States: Use Redis connection: 127.0.0.1:9000 2022-12-17 17:14:47.340 - debug: openknx.0 (10366) States create System PubSub Client 2022-12-17 17:14:47.342 - debug: openknx.0 (10366) States create User PubSub Client 2022-12-17 17:14:47.361 - debug: openknx.0 (10366) States connected to redis: 127.0.0.1:9000 2022-12-17 17:14:47.452 - debug: openknx.0 (10366) Plugin sentry Initialize Plugin (enabled=true) 2022-12-17 17:14:47.676 - error: openknx.0 (10366) adapter disabled 2022-12-17 17:14:47.687 - debug: openknx.0 (10366) Plugin sentry destroyed 2022-12-17 17:14:47.689 - warn: openknx.0 (10366) Terminated (NO_ADAPTER_CONFIG_FOUND): Without reason 2022-12-17 17:14:48.278 - error: host.raspberrypi instance system.adapter.openknx.0 terminated with code 3 (NO_ADAPTER_CONFIG_FOUND) 2022-12-17 17:14:48.279 - info: host.raspberrypi Do not restart adapter system.adapter.openknx.0 because disabled or deleted
Habe nun wieder die Version 0.3.2 installiert, damit ist alles bestens.
Gruß Chris
-
@quorle mit etwas Basteln sollte mit vertretbaren Aufwand gehen:
die bestehenden Tabellen ausgeben lassen und damit eine Liste erstellen die dann alle Tabellen kopiert- login via SSH to your IOBroker and run command influx
- use iobroker (or your specific database listed via command show databases)
- list entries with: show measurements
- copy tables with command: select * into "entry_new" from "entry_old";
where entry_new points to the old adapter object path and entry_new the openknx adapter instance
Und dann den openknx IOB Objektbaum exportieren und mit einem Editor überall setzen:
- set influx enabled for new object entry_new
-
@chrischros @markus84 danke, ich hab jetzt eine 0.4.1 gebaut
-
@killroy2 Danke, Adapter startet nun und läuft soweit.
-
Hat jemand Probleme mit dem Szenendatenpunkt? Dieser ist ja als „Gemischt“ deklariert. Schicke ich nun zum Beispiel die „3“ als Zahl, erscheint am Bus nur „0“.
Oder mache ich etwas falsch? -
@killroy2 0.4.2 funktioniert bei mir, soweit ich das beurteilen kann! Danke für Dein unermüdliches Wirken!
-
@quorle Was wird denn im Datenpunkt angezeigt, wenn du die Szene vom Bus aus aktivierst? Ich glaube nur die Zahl zu schicken geht nicht.
-
@killroy2 said in Test Adapter OpenKNX 0.2.x:
@chrischros @markus84 danke, ich hab jetzt eine 0.4.1 gebaut
Läuft auch bei mir bis jetzt fehlerfrei
-
@lessthanmore Also wenn ich die z.B. die Nummer 50 vom ioB auf den Bus sende kommt folgendes (siehe Bild)
Schalte ich vom Bus aus die Szene 50, steht folgendes im iob-Objekt:
{"save_recall":"0","scenenumber":50}
Beim knx.0 Adapter musste man lediglich eine Zahl schicken.
Edit:
Gerade heraus gefunden, wenn man{"save_recall":"0","scenenumber":51}
vom IOB zum Bus schickt, bekommt man die Szene geschaltet.
Heißt ich muss meine Szenenprogramme alle umschreiben
-
Ich habe jetzt Version 0.4 herausgebracht. Die Änderungen sind:
- feature: support for Free and Two Level Group Address Style in addition to the existing Three Level support #320
- feature: map knx datapoint type enconding to object common.states #313
Dh man kann jetzt die Enums, die KNX definiert, direkt im IOB nutzen.
Werte stehen im Objekt selber:
"states": {
"0": "Up",
"1": "Down"
}
-
@killroy2 seit ich die Version 0.4.4 verwende bekomme ich im Log sehr viele Einträge mit folgendem oder ähnlichem Wortlaut:
2022-12-23 07:15:15.657 - [32minfo[39m: openknx.0 (3559) State value to set for "openknx.0.Schalten.Schalten.EG_-_Gäste_WC_-_Licht_-_Schalten" has to be type "boolean" but received type "number" 2022-12-23 07:15:15.798 - [32minfo[39m: openknx.0 (3559) State value to set for "openknx.0.Schalten.Status_Schalten.EG_-_Gäste_WC_-_Licht_-_Status_Schalten" has to be type "boolean" but received type "number" 2022-12-23 07:15:16.791 - [32minfo[39m: openknx.0 (3559) State value to set for "openknx.0.Heizung.Hargassner_Nano_PK.Pumpe_HK1" has to be type "boolean" but received type "number" 2022-12-23 07:15:16.863 - [32minfo[39m: openknx.0 (3559) State value to set for "openknx.0.Heizung.Hargassner_Nano_PK.Mischer_Auf_HK1" has to be type "boolean" but received type "number"
Hängt das eventuell mit dem neuen Feature Enums zusammen? Mit der vorherigen Version 0.3.2 hatte ich diesbezüglich nicht solche Meldungen im Log.
Gruß Chris
-
@killroy2 Macht es vielleicht Sinn, da der Adapter nahezu fehlerfrei funktioniert, den Adapter offiziell zu Version 1 zu machen? Wird damit für "Neulinge" deutlicher, dass es sich hierbei nicht mehr um ein Alpha- bzw. Betastadium handelt?
-
@ChrisChros
Habe das selbe Problem. Zudem sind alle Logikwerte nun als "Zahl" im State deklariert. Händisch müsste man sämtlichen Objekte für "Logikwerte" von Zahl auf Logikwert umstellen.
Müsste gefixt werden, da kein Script damit klar kommt. -
@chrischros
Ja richtig, die Spec denfiniert einen der vielen B1 Typen als DPT_Bool. Ich werde in der nächsten Version eine Einstellung anbieten wo jeder selber 1 Bit Datentypen als boolean einstellen kann. -
Neues Update auf Version 0.5 ist jetzt heraußen.
-Neue Datentypen sind jetzt per default auf bool gestellt, per Einstellung im Import kann es als enum number angeleget werden.
-Beim Autoread nach Neustart hatte ich unterwünscht ausgelöste Aktionen. Das lag einerseits an der ETS Konfiguration wo Trigger-Signale ein KO mit R Flag hatten.
Der Adapter hat andererseits ACK Flags generiert, wo keine sein sollten. Das habe ich mit dem Update korrigiert. -
@killroy2 Danke für das Update.
Ich bekomme folgende Meldungen nun im Log angezeigt:GroupValue_Write confirmation false received for 4/5/6 ....
was hat es damit auf sich?
-
@killroy2 Hallo! Habe gestern Vormittag die 0.5.0 installiert. In meiner Anlage läuft alles soweit!
Vielen Dank für Deine Arbeit!
Ich wünsche Dir und allen, die hier mitlesen ein gesundes, produktives und erfolgreiches Jahr 2023!
Hans -
@chrischros
Schau mal nach ob ein Empfänger für 4/5/6 in deiner ETS konfiguriert ist. Der sollte das quittieren. Wenn nicht ist was falsch oder es wird irrelevante Information auf den Bus gelegt.
Ich habe den Adapter jetzt etwas kommunikativer gemacht und ein paar Dinge auf Info gelegt. Das hilft die Installation aufgeräumt zu halten. -
@killroy2 bei dieser Adresse handelt es sich um Daten die von einem ioBroker-Adapter auf den Bus geschrieben werden. Ich nutze dazu ein kleines Blockly-Script:
In der ETS sind die entsprechenden GAs über eine Dummy Applikation wie folgt angelegt:
Als Flags wurden nur K,L und Ü angelegt. Da die GA mit einem Dummy verbunden ist glaube ich nicht das dort eine Quitierung erfolgen kann.
-
@chrischros Ok, aber warum legt du Daten auf einen Kommunikationsbus für die es keine Empfänger gibt?
Btw. es gibt ein Update 0.5.1 was einen Fehler mit der Anzeige von confirmation false behebt.