NEWS
Test Adapter KNX v1.0.x
-
@chefkoch009
Ah, möglicherweise habe ich bei dem Test den Adapter nicht neu gestartet. Ich werde das heute am Abend nochmal ausprobieren. Vielen Dank! -
@foxro Hi Roli, vielen Dank für die Antwort: Ich habe das *.knxproj vom Installateur erhalten und dieses beim Adapter hochgeladen. Dort wurden "217 Objekte extrahiert". Ich habe dort die Adressen (Schalten) welche im Adapter bei den Objekten angezeigt werden durchsucht. Diese erstrecken sich von 0/0/1 bis 2/1/X für Schaltobjekte. (Heizung hat die Struktur X/5/X und Status die Struktur X/6/X) Ich hatte erwartet, dass diese Adressen aufgrund der Struktur den Adressen des KNX-Projektes entsprechen. Ist das richtig?
Ich hatte auch versucht die diversen XML Dateien des entpackten *.knxproj zu durchforsten aber mit wenig Erfolg.
Den letzten Teil deiner Frage verstehe ich eventuell nicht ganz. Für die Objekte sind read und write gesetzt. (Aber ich nehme mir die Doku nochmal vor)
Es gibt hier jeweils einen Ordner für Schalten und Status.
Update: Es ist Read und Write gesetzt..... Genau hier war der Fehler Read beim Schalten deaktiviert und schon funktioniert es.
Vielen Dank für die Hilfe! -
@roadrunner said in Test Adapter KNX v1.0.x:
Genau hier war der Fehler Read beim Schalten deaktiviert und schon funktioniert es.
Vielen Dank für die Hilfe!Dann wird vermutlich auch die Zuordnung von Status und SchaltGAs nicht funktioniert haben...
-
@mike439
Nach der manuellen Zuordnung bzw. irgendwelchen Änderungen am "native"-Teil des Raw-Objekts den knx Adapter neustarten, erst dann wird das wirksam.
Ansonsten klingt deine Beschreibung richtig. -
@roadrunner said in Test Adapter KNX v1.0.x:
Update: Es ist Read und Write gesetzt..... Genau hier war der Fehler Read beim Schalten deaktiviert und schon funktioniert es.
Vielen Dank für die Hilfe!Sehr gerne, super dass es zumindest mal soweit geklappt hat.
Aber wie @Garfonso schreibt, befürchte auch ich, dass die Statusrückmeldungen beim Import nicht korrekt zur Schalt GA gemappt wurden. Somit wird der Status im IoBroker wohl nicht korrekt geupdatet, wenn an einem anderen Sensor (zb. Taster) den Wert der GA änderst. Da Du kein ETS hast, bleibt höchstens eine Bitte an den Installateur, die Status-GAs entsprechend den Vorgaben vom KNX Adapter zu benennen, oder dieses Status-Mapping im IoBroker manuell zu machen. -
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
-
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