NEWS
Test Adapter KNX v1.0.x
-
Wie kann ich nen DP zu nem GroupValueRead auffordern?
Ich habe hier 3 DP's
"position", "wert" und "setzen"
die Gruppenadresse "Wert" hat einen von "Position" abhängigen wert.
wenn ich z.b. die Warmwasser Temperatur wissen möchte muss ich erst eine 7 an "Position" schicken und kann dann auf "Wert" die Temperatur lesen. Jedoch sendet der Aktor nicht von sich in die Gruppe sondern erst wenn ich ihn abfrage(GroupValueRead ).
jetzt kommt noch dazu dass ich durch das senden einer "7" an "position" und darauf hin "55" an "wert" und dann noch "1" an "setzen" die warmwassertemperatur auf 55 festlege
was wäre hier der eleganteste weg um dies nutzen zu können?
Ich hoffe ihr versteht was ich meine
-
@chefkoch009 @Garfonso
Hab es jetzt nochmal so eingestellt, wie im anderen Thread gepostet und diesmal auch den Adapter neu gestartet.
Jetzt sehe ich am Objekt für Schalten die Statusänderungen, die vom Bus kommen und kann auch damit schalten. Also die Visualisierung für die Lampen könnte ich so jetzt bauen. Vielen Dank!Unterwegs haben sich aber noch 2 Fragen ergeben:
-
Die zugehörigen Status-Objekte machen jetzt gar nichts mehr (zumindest nicht im Objects-Tab sichtbar). Für eine reine Anzeige in der Visu müsste ich dann die Schalten-Objekt verwenden und entsprechend Read-Only Widgets verwenden, richtig?
-
Jedes mal, wenn ich den Adapter neu starte, bekomme ich unter anderem diese Log-Nachrichten:
knx.0 2021-01-19 21:02:37.614 info (37276) STATE_NOT_CONNECTED : Try to connect / reconnect : STATE_READY(7) to STATE_NOT_CONNECTED(0). knx.0 2021-01-19 21:00:36.478 info (37276) Connected! with 168 datapoints of 339 Datapoints over all.
Er behauptet also bereit zu sein, braucht dann aber 2 Minuten, um zu bemerken, dass er keine Verbindung hat. Bis dahin besteht keine Verbindung zum Bus, also ich sehe weder Statusänderungen, noch kann ich etwas schalten. Nach dem Reconnect klappt dann alles. Ist das normal oder woran könnte das liegen?
- Gibt es schon eine ETA für die Version, in der die automatische Zuordnung wieder hinhaut? Ich möchte damit nicht drängen, ich will nur abschätzen können, ob es für mich sinnvoll ist, erstmal alles manuell zu verknüpfen.
-
-
- Ja.
- Der Adapter schickt beim Start an alle StatusGA ein GroupValue Read. Das dauert eine Zeit, da er dabei auch auf die Pakete/Sekunde achten muss (wobei 2 Minuten sich trotzdem viel anhört... vielleicht ist deine Pakete/Sekunden Zahl noch nicht gut eingestellt und der IP-Gateway geht durch die Paketflut hops?)
-
@mpl1338 said in Test Adapter KNX v1.0.x:
Wie kann ich nen DP zu nem GroupValueRead auffordern?
Siehe Readme:
Wenn im ioBroker beim Objekt read & write = true sind.Ich habe hier 3 DP's
"position", "wert" und "setzen"
die Gruppenadresse "Wert" hat einen von "Position" abhängigen wert.
wenn ich z.b. die Warmwasser Temperatur wissen möchte muss ich erst eine 7 an "Position" schicken und kann dann auf "Wert" die Temperatur lesen. Jedoch sendet der Aktor nicht von sich in die Gruppe sondern erst wenn ich ihn abfrage(GroupValueRead ).
jetzt kommt noch dazu dass ich durch das senden einer "7" an "position" und darauf hin "55" an "wert" und dann noch "1" an "setzen" die warmwassertemperatur auf 55 festlege
Du musst also an Wert tatsächlich gleichzeitig einen Wert schreiben und ein GroupValueRead schicken? Das geht nicht so einfach... Oder gibt es da zwei GAs ein Status und ein Setzen? Dann müsstest du beim Status read & write auf true, dann löst ein Schreiben da den GroupValueRead aus und beim Schalten kannst du dann den Wert reinschreiben. Aber aktuell geht es nicht GroupValueRead und Werte gleichzeitig an eine GA zu schicken.
Falls es nur eine GA ist, wäre ein möglicher workaround vielleicht das Objekt zu kopieren, inklusive allem im Native-Part. Keine Ahnung ob das geht... oder in ETS das Objekt zwei GAs zuzuweisen, wäre vielleicht sauberer.Außerdem wirst du da nicht um ein Skript herum kommen, denke ich. Ist ja kompliziert.
-
- Hab es eigentlich recht niedrig eingestellt (10-20). Laut Busmonitor ist die ganze Auslesen auch innerhalb von ~10 Sekunden erledigt. Danach passiert laut Busmonitor überhaupt nichts und 2 Minuten später macht der Adapter seinen Reconnect.
-
@mike439
du könntest ja mal mit einem Ping gucken, ob der Gateway zwischendurch nicht mehr reagiert.Ich hab mal geguckt, bei mir dauert das Updaten mit 679 Datenpunkten etwas mehr als eine Minute (20 Pakete) aber danach kann ich direkt schalten (während dem Update auch nicht). Und es kommt kein reconnect.
-
@garfonso
Ping bleibt über die ganze Zeit auf <3ms zum Gateway. Daran sollte es also nicht liegen. Es ist auch kein Dealbreaker, aber es nervt halt etwas beim Adapter neu starten.Andere Sache: Ist es eigentlich erwünscht zum KNX-Adapter zu contributen? Auf GitHub ist der Source ja nicht.
-
@garfonso said in Test Adapter KNX v1.0.x:
Du musst also an Wert tatsächlich gleichzeitig einen Wert schreiben und ein GroupValueRead schicken?
Ich muss an "Wert" einen wert senden und muss ein GroupValueRead schicken wenn ich wissen will was da drin steht.
Jedoch ist das was ich lesen will nicht das was ich geschrieben habe
Das Objekt sendet nicht von alleine bzw kann zyklisch senden aber dann wieder nicht im richtigen moment wenn ich es wissen will - müllt aber den bus dann nur voll
ich werde mal den Ansatz mit 2 DPs verfolgen und es auf diesem weg versuchen
-
@foxro , @Garfonso : Also ich hab das ganze jetzt mal geprüft und der Status (Objekt Wert) wird geupdated, obwohl nur Schreiben aktiv ist. Heißt sobald ich am Taster das Licht ein/ausschalte zeigt der Adapter auch true/false im ioBroker als Wert an. Ganz blöd gefragt, wie kann ich das Status-Mapping, denn selbst durchführen?
Exemplarisch hier ein screen von Native:
Hier im Forum hab ich etwas bzgl adressRefId und actRefId gesehen.....
Ich habe auch mal die Rolläden geprüft und diese lassen sich zwar steuern aber nur binär. Der alternative %-Wert funktioniert hier nicht. Egal welcher Wert eingetragen wird öffnen diese komplett.
Ich hätte noch eine weitere Frage. Ist es möglich den Status von einen Bewegungsmelder im ioBroker auszulesen? Ich sehe zwar den Status des Lichtschalters, aber nicht des Melders selbst, welchen ich gerne anderweitig verwenden möchte. (auch bei Tageslicht wenn das Status des Lichtschalters nicht wechselt)
-
@roadrunner said in Test Adapter KNX v1.0.x:
@foxro , @Garfonso : Also ich hab das ganze jetzt mal geprüft und der Status (Objekt Wert) wird geupdated, obwohl nur Schreiben aktiv ist. Heißt sobald ich am Taster das Licht ein/ausschalte zeigt der Adapter auch true/false im ioBroker als Wert an. Ganz blöd gefragt, wie kann ich das Status-Mapping, denn selbst durchführen?
Exemplarisch hier ein screen von Native:
Hier im Forum hab ich etwas bzgl adressRefId und actRefId gesehen.....
Ja, genau. In deinem Screenshot siehst du die ID der Gruppenadresse in
adressRefId
, also dasP-04EE-...
-Geraffel.
Das kopierst du, fügst es bei der Status GA alsactRefId
ein und kopierst von da dieadressRefId
und fügst die bei der Schalt GA alsstatusGARefId
ein. Das macht es halt was aufwendig, musst alle GAs zweimal anfassen...
Aber @chefkoch009 hat anscheinend tatsächlich einen Bug gefunden und gefixt und vielleicht kommt ja bald ne neue Version, wo es wieder geht (oder mal die 1.0.20 nehmen, damit importieren, dann sollte die Zuordnung auch gehen).Ich habe auch mal die Rolläden geprüft und diese lassen sich zwar steuern aber nur binär. Der alternative %-Wert funktioniert hier nicht. Egal welcher Wert eingetragen wird öffnen diese komplett.
Das hat aber nichts mit der Zuordnung zu tun, da muss noch was falsch sein. Welcher Datentyp ist das denn? Und kannst du sie über ETS damit vernünftig steuern? Bzw. können die Rollladen das überhaupt? (Ich hab hier im Haus leider auch ein paar Dachfenster, die nur rauf/runter/stop können )
Ich hätte noch eine weitere Frage. Ist es möglich den Status von einen Bewegungsmelder im ioBroker auszulesen? Ich sehe zwar den Status des Lichtschalters, aber nicht des Melders selbst, welchen ich gerne anderweitig verwenden möchte. (auch bei Tageslicht wenn das Status des Lichtschalters nicht wechselt)
Ja. Geht. Der muss halt seinen Status auf einer GA zur Verfügung stellen. Meinen konnte ich so konfigurieren, dass er die Bewegung an zwei GAs schickt. Damit geht gleichzeitig das "Licht an" und "Bewegung"-GA. Mit der "Bewegung"-GA kann ich dann im ioBroker sehen, dass es eine Bewegung gab (und das mit Alias in ein Bewegungsmelder-Gerät basteln).
Falls das bei dir nicht geht, wäre ne andere Möglichkeit ne neue Bewegung-GA zu machen, da den Bewegungsmelder rein und das Schaltobjekt vom Licht auch damit zu verbinden. Müsste eigentlich auch gehen (Status-Senden machen die meisten Geräte nur auf einer GA, aber Schalten empfangen geht über mehrere). -
@garfonso ob sich die Rolläden über ETS steuern kann, weiß ich leider nicht, da ich kein ETS habe.
D.h. Um den Bewegungsmelder zu sehen muss ich Im ETS was vom KNX-Projekt ändern, richtig?Würde in meinem Fall ETS-inside reichen? Bzw kann in der kostenlosen Testversion gesteuert werden um Sachen zu testen?
-
@roadrunner
Doch, das Anfahren von Jalousiepositionen geht gut. Hier einmal meine RAW-Werte der Objekte:
Schalt-Objekt:{ "_id": "knx.0.Jalousie.Jalousie_Position.Jalousie_Position_Badezimmer", "type": "state", "common": { "name": "Jalousie Position Badezimmer", "type": "number", "role": "value", "unit": "%", "max": 100, "min": 0, "read": false, "write": true }, "native": { "dpt": "DPT5.001", "address": "2/1/205", "addressRefId": "P-02CE-0_GA-376", "statusGARefId": "P-02CE-0_GA-377", "actGARefId": "", "objRef": "O-13_R-1388", "devName": "M-0002_A-A064-14-83B7", "devInst": "P-02CE-0_DI-56", "objectSize": "", "update": false }, ...
korrespondierendes Status Objekt (und ja, ich habe die Verknüpfungen selber angelegt)
{ "_id": "knx.0.Jalousie.Jalousie_Position_Status.Jalousie_Position_Badezimmer_Status", "type": "state", "common": { "name": "Jalousie Position Badezimmer Status", "type": "number", "role": "value", "unit": "%", "max": 100, "min": 0, "read": true, "write": false }, "native": { "dpt": "DPT5.001", "address": "2/2/205", "addressRefId": "P-02CE-0_GA-377", "statusGARefId": "", "actGARefId": "P-02CE-0_GA-376", "objRef": "O-33_R-1407", "devName": "M-0002_A-A064-14-83B7", "devInst": "P-02CE-0_DI-56", "objectSize": "" }, ... }
-
@roadrunner
puh... ETS-Inside wird glaube ich schwierig... da gehen ja nur 5 Geräte oder so (?). Man kann damit das ganze auf mehrere Projekte verteilen und so... aber da müsstest du alles neu aufbauen.
Was mit den Testversionen ist, weiß ich gar nicht... keine Ahnung.Schwierig... ich muss sagen, dass ich mir das ETS nur für mein KNX im Smarthome geholt habe und damals mit zu der Hausinvestition gerechnet habe (sonst tut das natürlich schon weh)... aber ohne die Software, finde ich sehr schwierig.. da muss man doch öfter mal was ändern.
-
Hallo,
ich habe soeben die Version 1.0.44 online gestellt. Über ein feedback würde ich mich wieder freuen.
VG
chefkoch009 -
@chefkoch009 jetzt läuft es bei mir Klasse, verknüpfungen werden sofort erstellt und die Rückmeldung funktioniert jetzt 1a.
Die Datenpunkte sind ebenfalls sofort schaltbar, es muss nichts mehr angepasst werden.Grüße
-
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