Hallo,
ich habe mir ein RGBW-868 LED von IPS bestellt.
Ich möchte damit Sonnenauf- /-untergang und Mondlicht in meinem Aquarium basteln.
Ich habe ein Script gefunden:
// Installation:
//1. Bei $LEDid die ID der RGBW-868 Instanz eintragen.
//2. Script mit dem Ausühren-Button oder Runscript starten.
//3. Es ist alles so schön bunt hier!
//An-Ausschalten mit:
//1. "Ausführen" Button im Editor oder
//2. IPS_runscript (diese Script-ID) oder
//3. direktes Ändern der Variablen "Aktiv" auf true oder false
//Zu Hell? Helligkeit im Objektbaum einstellbar (1-255)
//Dimmzeit im Objektbaum einstellbar
$LEDid=32126 /*[Objekt #32126 existiert nicht]*/;
if(($IPS_SENDER == "Runscript")or($IPS_SENDER == "Execute")or($IPS_SENDER == "Dashboard")){
$aktivid =LEDCreateVariableByName($IPS_SELF, "Aktiv", 0);
$maxlumid=LEDCreateVariableByName($IPS_SELF, "Helligkeit (1-255)", 1);
$fadetimeid=LEDCreateVariableByName($IPS_SELF, "Dimmzeit (Sek.)", 1);
$eid = @IPS_GetEventIDByName("Aktiv-Event", $IPS_SELF);
if($eid===false) {
$eid = IPS_CreateEvent(0);
IPS_SetEventTrigger($eid, 1, $aktivid);
IPS_SetParent($eid, $IPS_SELF);
IPS_SetName($eid, "Aktiv-Event");
IPS_SetEventActive($eid, true);
}
SetValue ($aktivid, (GetValue($aktivid) ? false:true));
}
if($IPS_SENDER == "Variable") {
$aktivid = @IPS_GetVariableIDByName("Aktiv", $IPS_SELF);
$aktiv=GetValue($aktivid);
if($aktiv){
IPS_SetScriptTimer($IPS_SELF, 1);
}
else{
IPS_SetScriptTimer($IPS_SELF, 0);
PJ_DimRGBW($LEDid,0,0,0,0,0,0,0,0);
}
}
if($IPS_SENDER == "TimerEvent"){
$maxlumid=LEDCreateVariableByName($IPS_SELF, "Helligkeit (1-255)", 1);
$fadetimeid=LEDCreateVariableByName($IPS_SELF, "Dimmzeit (Sek.)", 1);
$maxlum=GetValue($maxlumid);
if (($maxlum>=256)or($maxlum<=0)){
$maxlum=255;
SetValue($maxlumid,$maxlum);
}
$fade=GetValue($fadetimeid);
if ($fade<=0){
$fade=10;
SetValue($fadetimeid,$fade);
}
PJ_DimRGBW($LEDid,rand(0,$maxlum),$fade,rand(0,$maxlum),$fade,rand(0,$maxlum),$fade,0,0);
IPS_SetScriptTimer($IPS_SELF, $fade);
}
function LEDCreateVariableByName($id, $name, $type) { //Variablen auslesen bzw. erstellen
$vid = @IPS_GetVariableIDByName($name, $id);
if($vid===false) {
$vid = IPS_CreateVariable($type);
IPS_SetParent($vid, $id);
IPS_SetName($vid, $name);
}
return $vid;
}
Ich blicke nicht ganz durch.
Meine Anforderung sind:
Sonnenaufgang:
zu einer bestimmten Uhrzeit blaues LED von 100 auf 0% (in einer gewissen Zeit); dazu rotes LED von 0 auf 100% (in einer gewissen Zeit); dazu nach einer gewissen Zeit gelbes LED von 0 auf 100% (in einer gewissen Zeit);
Sonnenuntergang;
genau umgekehrt;
Mondlich:
soll von Sonnenuntergang bis Sonnenaufgang leuchten;
Könnt Ihr mir auf die Sprünge helfen wie ich beginnen soll?
Danke
Jörg