Anfänger braucht Hilfe

Hallo,

ich habe einige Scripte hier von der Page laufen, bin jedoch kein Programmierer. Z.B. habe ich das Script für astronomische Ereignisse wie z.B. Sonnenaufgang und Sonnenuntergang laufen. Jetzt möchte ich gerne die Weihnachtsbeleuchtung über FS20 Funksteckdosen damit steuern. Zum Sonnenuntergangszeitpunkt soll für ein paar Stunden die Steckdose einschalten und morgens entsprechend umgekehrt. Kann mir jemand helfen und sagen, wie das geht. Die jeweiligen Zeiten aktualisieren sich immer 1x täglich im System - wie aber weise ich diese Zeiten einem Einschalt .- oder Auscahltzeitpunkt zu?

Danke für Eure Hilfe!

Die Einschaltzeit hast Du ja schon über:


$scripts[] = array("id" => 34567, "offset" => 30, "type" => "sunset");

(Erläuterung ist in Horsts Script)

Wenn Du damit das Script gestartet hast setzt Du in diesem noch einen Timer nach wieviel Minuten Deine Beleuchtung wieder ausgehen soll.
z.B.


if ($IPS_SENDER == "TimerEvent")
{
   IPS_SetScriptTimer($IPS_SELF,0);
   return;
}
$min = 120; //2h
IPS_SetScriptTimer($IPS_SELF,$min*60);
//hier Code einfügen

Hi Thomas,

Danke Dir für die prompte Hilfe leider bin ich trotzdem noch auf Hilfe angwiesen.

<?
$scripts[] = array("id" => 15829, "offset" => 30, "type" => "sunset");

if ($IPS_SENDER == "TimerEvent")
{
   IPS_SetScriptTimer($IPS_SELF,0);
   return;
}
$min = 240; //4h
IPS_SetScriptTimer($IPS_SELF,$min*60);

FS20_SwitchMode(38204 /*[Küche / Wohnzimmer\FS20 Gerät]*/, false);

?>

Wäre das Script für 4 Std. so in Ordnung?

Nein.


$scripts[] = array("id" => 15829, "offset" => 30, "type" => "sunset"); 

Das ist ein Teil aus dem Astroscript, dort kannst Du festlegen welche Scripte (hier „id“ => 15829) zu welcher Zeit (hier „offset“ => 30, „type“ => „sunset“) gestartet werden sollen. Du brauchst dann zwei Scripte, 1x zum Anschalten und 1 x zum Ausschalten, ohne die obige Zeile wäre das von Dir fürs Ausschalten schon richtig.

Ich habe jetzt noch ein zweites Script zum Einschalten angelegt:

<?
 //Fügen Sie hier ihren Skriptquellcode ein
$scripts[] = array("id" => 15829, "offset" => 30, "type" => "sunset");
FS20_SwitchMode(38204 /*[Küche / Wohnzimmer\FS20 Gerät]*/, true);
?>

Sollte das jetzt zusammen funktionieren? (also mit 2 getrennten Scripten)

Wie würdest Du morgends das Einschalten bis zum Sonnenaufgang realisieren?

Danke Dir für Deine Unterstützung!

Dieses Script schaltet das FS20 gerät für 4h ein, danach aus.


if ($IPS_SENDER == "TimerEvent")
{
   IPS_SetScriptTimer($IPS_SELF,0);
   FS20_SwitchMode(38204 /*[Küche / Wohnzimmer\FS20 Gerät]*/, false);
   return;
}
$min = 240; //4h
IPS_SetScriptTimer($IPS_SELF,$min*60);

FS20_SwitchMode(38204 /*[Küche / Wohnzimmer\FS20 Gerät]*/, true); 

Für Sonnenuntergang:
Die folgende Zeile mußt Du in diesem Script ändern:
Automatischer Skriptstart nach astronomischen Ereignissen (Sonnenaufgang, Dämmerung) - IP-Symcon Community Forum
Dabei die ID 34567 durch Deine Script ID des oberen Scripts ersetzen.


$scripts[] = array("id" => 34567, "offset" => 0, "type" => "sunset");

Hoffe jetzt ist alles klar.

Hallo Thomas,

kurzer Hinweis noch: oben ist die Lampe jetzt für 240H an; im Scripttimer muss das „*60“ raus. :smiley:

Gruß
dfhome

Wie kommst Du darauf? IPS_SetScriptTimer braucht Sekunden, also 240 Sekunden * 60 = 4h.:wink:

Wie muß ich das ganze dann umgekehrt programmieren? Ich habe nun im Script von Horst ein neues Ereignis zur Berechnung der Uhrzeit angelegt und folgendes neues Script angelegt: Die Beleuchtung soll morgens ca. 2 Std leuchten…

if ($IPS_SENDER == "TimerEvent")
{
   IPS_SetScriptTimer($IPS_SELF,0);
   FS20_SwitchMode(56017 /*[Küche / Wohnzimmer\Weihnachtsbeleuchtung Wohnzimmer]*/, false);
   return;
}

FS20_SwitchMode(56017 /*[Küche / Wohnzimmer\Weihnachtsbeleuchtung Wohnzimmer]*/, true);

Also irgendwie stehst Du auf der Leitung.:frowning:
Bitte mache Dir die Arbeit Horst´s Script und seine Erläuterung zu lesen.
Dann kannst Du zum Sonnenauf- und Sonnenuntergang mit meinem Script aus Beitrag #6 Dein Licht an und nach gewünschter Zeit wieder ausschalten.

Hallo Thomas,

alles klar, ich mach’ mich nochmals dran - ich tu’ mir da mom. noch schwer, sind meine ersten Erfahrungen damit, Sorry!

So, jetzt brauch’ ich nochmals Eure Hilfe. Ich hab jetzt die Instanz angelegt und das Script, welches die Instanz zukünftig über den „Sonnenuntergang“ schalten soll. Dazu hab ich die ScriptID in das Script von Horst ergänzt. Soweit kein Problem - jetzt wird unterhalb meines Scriptes ein Timerevent (Astrotimer mit Uhrzeit) angelegt und ein Timerscript mit der dazugehörigen Länge in Sekunden. Führe ich mein Script manuell aus, so funktioniert alles…Leider wird das Script jedoch offensichtlich nicht durch den AstroTimer gestartet. Woran könnte das noch liegen?

Problem hat sich erledigt :slight_smile: