Habe mich nach längerer Auszeit mal wieder daran begeben ein paar Dinge in der Steuerung anzupassen.
Dazu wollte ich zunächst die Daten der FHTs die IPS nicht ausliest auswerten.
Dazu habe ich dem FTDI eine RegisterVariable verpasst, die ja seit der neusten Version wohl „nur“ noch ein Skript aufrufen kann.
Das Skript macht derzeit eigentlich nichts, da ich gerade herausfinden wollte wie ich mitbekomme welche Registervariable denn das Skript aufgerufen hat.
Denn wenn ich meine zweite FHZ anschließe will ich nicht unbedingt 2 Skripte haben, die eigentlich das gleiche erledigen.
Allerdings kommt da nicht unbedingt das an Daten raus, was ich erwartet hätte. Zum einem fehlt häufiger der IPS_SENDER, zum anderen erkenne ich nicht wie ich unterscheiden könnte durch welche RegisterVariable das Skript aufgerufen wurde. Liegt hier ein Denkfehler meinerseits vor, oder geht das so nicht wie ich mir das vorstelle?
Konvertier die Binärdaten mal lieber nach HEX. Dann hast du keine Probleme damit, dass irgendwelche Zeichen/Daten in der Meldungsansicht verschwinden.
zum anderen erkenne ich nicht wie ich unterscheiden könnte durch welche RegisterVariable das Skript aufgerufen wurde
Ich habe dir eine neue Version ins LiveUpdate hochgeladen. Dort hast du jetzt die $IPS_INSTANCE Variable dabei.
Manchmal sieht man den Wald vor lauter Bäumen nicht…
Strings und Steuerzeichen, bei dem Gewusel was da so über den FTDI reinkommt.
Thx alot, funktioniert perfekt.
Kann leider in der Doku nichts dazu finden. Ist das der Buffer in dem die gerade empfangenen Daten stehen oder ein „extra“ Buffer in der ich mir wie praktisch in einer Variable eben schnell selber was reinschreiben kann?
Dazu hätte ich noch 2 Fragen.
Wozu das unset(), der Sinn erschließt sich mir nicht ganz…
Geh ich richtig in der Annahme, das es besser ist mit $_SERVER zu arbeiten anstatt mit $argv? Wenn ich auf die Werte zugreife verwende ich eh z.B. $IPS_VALUE, die Minifunktion diente mir nur dazu genau zu schauen, welche Infos man eigentlich bekommt.
Aber auch so hat mich das schon mal einen großen Schritt weitergebracht.
Kann leider in der Doku nichts dazu finden. Ist das der Buffer in dem die gerade empfangenen Daten stehen oder ein „extra“ Buffer in der ich mir wie praktisch in einer Variable eben schnell selber was reinschreiben kann?
Genau so ist es. Ist ein schöner Buffer nur für dich… damit du die IPS-Variablen nicht strapazieren musst… und den dadurch entsehenden Aufwand (Logging in Datei… Meldungen über SOAP ect…) vermeiden kannst.
Wozu das unset(), der Sinn erschließt sich mir nicht ganz…
Geh ich richtig in der Annahme, das es besser ist mit $_SERVER zu arbeiten anstatt mit $argv? Wenn ich auf die Werte zugreife verwende ich eh z.B. $IPS_VALUE, die Minifunktion diente mir nur dazu genau zu schauen, welche Infos man eigentlich bekommt.
Das $argv hat die Parameter mit &'s verbunden, was die Annzeige etwas unschöner macht. Deswegen die $_SERVER Variante. Da argv auch im $_SERVER Array drin ist - wir das aber garnicht wollen - lösche ich es vor der Anzeige weg.
habe eine Registervariable an der I/O Instanz „UDP Socket KNX“ gebunden.
Die Werte werden mir nach Verwendung des Scripts aus der Dokumentation auch angezeigt.
Besteht die Möglichkeit die dazugehörigen Gruppenadressen mit auszugeben, habe dazu nichts gefunden.
Du bekommst an der UDP Instanz den vollständigen KNX Datenstrom. Du musst die Gruppenadressen entsprechend der KNX Spezifikation dann selber dekodieren? Was möchtest du denn eigentlich machen?
Die Idee ist, anhand des KNX Datenstrom eine Protokollierung von bestimmten Gruppenadressen anhand
einer erstellten String Variable mit mehrere Gruppenadressen. Dieses soll zur Fehlersuche im KNX genutzt werden.
Ich wolte dieses nicht über das Logging der Variable machen, denn dieses soll ja nicht permanent laufen.
Gibt es eventuell ein Script wo die Gruppenadressen schon decodiert werden?