Hallo,
ich habe nach der Anleitung von RWN einen Toggle Button angelegt.
- Integer Variable
- Wert 0
- Skript hinzugefügt
Das Funktioniert auch super.
Jetzt ist es bei mir aber so, dass die Aktion, welche der Button ausführt - auch in Notfällen von einem anderem Skript ausgeführt wird.
In meinem Fall ist es eine Pumpe, welche durch einen Sensor (Wassereinbruch) ausgeschaltet wird.
Wenn ich diesen Fall habe, schaltet der Schaltaktor die Pumpe einfach aus (würde manuell ansonsten über den Toggle Button durchgeführt werden).
Mein Problem - der Togglebutton zeigt den falschen Status an, wenn die Aktion nicht durch ihn ausgeführt wird.
Wenn ich jetzt den Wert der Integervariable des Toggle Buttons durch ein Skript ändere passiert nix. ergo der Status wird nie aktualisiert. Erst wenn ich den Button ein paar mal von Hand drücke. Das ist aber irreführend!
Hier das Skript des Buttons…
<?
if($IPS_SENDER == "WebFront")
{
switch($IPS_VALUE)
{
case 1:
IPS_SetVariableProfileAssociation("Toggle", 0, "Ein", "", 0xFF0033);
IPS_SetVariableProfileAssociation("Toggle", 1, "", "", -1);
HM_WriteValueBoolean(28027 /*[Geräte\Steckdose Brunnenpumpe]*/, "STATE", true);
break;
case 0:
IPS_SetVariableProfileAssociation("Toggle", 1, "Aus", "", 0x00FF00);
IPS_SetVariableProfileAssociation("Toggle", 0, "", "", -1);
HM_WriteValueBoolean(28027 /*[Geräte\Steckdose Brunnenpumpe]*/, "STATE", false);
break;
}
}