Wenn es draußen dunkel wird… OpenHab SmartHome Server Tutorial – Teil 3

Sonnenuntergang

Obwohl es natürlich praktisch ist, Licht zusätzlich per Weboberfläche, App etc. schalten zu können (siehe Teil 2), hat das noch nicht viel mit „smart“ zu tun. Interessant wird es, wenn sich das SmartHome intelligent an die aktuelle Situation anpasst – z.B. wenn sich das Licht automatisch einschaltet, sobald es draußen dunkel wird. Darum soll es in diesem Artikel gehen.

First things first: Wann wird es denn eigentlich dunkel?

Der erste Impuls, das Licht zu einer bestimmten Zeit zu schalten, stellt sich bei näherer Betrachtung als ungünstig heraus – schließlich ändert sich der Zeitpunkt des Sonnenuntergangs im Jahresverlauf deutlich. Man kann zu diesem Zwecke natürlich einen Dämmerungssensor einsetzen – aber es geht noch einfacher: Mit dem AstroBinding für OpenHab. Dieses Binding stellt basierend auf dem jeweiligen Standort und Datum vielfältige Informationen zu Sonnenaufgang, Sonnenuntergang, Mondzyklus usw. zur Verfügung. Mit diesen Informationen kann man seine  SmartHome Funktionen deutlich verbessern.

Installation des Bindings

Um das Binding zu installieren, wählt man es auf der Weboberfläche von OpenHab einfach unter dem Menüpunkt „AddOns“ aus:

OpenHab Astro Binding installieren

Nach der Installation muss ein „Thing“ angelegt werden. Hierzu wechselt man auf „Configuration“ und dann auf „Things“ und klickt auf das blaue Plus-Icon. Dann weiter auf „Astro-Binding“, „Add manually“ und „Astro Sun Data“

AstroBinding Thing hinzufügen

Auf dem folgenden Screen müssen dann die eigenen Geo-Koordinaten eingetragen werden, damit das Binding für den aktuellen Standort die richtigen Zeiten ermitteln kann:

Astro.Binding Geo-Koordinaten

Diese Koordinaten kann man sich z.B. bei Google Maps heraussuchen. Das muss jetzt nicht zwingend die eigene Straße sein – innerhalb der gleichen Stadt wird der Zeitpunkt des Sonnenuntergangs nicht wesentlich abweichen. Also einfach die eigene Stadt suchen und dort irgendwo hin klicken. Google zeigt dann ein kleines Fenster mit Informationen zum ausgewählten Ziel an – und hier stehen auch die Koordinaten:

Nach der Einrichtung findet man das Astro-Sun-Data-Thing unter „Configuration“->“Things“. Hier gibt es unter „Sunset“ ein Range-Event, welches beim Sonnenuntergang getriggert wird.

AstroBinding Items

Hier kann man nun noch auf den Stift klicken, um einen Offset einzustellen – z.B. 30 Minuten vor Sonnenuntergang:

AstroBinding Offset

Mit Szenen arbeiten

Bevor es weiter geht, sollte man sich ein paar Gedanken zur Organisation seines SmartHomes machen. Natürlich lassen sich alle Geräte einzeln schalten – auch über das Sonnenuntergangs-Event (dazu gleich mehr). Vermutlich macht es aber Sinn, bestimmte Geräte in Gruppen oder Szenen zusammenzufassen. So könnte z.B. der Sonnenuntergang die Szene „Abend“ aktivieren. In dieser Szene werden alle Geräte vorbelegt, die üblicherweise Abends verwendet werden: Stimmungslichter, evtl. Musik usw. Die Szene „Abend“ bleibt natürlich nicht zwingend bis zum nächsten Morgen aktiv, sondern könnte z.B. durch die Szene „Schlafenszeit“ abgelöst werden, in der dann via Timer nach einer bestimmten Zeit alle Geräte abgeschaltet werden usw. Hier sind der Kreativität keine Grenzen gesetzt.

Um besagte Szenen umzusetzen, sind ein paar Anpassungen an den Konfigurationsdateien von OpenHab erforderlich. Die Konfiguration von OpenHab befindet sich in einem Ordner auf dem Raspberry Pi, auf den über den Windows-Explorer zugegriffen werden kann (über eine Samba-Freigabe). Hierzu öffnet man den Windows-Explorer und trägt in die Adressleiste folgende Adresse ein:

\\openhabianpi

Openhabian im Explorer öffnen

Hier findet sich im Ordner openHAB-conf ein Unterordner items, in dem wir eine Datei „default.items“ anlegen. Der Name ist eigentlich egal – wichtig ist die Dateiendung „.items“ (wenn dort als Typ: „Textdokument“ steht, sind die Dateiendungen im Explorer ausgeblendet – Dann auf „Organisieren“->“Ordner-und Suchoptionen“->“Ansicht“ klicken und den Haken bei „Erweiterungen bei bekannten Dateitypen ausblenden“ deaktivieren).

Items Datei

In diese Datei wird nun Folgendes eingetragen:

Number   SceneSelect          "Szenenauswahl"

OpenHab aktualisiert sich automatisch, wenn die Konfigurationsdateien geändert werden. Das neue Item „Szenenauswahl“ sollte also nach dem Speichern direkt in der Weboberfläche angezeigt werden:

OpenHab Items

Bei diesem neuen Item handelt es sich um einen Merker, über den die aktuell ausgewählte Szene in Form einer Zahl gespeichert bzw. geändert werden kann.

Programm erstellen

Statt dem Ordner „items“ öffnet man nun den Ordner „rules“ im OpenHab Konfigurationsverzeichnis und legt dort eine Datei „default.rules“ an. Die Datei bekommt den folgenden Inhalt:

rule "Szenenauswahl"
when
  Item SceneSelect received command 
then
  
  if (receivedCommand==3) {    
    //Abend
    WzDeckenleuchte.sendCommand(ON);
              
  } else {
    WzDeckenleuchte.sendCommand(OFF);      
  }

end

Wenn sich also das Item „SceneSelect“ ändert, wird geprüft welche Zahl im Item steht. Bei einer 3 wird das Item mit dem Namen „WzDeckenleuchte“ eingeschaltet, sonst wird es ausgeschaltet.

Um zu testen, ob das auch funktioniert, machen wir noch einen Zwischenschritt – nämlich die Erstellung einer Sitemap. Sitemaps dienen als konfigurierbare Benutzeroberflächen, z.B. für das OpenHab Basic UI (http://openhabianpi:8080/basicui/app) – oder auch für die Smartphone App.

Hiezu wird im Ordner „sitemaps“ die Datei default.sitemap erstellt:

sitemap default label="My smart Home" {
  Selection item=SceneSelect label="Szenenauswahl" mappings=[0="Keine", 1="Aufstehen", 2="Tag", 3="Abend", 4="Schlafenszeit"]
}

Dadurch wird in der Benutzeroberfläche eine Auswahlbox angezeigt, die basierend auf den Einträgen unter „mappings“ die richtige Zahl in das Item „SceneSelect“ schreibt.

OpenHab Basic UI

Wenn das soweit funktioniert, und sich das Licht bei Auswahl von „Abend“ ein- sonst ausschaltet, braucht nun eigentlich nur noch das AstroBinding mit dem SceneSelect Item verbunden werden. Also die folgende Ergänzung in die default.rules Datei hinzufügen (natürlich mit eurer eigenen Channel-Bezeichnung – zu finden in euren Thing-Eigenschaften im Paper UI)

rule "Sonnenuntergang"
when
    Channel 'astro:sun:86d9a348:set#event' triggered START 
then
    SceneSelect.sendCommand(3)
end

Fertig! Ab jetzt wird im SmartHome eine halbe Stunde vor Sonnenuntergang automatisch die Szene „Abend“ aktiviert.

Instagram

  • 🌞☀️ Die neue DIY-Solar-Powerstation ist pünktlich zum Frühling fertig und einsatzbereit! 💡Herzstück ist eine 12V 100AH Batterie von @eco_worthy die mir satte 1200Wh liefert. Geladen wird mit dem zuverlässigen MPPT-Laderegler von @victron_energy direkt via Solarpanel. USB und 12V Zigarettenanzünder-Anschluss sind direkt verbaut - 230V Wechselrichter und zusätzliche Batterie-Erweiterung können über den NATO-Stecker angeschlossen werden. Die ganze Power ist mobil und passt in eine handliche Werkzeugkiste! 🛠️💼 #SolarPower #Basteln, #DIYProjekt, #SolarPowerStation #Victron #EcoWorthy #MobileEnergie #OffGridLiving #RenewableEnergy #Sustainability #PowerStation #SolarEnergy #OffGrid
  • Mit unserem neuen CO2 Sensor können wir endlich auf einem Blick sehen, ob die Luftqualität stimmt 🙂  #CO2Sensor #Luftqualität #Prototyping #DIY #MakerCommunity #SmartHome #Elektronik  #SmartGadgets #makerlife #diyidea #3dprint #3ddruck
  • Nach einigen Testdrucken und Anpassungen des Gehäuses in #openscad ist der erste CO2 Sensor fertig🔥 Integration ins #smarthome bzw in #homeassitant via #mqtt läuft auch 🏠 Jetzt sieht man auf einem Blick, ob man lüften sollte - bzw lässt sich das nun natürlich auch automatisieren 😏  #CO2Sensor #Luftqualität #Prototyping #DIY #MakerCommunity #Elektronik  #SmartGadgets #makerlife #diyidea #3dprint #3ddruck
  • Teste gerade verschieden Gehäusekonzepte für den CO2 Sensor. Erstmal nur die Basis - da kommt aber später noch ein LED Indikator, damit man auf einem Blick sieht, wie die Luftqualität ist. Und natürlich alles ins Smarthome integriert 🏠 Wichtig ist jetzt aber vor allem, dass genug Luft an den Sensor kommt...  #CO2Sensor #Luftqualität #Prototyping #DIY #MakerCommunity #SmartHome #Elektronik  #SmartGadgets #makerlife #diyidea #3dprint #3ddruck
  • Neues Spielzeug in der Werkstatt! 🛠 Heute teste ich die ENS160 / AHT2x CO2-Module für smarte Luftqualitätsmessungen. 🔍 Bislang sieht das sehr vielversprechend aus! #Elektronik #Smarthome #Luftqualität #CO2Sensor #Maker #DIY"
  • One of my biggest 3d printing projects of 2023... 5kg PLA filament, 1.5l resin, countless hours of printing and painting. The modular dungeon system from dungeonblocks is finally finished 🥳  #tabletop #dungeon #3dprintableterrain #dndterrain #dungeonblocks #3dprint #dnd  #dungeonsanddragons #gaming
  • Die Zeppelin-Lampe hängt :) Da ich kleben musste (die Stahlbeton-Decke war hartnäckiger als gedacht) hat das alles deutlich länger gedauert, aber mit dem Ergebnis bin ich sehr zufrieden. Die Beleuchtung kann via Fernbedienung gesteuert werden, der Infrarot-Empfänger ist in der Gondel des Zeppelins verbaut. War ein schönes Projekt und hat echt Spaß gemacht... auch wenn ich mir mehr als einmal die Finger zusammengeklebt habe :P⁠
⁠
The Zeppelin lamp is ready :) Because I had to glue (the reinforced concrete ceiling was more stubborn than I thought) it took a lot longer, but I am very satisfied with the result. The lighting can be controlled by remote control, the infrared receiver is built into the gondola of the Zeppelin. It was a nice project and was really fun... even though I glued my fingers together more than once :P⁠
⁠
#werkstatt #workshop #maker #lightning #electronics #propmaking #arduino #rgb #rgblights #makerspace #makersgonnamake #werkstattliebe #mancave #engineering #handmade #soldering #kellerwerkstatt #diy #hackspace #basteln
  • Baue gerade an einer steampunk-artigen Zeppelin-Deckenleuchte. Der Korpus besteht aus gelötetem 2,5mm Kupferdraht, bespannt mit einem leicht transparenten, leinenfarbenen Stoff. Heck, Nase und Propeller sind 3d-gedruckt und mit Airbrush mit Messing-Farbe. Jetzt noch die RGB-LEDs einbauen und das ganze an die Decke schrauben :)⁠
⁠
Building a steampunk-like Zeppelin ceiling light.  The body is made of soldered 2.5mm copper wire, covered with a slightly transparent, linen-coloured fabric. Tail, nose and propeller are 3d-printed and airbrushed with brass paint. Next step is to install the RGB-LEDs and screw the whole thing to the ceiling :)⁠
⁠
#rgbled #steampunk #3dprint #3dprinted #diy #doityourself⁠
#werkstatt #workshop #maker #makerspace #soldering #makersgonnamake #werkstattliebe #mancave #handmade #diy #einfachmachen #basteln

Neue Beiträge