Antworten
Feb 06, 2019 - 10:20
Feb 06, 2019 - 16:05
Für SPS kannst Du das NEO Plugin IP-Symcon nutzten dann kannst Du Wago, Beckhoff, ABB oder auch Siemens aus NEO ansteuern. Die Restlaufzeit eines Timers kannst Du auch in NEO anzeigen lassen.
Feb 07, 2019 - 05:37
Ich nutzte dazu IP-Symcon in Kombination mit NEO.
Zwei Variablen vom Typ Integer eine ist zum Einstellen des Timerintervals über den Slider die andere zeigt die Restlaufzeit in NEO an.
In dem Fall nutzt man zwei Skripte.
Das erste Skript aktualisiert die Restlaufzeit jede Sekunde nachdem ein Ereigniss eingetreten ist.
Restlaufzeit Beispiel:
if($_IPS['SENDER'] == "TimerEvent")
{
// Restzeit berechnen
$timer_interval = GetValue(27809 /*[Geräte\Timer Skripte\Timer 1\Restlaufzeit Timer 1]*/);
$remaining_interval = $timer_interval -1;
// Restlaufzeit schreiben
SetValue(27809 /*[Geräte\Timer Skripte\Timer 1\Restlaufzeit Timer 1]*/, $remaining_interval);
//IPS_LogMessage("Time 1", "verbleibende Restzeit ".$remaining_interval." Sekunden");
} else {
//Timer anschalten
$timer_interval = GetValue(38293 /*[Geräte\Timer Skripte\Timer 1\Zeit Timer 1]*/);
SetValue(27809 /*[Geräte\Timer Skripte\Timer 1\Restlaufzeit Timer 1]*/, $timer_interval);
IPS_SetScriptTimer($_IPS['SELF'], 1);
}
?>
Das zweite Skript ist das eigentlche Skript das den Timer startet als auch die Berechnung der Restlaufzeit startet
Timerscript Beispiel:
if($_IPS['SENDER'] == "TimerEvent")
{
//Aus Befehl
HM_WriteValueBoolean(56196 /*[Geräte\Homematic\Räume\Büro\Tischlampe Arbeitszimmer]*/, "STATE", false);
// Restzeit berechnen ausschalten
IPS_SetScriptTimer(26577 /*[Geräte\Timer Skripte\Restlaufzeit Timer\Timer Restlaufzeit auslesen]*/, 0);
//Timer ausschalten
IPS_LogMessage("Time 1", "ausgeschaltet");
IPS_SetScriptTimer($_IPS['SELF'], 0);
} else {
$timer_interval = GetValue(38293 /*[Geräte\Timer Skripte\Timer 1\Zeit Timer 1]*/);
// Restzeit berechnen
IPS_RunScript (26577 /*[Geräte\Timer Skripte\Restlaufzeit Timer\Timer Restlaufzeit auslesen]*/);
//An Befehl
HM_WriteValueBoolean(56196 /*[Geräte\Homematic\Räume\Büro\Tischlampe Arbeitszimmer]*/, "STATE", true);
//Timer anschalten
IPS_LogMessage("Time 1", "mit Intervall ".$timer_interval." eingeschaltet");
IPS_SetScriptTimer($_IPS['SELF'], $timer_interval);
}
?>
Auf die eine Variable wird in NEO ein Slider gelegt zum Einstellen der Timerzeit und auf die zweite Variable wird ein Textfeld gelegt zum Anzeigen der Restlaufzeit.
Wenn Du das nur mit dem Automation Manager lösen willst must Du das irgendwie analog in Javascript bauen, wie das dann im Detail auszusehen hat bin ich persönlich überfragt.
Neuen Kommentar hinzufügen