NEWS
Test Adapter KNX v1.0.x
-
Hi zusammen,
seit etwa 2 Wochen haben ich massive Probleme mit meinen Rollläden, weil der aktuelle Status nicht richtig ausgewertet wurde.
Nun bin ich der Sache auf die Schliche gekommen, es liegt an dem "Lese-Flag" von iobroker:
Wieso hat sich dieser seit dem letzten neu einlesen meines KNX-Projektes aausgeschaltet, wo er doch sonst immer wohl an war?
Wie kann man das beeinflussen?
Muss ich echt händisch jedesmal nacharbeiten?Edit: Meine Stati werden wohl trotzdem nicht immer geladen... Ich hab keine Ahnung, wieso mir mein Jalousie Aktor manchmal keine Positionen mehr übermittelt. Log ist leer...
-
@loverz Naja....Position ist ja meistens ein Wert von 0-100% im DPT5.001 bzw von 0-255 der auf den Bus geschrieben wird. Dementsprechend ist die Erkennung korrekt also Flag "Write=true" "Read=false". Korrekter Weise sollte das Status-Objekt dann irgendwie in der Form "OG/Jalousie/Schlafzimmer Position Status" in der ETS vorhanden sein und mit dem Status Objekt des Kanals des entsprechenden Aktors verknüpft sein und die Flags "KLÜ" tragen.
Meine Fragen an der Stelle:
- Wie lautet dein Statusobjekt in der ETS und welche Flags hat es für den Kanal deiner Jalousie?
- Welche Adapter Version verwendest Du?
VG
chefkoch009 -
@chefkoch009 said in Test Adapter KNX v1.0.x:
ich habe soeben die Version 1.0.44 online gestellt. Über ein feedback würde ich mich wieder freuen.
Hab jetzt einige Male importiert und einige Paare überprüft. Die Zuordnung haut jetzt in fast allen Fällen super hin. Einzig bei den folgenden Objekten hab ich ein paar falsche Zuordnungen:
-
@chefkoch009 sorry, hatte erst jetzt Zugang zum PC.
Hier sind meine Flags:Meine Gruppenadressenstruktur: "OG/Jalousie/Schlafzimmer Position"
Adapter Ver: 1.0.39.
Hab versucht über Github eine neuere Version 1.0.44. zu installieren, aber diese hat nicht gestartet und im Log einen Fehler ausgegeben (auch, wenn ich davor die alte Version komplett gelöscht habe)
Hab danach wieder die letzte Stable von ioBroker direkt geladen.
Vor etwa 2 Wochen habe ich weitere Gruppenadressen erstellt und verknüpft und zwar den Status für die aktuelle Richtung, den habe ich vorher nie verwendet, aber der MDT Support meinte, dass diese benötigt wird, damit die Glastaster an der Wand wissen können in welche Richtung der Rollladen als nächstes fahren soll, weil ich damit nämlich auch Probleme hatte.
Edit: Mir ist aufgefallen, dass die Stati der Rollläden mal kommen und mal nicht. An meinen Glastastern an der Wand steht jedoch immer die korrekte Position, das Problem ist also nicht auf dem Bus, sondern in iobroker
Edit2: Mir ist noch etwas aufgefallen: Wenn ich meine Rollläden einzeln fahre kommen die Positionen immer an! Wenn ich aber z.B. über Homekit sage, dass ALLE Rollläden herunterfahren sollen, dann fahren zwar alle, aber keines der Posision-Stati kommt im iobroker an.
Es scheint also, als hätte es etwas mit dem Datenaufkommen zu tun. Etwas ist überlastet.
Ich habe mit den Einstellungen "Pakete pro Sekunde" alles mögliche probiert.
-Bei 5 Pakete pro Sekunde ist alles total träge und er verwirft dann auch Pakete, dann sind die teilweise nur noch ein paar Rollläden gefahren, die anderen haben sich nicht bewegt.
-Bei 40 Pakete pro Sekunde reagiert alles etwas schneller, aber die Positions-Stati fehlen nach wie vor.
Kann da jemand etwas Licht ins Dunkle bringen? Wieso werden bei "5" Pakete verworfen und nicht später/verzögert ausgeführt?
-
Hallo Zusammen,
ich habe zwei Eigenheiten bemerkt und wollte Fragen ob es bereits bekannt ist.
Mein System:
Node.js v10.20.0 (v12 kann ich nicht nutzen, da damit ein älterer Adapter nicht mehr läuft ( weil fehlende serialport v6 Unterstützung)
NPM v6.14.4
JS Controller v2.2.9
Admin Instanz v4.1.11
KNX Adapter v1.0.39
ETS v5.7.4- Ich nutze Iobroker um Zigbee Werte und Schalter an den KNX Bus zu senden. Dies mache ich mit einem einfachen Blockly Script, was so auch funktioniert
In der neusten Version des KNX Adapters ist es aber so, sobald in den Eigenschaften des Objekts (welche von ETS Import worden sind), keine Min / Max Werte eingetragen sind, ich keinen Wert angezeigt bekomme.
Beispiel, ich sende mir von einem Xiaomi Temp Sensor den Batterie Stand in V, im Zielobjekt der KNX Instanz steht dann nur V ohne Wert.
Nach dem eintragen der beiden Werte und einem Neustart der Intanz ist der Wert da.
Dies war in einer frühreren Version des KNX Adapters (denke v1.0.20? ) nicht so.- Die Werte die ich mit meinem Blockly Script schreibe, kommen auf dem Bus erst an wenn ich 1. erledigt habe und wenn ich in den Objekteigenschaften die Häkchen bei read und update rausnehme.
Ansonsten wird dann zwar der Wert in iobroker Objekt richtig angezeigt, aber im Gruppenmonitor in der ETS bleibt das Telegramm ohne Wert.
Dies war wohl vorher auch nicht so...
Ist das bekannt?
- Ich nutze Iobroker um Zigbee Werte und Schalter an den KNX Bus zu senden. Dies mache ich mit einem einfachen Blockly Script, was so auch funktioniert
-
@chefkoch009 Hallo Chefkoch Respekt mal für deine Arbeit, hier muss ich aber widersprechen , denn nur die Geräte der 1. Generation haben diese Einschränkung. Neuere Geräte und das schon seit bestimmt 3 Jahren haben schon die 16bit.
https://support.knx.org/hc/de/articles/115003188109-Gruppenadressen
Vielleicht könntest du dieses berücksichtigen, da mein Projekt von Anfang an mit 32 Hauptgruppen aufgebaut wurde.
-
ich habe jetzt bestimmt 2 Stunden gelesen und verschiedene Dinge ausprobiert aber bei mir will die Zuweisung Schalten und Rückmeldung einfach nicht funktionieren, vielleicht kann mir jemand helfen was ich falsch mache.
Hier meine Stand
Node.js v10.20.1
NPM v6.14.8
JS Controller v3.2.11
Admin Instanz v4.2.1
KNX Adapter v1.0.44
ETS v5.7.4HG 0 EG Licht
UG 0 Licht schalten EG
GA 171 Licht schalten EG Schlafz
Datentype 1001 SchaltenHG 0 EG Licht
UG 3 Licht Status EG
GA 90 Licht schalten EG Schlafz Status
Datentype 1011 StatusSchalter Flags KSÜ
Status Flags KS
war vom Hersteller des Sensors vorgegeben{ "from": "system.adapter.knx.0", "user": "system.user.admin", "ts": 1611741369100, "common": { "name": "Licht schalten EG Schlafz", "type": "boolean", "role": "value", "read": false, "write": true, "max": true, "min": false }, "native": { "dpt": "DPT1.001", "address": "0/0/171", "addressRefId": "P-075F-0_GA-94", "statusGARefId": "", "actGARefId": "", "objRef": "O-49_R-529", "devName": "M-000C_A-1920-14-880B", "devInst": "P-075F-0_DI-125", "objectSize": "", "update": false }, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "knx.0.EG_Licht.Licht_schalten_EG.Licht_schalten_EG_Schlafz", "type": "state" }
{ "_id": "knx.0.EG_Licht.Licht_Status_EG.Licht_schalten_EG_Schlafz_Status", "type": "state", "common": { "name": "Licht schalten EG Schlafz Status", "type": "boolean", "role": "indicator", "read": true, "write": false, "max": true, "min": false }, "native": { "dpt": "DPT1.011", "address": "0/3/90", "addressRefId": "P-075F-0_GA-135", "statusGARefId": "", "actGARefId": "", "update": true, "objRef": "O-51_R-532", "devName": "M-000C_A-1920-14-880B", "devInst": "P-075F-0_DI-125", "objectSize": "" }, "from": "system.adapter.knx.0", "user": "system.user.admin", "ts": 1611741369095, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Zuerst nochmal zu meinen Verständnis
- werden HG und UG Bezeichnung nun mit einbezogen in dem Vergleich oder nicht?
-
@tschak ..ich weiß nicht ob dir das hilft, ich bin noch sehr neu im Thema Was mir aufgefallen ist:
Beim Import geht manchmal was verloren und einige Datenpunkte funktionieren nicht richtig. Ich habe heute mein Projekt neu importiert und dabei vergessen nur "neue Datenpunkte importieren" anzuhaken. Dabei sind Datenpunkte kaputt gegangen die vorher funktiniert haben, dass heißt im Iobroker sah alles gut aus, aber es kam nichts bei der ETS (bus) an. Zum Test habe ich in der ETs einige neue GAs für kaputte Datenpunte erstellt und dann nun mit dem Haken (nur neue Datenpunkte) importiert und siehe da plötzlich funktinierte mein Jalousie..
Das ist zwar keine wirkliche Lösung, aber es macht doch klar, dass wenn was nicht funktiniert kannst Du dir einen Wolf konfigurieren und das wird nix. -
Werte abfragen via Schreiben auf dem Status-Objekt funktioniert bei mir nicht. Es kommt zwar am Bus die Leseanfrage und diese wird auch beantwortet, aber der Wert im ioBroker ändert sich dadurch nicht (weder fürs Schalten- noch fürs Statusobjekt) . Wenn ich via ETS den Wert vom Bus abfrage, dann bekommt ioBroker die Änderung zwar mit (der Wert leuchtet kurz grün im Objects Tab), aber aktualisiert nicht.
-
@abase21 hast du mal versucht bei deinen "kaputten Datenpunkte" in den ioBroker objekten das Häkchen für lesen und Update zu entfernen? so wie ich oben geschrieben habe?
-
@mike439 said in Test Adapter KNX v1.0.x:
aber aktualisiert nicht.
Was heißt "aktualisiert nicht"? Das kann auch ein Admin-Problem sein. Mach mal den Browser ganz zu und versuch es nochmal.
Wenn die Verknüpfung von schalten und status funktioniert hat, sollten die geänderten Werte bei der SchaltGA angezeigt werden, auch bei einem GroupValueRead vom Adapter aus -
Folgendes konkretes Beispiel:
Position-Objekt:
{ "from": "system.adapter.knx.0", "user": "system.user.admin", "ts": 1611780950257, "common": { "name": "2_EG_3_Buero_Beschattung_Position", "type": "number", "role": "level", "unit": "%", "max": 255, "min": 0, "read": false, "write": true }, "native": { "dpt": "DPT5.004", "address": "2/3/0", "addressRefId": "P-043A-0_GA-227", "statusGARefId": "P-043A-0_GA-74", "actGARefId": "", "objRef": "O-223_R-1907", "devName": "M-0002_A-A079-14-20B6", "devInst": "P-043A-0_DI-6", "objectSize": "", "update": false }, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "knx.0.Beschattung.Beschattung_Position.2_EG_3_Buero_Beschattung_Position", "type": "state" }
Position_Status-Objekt:
{ "_id": "knx.0.Beschattung.Beschattung_PositionStatus.2_EG_3_Buero_Beschattung_PositionStatus", "type": "state", "common": { "name": "2_EG_3_Buero_Beschattung_PositionStatus", "type": "number", "role": "value", "read": true, "write": true, "unit": "%", "max": 255, "min": 0 }, "native": { "dpt": "DPT5.004", "address": "2/4/0", "addressRefId": "P-043A-0_GA-74", "statusGARefId": "", "actGARefId": "P-043A-0_GA-227", "objRef": "O-243_R-1900", "devName": "M-0002_A-A079-14-20B6", "devInst": "P-043A-0_DI-6", "objectSize": "" }, "from": "system.adapter.knx.0", "user": "system.user.admin", "ts": 1611780950214, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Dazugehörige GAs in ETS:
Dann klicke ich in die "value"-Zelle des Status-Objekts und klicke wieder raus:
Und in beiden Value-Zellen (also von Position und Status) bleibt der Wert auf 198%. Der sollte in dem Moment doch auf 255% hüpfen, oder nicht?
-
Hallo, ich bin gerade auch etwas am Testen. Nur klappt bei mir die automatische Zuweisung von Schalt GA zu Status GA auch nicht überall. Kann man diese Automatik auch irgendwie abwählen ?
-
Ich bin auch gerade noch am Testen. Bekomme ich ein Problem wenn ich meine Gruppenadressen z.B. so aufbaue:
1(Licht)/1(Schalten)/5 Buero-Deckenlicht Schalten
1(Licht)/4(Status)/5 Buero-Deckenlicht Status
1(Licht)/7(Sperren)/Buero-Deckenlicht SperrenErkennt der Adapter dann den Zusammenhang zwischen Schalten und Status und lässt Sperren außen vor?
Gibt es irgendwo eine Anleitung, wie man (falls es mal nicht automatisch klappt) Schalten und Status verknüpfen kann?
Bevor ich jetzt die Gruppenadressen für das ganze Haus anfange anzulegen, wäre es super, wenn ihr mir noch einen Tipp geben könntet, wenn meine geplante Namensgebung nicht optimal sein sollte.
-
@markus84 generell spricht da nichts dagegen denke ich, aber die offizielle Empfehlung sieht eher so aus: EG/Beleuchtung/Wohnzimmer_Schalten_Status (Beispiel)
-
@loverz sagte in Test Adapter KNX v1.0.x:
@chefkoch009 Ich muss mein eigenes Thema nochmal hochholen.Mir ist aufgefallen, dass meine Rollladen Status (Positionen) nicht bei iobroker ankommen, wenn auf dem Bus viel los ist. Bei mir ist das z.B. bei Sonnenaufgang und Abenddämmerung.
Ich habe mit dem Wert "Pakete pro Sekunde"
schon "rumgespielt"
Wie verhält es sich denn hier genau, was passiert, wenn dieser Wert überschritten wird? Werden dann die von ioBroker abgehenden Telegramme verzögert?
Was passiert mit eigehenden Telegrammen wie z.B. Rollladenpositionen? Werden diese in diesem Fall dann verworfen?Ich stehe echt auf dem Schlauch, aber ohne die Rollladenpositionen habe ich hier massive Probleme z.B. auch was den Unwetterschutz angeht.
-
@mike439 said in Test Adapter KNX v1.0.x:
Und in beiden Value-Zellen (also von Position und Status) bleibt der Wert auf 198%. Der sollte in dem Moment doch auf 255% hüpfen
Ja. Wobei 255% sich auch sehr merkwürdig anhört.. gibt es da nicht nen besseren Datentyp als %? Vielleicht wird da an einer Stelle ja doch was weggefiltert. Aber keine Ahnung... hm. Muss ich mal irgendwie versuchen zu testen kopfkratz
-
@mane444 said in Test Adapter KNX v1.0.x:
Hallo, ich bin gerade auch etwas am Testen. Nur klappt bei mir die automatische Zuweisung von Schalt GA zu Status GA auch nicht überall. Kann man diese Automatik auch irgendwie abwählen ?
Warum willst du sie "abwählen"? Du kannst es durch editieren der RAW-Objekte in ioBroker manuell machen für die, wo es nicht klappt. (wird hier x-mal erklärt im Thread, Ergebnis siehe z.B. den Post von mike439 etwas über deinem, die addressRefId, statusGARefId und actGARefId Felder).
-
@markus84
Sperren sollte außen vor gelassen werden. Ich würde noch das "Schalten" am Ende weglassen -> dann ist die Schalt GA und die Status GA ziemlich sicher am ähnlichsten (weil Status beim berechnen der Differenz ignoriert wird). -
@loverz said in Test Adapter KNX v1.0.x:
Wie verhält es sich denn hier genau, was passiert, wenn dieser Wert überschritten wird? Werden dann die von ioBroker abgehenden Telegramme verzögert?
Was passiert mit eigehenden Telegrammen wie z.B. Rollladenpositionen? Werden diese in diesem Fall dann verworfen?Die Erklärung, die ich dazu erhalten habe ist, dass vom ioBroker gesendete Telegramme verzögert werden. Eingehende Telegramme sollten weiterhin normal behandelt werden. -> das alles in der Theorie. Habe es nicht im Code geprüft oder selbst ausprobiert (wobei eingehende Telegramme hier, solange die Connection stehen bleibt, bisher immer verarbeitet wurden).
Ich habe bei Skripten, wo ich viel schalte aber auch öfter mit
setStateDelayed
gearbeitet, damit kannst du das Problem dann selber umgehen.