NEWS
KNX Adapter überholt
-
Hallo Chefkoch,
anbei mein Script. Würde gerne die Lüftung in Abhängigkeit von unserer Anwesenheit / Abwesenheit steuern.
Danke & Gruß
-
Hi
@chefkoch: ich habe ein "Enertex KNXnet/IP interface 1150" und ein "Enertext KNXnet/IP Router 1147" im Einsatz (verschiedene Gebäude).
Beide funktionieren mit der ETS als "IP Tunneling" auf port 3671.
Ich werde mal schauen ob ich heute abend dazu komme das Log zu erhöhen. Paletrate habe ich nicht verstellt - ist als der default wert.
gruß
Thorsten
-
HIer das logging:
knx.0 2018-12-11 23:22:50.652 info Connection persists…..closing now
knx.0 2018-12-11 23:22:50.652 info Change state from STATE_CONNECT_RESPONSE(4) to STATE_NOT_CONNECTED(0)
knx.0 2018-12-11 23:22:50.652 info Change state from STATE_CONNECT_REQUEST(3) to STATE_CONNECT_RESPONSE(4)
knx.0 2018-12-11 23:22:50.652 info Change state from STATE_PORT_OPENED(2) to STATE_CONNECT_REQUEST(3)
knx.0 2018-12-11 23:22:50.652 info Send : UDP Connection Request : 06 10 02 05 00 1a 08 01 c0 a8 00 6a d1 1f 08 01 c0 a8 00 6a d1 1f 04 04 02 00 sent to 192.168.0.10:3671
knx.0 2018-12-11 23:22:50.652 info Connected - local UDP Server listening on 192.168.0.106:53535
knx.0 2018-12-11 23:22:50.652 info Change state from STATE_OPENING_PORT(1) to STATE_PORT_OPENED(2)
knx.0 2018-12-11 23:22:50.652 info Event : UDP - listening
knx.0 2018-12-11 23:22:50.651 info Change state from STATE_NOT_CONNECTED(0) to STATE_OPENING_PORT(1)
knx.0 2018-12-11 23:22:50.651 info Using UDP with local IP: 192.168.0.106
Sagt das was?
-
Hallo,
ich habe folgendes Problem:
Und zwar werden von "Zeit zu Zeit" immer die Objektberechtigungen "verworfen" bzw. zurückgesetzt. Vor allem nach Neuimport der Projektdatei (obwohl "nur neue Objekte" aktiv)
Dann muss ich manuell von sehr vielen Schaltobjekten die Berechtigungen wieder ändern…
Das komische ist, dass es bei manchen direkt richtigen ist, bei anderen nicht.
Die DPT und Struktur in der ETS sind identisch und eingepflegt worden.
Folgende Struktur: Lfd.Nr_Raum_Gewerk_Objekt_EIn_Aus (Schalten) und Lfd.Nr_Raum_Gewerk_Objekt_RM für die Rückmeldung.
Verwunderlich ist eben wirklich, dass er bei manchen direkt Switch und Indicator setzt und bei anderen value und switch, wobei der switch dann beim Rückmeldeobjekt ist, mit der Berechtigung "schreiben" und beim Schaltobjekt "value" und gar kein Häkchen bei "Lesen/Schreiben"
Hat einer ähnliche Probleme und eventuell tipps, wie man es bessern könnte, ohne die ganze Projektdatei zu ändern?
Es ist wirklich nervig ständig die Berechtigungen ändern zu müssen, vor allem wenn man mit Logiken dran ist und sich mal wieder wundert, warum nichts funktioniert
Vielen Dank
-
Eine Idee habe ich. Probiere mal in ETS „…RM“ im die Name die Gruppenadressen auf „...Status“ zu ändern.
-
Hallo doemel,
In der Readme.md im Github unter dem Punkt „Vermeidung von Problemen“ findest du ein Beispiel wie die Erkennung korrekt funktioniert. Warum verwendest du in deinen GA‘s „_“?
Exemplarisch sollte es bei dir so aussehen:
EG Deckenlicht schalten
EG Deckenlicht schalten status
Und die Flags müssen richtig gesetzt sein.
VG
chefkoch009
-
Hallo chefkoch,
vielen Dank für deine Antwort.
Natürlich habe ich mir die Readme schon durchgelesen und das mit den Sonderzeichen beachtet (_ war nicht dabei) und viele haben eben diese Struktur.
Grundsätzlich arbeite ich immer mit Unterstrich, statt Leerzeichen, ich finde es sieht sauberer und "als ein Objekt" aus. Des Weiteren vermeidet es viele Probleme, wenn mal irgendwas nicht mit Leerzeichen klarkommt (was ich öfters habe).
Jetzt nur das zu ändern wäre natürlich sehr viel Arbeit (auch mit Suchen und Ersetzen) vor allem bei den Logiken.
Die Flags werden in der ETS doch automatisch gesetzt und es gibt doch nur wenige Ausnahmen in dem das manuell geändert werden muss? Da habe ich in der ETS jedenfalls nie etwas geändert.
Was mich eben wundert ist eben, dass es bei manchen Problemlos funktioniert und bei anderen eben nicht.
Anfangs hatte ich statt "Ein_Aus_ "Ein/Aus" das hat definitiv zu Problemen geführt und hatte es korrigiert, danach ging es auch besser.
Es sind auch immer die gleichen Objekte wo der Fehler auftritt. Manchmal funktioniert es in einem Raum komplett, in anderen gar nicht und in manchen nur zum Teil. In der ETS habe ich die Objekte mal verglichen und keine Fehler gefunden. Bis auf die "Bezeichnungen der GA" sind ist alles identisch und das sind ja nur ein paar Buchstaben zwischen drin.
-
Hallo zusammen,
hat der Adapter die Funktion, Telegramme vom KNX zu Acknowledgen (ACK)?
Ich habe bestimmte Informationen wie Helligkeit oder Temperatur, die von meinen Sensoren gesendet werden, aber es gibt kein Gerät, welches diese empfangen soll. Dies übernimmt mein RPi mit iOBroker. Wenn aber kein Gerät für den Empfang programmiert ist, wird das Telegramm nicht bestätigt (ACK), und deshalb sendet der Sensor 3 Wiederholungen. Also insgesamt 4x die gleiche Nachricht hintereinander. Da dies bei mir aber auch die Präsenzmelder mit je 4 Zonen in jedem Raum betrifft, lastet die den Bus unnötig aus, bloß weil niemand "antwortet".
Daher die Frage, ob der Adapter dies eigentlich macht, und ich evtl. einen Fehler beim Import o.Ä. habe. Grundsätzlich geht aber sonst alles, wenn ich die DPT korrekt nachgetragen habe. Dies hat er beim Import auch nicht richtig gemacht.
Die "addressRefId" ist übrigens eingetragen, "statusGARefId" und"actGARefId" sind leer. Haben die noch irgendwas damit zu tun?
Ich muss dazu sagen, dass ich aufgrund meines alten RPi 1B nur die node "v6.11.5" installiert bekomme, der KNX Adapter ist aber v1.0.17.
Danke schonmal!
-
Hallo FateShapeR,
nein hat er nicht. Er bestätigt nur seine eigene Kommunikation. Aber Deine Idee dazu klingt interessant.
VG
chefkoch009
-
Kann mir bitte nochmal bei dem Thema Statusanzeige weiterhelfen?
In den Beiträgen weiter vorne haben ich nicht wirklich eine Lösung gefunden, vielleicht bin ich aber auch zu doof.
Ich habe einen Schaltaktor mit der Adresse 3/1/2 und der ID P-0B72-0_GA-173
Das dazugehörende Statusobjekt hat die Adresse 3/1/3 und die ID P-0B72-0_GA-188, welche ich im Feld StatusGArefid auch drin habe.
Jetzt steht z.B, das Statusobjekt in der Objektübersicht auf "1", das Schaltobjekt steht auf "true" und das true ist rot.
Das bedeutet doch, dass das "true" nicht bestätigt ist, oder?
Hintergrund der Frage:
Ich habe eben iobroker neu gestartet und das Schaltobjekt stand auf "false", das Statusobjekt auf "1". Ich musste das Schaltobjekt manuell nochmal auf "true" setzen.
-
Hallo,
wir sind gerade in der Migration von openhab zu ioBroker, bei dem wir aktuell beide Systeme parallel auf den KNX Bus zugreifen lassen (openhab via Weinzierl IP 731, iobroker über knxd). Dabei ist uns folgendes Phänomen aufgefallen, das uns stundenlang debuggen ließ:
in regelmäßigen Abständen fragt openhab via GroupValueRead Werte ab, bei denen das Device via GroupValueResponse den Status zurückmeldet - dies wird von iobroker als valides Update vom Bus behandelt und weitergereicht.
Ich würde das verstehen, wenn iobroker selbst einenGroup Read auslösen würde, aber sollte im "Regelbetrieb" nicht nur auf ein GroupValueWrite beschränkt werden? Sorry wenn ich hier das Konzept missverstehe..
Vielen Dank vorab für's Aufschlauen.
-
Meinst Du damit, dass ioBroker den Wert zurückliefert, den zu angefragt hast?
Was macht ioBroker denn mit dieser Adresse? Wie ist das in ioBroker abgebildet? Verbirgt sich ein echtes Gerät dahinter?
-
Da ich (immer noch) daran verzweifle, dass ioBroker einen sauberen Status auf den Bus schreibt…
Hat jemand es am Laufen, dass es eine GA gibt, die ein Tastsensor zum Schalten beschreibt, ioBroker macht dann was und soll auf der StatusGA den aktuellen Schaltzustand zurückliefern?
Bei mir wird die Statusadresse zwar geschrieben, aber ich bekomme es nicht hin, dass ein Wert geliefert wird. Der Wert ist immer leer.
Das Statusobjekt sieht so aus:
{ "_id": "knx.0.Beleuchtung.Licht_Hue_Status.Status_LichtHue_Balkon", "type": "state", "common": { "name": "Status LichtHue Balkon", "type": "", "role": "value", "min": 0, "max": 1, "read": true, "write": false }, "native": { "dpt": "DPT1.001", "address": "0/5/14", "addressRefId": "P-0B72-0_GA-159", "statusGARefId": "", "actGARefId": "P-0B72-0_GA-43" }, "from": "system.adapter.knx.0", "ts": 1547221684937, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 } }
Zum vergleich mal ein Statusobjekt, das rein von KNX gehandhabt wird (hängt an nem Schaltaktor):
{ "_id": "knx.0.Beleuchtung.Licht_KNX_Status.Licht_KNX_Status_Bad", "type": "state", "common": { "name": "Licht KNX Status Bad", "type": "", "read": true, "write": false, "role": "value", "min": 0, "max": 1 }, "native": { "dpt": "DPT1.011", "address": "0/4/4", "addressRefId": "P-0B72-0_GA-98", "statusGARefId": "", "actGARefId": "P-0B72-0_GA-8" }, "from": "system.adapter.knx.0", "ts": 1521096978856, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Was mir auch aufgefallen ist: Im ETS Gruppenmonitor gibt es ja einen Quellennamen. Kann man ioBroker dazu bringen, da was reinzuschreiben?
-
Meinst Du damit, dass ioBroker den Wert zurückliefert, den zu angefragt hast?
Was macht ioBroker denn mit dieser Adresse? Wie ist das in ioBroker abgebildet? Verbirgt sich ein echtes Gerät dahinter? `
Es geht um einen Taster (der per Logik Szenen weiterschaltet). Wenn ein anderes System wissen will (openhab), was der letzte Status war (GroupValueRead) liefert das System per GroupValueResponse den letzten Stand zurück. Dies wird von iobroker äquivalent verarbeitet wie ein GroupValueWrite, mit dem der Taster einen echten Tastendruck meldet. D.h. die Infoabfrage wird wie ein echter Event verarbeitet…
-
Hallo LarsNE,
kläre bitte im Vorfeld, mit welcher ETS Version es geschrieben ist. Aktuell ist "nur" ETS4 implementiert. Sollte es ETS3 sein, möchte ich Dich bitten, mir einmal die knxproj zukommen zu lassen um sie ebenfalls implementieren zu können. Teile mir bitte ebenfalls die Type des LAN-GW's mit.
Bist Du mit KNX ETS Programmierung vertraut? Dann achte bitte darauf, das die DPT's zu den einzelnen KO's zugeordnet sind und die Geräte den entsprechenden Räumen zugewiesen sind.
VG
chefkoch009 `
Hallo, mein Projekt wurde mit einer ETS3 geschrieben, kann ich dir mein Projekt zukommen lassen, sodass du mir ein ETS 4 Projekt exportierst? Als IP Schnittstelle habe ich ein Weinzierl 731.
Gesendet von iPhone mit Tapatalk
-
Hallo @all,
ich habe soeben die Version 1.0.18 online gestellt. Bitte unbedingt die README lesen!!!!
Ich habe die boolean Werte von 0 und 1 auf false und true gesetzt (ist halt boolean), damit ich auch da wieder konform bin. Weiterhin werden nun die DPT1.x als "switch" erkannt. Wenn es möglich ist, dann das ETS-Projekt neu einlesen, weil dann eure Objekte mit angepasst werden. Prüft bitte ebenfalls eure Logiken.
Weiterhin gab es einen Bug mit dem DP16.x. Es wurden Strings mit weniger als 14Byte nicht auf den KNX Bus ausgegeben. Ist behoben.
Das Bonbon diesmal war der ETS Import ab ETS Version 5.6. Habe das mit meiner bescheidenen Auswahl an KNX-Projekten getestet.
Ich würde mich wieder riesig über euer Feedback freuen.
VG
chefkoch009
-
Hi @all,
habe die Version 1.0.19 veröffentlicht. Die true/false Behandlung habe ich wieder auf 1/0 geändert, weil sich das handling als dermassen störrisch erwiesen hat. Somit bleibt für eure Scripte alles beim Alten.
VG
chefkoch009
-
Was hat sich denn als störrisch erwiesen? Ich hab die .18 getestet und die Skripte geändert, für mich läuft es mit der .18.
Ist absehbar, dass die .20 dann wieder die Änderung enthält? Dann bleibe ich erstmal bei der .18.
-
Hallo peer6969,
Vielen Dank für Deine Rückmeldung.
Das grosse Problem an dieser Änderung ist, das es Anwender gibt, welche massive Scripte und Logiken haben. Diese müssten ALLE überprüft und geändert werden. Aus diesem Grund hatte ich das so implementiert, das zwar weiterhin 0 und 1 akzeptiert werden, aber true und false zurückgeliefert werden. Das hat zu viele Statusänderungen provoziert, als Beispiel:
GA1 sei AktorGA und GA2 sei StatusGA:
Objektstatus GA1 sei false. Nun wird über z.B. die Vis ein Status geändert von 0 auf 1, dann steht der Status auf 1, was aber nicht sein darf und wird von 1 auf true geändert. Jetzt kommt die Rückmeldung mit 1 auf GA2 und aktualisiert GA1 und wird auf true geändert. Nun ist GA1 wieder 1 und wird wieder auf true geändert.
Auf dem KNX Bus wird ja auch 0 und 1 geschrieben, was als true und false / on, off / up/down,…. interpretiert wird.
VG
chefkoch009
-
Hat wirklich keiner einen Tipp, wie ich eine Status GA mit Blockly richtig schreiben kann?
Bei mir ist der geschriebene Wert immer leer und DPT ist leer