Hallo zusammen,
ich habe jetzt alle 55 Seiten durchgelesen und bisher noch keine Lösung gefunden. Wie binde ich sinnvoll meine HomeMatic Lichtschalter ein? Diese verfügen leider nur über den Datenpunkt "level", der eine Zahl erwartet. Wenn ich im Adapter als Trait "on/off" nehme, wird ein boolean Wert gesetzt, was natürlich nicht klappt. Wenn ich als Trait "brightness" nehme, kann ich die Lampe auf max 1 % herunter dimmen.
Hier muss es doch eine Lösung geben, oder?
Aktuelle Lösung (danke an tombox für die Hilfe:)
Auf den Expertenmodus (Icon mit Kopf) umschalten um rechts die Option in ioB konvertieren zu sehen. Dort folgendes eintragen: *return Number(value)100
Als Funktion kann OnOff eingetragen werden. So kann man zwar nicht dimmen, aber zumindest bequem ein- und ausschalten, ohne erst den Dimmer auf 0 % zu bewegen. Wer dimmen möchte, aber nicht tiefer als 1 % kommt, trägt dort folgendes ein: return value-1
Soweit wie ich das verstanden habe, kann Google Home zwar Werte von 0 - 100 (entsprechend dem level des Dimmers) in bool (wahr/falsch) für sich übersetzen, sendet aber als Rückgabewert an den ioBroker nur wahr/falsch zurück. Und dieser erwartet im Datenpunkt eine Zahl. Durch die Javascript Funktion Number wird aus wahr 1 und falsch 0 gemacht. Multipliziert mit 100 ist die Lampe dann komplett an oder aus. Und um zweiten Beispiel wird bei 1 % minimalem Dimmwert 1 abgezogen, heißt die Lampe ist aus. Kleiner Nachteil: Der maximale Dimmwert beträgt dann nur noch 99 %.
Könnte man dies evtl. nicht mit in die Doku übernehmen?