openHAB 2 Philips HUE Binding Teil 2 – Schritt für Schritt

Teilen:
openHAB 2 Philips HUE Binding Teil 2 – Schritt für Schritt

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.

Tutorial

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:

java
Frame label="Beleuchtung" {
      
}

Gruppen erstellen

Damit wir alle Lampen auf einmal schalten können, brauchen wir eine Switch-Gruppe in der hue.items-Datei:

java
//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:

java
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:

java
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

openHAB 2 HUE Binding Teil 2 – Lampen schalten im Paper UI

Statt Toggle-Schalter lieber EIN/AUS-Buttons — mit mappings ergänzen:

java
Switch item=gHUE_All_On label="Alle Lampen" icon="light" mappings=[ON="Ein",OFF="Aus"]
openHAB 2 HUE Binding Teil 2 – Schalter mit mappings

Anzahl der eingeschalteten Lampen

Mit [%d] im Frame-Label die Anzahl der eingeschalteten Lampen anzeigen:

java
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"]
}
openHAB 2 HUE Binding Teil 2 – Anzahl eingeschalteter Lampen

Lampen-Untermenü

Untermenü für einzelne Lampen ergänzen:

java
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"
  }
}
openHAB 2 HUE Binding Teil 2 – Lampen-Untermenü

Alle Lampeneinstellungen

Zusätzliche Gruppe gHUE_All_Settings für den Zugriff auf alle Lampeneinstellungen:

java
//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:

java
Group item=gHUE_All_Settings icon="settings"
openHAB 2 HUE Binding Teil 2 – Lampeneinstellungen openHAB 2 HUE Binding Teil 2 – Lampeneinstellungen Untermenü openHAB 2 HUE Binding Teil 2 – einzelne Lampeneinstellungen

Update: Alarm

Mit dem neueren HUE-Binding-Update werden Blink-Modi direkt im Paper UI angezeigt:

openHAB 2 HUE Binding Teil 2 – HUE Alarm

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.

Video zur Anleitung

Häufige Fragen

Warum brauche ich eine eigene Gruppe für das Ausschalten aller Lampen?
openHAB kann nur Items direkt schalten, keine Gruppen von Gruppen. Die Group:Switch:OR(ON,OFF)-Gruppe aggregiert den Zustand aller untergeordneten Switch-Items und erlaubt auch das gleichzeitige Schalten aller Lampen über ein einziges Item.
Was bedeutet [%d] im Label?
Das [%d] ist ein Platzhalter der bei einer Switch-Gruppe mit OR(ON,OFF) die Anzahl der Items mit Zustand ON anzeigt – also die Anzahl der eingeschalteten Lampen.
Wozu brauche ich Raum-Gruppen, wenn im Raum nur eine Lampe ist?
Der Vorteil zeigt sich erst später: Wenn eine zweite Lampe im Raum hinzukommt, muss diese nur der Raumgruppe untergeordnet werden – der Schalter in der Sitemap funktioniert dann automatisch für beide Lampen.

Hat dir der Artikel gefallen? Teile ihn!