Smart Home openHAB 2 Anwesenheitssimulation

Werbung
Hinweis: Diese Seite enthält Werbelinks

Smart Home – openHAB 2 Anwesenheitssimulation

In diesem Beitrag geht es um die Umsetzung einer openHAB 2 Anwesenheitssimulation mittels CalDAV Binding. Ich verwende den Google Kalender zur Schaltung der relevanten Ereignisse in meinem Smart Home. Wie die Einrichtung eines Google Kalender und des CalDAV Binding funktioniert, erfahrt ihr im Beitrag SmartHome – openHAB 2 CalDAV Binding. Die openHAB 2 Anwesenheitssimulation lässt sich bei Bedarf manuell oder auch per Regel mittels openHAB 2 Anwesenheitserkennung aktivieren.

openHAB 2 Anwesenheitssimulation – Kalender einrichten

Wie bereits schon erwähnt habe, trenne ich meine Kalender logisch nach dem Zweck. Ich denke, nun wisst ihr auch warum. Neben dem Müllkalender habe ich mir in Google einen Kalender für die openHAB 2 Anwesenheitssimulation in meinem Smart Home angelegt. Hier werden verschiedene für mich relevante Ereignisse aufgezeichnet. Wie ihr einen neuen Google Kalender anlegt könnt ihr in Kapitel „Google Kalender vorbereiten – Müll – Kalender anlegen“ im Beitrag SmartHome – openHAB 2 CalDAV Binding nachlesen. Richtet den Kalender entsprechend ein und kopiert Euch die Kalender ID aus den Einstellungen des Kalenders.

openHAB 2 Anwesenheitssimulation – CalDAV Command Binding

Ich gehe davon aus, dass ihr sowohl das CalDAV Binding (personal) als auch das CalDAV Binding (command) installiert habt. Falls nicht holt dies entsprechend der Anleitung  in Kapitel „openHAB 2 CalDAV Binding – Installation CalDAV Binding“ des Beitrag SmartHome – openHAB 2 CalDAV Binding nach.

CalDAV Command Binding – caldavio Kalender definieren

Wurden beide Bindings installitert, öffnet im Smart Home Designer erst die Caldavio.cfg.openhab-2-caldav-binding-caldavio-cfg

Hier tragt die folgende Konfiguration ein.

caldavio:PreSim:url=https://www.google.com/calendar/dav/<KALENDER_ID>@group.calendar.google.com/events
caldavio:PreSim:username=<EUER_MAIL_NAME => OHNE_@GMAIL.COM>
caldavio:PreSim:password=<PASSWORT>
caldavio:PreSim:reloadInterval=1
caldavio:PreSim:preloadTime=20000
caldavio:PreSim:disableCertificateVerification=true
  1. Gebt nun bei der URL für <KALENDER_ID> die Kalender ID des neuen Kalenders an.
  2. username ist Euer GMail Name (Mailadresse ohne @GMAIL.COM)
  3. Euer GMAIL Passwort

CalDAV Command Binding – caldavCommand definieren

Nun öffnet direkt die caldavcommand.cfg Datei.

smart-home-openhab-2-anwesenheitssimulation-caldavcommand

Hier tragt ihr den Kalender ein, der für die Ausführung von Kommandos gelesen werden soll. Bei mir heißt dieser PreSim. Daher sieht die Syntax wie folgt aus:

caldavCommand:readCalendars=PreSim

CalDAV Command Binding – caldavPersonal definieren

Abschließend definiert ihr nun die caldavPersonal. Wie ihr diese öffnet sollte mittlerweile klar sein. Tragt hier die folgende Zeile ein.

caldavPersonal:usedCalendars=PreSim

CalDAV Command Binding – Items und Sitemap definieren

Zum Schalten braucht ihr keine Items definieren, aber für einen ersten Test ist es ganz sinnvoll. So könnt ihr nämlich direkt sehen welches Ereignis aktiv ist und somit welches Item geschaltet wird. Eventuell wollt ihr Euch auch bei anderen Kalender die kommenden und aktiven Termine anzeigen lassen z.B. auf einem Tablet im Flur. Auch dies ist entsprechend möglich. Tragt in Eure Items Datei folgende zwei Zeilen ein.

String CalDav_Nxt    "Nxt [%s]"  			<calendar> 	  { caldavPersonal="calendar:PreSim type:UPCOMING eventNr:1 value:NAME" }
String CalDav_Act    "Act [%s]"  			<calendar> 	  { caldavPersonal="calendar:PreSim type:ACTIVE eventNr:1 value:NAME" }

Die erste Zeile zeigt das nächste kommende Ereignis. Die zweite Zeile das aktuell aktive Ereignis. Diese beiden Items könnt ihr in Eure Sitemap einbauen und so später kontrollieren, ob der Zugriff funktioniert. In die Sitemap übernehmt ihr die folgenden Einträge.

Frame {
   Text item=CalDav_Nxt
   Text item=CalDav_Act 
      }

Falls ihr mit Sitemap, Items usw. nichts so recht was anfangen könnt, lest Euch den Beitrag Smart Home – openHAB 2 Konfiguration durch.

openHAB 2 Anwesenheitssimulation – Erster Test

Für einen ersten Test der Simulation könnt ihr Euren Google Kalender öffnen. Legt nun einen Kalendereintrag im richtigen Kalender an.

smart-home-openhab-2-anwesenheitssimulation-kalendereintrag

Im Grunde ist alles egal bis auf den Start und das Ende des Termins. Dies ist der Zeitpunkt, an welchem das Ereignis stattfindet. Weiterhin wichtig ist der Inhalt bei Notizen. Hier kommt folgendes rein.

BEGIN:eg_wz_l_sofa:ON
END:eg_wz_l_sofa:OFF
  • BEGIN definiert was zur Anfangszeit des Termins passieren soll, END entsprechend das Ende
  • Hinter dem Doppelpunkt kommt einfach das Item, welches ihr schalten wollt. Bei mir dies die Wohnzimmerlampe am Sofa.
  • Darauffolgend kommt der Befehl. Bei Begin schalte ich an (ON) und bei Ende aus (OFF)

Ich empfehle Euch aber bei manueller Anlage immer einen entsprechenden Namen für den Kalendereintrag. Ansonsten findet ihr nichts wieder. Ihr wisst auch anhand des Namens nicht welches Item geschaltet wird. Die Items in meiner Sitemap sehen wie folgt aus. Sobald der Kalendereintrag zeitlich erreicht ist, springt der Name Wohnzimmer Sofa von Nxt auf Act und kurz drauf schaltet die Lampe ein.

smart-home-openhab-2-anwesenheitssimulation-sitemap

Diese Kalender könnt ihr auch für manuelle zeitgesteuerte Schaltung verwenden z.B. Gartenbewässerung etc. Ihr könnt von unterwegs einfach Termine auf Eurem Smartphone erstellen.

Aber manuell ist natürlich nicht das was wir unter Automatisierung verstehen. Ich werde in einem der Folgebeiträge auf eine mögliche Automatisierung eingehen.

Smarthome Training and Tutorials
Logo