Beleuchtung komplett ausschalten im Erdgeschoss

Hallo zusammen,

ich habe mir ein Skript gebaut, mit dem ich jede Beleuchtung im Erdgeschoss ausschalten möchte. Dabei möchte ich sämtliche Timer beenden und deaktivieren die evtl. durch andere Skripts gestartet wurden. Das Skript wird durch Betätigung eines Fibaro Switch (Z-Wave) ausgelöst, welches durch ein Ereignis einer bestimmten Variablenaktualisierung (Scene) getriggert wird.
Mein Skript dazu sieht wie folgt aus:

// Skript 'Erdgeschoss - letzte Person' wird ausgeführt
<?																																											// 20180203 1426 BS
SetValue(29358 /*[Erdgeschoss\Lichtszenen\Lichtszene]*/, false);

// Erdgeschoss Büro

// Erdgeschoss Esszimmer
HUE_SetValues(23335 /*[Philips HUE Lights\Hue color lamp 3]*/, array('STATE' => false));																					// Hue Light im Esszimmer wird ausgeschaltet
HUE_SetValues(54901 /*[Philips HUE Lights\Hue iris 1]*/, array('STATE' => false));																							// Hue Light im Esszimmer wird ausgeschaltet


// Erdgeschoss Flur
IPS_SetScriptTimer(21769 /*[Erdgeschoss\Flur\Skripte\Flur Bewegung]*/,0);																									// SkriptTimer wird für Intervall 1 beendet
IPS_SetScriptTimer(27947 /*[Erdgeschoss\Flur\Skripte\Flur Lichtszene\Flur Lichtszene Intervall 1]*/,0);																		// SkriptTimer wird für Intervall 1 beendet
IPS_SetScriptTimer(29663 /*[Erdgeschoss\Flur\Skripte\Flur Lichtszene\Flur Lichtszene Intervall 2]*/,0);																		// SkriptTimer wird für Intervall 2 beendet
SetValueString(44322 /*[Erdgeschoss\Flur\Flur Bewegung]*/,"manuell");																										// Variable wird auf "manuell" gesetzt
ZW_SwitchMode(37172 /*[Erdgeschoss\Flur\Zwave Fibaro Wallplug 02 (NodeID 074)]*/,false);																					// Beleuchtung Kommode im Flur wird ausgeschaltet
HUE_SetValues(19749 /*[Philips HUE Lights\Hue color spot 1]*/, array('STATE' => false));																					// Hue Light im Flur wird ausgeschaltet		
HUE_SetValues(38746 /*[Philips HUE Lights\Hue color spot 2]*/, array('STATE' => false));																					// Hue Light im Flur wird ausgeschaltet
ZW_DimSet(28663 /*[Erdgeschoss\Flur\Zwave Qubino Dimmer 01 (NodeID 026)]*/,0);  																							// Flurlicht wird ausgeschaltet 0%

// Erdgeschoss Küche
IPS_SetScriptTimer(24403 /*[Erdgeschoss\Küche\Skripte\Kueche Lichtszene\Kueche Lichtszene Intervall 1]*/,0);																// SkriptTimer wird für Intervall 1 beendet
IPS_SetScriptTimer(20300 /*[Erdgeschoss\Küche\Skripte\Kueche Lichtszene\Kueche Lichtszene Intervall 2]*/,0);																// SkriptTimer wird für Intervall 2 beendet
IPS_SetScriptTimer(13997 /*[Erdgeschoss\Küche\Skripte\Kueche Lichtszene\Kueche Lichtszene Intervall 3]*/,0);																// SkriptTimer wird für Intervall 3 beendet
IPS_SetScriptTimer(17599 /*[Erdgeschoss\Küche\Skripte\Küche Bewegung]*/, 0);																								// ScriptTimer für Bewgung wird auf 0 gesetzt
SetValueString(43950 /*[Erdgeschoss\Küche\Küche Bewegung]*/,"manuell");																										// Variable wird auf "manuell" gesetzt
SetValueBoolean(42078 /*[Erdgeschoss\Küche\Küche Bewegung Switch]*/,false);																									// VAriable wird auf 'false' gesetzt			
ZW_SwitchMode(26995 /*[Erdgeschoss\Küche\Zwave Fibaro Releay 2xSwitch 01 (NodeID 077)\Zwave Fibaro Releay 2xSwitch 02 Niesche (NodeID 077) (SubID 1)]*/,false); 			// Nischenbeleuchtung wird ausgeschaltet
ZW_DimSet(18679 /*[Erdgeschoss\Küche\Zwave Fibaro Dimmer 01 Deckenbeleuchtung rechts (NodeID 019)]*/,0);  																	// Licht rechte Seite wird ausgeschaltet
ZW_DimSet(16216 /*[Erdgeschoss\Küche\Zwave Fibaro Dimmer 02 Deckenbeleuchtung links (NodeID 021)]*/,0);  																	// Licht linke Seite wird ausgeschaltet (0%)
ZW_SwitchMode(51699 /*[Erdgeschoss\Küche\Zwave Fibaro Releay 2xSwitch 01 (NodeID 077)\Zwave Fibaro Releay 2xSwitch 03 Arbeitsplatte (NodeID 077) (SubID 2)]*/, false);		// LED-Beleuchtung unter der Arbeitsplatte wird ausgeschaltet
ZW_SwitchMode(58154 /*[Erdgeschoss\Küche\Zwave Fibaro Wallplug 01 (NodeID 037)]*/, false);  																				// Regalbeleuchtung an der Kaffeebar wird ausgeschaltet

// Erdgeschoss Wohnzimmer
ZW_SwitchMode(22641 /*[Erdgeschoss\Wohnzimmer\Zwave Fibaro Wallplug 01 (NodeID 005)]*/, false);																				// Licht in der Schrankwand wird ausgeschaltet	
HUE_SetValues(23836 /*[Philips HUE Lights\Hue iris 3]*/, array('STATE' => false));																							// Hue Light im Wohnzimmer wird ausgeschaltet
HUE_SetValues(28053 /*[Philips HUE Lights\Hue iris 4]*/, array('STATE' => false));																							// Hue Light im Wohnzimmer wird ausgeschaltet
HUE_SetValues(16561 /*[Philips HUE Lights\Hue color lamp 4]*/, array('STATE' => false));																					// Hue Light im Wohnzimmer wird ausgeschaltet
HUE_SetValues(58433 /*[Philips HUE Lights\Hue lightstrip plus 1]*/, array('STATE' => false));																				// Hue Light im Wohnzimmer wird ausgeschaltet
?>

Das Ergebnis ist mittelprächtig, da nicht immer alle Leuchten ausgehen.

Geht das auch irgendwie anders/einfacher?

Warum nicht immer alles ausgeht kann ich nicht beantworten, aber zumindest die Hue Lampen kannst Du ja alle in eine Gruppe packen und dann mit einem einzigen Befehl ausschalten.


HUEGroup_SetValue($groupId, $key, $value);

SymconHUE

Bei Zwave weis ich persönlich nicht ob da Pausen eingehalten werden müssen oder ob das geht alles nacheinander abzuschalten geht.

Ja, mittelprächtig… denn aus meiner Sicht zu pflegeintensiv, da du so etwas immer anpassen musst.

Ich habe es folgendermaßen gemacht:
Zuerst habe ich die Aktoren und deren „Verteilung“ im Haus eh getrennt abgelegt (eine Kategorie Geräte, eine mit Etagen z.B.), dann habe ich einfach ein Script, das die Geräte schaltet…

z.B. so:

Geräte

  • Lichter
    • Licht Wohnzimmer
    • Licht Esszimmer
    • Licht Schlafzimmer
      Etagen
  • Erdgeschoss
    • Wohnzimmer
      • Licht
      • Steckdose 1
    • Esszimmer
      • Licht
  • Obergeschoss
    • Schlafzimmer
      • Licht

und jetzt hab ich ein immer gleiches Script auf den Ebenen, die ich möchte, das geht rekursiv alle Links (eines bestimmten Typen) durch und schaltet sie ein oder aus… das gleich kannst du dann auch mit Timern machen…
Wenn dann im Erdgeschoss ein Licht dazu kommt, hänge ich einen Link auf das Licht in Geräte ins Ergeschoss, fertig.

mmh, ist in der Theorie vielleicht schwer zu erklären…

Die Erste Zeile gleich löschen. Damit hast du immer (Fehler)Meldungen im Log.

Kommentare mit // funktionieren nur innerhalb der PHP-Tags.

Michael