NEWS
Test Adapter KNX v1.0.x
-
@loverz said in Test Adapter KNX v1.0.x:
Wohnzimmer_Rollladen_Nord_Position_anfahren
Dann ändere nur einmal diese GA zu:
Wohnzimmer_Rollladen_Nord_Position_anfahren_Statusund du wirst ein Wunder erleben
Kannst sie ja mal zu Testzwecken umbenennen. Nur daran liegt es nämlich.
Es geht ja nach Version 1.0.20 nicht nur um die Eigenschaften read und write, sondern auch um die Pärchen, also
addressRefId
statusGARefId
actGARefIdDas gilt es eben händisch anzupassen wenn man die GA in der ETS nicht umbenennen möchte/ kann.
-
@lessthanmore also doch. Es liegt echt am Namen... Das ist aber ehrlich gesagt sehr doof gemacht vom Adapter...
Ich werde testweise mal ein Pärchen und die dazugehörigen Scripte umbenennen und mich anschließend nochmal melden.
Aber wenn dann muss ich doch die andere GA
Wohnzimmer_Rollladen_Nord_Position umbenennen in:
Wohnzimmer_Rollladen_Nord_Position_anfahren_Status oder nicht? -
@loverz Ja, richtig. Hatte die falsche GA zitiert.
anfahren ist die Schalt GA und anfahren_Status die Status GA.
Wie soll der Adapter denn erkennen dass die beiden zusammen gehören wenn sie nicht gleich heißen bzw. identisch sind?
Der Adapter kennt lediglich die Adresse, Bezeichnung und die Flags.
Nach welcher Logik würdest du es denn machen?
Wie gesagt, diese Abfrage kam erst nach 1.0.20 weshalb es bei Versionen vorher bei dir keine Probleme gab. -
@lessthanmore der Adapter muss das doch gar nicht wissen, ob die zusammen gehören, das ist doch der Punkt! 1.0.20 weiß das auch nicht.
Der Adapter soll einfach nur dafür sorgen, dass wenn mein Rollladen Aktor auf die Status GA einen Wert (z.B.100%) sendet dies im entsprechenden iobroker Objekt eingetragen wird, das kann doch nicht so schwer sein.
-
@loverz Was soll ich dir sagen?
Die Änderung wurde aber implementiert um sie später für weitere Funktionen nutzen zu können.
Zumindest war das wohl mal der Plan.
Nach 1.0.20 prüft der Adapter eben auf Pärchen. Ist so.
Das kann man jetzt doof finden oder nicht, aber es wird sich nicht ändern.
Also benennt man entweder seine Gruppenadressen einmalig sauber in der ETS (RM, Status, etc.) oder man muss alles händisch anpassen.
Oder aber man nutzt weiterhin die 1.0.20 und bleibt auf einer veralteten ETS hängen.Im Übrigen steckt im Adapter ein bißchen mehr Logik als simples „Shit in, shit out“.
Wenn du nur einen Wert auf den Bus senden willst und einen lesen möchtest tut es eben auch node-red. -
@loverz sagte in Test Adapter KNX v1.0.x:
@lessthanmore der Adapter muss das doch gar nicht wissen, ob die zusammen gehören, das ist doch der Punkt! 1.0.20 weiß das auch nicht.
Der Adapter soll einfach nur dafür sorgen, dass wenn mein Rollladen Aktor auf die Status GA einen Wert (z.B.100%) sendet dies im entsprechenden iobroker Objekt eingetragen wird, das kann doch nicht so schwer sein.
Äh..
Der Adapter hätte gerne das die zugehörige GAs einen logische Benennung haben..
Mal ganz simpel:Rolladen EG Wohnzimmer rauf
Rolladen EG Wohnzimmer runter
Rolladen EG Wohnzimmer status
Rolladen EG Wohnzimmer TeilSo ist er programmiert.
Wenn du es gerne anderst hättest brauchst du einen anderen AdapterMusste ich auch lernen und halt nach richten..
Es ist halt ne ETS für die Umbenennung sinnvoll..Oder kippst du in deinen Benziner auch ab und zu Diesel..
-
@lessthanmore @Tobi68 alles klar, ich glaub ich bin einfach nicht fähig die Logik zu verstehen.
Das einzige was ich verstanden habe: Es wurde eine neue Funktion implementiert, die man wahrscheinlich in der Zukunft brauchen könnte, dann ist der Entwickler aber weg gegangen. Da es wahrscheinlich nicht mehr weitergehen wird, kann ich auch auf 1.0.20 bleiben, da diese neue Funktionen wohl nie kommen werden.Was ich aber nochmal fragen muss:
"Entweder man benennt im ETS alles sauber um, oder muss selbst Hand anlegen"
Dieses selbst Hand anlegen beinhaltet das Bearbeiten der RAW-Werte richtig? Ich frage mich nur, wie ich dem Adapter über die RAW-Werte erklären kann, welche Pärchen nun zusammengehören.
Sorry, ich stehe etwas auf dem Schlauch... -
@loverz Ich wiederhole mich, aber wir drehen uns im Kreis.
Bis 1.0.20 wurde jede GA einzeln betrachtet und gemäß den Flags in ETS angelegt und deren Attribute entsprechend gesetzt.
Mit 1.0.30 wurden dann erweiterte Statusobjekte (actRefId, etc.) verwendet, um die Funktionen zu erweitern. In erster Linie um im Adapter zu wissen, wenn eine Status GA bspw. eine Rückmeldung erhält, von welchem Schaltobjekt diese Rückmeldung kommt.
Evtl. hatte es damit etwas zu tun, ist aber alles nur Mutmaßung.
Bis 1.0.20: Es müssen die Attribute der Datenobjekte (RAW) manuell angepasst werden, so fern sie nicht korrekt gemäß der Flags angelegt wurden (write und read).
Ab 1.0.30: Gleiches wie oben + die jeweiligen Schalt und Status Datenpunkte müssen miteinander verbunden werden.Schau dir die Screenshots von @Tobi68 an. Dort siehst du für jeden Datenpunkt die zusätzlichen Attribute adressRefId, statusGARefId und actGARefId. Wenn du die Werte betrachtest, dann siehst du, dass diese in den jeweiligen Datenpunkten verknüpft sind.
addressRefId ist die eindeutige ID pro GA.
Im Schaltdatenpunkt befindet sich die entsprechende addressRefId des Statusdatenpunktes im Feld statusGARefId.
Im Statusdatenpunkt befindet sich die entsprechende addressRefId des Schaltdatenpunktes im Feld actGARefId.Die Zeit, die wir hier diskutieren, hättest du übrigens wunderbar verwenden können, um die Gruppenadressen in der GA umzubenennen und die ersten Skripte anzupassen
Wie gesagt, klar kannst du auf der 1.0.20 bleiben. Wenn die bei dir sauber läuft warum auch nicht.
Möchtest du allerdings auf eine neuer ETS Version und machst Änderungen in der ETS, die du dann in den Adapter übertragen möchtest, so geht das nicht mehr.
Selbst mit der aktuellsten Adapter Version ist ein Import der ETS Version 5.7.6 bereits nicht mehr möglich.
Jetzt können wir natürlich auch gerne noch darüber diskutieren, ob es sinnvoll ist oder nicht die ETS Version aktuelle zu halten, aber das würde dann wohl den Rahmen sprengen.
Gleiches gilt auch für deine nodejs VersionWas wenn Kay in nächster Zeit am Adapter weitermacht? Oder ein anderer Entwickler warum auch immer übernimmt? Dann musst du den Schritt eh gehen. Aber mehr als spekulieren können wir nicht.
-
@loverz :
Meines Wissens ist der Entwickler nicht weggegangen..
Der wartet auf die neue ETS, oder würdest du auch noch ETS3 Sachen supporten.. alles in der Freizeit? -
@lessthanmore sagte in Test Adapter KNX v1.0.x:
Die Zeit, die wir hier diskutieren, hättest du übrigens wunderbar verwenden können, um die Gruppenadressen in der GA umzubenennen und die ersten Skripte anzupassen
Der war gut!
War auch für mich ne harte Schule, aber so verliert Mann als Einsteiger die Scheu vor der ETS.. -
@lessthanmore alles klar, danke mal
Ich warte ob der Entwickler zurückkehrt und mache mich dann ggf. an die Arbeit.Der einzige Nachteil von 1.0.20 für mich ist, dass die Objekte mit 1/0 statt true/false beschrieben werden, das äußert sich aber nur mit Hinweisen im log, also verkraftbar
-
@lessthanmore ich hab mir eben mal die Programmierung von meinem Kumpel angeschaut. Er hat auch iobroker mit KNX, eigentlich genau wie ich.
Die Gruppenadressen sind nach exakt dem gleichen Schema wie bei mir programmiert:
Wohnzimmer_Jalousie_Position_anfahren
Wohnzimmer_Jalousie_PositionKomischerweise funktioniert bei ihm alles mit dem neuesten Adapter, die Positionen der Rollläden passen nach der Fahrt.
Ich kann mir das nicht erklären, vor allem widerspricht das doch deiner Aussage bezüglich der Pärchen, die gefunden werden müssen
Irgendwie ist bei meinem iobroker der Wurm drin
-
@loverz Das Schema mag zwar stimmen, aber entweder die Adressen bei deinem Kumpel sind richtig mit dem Status oder RM - Zusatz (im Gegensatz zu deinen) oder er hat händisch nachgearbeitet.
Schick doch mal einen Screenshot seiner GA beispielhaft.
Meine Adressen sind auch nach diesem Schema, aber haben ein „RM“ am Ende für den Status, das reicht dem Adapter eben auch schon.Glaub es doch einfach und teste es selbst.
Ändere deine GA Bezeichnung zu Testzwecken.Andere und ich haben dir das jetzt mehrfach bestätigt.
Nochmal - und letztmals von mir - ändere die GA oder bleib auf 1.0.20.
Vom Diskutieren ändert sich das Verhalten - zumindest das des Adapters - definitiv nicht.Bzgl. deines ioBrokers sieht man ja auch im Zigbee Thread dass updaten nicht gerade deine Sache ist. Updates machen aber durchaus Sinn
-
@lessthanmore ich bin einfach offensichtlich ein totaler Noob was das hier alles angeht Schade.
-
@loverz Jeder fängt klein an, auch ich hab das mit knx durchgemacht da einige Status GA gar nicht vorhanden waren weil nicht jeder Aktor einen Status zurückgibt.
Ich bin über genau dieses Problem gestolpert und habe es in der ETS angepasst.
Noob hin oder her. Du fragst hier nach dem Problem, bekommst die Lösung und Antwort auf dem Silbertablett und magst es aber nicht glauben.
Der Adapter ist doof, weil er die Datenpunkte falsch anlegt, es ist doof dass du zig Skripte ändern musst, etc.
Auf was genau willst du hinaus? Was willst du hören?
Hier im Forum hilft jeder jedem (sofern möglich), aber gegen Beratungsresistenz gibt es wohl keine Lösung.
Frag deinen Kumpel nach einem Screenshot und prüf ob die Adressen wirklich gleich sind. Ich bezweifle es.
Schau in github bei den issues zum Adapter, dort steht genau diese Antwort unzählige Male; im übrigen auch im knx user forum. -
@lessthanmore ich hab mir mein iobroker eben nochmal angeschaut, es ist mir aktuell zu viel Arbeit die neue KNX Version zum laufen zu bekommen. Hab aktuell nicht so viel Zeit.
Nun möchte ich aber vom aktuellen wieder auf 1.0.20 zurück, da mein KNX-Adapter seit dem Update total unzuverlässig geworden ist.
Über die Admin Oberfläche geht es leider nicht:
Ich hatte schonmal einen Downgrade per Konsole gemacht. Leider weiß ich nicht mehr wie ich das gemacht habe und bekomme es im Moment nicht mehr hin@Homoran schrieb in einem anderen Thread folgendes:
cd /opt/iobroker npm install iobroker.adaptername@0.10.2 --production
leider bei mir ohne Erfolg:
pi@ioBroker-RasPi4:/opt/iobroker $ npm install iobroker.knx@1.0.20 --production npm WARN deprecated xmldom@0.1.31: Deprecated due to CVE-2021-21366 resolved in 0.5.0 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.3.2 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@^1.0.7 (node_modules/iobroker.info/node_modules/osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.7: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm"}) npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/string-similarity/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/xpath/package.json' npm ERR! code EACCES npm ERR! syscall unlink npm ERR! path /opt/iobroker/node_modules/iobroker.knx/node_modules/string-similarity/src/index.js npm ERR! errno -13 npm ERR! Error: EACCES: permission denied, unlink '/opt/iobroker/node_modules/iobroker.knx/node_modules/string-similarity/src/index.js' npm ERR! [OperationalError: EACCES: permission denied, unlink '/opt/iobroker/node_modules/iobroker.knx/node_modules/string-similarity/src/index.js'] { npm ERR! cause: [Error: EACCES: permission denied, unlink '/opt/iobroker/node_modules/iobroker.knx/node_modules/string-similarity/src/index.js'] { npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'unlink', npm ERR! path: '/opt/iobroker/node_modules/iobroker.knx/node_modules/string-similarity/src/index.js' npm ERR! }, npm ERR! errno: -13, npm ERR! code: 'EACCES', npm ERR! syscall: 'unlink', npm ERR! path: '/opt/iobroker/node_modules/iobroker.knx/node_modules/string-similarity/src/index.js', npm ERR! parent: 'iobroker.knx' npm ERR! } npm ERR! npm ERR! The operation was rejected by your operating system. npm ERR! It is likely you do not have the permissions to access this file as the current user npm ERR! npm ERR! If you believe this might be a permissions issue, please double-check the npm ERR! permissions of the file and its containing directories, or try running npm ERR! the command again as root/Administrator. npm ERR! A complete log of this run can be found in: npm ERR! /home/pi/.npm/_logs/2021-09-27T18_34_17_292Z-debug.log
-
@loverz Was passiert denn wenn du die 1.0.38 auswählst, wartest bis sie installiert ist, du die Seite aktualisierst und dann erneut auf die Katze gehst?
Bei mir wird dann die 1.0.20 angezeigt. -
@lessthanmore also auf der Katze installiert er grundsätzlich immer die neueste auf Github verfügbare Version.
Ich mach das immer hier hinten:
Da ändert sich aber nichts, wenn ich auf 1.0.38 gehe, dann bleibt 1.0.38 die älteste auswählbare...
-
@loverz Kein Plan wie das über npm geht.
-
@lessthanmore wo konntest du bei dir über die Katze 1.0.20 sehen?
mit folgendem Github Link hab ich es sogar geschafft 0.7.0 zu installieren:
https://github.com/ioBroker/ioBroker.knx/tree/0.7.0die scheint bisher auch zu laufen