OpenHAB Sitemap Beispiele

Aus Laub-Home Wiki


OpenHAB BasicUI Sitemap Beispiel

Ich möchte hier ein paar hilfreiche Beispiele rund um die openHAB Sitemap sammeln. Die Sitemap von openHAB wird von der ClasicUI, BasicUI und der Mobile App genutzt und bietet die Möglichkeit ähnlich der HABPanel Dashboards eine angepasste Smart Home Schaltzentrale zu bauen. Im Artikel Raspberry Pi mit openHAB als Smart Home Schaltzentrale bin ich bereits auf das Erstellen einer Basic Sitemap eingegangen in der das "Zuhause" abgebildet ist. Die Sitemaps bieten jedoch noch deutlich mehr Funktionen wie zum Beispiel dem Hinzufügen von Warnings, Gruppen, einzelnen Items und Ausgaben zum Beispiel des DWD Bindings.

Basics

Die Konfigurationsdateien für die Sitemaps liegen in openHAB im conf/sitemaps Ordner und müssen den Datei Suffix .sitemap haben. Beispiel:

/opt/openHAB/data/openhab/conf/sitemaps/home.sitemap

Die Sitemaps sind wie folgt aufgebaut, siehe inline Kommentare:

// Definiert den Sitemap- und den Anzeigenamen
sitemap myhome label="MyHome" {
    // Definiert einen Bereich in der Sitemap 
    Frame label="MyHome Übersicht" icon="group"{
        // Einbinden einer Gruppe, so muss man nicht alle Items selbst einpflegen
        Group item=Rolladen_ALL
        // Anzeige des Status / Ausgabe eines Items
        Text item=BadDG_Fenster_Alarm
        // Ähnlich der Gruppe kann man auch eigene Gruppen manuel erstellen
        // via label und icon kann man den diese auch definieren
        Text item=NetatmoRegenmesser_Niederschlag label="Regen" icon="rain" {
            Default item=NetatmoRegenmesser_Niederschlag label="aktuell"
            Default item=NetatmoRegenmesser_KumulierterNiederschlag1h label="kummuliert 1h"
        }
        // Einbinden eines Standard Items.
        // Hier wird das Item so verwendet wie es auch konfiguriert ist
        Default item=Markise_Control
    } 
}

Diese Sitemap bringt dann folgendes Ergebnis:

bei Klick auf 1. Alle Rollläden:

bei Klick auf 2. Regen:


Weitere Informationen findet ihr hier:

Beispiele

Hier noch ein paar Beispiele für:

  • Group item
  • Switch item
  • Default item
  • Text item
  • Text label
    Frame label="Zuhause Übersicht" icon="group"{
        Group item=Lichter_ALL 
        Switch item=Lichter_ALL 
        Group item=Rolladen_ALL 
        Group item=Fenster_ALL 
        Switch item=Rolladen_ALL 
        Switch item=Rolladen_EG
        Switch item=Rollladen_Kinderzimmer
        Default item=Markise_Control
        Default item=Scene_Sonnenschutz
        Group item=Temperatur_Innen_ALL label="Innentemperatur [%.1f °C]"
        Default item=NetatmoHomeOutdoor_Temperature label="Außentemperatur"
        Group item=Humidity_Innen_ALL label="Innenluftfeuchtigkeit [%d %%]"
        Default item=NetatmoHomeGarten_Humidity label="Außenluftfeuchtigkeit"
        Default item=NetatmoWindmesser_Windgeschwindigkeit
        Default item=NetatmoWindmesser_BoenGeschwindigkeit
        Default item=openweathermap_weather_and_forecast_15ac3eed_local_forecastHours03_wind_speed label="Vorschau Böen Geschwindigkeit [%d km/h]"
        Group item=Sonnensensoren_ALL label="Sonnensensoren [%.0f lux]" icon="sun" 
        Text item=NetatmoRegenmesser_Niederschlag label="Regen" icon="rain" {
            Default item=NetatmoRegenmesser_Niederschlag label="aktuell"
            Default item=NetatmoRegenmesser_KumulierterNiederschlag1h label="kummuliert 1h"
            Default item=NetatmoRegenmesser_KumulierterNiederschlag24h label="kummuliert 24h"
        }
        Text item=Online_Online {
            Text item=Online_Latency
        }
        Default item=Anwesenheit
        //Switch item=Echo_Speak_ALL label="Linus?" mappings=[""="OFF", "Linus? Banana?"="Banana", "Linus? Kuchen?"="Kuchen", "Hallo Linus"="Hallo"]
        Group item=Home
        Group item=Watt_ALL label="Stromverbrauch [%.0f W]"
        Text label="CO2 Gehalt" icon="carbondioxide" {
            Text item=NetatmoHomeEsszimmer_CO2
            Text item=NetatmoHomeSchlafzimmer_CO2Gehalt
            Text item=NetatmoHomeBuero_CO2Gehalt
        }
        Text label="Signalstärke" icon="qualityofservice" { 
            Text item=LampeAnbauwand_RSSILevel label="Lampe Anbauwand: [%s]"
            Text item=LampeAnja_RSSILevel label="Lampe Anja: [%s]"
            Text item=LampeEcke_RSSILevel label="Lampe Ecke: [%s]"
            Text item=LampeLinks_RSSILevel label="Lampe Links: [%s]"
            Text item=LampeRechts_RSSILevel label="Lampe Rechts: [%s]"
            Text item=LampeStern_RSSILevel label="Lampe Stern: [%s]"
            Text item=LampeWickeltisch_RSSILevel label="Lampe Wickeltisch: [%s]"
            Text item=WarmWasserPumpe_RSSILevel label="Schalter Warmwasser Pumpe: [%s]"
            Text item=SonnensensorSued_RSSILevel label="Sonnensensor Süden: [%s]"
            Text item=SonnensensorOst_RSSILevel label="Sonnensensor Osten: [%s]"
            Text item=Markise_RSSILevel label="Markise: [%s]"
            Text item=FensterBadDG_RSSILevel label="Bad DG Fenster: [%s]"
            Text item=FensterBadOG_RSSILevel label="Bad OG Fenster: [%s]"
            Text item=FensterKinderzimmer_RSSILevel label="Kinderzimmer Fenster: [%s]"
            Text item=netatmo_NAMain_e1499a1f_70ee505f4ccc_WifiStatus label="Netatmo Esszimmer"
            Text item=netatmo_NAModule1_e1499a1f_0200005f5bc2_RfStatus label="Netatmo Garten"
            Text item=netatmo_NAModule4_e1499a1f_03000059db12_RfStatus label="Netatmo Schlafzimmer"
            Text item=netatmo_NAModule4_e1499a1f_03000059db36_RfStatus label="Netatmo Büro"
            Text item=NetatmoRegenmesser_SignalstRke label="Netatmo Regenmesser"
            Text item=NetatmoWindmesser_SignalstRke label="Netatmo Windmesser"
        }
        Text label="Battery Status" icon="battery" { 
            Text item=netatmo_NAModule1_e1499a1f_0200005f5bc2_BatteryVP label="Netatmo Garten"
            Text item=netatmo_NAModule4_e1499a1f_03000059db12_BatteryVP label="Netatmo Schlafzimmer"
            Text item=netatmo_NAModule4_e1499a1f_03000059db36_BatteryVP label="Netatmo Büro"
            Text item=NetatmoRegenmesser_Batterieladung label="Netatmo Regenmesser"
            Text item=NetatmoWindmesser_Batterieladung label="Netatmo Windmesser"
        }
        Group item=Laub_Raspi4 label="Laub-Raspi4"
    }

Warnungen

Warnungen sollen nur angezeigt werden, wenn diese wirklich aktiv sind. Dafür gibt es den Schalter visibility. Die folgenden Warnings erstelle ich teilweise mittels Regeln. Diese sind hier zu finden:

Ich nutze die folgenden Alarme hier:

  • DWD Unwetter Warnung
  • CO2 Alarm
  • Luftfeuchtigkeit Alarm
  • Strom Verbrauchs Alarm
  • Fenster Geöffnet Alarm
  • Batterie Status Alarm
    Frame label="Warnungen" icon="group"{
        Text item=dwdunwetter_dwdwarnings_4359d4e7_headline1 label="DWD Alarm" icon="siren" visibility=[dwdunwetter_dwdwarnings_4359d4e7_warning1 == ON]{
            Text item=dwdunwetter_dwdwarnings_4359d4e7_headline1 label=""
            Text item=dwdunwetter_dwdwarnings_4359d4e7_severity1 label="Warnstufe: [%s]"
            Text item=dwdunwetter_dwdwarnings_4359d4e7_onset1 label="von: [%1$td.%1$tm.%1$tY %1$tH:%1$tm]"
            Text item=dwdunwetter_dwdwarnings_4359d4e7_expires1 label="bis: [%1$td.%1$tm.%1$tY %1$tH:%1$tm]"
            Text item=dwdunwetter_dwdwarnings_4359d4e7_description1 label=""
            Text item=dwdunwetter_dwdwarnings_4359d4e7_instruction1 label=""
        }
        Text item=CO2_Alarm visibility=[CO2_Alarm == ON]{
            Text item=Esszimmer_CO2_Alarm
            Text item=NetatmoHomeEsszimmer_CO2
            Text item=Schlafzimmer_CO2_Alarm
            Text item=NetatmoHomeSchlafzimmer_CO2Gehalt
            Text item=Buero_CO2_Alarm
            Text item=NetatmoHomeBuero_CO2Gehalt
        }
        Text item=Humidity_Alarm visibility=[Humidity_Alarm == ON]{
            Text item=GF_Humidity_Alarm
            Text item=Humidity_EG label="EG Luftfeuchtigkeit [%.0f %%]"
            Text item=Schlafzimmmer_Humidity_Alarm
            Text item=NetatmoHomeSchlafzimmer_Luftfeuchtigkeit
            Text item=Buero_Humidity_Alarm
            Text item=NetatmoHomeBuero_Luftfeuchtigkeit
        }
        Text item=Strom_Alarm visibility=[Strom_Alarm == ON]{
            Text item=Gesamt_Strom_Alarm
            Text item=DigitalSTROMServer_Total_consumption_wh_label
            Text item=BadDG_Strom_Alarm
            Text item=WattBadDG_Consumption_wh_label
            Text item=BadOG_Strom_Alarm
            Text item=WattBadOG_Consumption_wh_label
            Text item=BadKG_Strom_Alarm
            Text item=WattBadKG_Consumption_wh_label
        }
        Text item=Fenster_Alarm_ALL visibility=[Fenster_Alarm_ALL == ON]{
            Text item=BadDG_Fenster_Alarm
            Default item=FensterBadDG_Contact
            Text item=BadOG_Fenster_Alarm
            Default item=FensterBadOG_Contact
            Text item=Kinderzimmer_Fenster_Alarm
            Default item=FensterKinderzimmer_Contact
        }
        Text label="Batterie Warnung" icon="siren" visibility=[netatmo_NAModule1_e1499a1f_0200005f5bc2_LowBattery == ON, netatmo_NAModule4_e1499a1f_03000059db12_LowBattery == ON, netatmo_NAModule4_e1499a1f_03000059db36_LowBattery == ON, NetatmoRegenmesser_NiedrigerBatteriestatus == ON, NetatmoWindmesser_NiedrigerBatteriestatus == ON ]{
            Text item=netatmo_NAModule1_e1499a1f_0200005f5bc2_BatteryVP label="Netatmo Garten"
            Text item=netatmo_NAModule4_e1499a1f_03000059db12_BatteryVP label="Netatmo Schlafzimmer"
            Text item=netatmo_NAModule4_e1499a1f_03000059db36_BatteryVP label="Netatmo Büro"
            Text item=NetatmoRegenmesser_Batterieladung label="Netatmo Regenmesser"
            Text item=NetatmoWindmesser_Batterieladung label="Netatmo Windmesser"
        }
        Text item=Online_Online visibility=[Online_Online == OFF]
    }