Mittels watch_item kann ich eine Logik triggern, wenn das item verändert wird. Das Item verändere ich hier in dem Beispiel mit on_change. convert_color nimmt nun den Wert des Items und verändert diesen. Nun möchte ich aber, dass das zum einen die Logik nicht ständig aufgerufen wird, wenn ich den konvertierten Wert zurück schreibe und irgendwie ist es ja auch blöd erst einen falschen Wert zu schreiben und dann die Änderung danach vorzunehmen. Gibt es einen eleganteen Weg das zu lössen? Das Ziel ist also einen HSB-Wert aus einem Item per Logik umwandeln zu lassen und diesen dann in ein anderes Item zu schreiben.
Lassen sich evtl. auch Funktionen aus Logiken aufrufen?
Code:
Farbtest_HSBtoRGB: HSB: type: list eval: list([sh..H(), sh..S(), sh..B()]) eval_trigger: - .H - .S - .B on_change: - ..RGB = value H: type: num S: type: num B: type: num RGB: type: list convert_color: HSBtoRGB
Kommentar