Wie der Titel schon sagt, eine “Modifier-Node” wäre total toll. Was meine ich damit?
Analog zur Toggle-Node, die eine boolesche Variable umschalten kann, eine Node die einen Zahlenwert verändern kann.
Im Moment kann man nur absolute Werte in Device-Variablen schreiben, dadurch muss man mit einer Node erst den Wert ermitteln, dann verändern und dann wieder zurück schreiben. Ziemlich aufwändig für ein Standard-Szenario meiner Ansicht nach. Zusätzlich geht das Verändern meines Wissens nach nur mit einer php-Function-Node, so dass die Leute, die nicht programmieren können aussen vor sind.
Hier mal ein Beispiel. Ich habe folgende Fernbedienung über zigbee2mqtt angebunden:
Ausgang 0 ist der mittlere Ein/Aus-Knopf, der kann mit der Toggle-Node implementiert werden, die Farbtemperatur und Helligkeit wird dann komplizierter. Da muss man nämich auch noch min/max der Device-Variable benutzen.
das geht tatsächlich bereits. Und zwar kannst du in einem template-Knoten die Strings “+=ZAHL”, “-=ZAHL”, “*=ZAHL” oder “/=ZAHL” eintragen. Zugegeben, das muss man allerdings wissen. Von daher ergibt ein Knoten dafür trotzdem Sinn.
Das ist gut. Meines Erachtens ist die Toggle Node auch nur ein Spezialfall der “Modify”-Node. (Toggle := Operator “NOT”, kein zweiter Operand.) Ein zweiter Nachteil ist natürlich, dass die Input-Nodes auch bei anderweitiger Änderung getriggert werden. Das kann zu unschönen Ergebnissen führen.
PS: Die Fernbedienung ist ziemlich mächtig, da die jetzt endlich von zigbee2mqtt unterstützt wird, muss ich jetzt noch 4 weitere kaufen. Ist nicht nur für Licht sinnvoll, kann man auch schön die Squeezebox mit steuern.