gegeben sei folgende Float-Variable, die ein systemseitiges Profil sowie ein eigenes Skript verwendet:
Obwohl das Skript leer ist, kann ich den Variablenwert über das Webfront verändern. Das möchte ich nicht, denn der Wert soll über I/O Rückmeldung geschrieben werden, und nicht durch direktes manuelles Setzen.
Mein Verdacht: da ist irgendeine Standardaktion zusätzlich beteiligt?
Ich kann zwar die Standardaktion bei „Helligkeitswert“ (LEVEL) entfernen, aber „Wert“ kann ich dann nach wie vor setzen.
(Idee soll es sein, den 0-100% Helligkeitswert des Dimmers (LEVEL) nicht-linear mittels „Wert“ setzen zu können, aber die I/O Schleife immer über LEVEL abzuwickeln, um eine Rückmeldung vom Gerät zu haben.)
Du hast eine eigene Aktion gesetzt? Ob das Skript leer ist oder nicht ist egal. Du hast eine Aktion gesetzt. Das ist der Indikator dafür, dass du auch Veränderung erlaubst. Nimm die eigene Aktion raus und dann darf man auch nichts verändern
Oder meinst du, dass du ein leeres Skript drin hast, aber der Aktor trotzdem schaltet!? Das dürfte nicht der Fall sein, da die eigene Aktion immer über der Standardaktion liegt.
Ich habe ein leeres Skript als Aktion für die Variable registriert, das auch korrekt die Umgebung $_IPS übergeben bekommt. Da aber kein Statement der Form
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
vorkommt, würde ich erwarten, dass ich das Skript zwar per Webfront auslösen kann, aber nicht einfach die Variable gesetzt wird.
Ziel ist es, mit Hilfe des Skripts eine andere Variable (Ident VALUE) per HM Befehl zu setzen, und erst durch die Rückmeldung von LEVEL dann den Wert selbst zu verändern (klassische I/O Schleife).
Schau mal in die Konsole. Der Wert wird auch nicht geändert. Das ist nur ein optisches Problem im WebFront. Dieses geht nämlich erstmal davon aus, dass alles geklappt hat und wartet auf die Änderung der Variable um den neuen Wert anzuzeigen.