Achtung: Diese Seite enthält Partner- und Werbe-Links. Daher ist diese Seite im Gesamten als Werbeanzeige zu verstehen!
Ich fand es witzig, in unserer Wohnung eine Art "Party-Modus" in mehreren Variationen zu implementieren. Eine tragende Rolle hierbei spielt das andauernde Iterieren der Farben aller Lampen. Nachfolgend eine Anleitung, wie sich das ständige Durchwechseln aller Birnen - in meinem Fall Birnen von Philips Hue- mit OpenHAB einrichten lässt. In meinem Artikel Mein Smarthome mit OpenHAB 2 habe ich meine zugrundeliegende Installation erklärt.
Um den Farbverlauf zu aktivieren habe ich zwei neue Items angelegt. item_party_modus
für die allgemeine Aktivierung und Deaktivierung sowie item_party_modus_dark
um den Farbverlauf nochmals etwas dunkler schalten zu können.
items/party.items
Switch item_party_modus "Party-Modus" ["Switchable"]
Switch item_party_modus_dark "Party-Modus-Dunkel" ["Switchable"]
Um die Farben meiner Lampen regelmäßig durchzuschalten, habe ich ein Script implementiert, das, sobald es ausgeführt wird, die aktuelle Farbe des Itemsitem_buero_buero_hinter_monitoren_color
ausließt und um einen Wert erhöht. Die Helligkeit der Lampen wird dabei auf 65
oder 30
gesetzt, abhängig davon, ob das zuvor erstellte Itemitem_party_modus_dark
aktiviert oder deaktiviert ist. Das taktgebende Item ( item_buero_buero_hinter_monitoren_color
) kann natürlich frei gewählt werden, muss aber Teil der Party-Modus-Animation sein.
scripts/hue_fade.script
var hsb = item_buero_buero_hinter_monitoren_color.state as HSBType
var DecimalType hue = new DecimalType(hsb.hue.intValue % 360 + 1)
var PercentType sat = new PercentType(hsb.saturation.intValue)
var brightValue = 65;
if (item_party_modus_dark.state == ON) {
brightValue = 30;
}
var PercentType bright = new PercentType(brightValue)
var HSBType newHsb = new HSBType(hue, sat, bright)
sendCommand(item_buero_buero_fitnessgeraet_color, newHsb);
sendCommand(item_buero_buero_hinter_monitoren_color, newHsb);
sendCommand(item_buero_buero_lampe_decke_color, newHsb);
sendCommand(item_buero_buero_unter_tisch_color, newHsb);
sendCommand(item_buero_buero_unter_regal_color, newHsb);
// ...
Abschließend habe ich eine Regel erstellt, die alle zwei Sekunden ausgeführt wird und prüft, ob das Itemitem_party_modus
aktiviert ist. Falls ja, wird das gerade definierte Script mit dem Namen hue_fade
(Dateipfad: scripts/hue_fade.script
) aufgerufen. Im Wiki von ubuntuusers.de findet sich eine schöne Erklärung zu Cronjobs, aus der auch das Format der Ausführungszeiten ( */2 * * * * ?
) genauer beschrieben wird.
rules/party.rules
rule "Party time"
when
Time cron "*/2 * * * * ?"
then
if (item_party_modus.state == ON) {
callScript("hue_fade");
}
end
Anbei ein kleines Video, wie der beschriebene Party-Modus in unserer Wohnung aussieht. Nach spätestens zwei Sekunden - egal ob per OpenHAB-App oder Echo Dot-Routine gestartet - fangen alle Lampen an, gemächlich ihre Farben zu wechseln. Ergänzend dazu kann ich das item_party_modus_dark
- Item zum Abdunkeln aller Lampen durch ein "Alexa, ganz schön hell hier" und "Alexa, ganz schön dunkel hier" aktivieren sowie deaktivieren.