NEWS
Test Adapter OpenKNX 0.6.x
-
@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.
-
Hallo,
kann man mit der 0.2.5 keine XML mehr Importieren. In der Registerkarte fehlt unten der Punkt, oder mache ich was Falsch?
-
@nobody-0 Ich hab zwar die v0.2.6 hier ist der XML Import ohne Probleme möglich.
-
@mane444
Danke, der fehlt bei mir in der 0.2.5Da muss ich schauen wie ich an die 0.2.6 komme, ich vermute eine Beta?
-
@mane444 Dpt 19 hat aktuell einen Fehler, ich konnte es nachvollziehen. Du kannst den Fix in Version 0.2.7 testen. Ich brauche aber noch etwas Zeit um die Version zu erstellen.
-
@killroy2 Kein Problem wenn's noch etwas dauert.
Ich hab mal mit meinem Halbwissen einen Teil von der dpt11.js in die dpt19.js kopiert und angepasst. Es läuft!
Ist aber sicher nicht richtig da mir hier der Hintergrund fehlt, ich bin kein Programmierer. Ich hab die Datei mal angehängt falls es dich interessiert. dpt19.js -
@mane444 ja so hätte in etwa ist es bei mir auch drin, das machen was die anderen zeit typen auch machen
-
Hallo.
Mir ist aufgefallen, dass ich aus den Objekten heraus die KNX Komponenten nicht mehr steuern kann. Also ich kann den Wert zwar auf z.B. true oder false setzen, aber im Busmonitor wird weder 1 oder 0 gesendet.
Nun ist mir aufgefallen, das die Komponenten folgendermaßen angelegt wurden
Bei "read" steht true. Wenn ich dieses auf false ändere, kann ich wunderbar den Wert des Objektes ändern und im Busmonitor kommt auch der jeweilige Wert an.
Ist das ein Fehler? Sollte bei "read" false stehen?Gruß
Andreas -
@andreask bei mir klappt das ohne Probleme. Ich sehe bei dir steht unter role "indicator" da sollte switch stehen. Hast du vielleicht in der XML die du für den Import verwendest falsche Datentypen stehen. Bei Schaltbefehlen sollte das der Datentyp DPT 1.001 sein.
Mein Datenpunkt sieht so aus:
{ "_id": "openknx.0.Licht.Schalten.EG_WC_Licht_Schalten", "type": "state", "common": { "type": "boolean", "read": true, "write": true, "desc": "Basetype: 1-bit value", "name": "EG WC Licht Schalten", "role": "switch" }, "native": { "address": "0/1/3", "answer_groupValueResponse": false, "autoread": true, "bitlength": 1, "dpt": "DPT1.001", "valuetype": "basic" }, "from": "system.adapter.openknx.0", "user": "system.user.admin", "ts": 1661066514486, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
In der ETS