Hallo ich habe das ganze per script und maßig variablen als Merker gelöst, aufwändig muss gepflegt werden wenn was dazukommt oder ID sich ändert aber funktioniert, wichtig war mir hier auch die Abfrage nach notwendigkeit. Ich verlasse das haus Abends im Dunkeln (fast alle lichter ein) und komme am nächsten morgen (hell) wieder heim, hierbei sollte dann keine Beleuchtung notwendig sein.
//Ausschalten Außenbeleuchtung Geofency
$Helligkeit = GetValueFloat(25436);
print („Helligkeit -$Helligkeit-\n“);
SetValueBoolean (49901, false);//Anwesenheit
//=====================================================================
//Status holen
//EG
$StatusGarderobeDim = GetValue(17255);
$StatusWindfangDim = GetValue(45146);
$StatusGarderobeWand = GetValue(22071);
$StatusGaestebadWandDim = GetValue(38716);
//OG
$StatusBueroYvonneDim = GetValueInteger(28576);
$StatusBueroAndreasDim = GetValueInteger(15213);
$StatusAnkleideDim = GetValue(42982);
$StatusSZWandDim = GetValue(19923);
//UG/EW
$StatusUGWZDim = GetValueInteger(53115);
$StatusUGKuecheDim = GetValueInteger(35595);
$StatusUGSZDecke = GetValue(26783);
$StatusUGSZWand = GetValue(50953);
//========================================================================
//Merker setzen
//EG
SetValueInteger (15763,$StatusWindfangDim);
SetValueInteger (26012,$StatusGarderobeDim);
SetValue (27170,$StatusGarderobeWand);
SetValueInteger (34639,$StatusGaestebadWandDim);
//OG
SetValueInteger (43813,$StatusBueroYvonneDim);
SetValueInteger (10106,$StatusBueroAndreasDim);
SetValueInteger (28947,$StatusAnkleideDim);
SetValueInteger (29291,$StatusSZWandDim);
//UG/EW
SetValueInteger (39987,$StatusUGWZDim);
SetValueInteger (25994,$StatusUGKuecheDim);
SetValue(18316,$StatusUGSZDecke);
SetValue(37273,$StatusUGSZWand);
//============================================================================
//Ausschalten
//EG
LCN_SetIntensity(30716,0,5);//Dach Dimmer Außen
LCN_SwitchRelay(57609,false);//Dach
LCN_SetIntensity(18577,0,5);//Garderobe Decke
LCN_SetIntensity(14524,0,5);//Windfang Decke
//OG
LCN_SetIntensity(48693,0,5);
LCN_SetIntensity(52330,0,5);
LCN_SetIntensity(35342,0,5);
LCN_SetIntensity(30172,0,5);
//UG/EW
LCN_SetIntensity(57031,0,5);
LCN_SetIntensity(19026,0,5);
LCN_SwitchRelay(53005,false);
LCN_SwitchRelay(29567,false);
print („Alle Lichter erfolgreich abgespeichert“);
?>
ähnliches Script muss dann in umgekehrter Reihenfolge bei Ankunft erfolgen
//Einschalten Außenbeleuchtung Geofency
$Helligkeit = GetValueFloat(25436);
print („Helligkeit -$Helligkeit-\n“);
SetValueBoolean (49901, true);// Anwesenheit
//Status EG
$StatusGarderobeDim = GetValueInteger(26012);
$StatusWindfangDim = GetValueInteger(15763);
$StatusGarderobeWand = GetValue(27170);
$StatusGaestebadWandDim = GetValue(34639);
//Status OG
$StatusBueroYvonneDim = GetValueInteger(43813);
$StatusBueroAndreasDim = GetValueInteger(10106);
$StatusAnkleideDim = GetValue(28947);
$StatusSZWandDim = GetValue(29291);
//Status UG/EW
$StatusUGWZDim = GetValue(39987);
$StatusUGKuecheDim = GetValue(25994);
$StatusUGSZDecke = GetValue(18316);
$StatusUGSZWand = GetValue(37273);
if ($Helligkeit>1000)
{
print („über 1000Lux → zu Hell für Ankunftbeleuchtung\n“);
}
else
{
print („unter 1000Lux → Ankunftbeleuchtung ein\n“);
LCN_SwitchRelay(25654 ,true);//Vorgarten Cube ein
LCN_SetIntensity(30716 ,100,5);//Dach Dimmer Außen
LCN_SwitchRelay(57609 ,true);//Dach
}
if ($StatusWindfangDim<1)
{
LCN_SetIntensity(18577 ,100,5);//Garderobe Decke
LCN_SetIntensity(14524,100,5);//Windfang Decke
LCN_SwitchRelay(33343 ,true);//Garderobe Wand
echo („Windfang war aus\n“);
}
else
{
LCN_SetIntensity(18577 ,$StatusGarderobeDim,5);//Garderobe Decke
LCN_SetIntensity(14524,$StatusWindfangDim,5);//Windfang Decke
LCN_SwitchRelay(33343 ,$StatusGarderobeWand);//Garderobe Wand
}
//EG
LCN_SetIntensity(50240,$StatusGaestebadWandDim,0);//GästeWand
LCN_SetIntensity(35862,$StatusGaestebadDeckeDim,5);//GästeDecke
LCN_SetIntensity(13792,$StatusFlurDim,5);//Flur
LCN_SetIntensity(39101,$StatusKueche1Dim,5);//Küche1
//OG
LCN_SetIntensity(48693,$StatusBueroYvonneDim,5);
LCN_SetIntensity(52330,$StatusBueroAndreasDim,5);
LCN_SetIntensity(35342,$StatusAnkleideDim,5);
LCN_SetIntensity(30172,$StatusSZWandDim,5);
//UG/EW
LCN_SetIntensity(57031,$StatusUGWZDim,5);
LCN_SetIntensity(19026,$StatusUGKuecheDim,5);
LCN_SwitchRelay(53005,$StatusUGSZDecke);
LCN_SwitchRelay(29567,$StatusUGSZWand);
echo („Werte aus Merkern gesetzt“);
IPS_SetScriptTimer (17263 , 300 );
?>
//Status OG
$StatusBueroYvonneDim = GetValueInteger(43813);
$StatusBueroAndreasDim = GetValueInteger(10106);
$StatusAnkleideDim = GetValue(28947);
$StatusSZWandDim = GetValue(29291);
//Status UG/EW
$StatusUGWZDim = GetValue(39987);
$StatusUGKuecheDim = GetValue(25994);
$StatusUGSZDecke = GetValue(18316);
$StatusUGSZWand = GetValue(37273);
if ($Helligkeit>1000)
{
print („über 1000Lux → zu Hell für Ankunftbeleuchtung\n“);
}
else
{
print („unter 1000Lux → Ankunftbeleuchtung ein\n“);
LCN_SwitchRelay(25654 ,true);//Vorgarten Cube ein
LCN_SetIntensity(30716 ,100,5);//Dach Dimmer Außen
LCN_SwitchRelay(57609 ,true);//Dach
}
if ($StatusWindfangDim<1)
{
LCN_SetIntensity(18577 ,100,5);//Garderobe Decke
LCN_SetIntensity(14524,100,5);//Windfang Decke
LCN_SwitchRelay(33343 ,true);//Garderobe Wand
echo („Windfang war aus\n“);
}
else
{
LCN_SetIntensity(18577 ,$StatusGarderobeDim,5);//Garderobe Decke
LCN_SetIntensity(14524,$StatusWindfangDim,5);//Windfang Decke
LCN_SwitchRelay(33343 ,$StatusGarderobeWand);//Garderobe Wand
}
//EG
LCN_SetIntensity(50240,$StatusGaestebadWandDim,0);//GästeWand
LCN_SetIntensity(35862,$StatusGaestebadDeckeDim,5);//GästeDecke
LCN_SetIntensity(13792,$StatusFlurDim,5);//Flur
LCN_SetIntensity(39101,$StatusKueche1Dim,5);//Küche1
//OG
LCN_SetIntensity(48693,$StatusBueroYvonneDim,5);
LCN_SetIntensity(52330,$StatusBueroAndreasDim,5);
LCN_SetIntensity(35342,$StatusAnkleideDim,5);
LCN_SetIntensity(30172,$StatusSZWandDim,5);
//UG/EW
LCN_SetIntensity(57031,$StatusUGWZDim,5);
LCN_SetIntensity(19026,$StatusUGKuecheDim,5);
LCN_SwitchRelay(53005,$StatusUGSZDecke);
LCN_SwitchRelay(29567,$StatusUGSZWand);
echo („Werte aus Merkern gesetzt“);
IPS_SetScriptTimer (17263 , 300 );
?>