Es gibt eine neue Version 1.3.1 des Adapters, derzeit erstmal nur im latest-Repository. Wenn sich der Adapter bewährt hat, kann ich den in ein paar Tagen auch in das stable-Repository übertragen lassen.
Was ist neu? Details s.u.
- Unterstützung von Limitations. Stichwort: Regensensor.
- Geräteverwaltung in den Einstellungen ermöglicht (verwalten von Geräten, Gruppen, Szenen).
- Mindestens erforderliche Node-Version auf 18.x angepasst.
Fehlerbehebungen u.a.
- Neu angelernte Geräte wurden erst nach Neustart des Adapter erkannt. Jetzt funktioniert das auch im laufenden Betrieb.
- Aktualisierung von verwendeten Paketen.
- Zusätzliche, automatisierte Code-Prüfungen hinzugefügt (sog. Linting) und die daraus gemeldeten Fehler behoben.
- Potentiell mögliche Speicherlecks (memory leaks) behoben.
Limitations (z.B. Regensensor)
Jedes im KLF angelernte Gerät verfügt grundsätzlich immer über einen sog. Main Parameter (MP) und bis zu 16 weiteren Functional Parameters (FP1-FP16).
Der MP steuert dabei normalerweise die Hauptfunktion des Geräts, also z.B. Fenster öffnen, Rollladen hoch/runter, Licht an/aus/dimmen, usw.
Über die FPs lassen sich ggfs. vorhandene Nebenfunktionen eines Geräts steuern, bei einer Lampe könnte das z.B. der Farbwert der Lampe sein. Bei Fenstern und Rollläden ist das z.B. die Geschwindigkeit, mit der sich die Fenster oder Rollläden öffnen und schließen.
Im Adapter unterstütze ich derzeit generell nur den MP und die FP1-4, da das das bisherige Maximum ist, was von VELUX dokumentiert wurde.
Auch die Begrenzungen können für jeden dieser Parameter grundsätzlich unterschiedlich eingestellt sein, sind aber nicht immer sinnvoll und werden daher von den jeweiligen Geräten nicht unbedingt unterstützt. Ob ein FP limitiert sein kann oder nicht, ist leider nicht abfragbar. Ich erkenne es aber daran, dass ich beim Versuch, die Limitations abzufragen, eine unsinnige Antwort bekomme. Parameter, die eine unschlüssige Antwort liefern, werden daher bei den Datenpunkten für die Limitations nicht erstellt.
Daher gibt es für den MP bzw. für jeden erkannten FP die folgenden Datenpunkte (am Beispiel MP):
- limitationMPOriginator: Das ist die Herkunft der Begrenzung. Obwohl es auch den Regensensor als möglichen Wert gibt, steht bei mir immer nur "Emergency controlled". Das kann je nach Fenstertyp sicherlich unterschiedlich sein.
- limitationMPTimeRaw: Wert von 0-255. 0 = 30 Sekunden, 1 = 60 Sekunden usw. bis 252 = 7590 Sekunden. 253 entspricht unendlich und 254 und 255 haben noch Sonderwerte, die eigentlich nur beim Setzen von Begrenzungen eine Bedeutung haben.
- limitationMPTime: Hier rechne ich die Werte in Sekunden um, sofern möglich, sonst steht hier null drin.
- limitationMPMinRaw, limitationMPMaxRaw: Der Wertebereich für einen Parameter liegt zwischen 0 und 51200. Über den jeweiligen Min/Max-Wert wird dieser Wertebereich weiter eingeschränkt, d.h. der Raw-Wert des Parameters muss zwischen den Werten von limitationMPMinRaw und limitationMPMaxRaw liegen.
- limitationMPMin, limitationMPMax: Wie limitationMPMinRaw und limitationMPMaxRaw, nur dass die Werte auf Prozentwerte (0-100) umgerechnet werden. Achtung: Es gibt Geräte, z.B. Fenster, bei denen die Prozentskala umgekehrt ist, d.h. der Raw-Wert 0 entspricht 100% und der Raw-Wert 51200 entspricht 0%. Das führt dazu, dass dann der Min-Wert als 100% und der Max-Wert als 0% angezeigt wird. Das ist verwirrend, aber leider wurde das so von den Herstellern designed.
Die Aktualisierung der Werte findet leider nicht automatisch statt, weil das KLF-200 darüber aktiv keine Informationen sendet. Daher gibt es bei jedem Produkt den Datenpunkt refreshLimitation, mit dem Ihr manuell oder z.B. über ein einfaches Skript/Blockly die Aktualisierung anstoßen könnt. Ich habe das bewusst nicht in den Adapter eingebaut, da ich z.B. vermeiden möchte, dass Akku-betriebene Geräte über Gebühr belastet werden. Um z.B. Regen zu erkennen, müsste ich auch nicht unbedingt sämtliche Fenster abfragen, da könnte ich mich z.B. auf eins je Himmelsrichtung beschränken.
Geräteverwaltung
In den Einstellungen gibt es einen neuen Tabreiter für die Geräteverwaltung. Dort könnt ihr folgendes tun:
- Vorhandene Geräte löschen
- Vorhandene Geräte umbenennen
- Neue Geräte suchen (z.B. wenn ein Fenstermotor ausgetauscht wurde)
- Gruppen anlegen (Gruppen können immer nur Geräte des gleichen Typs enthalten, also z.B. nur mehrere Fenster)
- Gruppen umbenennen/bearbeiten
- Gruppen löschen
- Szenen löschen
- Szenen umbenennen
- Szenen erstellen, dabei muss die Position der Geräte während der Szenen-Erkennung mit einer herkömmlichen Fernbedienung verändert werden
Für diese grundlegenden Verwaltungsaufgaben muss man sich also nicht mehr per WLAN mit dem KLF-200 verbinden.
Viel Spaß beim Testen und mit den neuen Möglichkeiten!
Gruß
Michael