Das ist der zweite Teil zum Thema Philips HUE und openHAB. Nachdem wir die Lampen über die Admin-Sitemap steuern können, erstellen wir jetzt die User-Sitemap.
openHAB 2 Philips HUE Binding Teil 1 – Schritt für Schritt
Das Konzept
Ziel: Lampen pro Raum ein- und ausschalten, alle Lampen auf einmal schalten und die Anzahl der eingeschalteten Lampen anzeigen. Dazu kommen noch Untermenüs für einzelne Lampen und alle Einstellungen.
User-Sitemap anpassen
Wir wechseln zur wohnung_user.sitemap in Visual Studio Code.
Frame Beleuchtung
Zunächst einen neuen Frame mit dem Label Beleuchtung anlegen:
Frame label="Beleuchtung" {
} Gruppen erstellen
Damit wir alle Lampen auf einmal schalten können, brauchen wir eine Switch-Gruppe in der hue.items-Datei:
//Gruppe zum Ein- und Ausschalten aller Lampen
Group:Switch:OR(ON,OFF) gHUE_All_On
//Gruppen pro Raum
Group:Switch:OR(ON,OFF) gHUE_AllBedroom_On
Group:Switch:OR(ON,OFF) gHUE_AllOffice_On
Group:Switch:OR(ON,OFF) gHUE_AllLivingDining_On Alle On-Items den entsprechenden Gruppen unterordnen:
Switch HUE_Bedroom_On "Ein/Aus" (gHUE_Bedroom,gHUE_All_On,gHUE_AllBedroom_On) {channel="hue:0220:00178868dd57:4:brightness"}
Switch HUE_Office_On "Ein/Aus" (gHUE_Office,gHUE_All_On,gHUE_AllOffice_On) {channel="hue:0210:00178868dd57:8:color"}
Switch HUE_OfficeLED_On "Ein/Aus" (gHUE_OfficeLED,gHUE_All_On,gHUE_AllOffice_On) {channel="hue:0210:00178868dd57:7:color"}
Switch HUE_LivingRoom_On "Ein/Aus" (gHUE_LivingRoom,gHUE_All_On,gHUE_AllLivingDining_On) {channel="hue:0210:00178868dd57:3:color"}
Switch HUE_DiningRoom_On "Ein/Aus" (gHUE_DiningRoom,gHUE_All_On,gHUE_AllLivingDining_On) {channel="hue:0210:00178868dd57:5:color"} Sitemap erweitern
Im Beleuchtungsframe die Schalter für die Gruppen anlegen:
Frame label="Beleuchtung" {
Switch item=gHUE_All_On label="Alle Lampen" icon="light"
Switch item=gHUE_AllBedroom_On label="Schlafzimmer Lampen" icon="light"
Switch item=gHUE_AllLivingDining_On label="Wohn-Esszimmer Lampen" icon="light"
Switch item=gHUE_AllOffice_On label="Büro Lampen" icon="light"
} Paper UI – Lampen schalten
Statt Toggle-Schalter lieber EIN/AUS-Buttons — mit mappings ergänzen:
Switch item=gHUE_All_On label="Alle Lampen" icon="light" mappings=[ON="Ein",OFF="Aus"]
Anzahl der eingeschalteten Lampen
Mit [%d] im Frame-Label die Anzahl der eingeschalteten Lampen anzeigen:
Frame item=gHUE_All_On label="Beleuchtung [EIN = %d]" {
Switch item=gHUE_All_On label="Alle Lampen [%d]" icon="light" mappings=[ON="Ein",OFF="Aus"]
Switch item=gHUE_AllBedroom_On label="Schlafzimmer Lampen [%d]" icon="light" mappings=[ON="Ein",OFF="Aus"]
Switch item=gHUE_AllLivingDining_On label="Wohn-Esszimmer Lampen [%d]" icon="light" mappings=[ON="Ein",OFF="Aus"]
Switch item=gHUE_AllOffice_On label="Büro Lampen [%d]" icon="light" mappings=[ON="Ein",OFF="Aus"]
}
Lampen-Untermenü
Untermenü für einzelne Lampen ergänzen:
Frame item=gHUE_All_On label="Beleuchtung [EIN = %d]" {
Switch item=gHUE_All_On label="Alle Lampen [%d]" icon="light" mappings=[ON="Ein",OFF="Aus"]
Switch item=gHUE_AllBedroom_On label="Schlafzimmer Lampen [%d]" icon="light" mappings=[ON="Ein",OFF="Aus"]
Switch item=gHUE_AllLivingDining_On label="Wohn-Esszimmer Lampen [%d]" icon="light" mappings=[ON="Ein",OFF="Aus"]
Switch item=gHUE_AllOffice_On label="Büro Lampen [%d]" icon="light" mappings=[ON="Ein",OFF="Aus"]
Text label="Zu den Lampen" icon="lightbulb" {
Switch item=HUE_Bedroom_On label="Schlafzimmerlampe"
Switch item=HUE_Office_On label="Bürolampe"
Switch item=HUE_OfficeLED_On label="Büro LED-Streifen"
Switch item=HUE_LivingRoom_On label="Wohnzimmerlampe"
Switch item=HUE_DiningRoom_On label="Esszimmerlampe"
}
}
Alle Lampeneinstellungen
Zusätzliche Gruppe gHUE_All_Settings für den Zugriff auf alle Lampeneinstellungen:
//Gruppe alle Lampen-Einstellungen
Group gHUE_All_Settings "Lampeneinstellungen"
//Lampengruppen dieser Gruppe unterordnen (Beispiel Schlafzimmer)
Group gHUE_Bedroom "Schlafzimmer Lampe" <light> (W_Bedroom,gHUE_All_Settings) In der Sitemap ergänzen:
Group item=gHUE_All_Settings icon="settings"
Update: Alarm
Mit dem neueren HUE-Binding-Update werden Blink-Modi direkt im Paper UI angezeigt:
Da die Alert-Items als String definiert sind, würden sie in der Sitemap eigene Mappings-Buttons benötigen. Da ich den Blinkmodus nicht aktiv nutze, kommentiere ich die Alert-Items aus.