NEWS
Test Adapter KNX v1.0.x
-
Das mit automatischer Verknüpfung zwangsweise "Status" angehängt werden muss finde ich ich nicht so logisch. Von meinen Kursen bin ich es mir gewohnt das es "RM" für Rückmeldung heisst.
Wie wäre es mit einem Fork Import über die Funktion auszulesen?Auszug einer knxproj. datei davon die 0.xml. Diese ist erzeugt von der ETS5.72 mit dem ETS Assistenten.
<?xml version="1.0" encoding="utf-8"?> <KNX xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" CreatedBy="ETS5" ToolVersion="5.7.743.36956" xmlns="http://knx.org/xml/project/20"> <Project Id="P-05A5"> <Installations> <Installation Name="" BCUKey="4294967295" DefaultLine="P-05A5-0_L-3" IPRoutingLatencyTolerance="2000"> <Topology> <Area Id="P-05A5-0_A-1" Address="0" Name="Backbone Bereich" Puid="1"> <Line Id="P-05A5-0_L-1" Address="0" Name="Bereichslinie" MediumTypeRefId="MT-5" Puid="2" /> </Area> <Area Id="P-05A5-0_A-2" Address="1" Name="Neuer Bereich" Puid="3"> <Line Id="P-05A5-0_L-2" Address="0" Name="Hauptlinie" MediumTypeRefId="MT-5" Puid="4" /> <Line Id="P-05A5-0_L-3" Address="1" Name="Neue Linie" MediumTypeRefId="MT-0" Puid="5" /> </Area> </Topology> <Locations> <Space Type="Building" Id="P-05A5-0_BP-1" Name="Wohnung" Puid="6"> <Space Type="Floor" Id="P-05A5-0_BP-2" Name="Erdgeschoss" Puid="7"> <Space Type="Room" Usage="SU-4" Id="P-05A5-0_BP-3" Name="Wohnen" Puid="8" /> <Space Type="Room" Usage="SU-1" Id="P-05A5-0_BP-4" Name="Küche" Puid="9" /> <Space Type="Room" Usage="SU-2" Id="P-05A5-0_BP-5" Name="Schlafzimmer" Puid="10" /> <Space Type="Room" Usage="SU-6" Id="P-05A5-0_BP-6" Name="Kinderzimmer" Puid="11" /> <Space Type="Room" Usage="SU-7" Id="P-05A5-0_BP-7" Name="Bad/WC" Puid="12"> <Function Id="P-05A5-0_F-1" Name="LD_01_05" Type="FT-6" Puid="18"> <GroupAddressRef Id="P-05A5-0_GF-1" Name="" Role="SwitchOnOff" RefId="P-05A5-0_GA-1" Puid="22" /> <GroupAddressRef Id="P-05A5-0_GF-2" Name="" Role="InfoOnOff" RefId="P-05A5-0_GA-2" Puid="24" /> <GroupAddressRef Id="P-05A5-0_GF-3" Name="" Role="DimmingControl" RefId="P-05A5-0_GA-3" Puid="26" /> <GroupAddressRef Id="P-05A5-0_GF-4" Name="" Role="InfoDimmingValue" RefId="P-05A5-0_GA-4" Puid="28" /> <GroupAddressRef Id="P-05A5-0_GF-5" Name="" Role="DimmingValue" RefId="P-05A5-0_GA-5" Puid="30" /> </Function> </Space> <Space Type="Room" Usage="SU-9" Id="P-05A5-0_BP-8" Name="Flur" Puid="13" /> <Space Type="Room" Usage="SU-14" Id="P-05A5-0_BP-9" Name="Terrasse / Balkon" Puid="14" /> <Space Type="Room" Usage="SU-11" Id="P-05A5-0_BP-10" Name="Büro" Puid="15"> <Function Id="P-05A5-0_F-2" Name="Deckenlampe LD_01_05" Type="FT-6" Puid="31"> <GroupAddressRef Id="P-05A5-0_GF-6" Name="" Role="SwitchOnOff" RefId="P-05A5-0_GA-6" Puid="34" /> <GroupAddressRef Id="P-05A5-0_GF-7" Name="" Role="InfoOnOff" RefId="P-05A5-0_GA-7" Puid="36" /> <GroupAddressRef Id="P-05A5-0_GF-8" Name="" Role="DimmingControl" RefId="P-05A5-0_GA-8" Puid="38" /> <GroupAddressRef Id="P-05A5-0_GF-9" Name="" Role="InfoDimmingValue" RefId="P-05A5-0_GA-9" Puid="40" /> <GroupAddressRef Id="P-05A5-0_GF-10" Name="" Role="DimmingValue" RefId="P-05A5-0_GA-10" Puid="42" /> </Function> </Space> <Space Type="Room" Usage="SU-7" Id="P-05A5-0_BP-11" Name="Bad/WC (1)" Puid="16"> <Function Id="P-05A5-0_F-3" Name="findmy" Type="FT-7" Puid="43"> <GroupAddressRef Id="P-05A5-0_GF-11" Name="" Role="MoveUpDown" RefId="P-05A5-0_GA-11" Puid="46" /> <GroupAddressRef Id="P-05A5-0_GF-12" Name="" Role="StopStepUpDown" RefId="P-05A5-0_GA-12" Puid="48" /> <GroupAddressRef Id="P-05A5-0_GF-13" Name="" Role="WindAlarm" RefId="P-05A5-0_GA-13" Puid="50" /> <GroupAddressRef Id="P-05A5-0_GF-14" Name="" Role="RainAlarm" RefId="P-05A5-0_GA-14" Puid="52" /> <GroupAddressRef Id="P-05A5-0_GF-15" Name="" Role="CurrentAbsolutePositionBlindsPercentage" RefId="P-05A5-0_GA-15" Puid="54" /> <GroupAddressRef Id="P-05A5-0_GF-16" Name="" Role="CurrentAbsolutePositionSlatPercentage" RefId="P-05A5-0_GA-16" Puid="56" /> </Function> </Space> <Space Type="Room" Usage="SU-6" Id="P-05A5-0_BP-12" Name="Kinderzimmer (1)" Puid="17" /> </Space> </Space> </Locations> <GroupAddresses> <GroupRanges> <GroupRange Id="P-05A5-0_GR-1" RangeStart="1" RangeEnd="2047" Name="Neue Hauptgruppe" Puid="19"> <GroupRange Id="P-05A5-0_GR-2" RangeStart="1" RangeEnd="255" Name="Neue Mittelgruppe" Puid="20"> <GroupAddress Id="P-05A5-0_GA-1" Address="1" Name="Schalten" Description="Bad/WC LD_01_05" DatapointType="DPST-1-1" Puid="21" /> <GroupAddress Id="P-05A5-0_GA-2" Address="2" Name="Status" Description="Bad/WC LD_01_05" DatapointType="DPST-1-1" Puid="23" /> <GroupAddress Id="P-05A5-0_GA-3" Address="3" Name="Dimmen" Description="Bad/WC LD_01_05" DatapointType="DPST-3-7" Puid="25" /> <GroupAddress Id="P-05A5-0_GA-4" Address="4" Name="Dimmwert" Description="Bad/WC LD_01_05" DatapointType="DPST-5-1" Puid="27" /> <GroupAddress Id="P-05A5-0_GA-5" Address="5" Name="Wert" Description="Bad/WC LD_01_05" DatapointType="DPST-5-1" Puid="29" /> </GroupRange> <GroupRange Id="P-05A5-0_GR-3" RangeStart="256" RangeEnd="511" Name="Neue Mittelgruppe" Puid="32"> <GroupAddress Id="P-05A5-0_GA-6" Address="256" Name="LD_01_05 Schalten" Description="Büro Deckenlampe LD_01_05" DatapointType="DPST-1-1" Puid="33" /> <GroupAddress Id="P-05A5-0_GA-7" Address="257" Name="LD_01_05 Status" Description="Büro Deckenlampe LD_01_05" DatapointType="DPST-1-1" Puid="35" /> <GroupAddress Id="P-05A5-0_GA-8" Address="258" Name="LD_01_05 Dimmen" Description="Büro Deckenlampe LD_01_05" DatapointType="DPST-3-7" Puid="37" /> <GroupAddress Id="P-05A5-0_GA-9" Address="259" Name="LD_01_05 Dimmwert" Description="Büro Deckenlampe LD_01_05" DatapointType="DPST-5-1" Puid="39" /> <GroupAddress Id="P-05A5-0_GA-10" Address="260" Name="LD_01_05 Wert" Description="Büro Deckenlampe LD_01_05" DatapointType="DPST-5-1" Puid="41" /> </GroupRange> <GroupRange Id="P-05A5-0_GR-4" RangeStart="512" RangeEnd="767" Name="Neue Mittelgruppe" Puid="44"> <GroupAddress Id="P-05A5-0_GA-11" Address="512" Name="Bewegen" Description="Bad/WC (1) findmy" DatapointType="DPST-1-8" Puid="45" /> <GroupAddress Id="P-05A5-0_GA-12" Address="513" Name="Schritt/Stop" Description="Bad/WC (1) findmy" DatapointType="DPST-1-7" Puid="47" /> <GroupAddress Id="P-05A5-0_GA-13" Address="514" Name="Windalarm" Description="Bad/WC (1) findmy" DatapointType="DPST-1-5" Puid="49" /> <GroupAddress Id="P-05A5-0_GA-14" Address="515" Name="Regenalarm" Description="Bad/WC (1) findmy" DatapointType="DPST-1-5" Puid="51" /> <GroupAddress Id="P-05A5-0_GA-15" Address="516" Name="Position" Description="Bad/WC (1) findmy" DatapointType="DPST-5-1" Puid="53" /> <GroupAddress Id="P-05A5-0_GA-16" Address="517" Name="Lamellenstellung" Description="Bad/WC (1) findmy" DatapointType="DPST-5-1" Puid="55" /> </GroupRange> </GroupRange> </GroupRanges> </GroupAddresses> </Installation> </Installations> </Project> </KNX>
Hier nochmals Abschnitt Zeile 23-29
<Function Id="P-05A5-0_F-1" Name="LD_01_05" Type="FT-6" Puid="18"> <GroupAddressRef Id="P-05A5-0_GF-1" Name="" Role="SwitchOnOff" RefId="P-05A5-0_GA-1" Puid="22" /> <GroupAddressRef Id="P-05A5-0_GF-2" Name="" Role="InfoOnOff" RefId="P-05A5-0_GA-2" Puid="24" /> <GroupAddressRef Id="P-05A5-0_GF-3" Name="" Role="DimmingControl" RefId="P-05A5-0_GA-3" Puid="26" /> <GroupAddressRef Id="P-05A5-0_GF-4" Name="" Role="InfoDimmingValue" RefId="P-05A5-0_GA-4" Puid="28" /> <GroupAddressRef Id="P-05A5-0_GF-5" Name="" Role="DimmingValue" RefId="P-05A5-0_GA-5" Puid="30" /> </Function>
RefId="P-05A5-0_GA-1" sagt also, dass die erste Gruppenadressen von diesem Block zu dieser Funktion gehört.
Mit diesen Informationen sollte es doch möglich sein, diese korrekt zusammenzuführen und in IObrocker zu einem Raum hinzuzufügen.Auch wenn eine GA umbenannt wird, die Verknüpfung bleibt bei zB Role="SwitchOnOff"
sogar eine manuele Typ Änderung und Verknüpfung mit 8bit es bleibt Rolle onOFF
Selbst angelegte GAs bekommen aber eine Rolle mit 32 Zeichen.
Wer weiss also, wie diese in der ETS manuel zugeordnet werden können?Ich habe imm momennt das Projekt IObrocker produktiv einzusetzen passiert. In dieser letzter Version, will nun der Adapter nicht mal mit dem normalen Tunnel verbinden. Die Leitung währe frei. Das openhab scheint mir hier noch einiges stabiler zu laufen. Ich helfe gerne mit, hier Verbesserungen einzubringen und Tests zu machen.
Handbuch_Projektdatenaustausch.pdf ab Seite 40
libraries.io/npm/ets_proj_parser Parser wo Rollen unterstützt
github.com/advancedKnx/ets_proj_parser -
@Garfonso und @tombox :
Vielen Dank - so klappt es, aber ich bin der gleichen Meinung wie @hotze78 . Ich finde es auch nicht besonders schön auf "s status" zu wechseln. Best Practice ist eigentlich die Benennung nach folgender Regel und wird in Kursen auch so vorgetragen. Zumindest kenne ich es so:s ... Schaltobjekt
RMs ... Rückmeldung Schalten
w ... Wertobjekt (für Dimmer 4Byte)
d .. Dimmen (4 Bit)
RMw ... Rückmeldung WertVG + Danke
-
@sweeper eigentlich müsste rm auch gehen der aktuelle regexs lautet
RegExp(/stat(e|us)|' 'rm|rückmeldung\s|\svalue/)
RegExp(/stat(e|us)|rück(|meldung)|RM\s|\svalue/
RegExp(/stat(e|us)|rückmeldung|\svalue|\s(ea|ea)|\se/a|\sr/m|\srm/g) -
Hallo,
kann es sein das die Porteinstellung im Adapter keine Funktion hat?
wenn ich einen anderen einstelle Funktioniert es trotzdem nur über den Serienmässigen.
Installiert ist 1.0.36 mit zwei InstanzenÜbrigend funktioniert der Adapter bei mir sehr gut, und habe sonst keine Probleme
-
Hey,
ich bin neu hier.
Hab den Adapter 1.0.36 installiert.
Leider importiert mir dieser meine KNX Datei nicht.
Er beginnt und nach kurzer Zeit kommt die Meldung:
Handling device finishedDanach bewegt sich der blaue Balken ewig und nichts passiert.
ETS Datei kommt von 5.7.2
-
@Thorsten-Missenberger probier mal die 1.0.31
-
@tombox Danke, hat aber auch nichts gebracht.
Habe eine ETS KNXPROJ vom Oktober. Diese geht ohne Probleme.
Jedoch habe ich seitdem einiges geändert. Aber wenn ich die Änderungen ansehe finde ich keine Punkte was daran falsch sein könnten.Einzig was sein kann, das diese Datei noch aus ETS 5.6.6 sein könnte.
-
@Thorsten-Missenberger du kannst nur den Adapter auf den debug setzten und das Problem bei github Posten. Aber leider hat Chefkoch wenig Zeit
-
Hab im KNX-Bus Forum einen Beitrag gefunden das es mit der 1.0.20 gehen sollte.
Und sie da, es geht.
Aber hier besteht augenscheinlich ein Problem das er die RM(Status) nicht richtig verarbeitet?
-
@Thorsten-Missenberger said in Test Adapter KNX v1.0.x:
Aber hier besteht augenscheinlich ein Problem das er die RM(Status) nicht richtig verarbeitet?
Was meinst du damit? Der KNX Adapter versucht eine Zuordnung von Status Gruppen Adressen (StatGA) zu Schalt Gruppenadressen (ActGA). Geht das nicht? Erkennen kann man das daran, dass wenn ein Status kommt, auch das Objekt zur ActGA auf den neuen Wert gesetzt wird. Man sieht es auch im RAW der Objekte (und kann es da zur Not reparieren, empfehle ich aber nicht).
Nach dem Import kannst du übrigens wieder auf die aktuelle Version wechseln. Vorausgesetzt du musst nicht was am Projekt Ändern und nochmal importieren.
-
Er Import mir die knxproj unter 1.0.20 jedoch legt er die "hörende" Adresse nicht an.
Habe mir jetzt eine DemoProjekt angelegt.
4 Gruppenadressen
Beleuchtung 1
Beleuchtung 1 RM
Beleuchtung 2
Beleuchtung 2 RMdas auf einen Autor verknüpft.
Nicht mal das kann ich unter 1.0.3x importieren.
Immer die gleiche Fehlermeldung:
https://github.com/ioBroker/ioBroker.knx/issues/80 -
@Thorsten-Missenberger
Ja, den gleichen Fehler hatte ich mit der letzten oder vorletzten Version auch... ich fürchte da ist in irgendeinem Zweig wirklich ein doofer Bug... -
Das Problem mit dem ewig laufenden blauen Balken habe ich jetzt auch.
Es gab ja die Tage das ETS 5.7.3 Update, kann es daher kommen?
Vorher war bei mir alles ohne Probleme und beim KNX Adapter gab es ja auch kein Update. -
@Schrubbel 5.7.3 hatte ich mal kurz in einer VM und hat bei mir auch nicht funktioniert.
Bin jetzt einen anderen Weg gegangen. Ist zwar mit ein wenig aufwand verbunden.
Bringe die KNX Über NodeRed rein und verlinke auf ioBroker-Objekte.
Hat aber den Vorteil das ich auch nur die Objekte habe die ich wirklich zum Zeitpunkt der Implementierung habe.Bis jetzt geht es und ich brauch nicht immer mit der knxproj rumspielen. Da ja ETS bekanntlich immer wieder alles über den Haufen wirft.
Vielleicht stellt Chefkoch irgendwann den Import um in Form einer Excel oder des CSV Export aus der ETS.
-
Hi.
Als erstes ein Danke für den Adapter !Da ich Ihn nicht wirklich zum laufen bekommen mit den Statusadressen aber nun zur Frage.
In openHAB ist es ja möglich die RM alle manuell zuzuweisen was ich auch gemacht habe.
Kann ich da nicht einfach über den openHAB Adapter alle Datenpunkte nutzen ? Würde es da mit dem RM nicht besser gehen ?? Hätte es Nachteile über diesen Umweg ?Guten Rutsch !!
-
@sourex
Das geht sicherlich. Der einzige Nachteil ist halt höhere Komplexität, weil du openHAB dann noch laufen haben musst. -
Wie ich nun bemerkt habe gehts nicht wirklich weil man in den Widgets ja garkeine RM Datenpunkte angeben kann.
Dann werde ich wohl IO nur für die VIS benutzen können, was ich schade finde. -
@sourex
Für vis kannst du zur Not auch mit einem Javascript arbeiten. Wobei ich da jetzt nicht ganz verstanden habe, wo der Vorteil von openHAB ist, wenn du immer noch Schalten und RM als einzelne Datenpunkte hast? Der Trick beim knx Adapter ist ja, dass wenn die Zuordnung funktioniert, am Ende nur noch der Schalt-Datenpunkt genutzt werden muss und der dann z.B. in Vis eingetragen werden kann, weil da der Status vom RM auch reingeschrieben wird. -
Der Vorteil von OpenHAB ist für mich das manuelle anlegen der RM. Das liegt für mich ganz einfach daran das ich es im IO einfach nicht hinbekomme :(.
Aber generell ist es ja schon suboptimal das man alle Namen in der ETS anpassen muss um es möglich zu machen. Wie die meißten Anfänger habe ich mich bei dem GAs am Eibmeier gehalten und da passt es natürlich garnicht. Kann mir aber auch nicht vorstellen das ein Könner die GAs so nennt wie der Adapter das wünscht.
Warum nicht einfach ein manuelles zuordnen der RMs wie auch in der ETS ? -
@sourex
Das manuelle Zuordnen steht schon lange auf der Liste. Chefkoch hat es bisher nicht geschafft es umzusetzen.Wobei eine manuelle Zuordnung schon möglich ist, wenn man im Raw-Teil der Objekte rumeditiert. Das ist relativ mühsam, geht aber auch.
Admin -> Objekte, da ein KNX Objekt ansteuern, ganz rechts auf den "Stift" klicken zum editieren des Objekts, dann sollte das folgende Fenster kommen, da dann auf den Tab "Raw" gehen. Das sieht dann ca. wie hier aus:
Wenn die Zuordnung geklappt hat, sieht es so aus. Ansonsten kann man die manuell machen. "addressRefId" ist die Id einer GA. Bei der Schalt-GA muss dann unter "statusGARefId" die addressRefId der RM-GA stehen. Und bei der RM-GA muss unter "actGARefId" die addressRefId der Schalt-GA stehen. Man muss also 3 mal editieren pro Zuordnung:
- Id der Schalt-GA kopieren
- Bei RM-GA einfügen, Id der RM-GA kopieren
- Bei Schalt-GA einfügen
Wenn man die Zuordnung so gemacht hat dann nochmal den KNX Adapter neustarten, damit der das mitbekommt und dann geht es auch. Das Problem dabei ist halt, dass man dann die Objekte nicht löschen und neu einfügen lassen sollte.. Insofern war es für mich irgendwann einfacher im ETS einfach die GAs alle umzubenennen. Denn für das KNX System ist der Name ja irrelevant. Die Aufteilung in Gruppen und Mittelgruppen ist auch nicht wichtig, nur halt der identische Name + Status (oder RM geht wohl auch, mittlerweile).