NEWS
Test Adapter OpenKNX 0.6.x
-
@killroy2 Habe eben die Version 0.2.5 installiert - funktioniert soweit!
Vielen Dank!! -
@killroy2 sagte in Test Adapter OpenKNX 0.2.x:
@ple habe ich eingebaut, schau es dir mal an, ab Version 0.2.5
Das klappt schon mal, kannst das für die Alias dann auch einbauen?
Gruß und Danke
-
@ple Alias Generierung berücksichtigt ja beim nächsten Lauf nach Import die Namen neu und aktualisiert ggf.
-
Guten Abend,
ich habe ein Problem, dass bei einigen KNX Teilnehmern die Werte gemäß Log vom KNX-Bux gelesen werden, aber nicht in dem zugehörigen Objekt gespeichert werden.
Beispiel 4/0/114:
Wenn die ETS einen Wert an die 4/0/114 sendet, wird es korrekt erkannt und im Objekt eingetragen.
Wenn der Teilnehmer (GA: 1.1.1) den Wert sendet, wird der Wert noch erkannt, eine Wertänderung festgestellt, aber kein Wert im Objekt eingetragen.
Im ersten Versuch habe ich die Objekte über einen XML-Import erzeugen lassen. Zum Testen habe ich jetzt aber eine eigene Instanz angelegt und den Wert manuell angelegt.Vermutlich nur eine Kleinigkeit.... Aber alle meine Versuche sind bis jetzt gescheitert.
Schon vorab vielen Dank.
-
@adb zeig mal die Json Objektdaten von Test-01 welches den Fehler hat.
-
@killroy2
Sorry - wollte ich eigentlich noch eingefügt haben.. Aber jetzt:{ "common": { "name": "Test-01", "desc": "Manuell erzeugt", "role": "state", "type": "number", "read": true, "write": false, "def": 0 }, "native": { "address": "4/0/114", "dpt": "DPT9.001", "answer_groupValueResponse": true, "autoread": true, "bitlength": 16 }, "type": "state", "_id": "openknx.1.Test.Test-01", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1656963969899 }
-
@killroy2
Hatte eben noch etwas probiert und bin noch mehr verwundert.Wenn der Wert direkt vom Taster gesendet wird, erkennt der Adapter die Wertänderung, schreibt diese aber scheinbar nicht in das Objekt. Wenn ich die KNX-Variable per ETS schreibe, kommen die Werte ebenfalls an und werde in das Objekt übernommen.
[trace] 2022-07-08 18:42:00.954 (idle): Received ROUTING_INDICATION_L_Data.ind message: {"header_length":6,"protocol_version":16,"service_type":1328,"total_length":19,"cemi":{"msgcode":41,"addinfo_length":0,"ctrl":{"frameType":1,"reserved":0,"repeat":1,"broadcast":1,"priority":3,"acknowledge":0,"confirm":0,"destAddrType":1,"hopCount":5,"extendedFrame":0},"src_addr":"1.1.1","dest_addr":"4/0/114","apdu":{"apdu_length":3,"apdu_raw":{"type":"Buffer","data":[0,128,12,123]},"tpci":0,"apci":"GroupValue_Write","data":{"type":"Buffer","data":[12,123]}}}} [trace] 2022-07-08 18:42:00.954 2022-07-08 18:42:00 **** (4/0/114) 22.94 °C DATAPOINT CHANGE (was: 22.96) *** per ETS den Wert 22 an die GA 4/0/114 geschickt *** [trace] 2022-07-08 18:42:28.255 (idle): Received ROUTING_INDICATION_L_Data.ind message: {"header_length":6,"protocol_version":16,"service_type":1328,"total_length":19,"cemi":{"msgcode":41,"addinfo_length":0,"ctrl":{"frameType":1,"reserved":0,"repeat":1,"broadcast":1,"priority":3,"acknowledge":0,"confirm":0,"destAddrType":1,"hopCount":5,"extendedFrame":0},"src_addr":"15.15.255","dest_addr":"4/0/114","apdu":{"apdu_length":3,"apdu_raw":{"type":"Buffer","data":[0,128,12,76]},"tpci":0,"apci":"GroupValue_Write","data":{"type":"Buffer","data":[12,76]}}}} [trace] 2022-07-08 18:42:28.255 2022-07-08 18:42:28 **** (4/0/114) 22 °C DATAPOINT CHANGE (was: 22.94) Inbound GroupValue_Write from 15.15.255 GA 4/0/114 to Object: openknx.1.Test.Test-01 val: 22 dpt: DPT9.001 [trace] 2022-07-08 18:43:00.945 (idle): Received ROUTING_INDICATION_L_Data.ind message: {"header_length":6,"protocol_version":16,"service_type":1328,"total_length":19,"cemi":{"msgcode":41,"addinfo_length":0,"ctrl":{"frameType":1,"reserved":0,"repeat":1,"broadcast":1,"priority":3,"acknowledge":0,"confirm":0,"destAddrType":1,"hopCount":5,"extendedFrame":0},"src_addr":"1.1.1","dest_addr":"4/0/114","apdu":{"apdu_length":3,"apdu_raw":{"type":"Buffer","data":[0,128,12,123]},"tpci":0,"apci":"GroupValue_Write","data":{"type":"Buffer","data":[12,123]}}}} [trace] 2022-07-08 18:43:00.946 2022-07-08 18:43:00 **** (4/0/114) 22.94 °C DATAPOINT CHANGE (was: 22)
-
@adb
ich habe einen Fehler gefunden,
als Quickfix versuche mal die Adresse 1.1.1 vom Taster auf irgend einen anderen Wert zu ändern oder
lade die Config runter, entferne die Zeile mit "eibadr" und lade sie wieder hoch. -
@killroy2
Die Adresse wollte gerne beibehalten, daher habe ich zunächst probiert die "eibadr" auf einen anderen Wert zu setzen (wäre ja schön im Busmonitor zu sehen, wer die Telegramme abschickt). Hatte aber nicht funktioniert. Nach dem löschen des Eintrages in der Config funktioniert es jetzt.
Vielen Dank -
Hallo noch mal zusammen,
Ich bin zwar noch lange nicht fertig mit den Logiken und teste gerade aus, ob ich beim Gira X1 bleibe oder doch eher auf iobroker gehe, da kenne ich mich wenigsten mit aus und liegt mir deutlich besser für Automatismen mit Javascript.
Aktuell versuche ich mich an Jarvis, meine letzte Visu stammt von vor 4 Jahren, da hat sich anscheinend viel getan in letzter Zeit.
Jetzt mal zur Frage.
Könnten vielleicht die Importierten Datenpunkte vielleicht mit mehr Infos gefüllt werden wie"role": "value.temperature"
Anhand der DTP´s vielleicht mappen?
Gruß und Danke.
-
Hi zusammen,
ich versuche gerade einen Wert vom Aktor abzurufen.
So sieht er aus:{ "_id": "openknx.0.Obergeschoss.Heizungsraum.Wirkleistung_A", "type": "state", "common": { "name": "Wirkleistung A", "type": "number", "read": true, "write": false, "role": "value" }, "native": { "dpt": "DPT14.056", "address": "2/5/11", "answer_groupValueResponse": false, "autoread": true }, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1646756139273 }
wenn ich den aber abrufe mit
setState(Wirkleistung_A, {val: 0, ack: false, q:0x10});
wird mein Log zugespammt mitRead-only state "openknx.0.Obergeschoss.Heizungsraum.Wirkleistung_A" has been written without ack-flag with value "0"
Wenn ich ACK auf true setze, bekomme ich nur die 0 ausgelesen. Ist also keine Option. Hat jemand einen Tipp, wie ich die Meldung im Log weg bekomme?
LG
-
@jampr said in Test Adapter OpenKNX 0.2.x:
Bei dir steht
"write": false,
setze mal auf true, dann sollte die Meldung nicht kommen.
-
@killroy2
danke, jetzt ist es Ok. Das war noch vom KNX-Objekte-Laden. Ich habe mich nicht getraut, daran was zu verändern. -
@ple sagte in Test Adapter OpenKNX 0.2.x:
Hallo noch mal zusammen,
Ich bin zwar noch lange nicht fertig mit den Logiken und teste gerade aus, ob ich beim Gira X1 bleibe oder doch eher auf iobroker gehe, da kenne ich mich wenigsten mit aus und liegt mir deutlich besser für Automatismen mit Javascript.
Aktuell versuche ich mich an Jarvis, meine letzte Visu stammt von vor 4 Jahren, da hat sich anscheinend viel getan in letzter Zeit.
Jetzt mal zur Frage.
Könnten vielleicht die Importierten Datenpunkte vielleicht mit mehr Infos gefüllt werden wie"role": "value.temperature"
Anhand der DTP´s vielleicht mappen?
Gruß und Danke.
Wollte kurz pushen, ob es möglich wäre die so ein mapping zu machen, um die Datenpunkte mit mehr Infos zu füllen.
Gruß und Danke
-
@ple wenn du eine Idee hast das gut zu machen
Es gibt so viele Typen
https://github.com/ioBroker/ioBroker/blob/master/doc/STATE_ROLES.md
die sich nicht oder nicht eindeutig auf die KNX Einheiten
https://www.knx.org/wAssets/docs/downloads/Certification/Interworking-Datapoint-types/03_07_02-Datapoint-Types-v02.02.01-AS.pdf
mappen lassen, so dass ich es bisher nicht angegangen bin. -
Ich habe den Post auch nochmal hier gemacht:
https://forum.iobroker.net/topic/56844/openknx-adapter-nicht-alle-werte-kommen-an/2Hallo Zusammen,
ich habe das Problem, das nicht alle Werte vom KNX Bus in den iOBroker übernommen werden. "Taupunkt KG Garage" bspw. werden in die Objekte übernommen, "Taupunkt EG Garage" wird nicht übernommen. Im Bus werden beide Werte gesendet
Hier die Ansicht aus der ETS vom Bus:
Hier die Ansicht aus dem iOBroker Objekte:
Hier der Code der ioBroker Objekte, hier sehe ich keinen Unterschied:
{ "_id": "openknx.0.Messwerte.Messwerte_Taupunkt.Messwerte_Taupunkt_EG_Garage", "type": "state", "common": { "desc": "Basetype: 16-bit floating point value", "name": "Messwerte Taupunkt EG Garage", "read": true, "role": "state", "type": "number", "unit": "°C", "write": true }, "native": { "address": "0/2/20", "answer_groupValueResponse": false, "autoread": true, "bitlength": 16, "dpt": "DPT9.001", "valuetype": "basic" }, "from": "system.adapter.openknx.0", "user": "system.user.admin", "ts": 1658155390405 }
{ "_id": "openknx.0.Messwerte.Messwerte_Taupunkt.Messwerte_Taupunkt_KG_Garage", "type": "state", "common": { "desc": "Basetype: 16-bit floating point value", "name": "Messwerte Taupunkt KG Garage", "read": true, "role": "state", "type": "number", "unit": "°C", "write": true }, "native": { "address": "0/2/9", "answer_groupValueResponse": false, "autoread": true, "bitlength": 16, "dpt": "DPT9.001", "valuetype": "basic" }, "from": "system.adapter.openknx.0", "user": "system.user.admin", "ts": 1658155390327 }
Im Protokoll wird nichts aufgeführt.
Hatte jemand von Euch schon mal das Problem, bzw. kann mir hier jemand weiterhelfen?
Vielen Dank und viele Grüße
-
@hubergeorg Hi wenn ich das richtig sehe hast du im Code der Objekte die Gruppenadresse 0/2/20 ```
"native": {
"address": "0/2/20",bei deinem Bus-Protokoll wird die 0/2/2 beschrieben.
-
@killroy2
Uhi, das echt ne Menge was es da gibt.
Vielleicht könnte man ein händisches Mapping einbauen, linke Seite KNX DTP´s, rechts dann die vom iobroker, selbst wenn man die händisch eintippt, State, Level, Switch, Power.
Denke der Überordner könnte auch channel heißen.
Ich glaube, der am besten gepflegte Adapter ist der Homematic Adapter, da würde ich mich dran orientieren.
Andere Frage ist ja auch, wieviel Zeit du überhaupt dafür hast.Gruß und Danke
-
@mane444
das war der Fehler, vielen Dank!
Das Problem war das ich zweimal eine GA mit dem gleichen Text hatte. Es wurde beim automatischen Import jedoch nicht beide Objekte übernommen sondern nur das letzte, also das 0/2/20. D.h. vermutlich wird dann beim Imput die erste Gruppenadresse überschrieben -
Ich möchte gerne das Datum und die Uhrzeit vom Broker in die KNX zu übertragen.
Folgendes habe ich getestet:- Übertragen der Uhrzeit an eine GA mit DPT10.001
Das funktioniert ohne Probleme.
- Übertragen des Datums an eine GA mit DPT11.001
Das Datum wird richtig an KNX übertragen aber es kommt folgende Meldung im Log:
openknx.0 2022-08-20 18:32:32.160 info confirmation false received for 10/0/1 openknx.0.Zentrale__Befehle.Datum_Uhrzeit.Datum
EDIT: Punkt 2 ist gelöst, es war kein Zel in der ETS konfiguriert. (mein Fehler)
- Übertragen an eine GA Datum/Uhrzeit mit DPT 19.001
Hier wird nichts an KNX übertragen. Im Log kommen folgende Meldungen:
openknx.0 2022-08-20 18:36:32.119 warn [warn] 2022-08-20 16:36:32.119 TypeError [ERR_INVALID_ARG_TYPE]: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined openknx.0 2022-08-20 18:36:32.017 error [error] "2022-08-20T16:36:32.017Z" 'DPT19: Must supply a Date object'
Wenn ich mit der ETS die GA "Datum/Zeit" beschreibe kommt das gewählte Datum und Zeit im IOB an. Wenn ich diesen Zahlenwert kopiere und das IOB-Objekt wieder damit beschreibe kommt die gleiche Fehlermeldung wie in Beispiel 3.
Hat hier jemand eine Idee oder sind diese DPT noch nicht voll implementiert.