Script zyklisch effektiv starten wenn Variable TRUE

Hallo,

ich habe eine Checkbox in meiner View die eine Variable auf „true/false“ setzt. Sobald TRUE ist, will ich ein Script zyklisch ausführen (alle 2 sec. würde reichen…)
Im Moment mache ich das so, dass ein Script alle 2 Sekunden ausgeführt wird, in dem Script frage ich dann ab, ob die Variable gesetzt ist


if (var)
{
....
}

Da jetzt ja rund um die Uhr das 2 Sekunden Script läuft, ich das aber vielleicht alle paar Wochen für ein paar Stunden eigentlich nur brauch, stellt sich mir dieFrage, ob ich das irgendwie effektiver machen kann?

Vielen Dank

Da nimmt man sinnvoller ein auslösendes Ereignis
Ereignisse — IP-Symcon :: Automatisierungssoftware

Gesendet von iPhone mit Tapatalk

… oder einen ScriptTimer

Der Variable ein Aktionsscript zuweisen und ne Zeile rein: IPS_SetEventActive(EventID,$_IPS[„VALUE“]); … EventID ist dein 2-Sekunden-Timer … Fertig [emoji4]

Danke schonmal für die Antworten. Irgendwie stelle ich mich für alle drei Varianten zu doof an.

Im Anhang zwei Screenshots meiner Einstellungen, dort habe ich das mit dem Actionscript ausprobiert…
Die Variable 30533 ist meine Checkbox und ist über die „Eigene Aktion“ mit dem Script 10810 verbunden (siehe Bild 3).
Im Script 10810 steht dann

IPS_SetEventActive(41232,$_IPS['VALUE']);

41232 ist das Ereignis welches alle 2 Sekunden Script 32857 ausführen soll…

Ich vermute den Fehler in „$_IPS[‚VALUE‘]“, da wenn ich das auf „True“ ändere, wird das Script 41232 gestartet, ich kann es dann halt jedoch nicht mehr beenden, wenn ich die Checkbox-Variable auf „false“ setze…?
Ich muss dazu sagen, dass ich die Checkbox Variable nur force und diese nicht in der View direkt setze, da ich mein Tablet nicht zur Verfügung habe…

Kann mir da jemand weiterhelfen? Vielen Dank!

2.jpg3.jpg

Sieht gut aus. Was meinst du mit ‚force‘?
Wird das Skript denn ausgeführt?
Bau mal ein
echo (int) $_IPS[‚Value‘];
ein.

Ich würde das so machen:

<?

$EVENT=41232;
	
if ($_IPS['SENDER'] == 'WebFront')
	{

	
	SetValue ($_IPS['VARIABLE'], $_IPS['VALUE'] );
	
		if ($_IPS['VALUE'] == '0')
		{
			IPS_SetEventActive($EVENT, false);
		}
		
		if ($_IPS['VALUE'] == '1')
		{
			IPS_SetEventActive($EVENT, true);
		}	 
	}	

?>

Oder Du hängst einfach zwei Ereignisse an die Variable, je eins für true und false:

symsa_0.png
symsa_1.png
symsa_2.png

Loerdy

…das war der richtige Wink :wink: So gehts.

Nur zur Richtighalber, mit „force“ meinte ich „schreiben“ - Siehe Anhang…:
1.jpg