Mit BIDI brauch ich nicht, meine kleines Häuschen ist aus Holz und FS20 funktioniert bei mir bestens.
Das mit der dritten Variablen wäre eine Lösung, werde es mal Testen.
Hier einmal die Scripte:
Über einen Knopf werden Boolean Variablen gesetzt welche Lichtszene Aktiv sein soll z.B.:
//Setzt die Lichtszene Fernsehen und startet das Lichtszenenscript
SetValueBoolean("Lichtszene_Aus", false);
SetValueBoolean("Lichtszene_Abwesend", false);
SetValueBoolean("Lichtszene_Saubermachen", false);
SetValueBoolean("Lichtszene_Fernsehen", true);
SetValueBoolean("Lichtszene_Film", false);
SetValueBoolean("Lichtszene_Romantik", false);
SetValueBoolean("Lichtszene_Gaeste", false);
IPS_RunScript("33974");
SetValueString ("Anzeige_Lichtszene", "Lichtzene Fernsehen ist eingeschaltet");
Durch einen IPS_RunScript wird dann das eigendliche Lichtszenen Script gestartet. ( Das ersparrt mir das editieren vieler kleiner Scripte bei Änderungen)
//Lichtszene schalten
$Lichtszene_Aus = GetValueBoolean("Lichtszene_Aus");
$Lichtszene_Abwesend = GetValueBoolean("Lichtszene_Abwesend");
$Lichtszene_Fernsehen = GetValueBoolean("Lichtszene_Fernsehen");
$Lichtszene_Romantik = GetValueBoolean("Lichtszene_Romantik");
$Lichtszene_Saubermachen = GetValueBoolean("Lichtszene_Saubermachen");
$Lichtszene_Film = GetValueBoolean("Lichtszene_Film");
$Lichtszene_Gaeste = GetValueBoolean("Lichtszene_Gaeste");
//________________________________________________________________________________________
if ($Lichtszene_Aus == true)
{
FS20_SetIntensity(37172 /*Tisch Dim FS20 DI20-2 1311*/, 0, 3);
SetValueBoolean(29678 /*Tisch Dim FS20 DI20-2 1311\Status*/, false);
FS20_SetIntensity(28470 /*Wandlampe Flur Unten Dim FS20 DI20-2 1313*/, 0, 3);
SetValueBoolean(19479 /*Wandlampe Flur Unten Dim FS20 DI20-2 1313\Status*/, false);
FS20_SetIntensity(20344 /*Vitrine Wohnzimmer Dim FS20 DI3 1314*/, 0, 3);
SetValueBoolean(23879 /*Vitrine Wohnzimmer Dim FS20 DI3 1314*/, false);
FS20_SetIntensity(45835 /*Essecke Deckenlampe FS20 DI20-2 1312\Status*/, 0, 3);
SetValueBoolean(38859 /*Essecke Deckenlampe FS20 DI20-2 1312\Status*/, false);
IPS_SetEventActive(56310 /*Timer Abwesenheitssimulation*/,false);
FS20_SwitchDuration(12549 /*Deckenleuchte Dim FS20 DI20-2 4211*/,false,0);
}
//________________________________________________________________________________________
if ($Lichtszene_Abwesend == true)
{
FS20_SetIntensity(37172 /*Tisch Dim FS20 DI20-2 1311*/, 0, 30);
SetValueBoolean(29678 /*Tisch Dim FS20 DI20-2 1311\Status*/, false);
FS20_SetIntensity(28470 /*Wandlampe Flur Unten Dim FS20 DI20-2 1313*/, 0, 30);
SetValueBoolean(19479 /*Wandlampe Flur Unten Dim FS20 DI20-2 1313\Status*/, false);
FS20_SetIntensity(20344 /*Vitrine Wohnzimmer Dim FS20 DI3 1314*/, 0, 30);
SetValueBoolean(23879 /*Vitrine Wohnzimmer Dim FS20 DI3 1314*/, false);
FS20_SetIntensity(45835 /*Essecke Deckenlampe FS20 DI20-2 1312\Status*/, 0, 30);
SetValueBoolean(38859 /*Essecke Deckenlampe FS20 DI20-2 1312\Status*/, false);
IPS_SetEventActive(56310 /*Timer Abwesenheitssimulation*/,true);
FS20_SwitchDuration(12549 /*Deckenleuchte Dim FS20 DI20-2 4211*/,true,10*60);
}
//__________________________________________________________________________________________
if ($Lichtszene_Fernsehen == true)
{
FS20_SetIntensity(37172 /*Tisch Dim FS20 DI20-2 1311*/, 16, 3);
FS20_SetIntensity(28470 /*Wandlampe Flur Unten Dim FS20 DI20-2 1313*/, 0, 3);
SetValueBoolean(19479 /*Wandlampe Flur Unten Dim FS20 DI20-2 1313\Status*/, false);
FS20_SetIntensity(20344 /*Vitrine Wohnzimmer Dim FS20 DI3 1314*/, 0, 3);
SetValueBoolean(23879 /*Vitrine Wohnzimmer Dim FS20 DI3 1314*/, false);
FS20_SetIntensity(45835 /*Essecke Deckenlampe FS20 DI20-2 1312\Status*/, 0, 3);
SetValueBoolean(38859 /*Essecke Deckenlampe FS20 DI20-2 1312\Status*/, false);
}
//__________________________________________________________________________________________
if ($Lichtszene_Romantik == true)
{
FS20_SetIntensity(37172 /*Tisch Dim FS20 DI20-2 1311*/, 8, 3);
FS20_SetIntensity(28470 /*Wandlampe Flur Unten Dim FS20 DI20-2 1313*/, 8, 3);
FS20_SetIntensity(20344 /*Vitrine Wohnzimmer Dim FS20 DI3 1314*/, 8, 3);
FS20_SetIntensity(45835 /*Essecke Deckenlampe FS20 DI20-2 1312\Status*/, 8, 3);
}
//__________________________________________________________________________________________
if ($Lichtszene_Saubermachen == true)
{
FS20_SetIntensity(37172 /*Tisch Dim FS20 DI20-2 1311*/, 16, 3);
FS20_SetIntensity(28470 /*Wandlampe Flur Unten Dim FS20 DI20-2 1313*/, 16, 3);
FS20_SetIntensity(45835 /*Essecke Deckenlampe FS20 DI20-2 1312\Status*/, 16, 3);
}
//___________________________________________________________________________________________
if ($Lichtszene_Film == true)
{
FS20_SetIntensity(37172 /*Tisch Dim FS20 DI20-2 1311*/, 10, 3);
FS20_SetIntensity(28470 /*Wandlampe Flur Unten Dim FS20 DI20-2 1313*/, 0, 3);
SetValueBoolean(19479 /*Wandlampe Flur Unten Dim FS20 DI20-2 1313\Status*/, false);
FS20_SetIntensity(20344 /*Vitrine Wohnzimmer Dim FS20 DI3 1314*/, 10, 3);
}
//__________________________________________________________________________________________
if ($Lichtszene_Gaeste == true)
{
FS20_SetIntensity(37172 /*Tisch Dim FS20 DI20-2 1311*/, 16, 3);
FS20_SetIntensity(28470 /*Wandlampe Flur Unten Dim FS20 DI20-2 1313*/, 16, 3);
FS20_SetIntensity(20344 /*Vitrine Wohnzimmer Dim FS20 DI3 1314*/, 16, 3);
FS20_SetIntensity(45835 /*Essecke Deckenlampe FS20 DI20-2 1312\Status*/, 16, 3);
}
//________________________________________________________________________________________
Um jetzt ausserhalb der Szenen schalten zu können ist jeder Raum selbst ein Button und Licht kann über EIN/AUS geschaltet werden. In Abhängigkeit ob der Dimmer AN oder AUS ist. Dazu brauch ich den Status
$AnAus = GetValueBoolean(29678 /*Tisch Dim FS20 DI20-2 1311\Status*/);
if ($AnAus == false)
{
FS20_SetIntensity(37172 /*Tisch Dim FS20 DI20-2 1311*/, 16, 0);
}
if ($AnAus == true)
{
FS20_SetIntensity(37172 /*Tisch Dim FS20 DI20-2 1311*/, 0, 0);
SetValueBoolean(29678 /*Tisch Dim FS20 DI20-2 1311\Status*/, false);
}
In Life sieht das so aus: (Ich mach das mal als Link, ist auch von meiner privaten Seite, also keine Werbung oder sonst etwas) sollte das nicht gewünscht sein dann bitte sofort wieder löschen.

