NEWS
Test Adapter KNX v1.0.x
-
Hi zusammen,
ich habe noch ne alte .PR5 Projektdatei und nur einen CSV Export der GAs und Namen. Kann ich irgendwie sinnvoll per Hand die Objekte nachbauen? -
@sourex
Das mit den Gewerken weiß ich nicht, habe ich, glaub ich, auch nicht. Wenn es eine Zuordnung zu Räumen gibt, dann übernimmt der KNX Adapter die auch in ioBroker und erstellt auch die Räume in ioBroker entsprechend. Das ist allerdings etwas problematisch, da der ioBroker dort keine Hierarchie kennt. Mein Elektriker hatte da eine ganze Hierarchie eingerichtet, also Vorderhaus - Erdgeschoss - Küche usw... das kann zumindest der ioBroker Admin nicht (daraus wird dann der Raum Vorderhaus.Erdgeschoss.Küche -> wobei die Punkte ioBroker typisch eben als Ordner/Objekt Trennung interpretiert werden).Also, wenn du eh alles anfasst, dann mein starker Tipp:
Mach den Namen von dem Rückmelde Objekt identisch zum Namen des Schalt-Objekts + " RM" (oder " Status"). Dann läuft die Zuordnung gut. Sonst hatte ich immer Probleme. -
@sourex Danke für deine Tests. Hast du das schon in den KNX Adapter eingelesen und werden die RM passend angelegt?
@chefkoch009 ich finde es Schade das hier immer nur über die Funktion der Zuordnung spekuliert werden kann. Können die Regeln für die Zuordnung nicht etwas genauer beschrieben werden? Oder evtl. pos/neg Beispiele?Ich wollte auch die Redundanz in GA und Namen der Mittelgruppen vermeiden. Gehen die Mittelgruppen jetzt doch in die Zuordnung ein?
-
@JojoS
Das ist der reguläre Ausdruck um eine Status GA zu erkennen (aus 2018, dem letzten öffentlichen Code ) :/stat(e|us)|rückmeldung\s|\svalue|rm|r\/:*/ig
Da kann man z.B. mit https://regex101.com/ rumprobieren, was dabei rauskommt. (Achja, vor dem Test wird alles in Kleinbuchstaben konvertiert)
Das, was da "matcht" wird aus dem Namen der GA entfernt, also z.B. bei "Licht Küche Ein/Aus Status" wird daraus "Licht Küche Ein/Aus " und das kommt dann in dieses NPM Modul: https://www.npmjs.com/package/similarity -> wenn dann der Ähnlichkeitswert über 0.8 (oder an einer anderen Stelle 0.9? Ich steige in der Kürze nicht 100% durch, was da alles passiert) liegt, wird die Zuordnung gemacht (wobei das Maximum über alle nicht Status GAs genommen wird).
Irgendwo hat Chefkoch mal geschrieben, dass nun auch Gruppen mit in die Berechnung gehen. Was das heißt, weiß ich allerdings beim besten Willen nicht. Meine Beobachtung bisher ist, dass die Gruppennamen und Zuordnung dem Import fürchterlich egal ist (es geht auch Schalten & Status in der gleichen Gruppe zu haben).
-
@JojoS said in Test Adapter KNX v1.0.x:
Hast du das schon in den KNX Adapter eingelesen und werden die RM passend angelegt?
noch nicht.
Da ich eh gerade alles umbenenne ändere ich gerade auch ein wenig meine Grundstruktur die ich damals angelegt hatte als ich von Tuten und Blasen keine Ahnung hatte
Es ist garnicht so leicht seine Gedankengänge von vor einem Jahr nachzuvollziehen...Gleich kommt die Familie, werde also frühestens heute Abend oder morgen früh dazu kommen.
Ich werde berichten.Das was du ansprichst mit positiven und negativen Beispielen ist schon richtig. Die habe ich hier auch vergebens gesucht.
Ich habe wirklich Hochachtung vor jedem der so ein Adapter programmiert !!!!
Aber es ist schade das dieser hier nicht open ist, wahrscheinlich könnte man dann schon die Datenpunkte per Drap and Drop zuweisen oder Ähnliches. Da Chefkoch das irgendwie alles alleine stemmen muss + die ganzen Aktualisierungen ist es wohl zu zeit intensiv anscheinend. Es wäre echt das mit Abstand wichtigste Feature in meinen Augen da ja doch immer wieder diese Frage hier auftaucht. Außerdem könnte ich dann endlich auch mal auf meinem Handy eine alternative APP zu Openhab nutzten... -
@Garfonso ja, diese Hinweise habe ich auch schon gelesen. Den Test mit den regex allerdings noch nicht gemacht. In der aktuellen Doku steht min. 90 % drin, aber seit 2018 gab es ja schon einige neurere Releases und bei mir sehe ich eben einen Unterschied zwischen 1.20 und neueren. GA unterscheiden sich bei mir nur in GA und GA + Status, aber die Mittelgruppe scheint eben auch einzugehen.
Ich würde am WE nochmal intensivere Tests machen.
Hilfreich wären auch Logausgaben mit Anzahl nicht gesetzter DPT und Anzahl Pärchen z.B. Aber das ist ohne die Quellen natürlich nicht umsetzbar. -
Könnte mir mal einer eben eine schnelle Einweisung zu diesem Test geben ?
Den Link einmal angeklickt weis ich nicht was ich da machen muss ??Danke schon mal !!
-
Ergebnis aller Neubenennungen + Update auf 1.31 mit ETS 5.66 aufgespielt = Katastrophe
Licht lässt sich nur schalten, Dimmen geht garnicht.
Rolläden funktionieren, werden aber nicht vom Level als Rolläden erkannt, was mir aber auch nicht wichtig ist.Heizung geht überhaupt nicht. Der Wert wird richtig ausgelesen zunächst.
Möchte ich den Wert (absolute) Verknüpfen schmiert iobroker ab. Nach Neustart kann ich den Wert dann aber Verknüpfen
(auch hierzu muss ich das level ignorieren, da alle bis auf einer als Dimmer erkannt werden) jedoch wenn ich eine Änderung machen möchte springt er direkt auf 64000 Grad.Dafür die ganze Arbeit
-
@sourex
Ich weiß nicht, wie hilfreich das ist. Vielleicht um ein Gefühl dafür zu kriegen, was als Status GA erkannt wird und wie? Naja, du kopierst den regulären Ausdruck von oben (die Forensoftware hat da ein paar Zeichen entfernt gehabt, daher jetzt in code-tags) in die erste Zeile. Dann erscheint rechts schon einmal eine (englische) Erklärung, was da gefunden werden könnte.
Dann kannst du unten in dem großen Feld einfach mal ein paar Zeichenketten eintippen / reinkopieren und dann erscheint rechts, was daraus durch den regulären Ausdruck gefunden wird bzw. es wird auch farblich hinterlegt.Aber ich glaube der reguläre Ausdruck ist weniger das Problem, eher das was nun "ähnlich" heißt... das ist mir selber auch noch nicht klar. Das sytstem wird hier erklärt: https://en.wikipedia.org/wiki/Levenshtein_distance
In der neuesten Version des Packets gibt es ein Kommandozeilen Tool mit dem man ggf. rumspielen könnte... -
danke für die Info, ich habe dein System aber quasi übernommen. Habe so eine Ahnung das es nicht nur am Matching liegt.
Werde denn bei dir im IO auch die Rolladen,Dimmer und Heizungen unter Level als solche erkannt ?
Jetzt mal nur um auch alles auszuschließen, es hat ja noch nicht funktioniert bei mir...
Ich verknüpfe doch den Absolutwert im IO bzw dessen RM oder ? -
@sourex said in Test Adapter KNX v1.0.x:
Werde denn bei dir im IO auch die Rolladen,Dimmer und Heizungen unter Level als solche erkannt ?
Was meinst du damit? Als was sollen die erkannt werden?
Es gibt Objekte, da kann ich werte eintragen bzw. da kommen Werte rein, wenn was auf dem Bus schaltet. Mehr darfst du aktuell nicht vom KNX Adapter erwarten. Ob das jetzt ein Dimmer oder ein Rolladen-Absolut-% Wert ist, das weiß der Adapter nicht, das musst du wissen (und am besten mit dem Devices-Adapter in Alias entsprechende Geräte zusammen klicken). Auch ob da jetzt ein Licht an/aus geht oder ein Fenster auf/zu, weiß der Adapter nicht...Die Verknüpfung ist im Grunde auch optional, vereinfacht aber das weiter arbeiten im ioBroker massiv. Das Ziel der Verknüpfung ist, dass man nur noch die Schalt GA (also da wo man einen Befehl hinschickt) im ioBroker verwendet und wenn auf der dazu passenden Status GA (also da wo ein Gerät zurückmelden würde dass sich sein passender Wert geändert hat) wird das dann (nur im ioBroker) auch auf dem Objekt für die Schalt GA aktualisiert -> ins Vis nimmt man dann die Schalt GA, dann kann man mit dem Vis z.B. Dimmen und sieht aber auch, wenn an einem Display (oder ETS oder X) gedimmt wurde.
Also das Ziel wären folgende Verknüpfungen:
Schalten ein/aus <-> Rückmeldung Ein/Aus (0 oder 1)
Setzen absolutwert (Dimmen/Rolladen) <->Rückmeldung Wert (%)
usw... je nachdem, was du noch hast. -
ja so habe ich das auch gemacht mit den Verknüpfungen.
Was ich meine mit dem Level ist in Wirklichkeit die Rolle wie es in IO heißt.
Es ist halt so das wenn ich die Rolladen oder die Temperatur Objekt ID Verknüpfen möchte ich in ein Auswahlmenü komme wo ich nichts verknüpfen kann, da vom IO eine Rolle vorgegeben wird. Diese muss ich erst reseten da ich ansonsten garnicht in die Datenpunkte vom KNX reinkomme.Ich werde mich mal daran versuchen ich die Status GA in den RAW Dateien einzutragen damit ich testen kann ob es am matching liegt.
Edit:
"native": {
"dpt": "DPT5.001",
"address": "1/2/5",
"addressRefId": "P-01D1-0_GA-264",
"statusGARefId": "",
"actGARefId": ""es liegt wieder an der nicht vorhandenen Verknüpfung
Edit 2
Ich habe es nun folgendermaßen geändertund wundere mich das es trotzdem nicht geht ??
Adapter und auch anschließend weil es nicht ging auch einmal ioBroker neu gestartet
Fehler ?? -
@sourex
Zum einen:
Die Verknüpfung ist so nicht richtig. An deinem Beispiel:
Bei "Beleuchtung Bad absolut" stimmt es, da hast du die Rückmelde Adresse in die statusGA eingetragen. Bei "Beleuchtung Bad absolut Wert" gehört die Adresse der anderen GA aber in das Feld "actGARefId", also eine Zeile tiefer. Das ist ja selber die StatusGA und dazu musst du die actGA (=actuator GA?) verknüpfen.Dann:
Eine Auflistung & Erklärung der ioBroker Rollen gibt es hier. Dort siehst du auch, dass für die StatusGA "value.dimmer" durchaus richtig ist (value = read only, Rückmeldewert). Aber für die actGA sollte es level.dimmer sein. Hat der KNX Adapter da value.dimmer reingeschrieben, oder du selber? Falls der KNX Adapter das war, könnte es sein, dass bei der GA etwas mit den Flags nicht stimmt (also Senden oder sowas fehlt).@sourex said in Test Adapter KNX v1.0.x:
Es ist halt so das wenn ich die Rolladen oder die Temperatur Objekt ID Verknüpfen möchte ich in ein Auswahlmenü komme wo ich nichts verknüpfen kann, da vom IO eine Rolle vorgegeben wird. Diese muss ich erst reseten da ich ansonsten garnicht in die Datenpunkte vom KNX reinkomme.
Und genau das wird der KNX Adapter dir nie richtig befüllen, hat er bei mir jedenfalls auch nie. Da musst du entweder eben einfach den Filter wegklicken oder von Hand die Rollen der Objekte im ioBroker ändern. Oder, wenn du eine langfristige Lösung willst am besten die Alias-Funktion nutzen und dort dann die Rollen setzen (bzw. mit dem devices Adapter werden die dann schon richtig gesetzt). Hat auch den Vorteil, dass eine automatische Erkennung der Geräte notwendig ist (dafür ist die Struktur der Objekte beim KNX Adapter nicht geeignet).
-
@Garfonso said in Test Adapter KNX v1.0.x:
Hat der KNX Adapter da value.dimmer reingeschrieben, oder du selber? Falls der KNX Adapter das war, könnte es sein, dass bei der GA etwas mit den Flags nicht stimmt (also Senden oder sowas fehlt).
Ich habe noch nie selber Flags geändert, senden Flag ist auch gesetzt
Ich habe das jetzt eine Zeile tiefer geschrieben und zusätzlich die RM in level.dimmer geändert.
Einzige Änderung: zuvor hat mir das Widget 100% angezeigt wenn ich das licht über 0/1 eingeschaltet habe.
Das macht es jetzt auch nicht mehr. Dimmen natürlich auch nicht
Aber schonmal besten Dank für deine Unterstützung !!Muss ich eigentlich jedesmal IO neustarten oder reicht der Adapter ?
-
@sourex
Ich würde nicht den RM auf level.dimmer ändern sondern die schalt GA (also "absolut" in deiner Namensgebung).
Damit die Zuordnung aktiv wird, musst du nur den KNX Adapter neustarten.@sourex said in Test Adapter KNX v1.0.x:
Ich habe noch nie selber Flags geändert, senden Flag ist auch gesetzt
Die Flags sehen eigentlich ok aus (wobei ich da auch nicht der Experte bin und auch nicht ganz genau verstanden hab, was der Adapter da wie interpretiert). Aber nochmal zurück zur Frage: Hast du an dem Objekt für die "absolut" GA was geändert (z.B. Rolle oder write: true)?@sourex said in Test Adapter KNX v1.0.x:
Einzige Änderung: zuvor hat mir das Widget 100% angezeigt wenn ich das licht über 0/1 eingeschaltet habe.
Das macht es jetzt auch nicht mehr. Dimmen natürlich auch nichtDazu ein paar Fragen, das kommt mir doch komisch vor:
- Welches Objekt hast du denn dem Widget gegeben? Und welchem?
- Kannst du im Admin einen Wert setzen bei dem Objekt für die absolut GA? Geht damit dimmen?
- Welche Objekte ändern sich im ioBroker wie, wenn du die Lampe anders schaltest / dimmst (z.B. indem du mit ETS auf die GA schreibst)?
-
@Garfonso said in Test Adapter KNX v1.0.x:
Ich würde nicht den RM auf level.dimmer ändern sondern die schalt GA (also "absolut" in deiner Namensgebung).
Ja das meinte ich auch. Sorry.
Schalt GA Level.dimmer / RM value.dimmerDazu ein paar Fragen, das kommt mir doch komisch vor:
- Welches Objekt hast du denn dem Widget gegeben? Und welchem?
- Kannst du im Admin einen Wert setzen bei dem Objekt für die absolut GA? Geht damit dimmen?
- Welche Objekte ändern sich im ioBroker wie, wenn du die Lampe anders schaltest / dimmst (z.B. indem du mit ETS auf die GA schreibst)?
-
Schalt GA also in dem Beispiel Bad_Absolut
getestet mit dem jqui-mfd Dimmer und mit HQ Widget Dimmer -
nein funktioniert auch nicht. Aber nur mit IO Broker nicht. Bei den Rolladen hatte ich es mal gemacht da ging das.
-
bevor ich die manuelle Verknüpfung vorgenommen habe war es so das wenn ich die Lampe "geschaltet" habe der abs Wert sich auch im IO geändert hat (100% und 0%). Alles andere dazwischen wurde nicht erkannt.
Nach der manuellen Anpassung wird hier garkein Wert mehr geliefert (NAN).
Ich werde später mal noch einmal alle Objekte löschen und neu hinzufügen.
Ich habe heute auch zwischenzeitlich mal die 1.20 getestet (einlesen und dann update und dann neue Daten hinzufügen)
hatte das hier als Tipp gelesen. Vll ist da auch noch mal was durcheinander gekommen.EDIT
Also nochmal alles eingelesen. Interessanterweise habe ich es die ganze zeit mit dem Bad getestet und natürlich ist das der einzige der so gar nicht funktioniert. Nach deinem Tip mit den Rollen ist mir aufgefallen das alle bis auf 2 bei den Schalt GA mit level Dimmer stehen. Auch nachdem ich die Rolle von Hand geändert habe kann ich im Bad nicht dimmen. Immerhin funktionieren schon mal einige andere. Ist den in der GA die ich zwei Posts weiter oben gepostet habe ein Fehler zu erkennen der erklären würde warum der IO Broker hier ein value raus macht ?
Das Einzige was mir auffält ist die Tatsache das die GAs funktioniern wo ausschließlich ein Objekt in der GA steht, das sollte aber doch wie beim Bad (Verknüpfung mit dem Präsenzmelder) kein Problem sein oder ? -
Edit 2
Tatsächlich ist es anscheinend bei mir so das wenn in der GA eine Assoziation zu einem anderen mit drin ist, sich im IO Broker dort kein Wert schreiben lässt. Ich hab jetzt einfach eine GA nur für IO angelegt wo nur der abs Dimmwert drin steht und schon kann ich dort ein Wert schreiben (auch wenn er trotzdem fälschlicherweise als Value erkannt wurde, jedoch mit Schreibrechten?).Jetzt bin schon mal ein ordentlichen Schritt weiter
Jetzt gehts ins Detail, bei einigen Dimmern ist es so das wenn der Wert auf 0 ist und ich ihn auf 20% dann regelt IO den Aktor auf 100% anstatt auf die 20%. gebe ich erneut die 20 oder eine andere Zahl ein dann wird der Wert wirklich geregelt.
Ist das ein bekanntes Problem ? -
@sourex said in Test Adapter KNX v1.0.x:
Tatsächlich ist es anscheinend bei mir so das wenn in der GA eine Assoziation zu einem anderen mit drin ist, sich im IO Broker dort kein Wert schreiben lässt.
Hm... das kann höchstens sein, dass er dann nicht erkennt welches das Zielgerät ist und die Flags falsch liest. Wie genau das funktioniert, habe ich auch noch nicht durchschaut.
@sourex said in Test Adapter KNX v1.0.x:
Jetzt gehts ins Detail, bei einigen Dimmern ist es so das wenn der Wert auf 0 ist und ich ihn auf 20% dann regelt IO den Aktor auf 100% anstatt auf die 20%. gebe ich erneut die 20 oder eine andere Zahl ein dann wird der Wert wirklich geregelt.
Ist das ein bekanntes Problem ?Von dem Problem hab ich bisher nicht gehört... hört sich auch komisch an. Kannst du mit ETS gucken, was da auf den Bus geschrieben wird (also im Gruppenmonitor)? Ursprünglich bei deinen 0/100% Problem hätte ich mir vorstellen können, dass der Datenpunkt falsch gesetzt ist (kannst du aber trotzdem mal prüfen)... aber wenn er 20% schreiben kann, wüsste ich nicht, warum er da einmal 100 und einmal 20 draus macht.
Daher andere Idee: Was passiert denn, wenn du im ETS 20% schreibst, wenn der Wert auf 0 ist? Vielleicht ist das eine Einstellung des Aktors der bei Einschalten auf 100% geht?
-
@Garfonso said in Test Adapter KNX v1.0.x:
aber wenn er 20% schreiben kann, wüsste ich nicht, warum er da einmal 100 und einmal 20 draus macht
das Problem lag nur an der Kommunikation zwischen Openhab und IObroker. In der ETS wurden die Daten direkt richtig erkannt. Muss mal schauen woran das liegt.
-
Hallo,
@Garfonso: das wird in der kommenden Version behoben sein.
Nur so eine Information mal nebenbei: der Adapter wird in der Freizeit entwickelt. Davon ist mal mehr und mal weniger da. Desweiteren wird auch die ETS weiterentwickelt, was ja zu befürworten ist. Aus diesem Grunde muss auch der Adapter "nachgezogen" werden. Dies kann mitunter sehr aufwendig und zeitraubend sein. Dem folgend bleibt also weniger Zeit neue Features zu implementieren.
An dieser Stelle möchte ich mich noch mal bei denen Bedanken, die mich mit ausführlichen Logs und Fehlerbeschreibungen versorgen.VG chefkoch009