Danke für den Tipp!
Ich werds so versuchen. Oft reicht eine kleine Hilfestellung um weiter zu kommen.
Bin noch ganz am Start, aber schön langsam wird es
Danke für den Tipp!
Ich werds so versuchen. Oft reicht eine kleine Hilfestellung um weiter zu kommen.
Bin noch ganz am Start, aber schön langsam wird es
Super, es funktioniert!!
Besten Dank für deine Unterstützung DerStandart
Gerne
Hallo,
wie hoch ist denn der maximale Wert für den Timer - bei mir funktionierts bei 60 Sekunden problemlos und wenn ich z.B 599 eingebe, dann nicht
viele Grüße
Georg
Ein Limit ist mir gar nicht bekannt. Im Test eben gingen selbst 999999999 (Setzt einen Timer auf alle 11574 Tage)
<?
IPS_SetScriptTimer($_IPS["SELF"], 999999999);
?>
ABER … bei Werten über 3600 sollte man aufpassen … siehe „Warnung-Box“ hier auf der Seite:
IPS_SetScriptTimer — IP-Symcon :: Automatisierungssoftware
Was genau funktioniert denn da bei dir nicht? Kommt ein Fehler? Welche IPS Version? Welches OS? …?
Grüße,
Chris
Hallo,
es kommt keine Fehlermeldung - lediglich die Script timer Variable wird z.B. bei Wert 10 nach Timerablauf aktualisiert und der Befehl ausgeführt und z.B bei 599 nicht.
Kanns mir eben auch nicht erklären.
IPS ist die aktuelle Version und läuft unter Win10
viele Grüße
Georg
Hi Georg!
Du musst dringend mehr Informationen liefern! So kann dir niemand helfen…
Poste doch bitte mal dein komplettes Script mit dem Timer drin und schreib ein wenig was dazu zur Erklärung.
Grüße,
Chris
hier das Script:
<?
IF ($_IPS[‚SENDER‘]<>„TimerEvent“)
{
///Aktionen, die direkt stattfinden sollen
IPS_SETSCRIPTTIMER($_IPS['SELF'],595);
//Tasmota_sendMQTTCommand (58296 /*[Test\Sonoff und ESPeasy\Sonoff MQTT Tasmota\Sonoff Wemos D1B]*/,"deepsleep",0);
}
ELSE
{
//Aktionen, die nach 595 Sekunden stattfinden sollen
IPS_SETSCRIPTTIMER($_IPS['SELF'],0);
Tasmota_sendMQTTCommand (58296 /*[Test\Sonoff und ESPeasy\Sonoff MQTT Tasmota\Sonoff Wemos D1B]*/,"deepsleep",0);
}
?>
Zum Posten von PHP-Code gibt es einen schönen PHP-Tag
PHP-Code
Und du bist sicher, dass das Script nicht ausgeführt wird? Mach mal zu jedem Befehl das dazu:
IPS_LogMessage("TEST", "IF");
IPS_LogMessage("TEST", "ELSE");
Ist so aus der Ferne schlecht zu sagen was da bei dir schief läuft. Da müsste man mal direkt in dein IPS schauen… Ich vermute aber mal, dass das Script läuft und nur mit deinen Befehlen was nicht klappt. Deswegen der Test mit dem IPS_LogMessage für die Ausgabe im Meldungen-Fenster der IPS-Console.
Grüße,
Chris
Hallo Chris,
heute funktioniert es komischerweise - ich werde es mal weiter beobachten.
Danke erstmal für Deine Hinweise.
viele Grüße
Georg
Das Thema ist zwar schon älter aber das Skript von RWN funktioniert bei mir nicht.
Auch ich habe vor die Kühlschranktür zu „Überwachen“.
Das Skript wird angetriggert durch die Variable „Tür offen“, welche vom Kühlschrank direkt kommt.
Eine Fehlermeldung bekomme ich nicht, aber die Variable 19462 wird nicht gesetzt (weder true noch false)…
<?php
//Start writing your code here
if(($IPS_SENDER == "TimerEvent") && (GetValue(20464))) // nach 20 sec prüfen
{
if(!GetValue(19462)) SetValue(19462, true); // wenn noch nicht aktiv, auf aktiv setzen
IPS_SetScriptTimer($IPS_SELF, 0); // Timer beenden
return; // Sript verlassen
}
if(GetValue(20464)) // wenn Variable auf true
{
IPS_SetScriptTimer($IPS_SELF, 20); // Timer für 20 sec setzen
}
else // sonst
{
IPS_SetScriptTimer($IPS_SELF, 0); // Timer löschen und
if(GetValue(19462)) SetValue(19462, false); // prüfen ob Variable aktiv und auf false setzen
}
Das Script ist 13 Jahre alt und die IPS Systemvariablen haben sich geändert.
$IPS_SENDER
gibt es schon ewig nicht mehr, sondern nur noch bei aktiver Kompatibilitätsfunktion.
Außerdem kann man ohne den Objektbaum mit den betreffenden ObjektIDs eh nicht helfen.
Michael
Es gibt einen smarten Kühlschrank und von diesem eine Bool-Variable ‚Tür geöffnet‘
Ich möchte damit eine andere Bool Variable setzen. Allerdings erst wenn ‚Tür geöffnet‘ für 5min ansteht. Sollte ‚Tür geöffnet‘ innerhalb der 5min auf false gehen, so sollte der 5min Timer abbrechen bzw. Abbruch des Skriptablaufs
Und jetzt sollen alle raten welche Variable welche ID im Script ist?
Michael