Seid ihr auch schon einmal so wie in diesem Video von euerer Wohnung begrüßt worden? Anfangs war es nur eine Spielerei. Ich wollte einfach schauen, ist so etwas machbar, wenn ich Sensoren, Automatisierungen und Geräte geschickt kombiniere? Inzwischen habe ich mich irgendwie dran gewöhnt und es erstmal so gelassen.
Heute möchte ich ein wenig auf die technischen Hintergründe eingehen. Vielleicht regt der Artikel ja auch dazu an, etwas ähnliches mal selber zu realisieren.
Auslöser
Ein großes Problem an dieser Routine war, wie löse ich sie überhaupt aus? Bloße Anwesenheit, die mein Smart-Home-Hub anhand von Smartphones oder Schlüsselanhängern erkennen kann, ist nicht geeignet. Die Anwesenheit wird in der Regel bereits festgestellt, wenn ich noch vor dem Haus bin. Also würde eine Begrüßung viel zu früh starten. Das bloße Öffnen der Tür, sie ist natürlich mit einem Sensor versehen, geht ebenfalls nicht. Die Routine würde dann bei jedem Reinkommen auslösen, also auch, wenn ich einfach nur zum Briefkasten gehe.
Die Lösung war ein virtueller Schalter. In meinem Smartthings-System, auf das mein Hub basiert, kann ich diese erzeugen. Sie verhalten sich wie physikalische Schalter, existieren aber nur in Software. Ich verwende eine Reihe solcher Schalter, einen davon habe ich “Home” genannt. Er wird ausgeschaltet, sobald das Smart-Home-System keine Bewohner mehr registriert (wiederum anhand von Smartphones oder Schlüsselanhängern). Das Öffnen der Haustür schaltet ihn wieder ein. Und nur, wenn sich dieser Schalter von “aus” nach “ein” ändert, startet die im Video gezeigte Routine.
Routine
Die Routine besteht aus zwei webCoRE-Pistons. Was das genau ist, habe ich im Abschnitt “Smart-Home-Zentrale” in der Beschreibung meines Smart-Homes erläutert. Die Pistons werden durch den Home-Schalter getriggert.
Piston Nummer 1 kümmert sich um die Beleuchtung. Befinden wir uns im Zeitraum zwischen Sonnenuntergang und nächsten Sonnenaufgang wird das Licht im Flur und einem angrenzenden Raum eingeschaltet. Das Licht im Flur wird nach fünf Minuten wieder ausgeschaltet, da ich mich bei Ankunft immer nur kurz dort aufhalte. Alternativ könnte hier natürlich auch ein Helligkeitssensor ausgelesen werden.

Piston Nummer 2 ist viel komplexer und für die Ansage zuständig. Eine ausführliche Beschreibung würde den Umfang dieses Artikels leider sprengen. Im wesentlichen wird ein PHP-Skript auf meinem Raspberry Pi aufgerufen. Pistons können nämlich HTTP-Aufrufe im lokalen Netz machen, was ich für viele Dinge nutze. Zuvor werden die genauen Aufruf-Parameter für das PHP-Skript ermittelt. Denn mein Piston kann auf Smart-Home-Daten zurückgreifen (z.B. wer anwesend ist), die das PHP-Skript nicht ermitteln kann.
Das PHP-Skript greift dann über die Netatmo-API (API = Programmierschnittstelle) auf Daten wie Temperatur und Luftqualität zurück. In einem zweiten Schritt startet es dann die Sprachausgabe über die Sonos-API. Deren Lautstärke ist von der Uhrzeit abhängig, um zu später Stunde niemanden zu stören.
Ohne Programmierkenntnisse ist sowas leider nicht zu realisieren. Aber es ist schon spannend, diese dann auch mal zu Hause einzusetzen ;-).
Ganz schön warm bei Dir…
Das Video ist von Ende August. Bin leider erst diese Woche zum Schreiben gekommen…
Sehr schöne Idee!
Das bringt die Smarthome-Phantasien richtig in Gang!
Gibt es einen Grund, wieso du den Umweg über ein PHP-Skript gehst?
Sowas lässt sich auch 1A direkt in webCoRE realisieren und dann über Echo Speaks auf allen oder nur ausgewählten Echos ausgeben.
Danke für das Feedback! Für das PHP-Skript gibt es zwei Gründe. Zum einen kenne ich mich mit PHP sehr gut aus und komme schnell ans Ziel, weil ich fast jeden Tag beruflich damit zu tun habe. Zum anderen macht es noch ein wenig mehr als ich beschrieben habe, z.B. mich – ebenfalls per Sprachausgabe – an Dinge zu erinnern, die ich zuvor unterwegs oder im Büro über einen iOS-Kurzbefehl in einer Textdatei hinterlegt habe.