Website-Icon Dein Smart Home Blog

Fibaro Anwesenheit per iPhone, Smartphone oder TV prüfen

Bild @ crissxcross

Fibaro HC2 und iPhone Bild @ crissxcross

Ein Haus kann erst smart sein, wenn es weiß wann seine Bewohner Zuhause sind und wann nicht, um so die Heizung herunter zufahren und Standby Geräte abzuschalten um Strom zu sparen.

Natürlich ist das mit der Fibaro App über die GPS Funktion möglich. Allerdings gehören die Smartphones heutzutage nicht wirklich zu den Akkuwundern und das aktivierte GPS trägt sicher nicht zu einer besseren Akkuleistung bei.

Im folgenden möchte ich dir ein kleine LUA Script zeigen, mit welchem es möglich ist die Anwesenheit von IP basierten Geräten zu überprüfen. Über einen sogenannten PING wird eine Aufforderung an das Netzwerkgerät gesendet. Ist das Gerät im Netzwerk per LAN oder WLAN verfügbar so wird es eine Antwort geben. Diese Antwort kann in einer Variable der Fibaro vermerkt werden um diese dann in Szenen zu verwenden. Wie du Variablen erstellen kannst, habe ich hier schon einmal beschrieben. (Fibaro HCL Tageszeit Variable anlegen)

Es lassen sich über diesen Weg zum einen Smartphones anpingen - sie sind schließlich heutzutage unser Begleiter, so das man herleiten kann wenn das Smartphone nicht im WLAN ist, so bin ich auch nicht Zuhause.

Man könnte aber auch ein Smart TV anpingen. Ist dieser eingeschalten, so wird er antworten. Ist er ausgeschalten und nur im Standby, so wird er nicht antworten. In diesem Fall könnte man eine über Szene das HiFi Board abschalten um Strom zu sparen.

Variable anlegen

Zunächst benötigst du eine Variable, welche später vom System mit dem Anwesenheits-Zustand gefüllt wird. Diese kannst du auf der Weboberfläche des Home Center 2 unter dem Menüpunkt: Steuerungen > Variable Steuerungen -> Variable anlegen.

Fibaro Variable anlegen

Benenne diese frei nach deinen Wünschen. Im Beispiel verwende ich als Namen der Variable "SamsungTVWHZ" welche zwei Zustände annehmen kann, 0 und 1. Ist der Samsung TV eingeschalten und somit erreichbar, wird die Variable auf 1 gesetzt. Ist er ausgeschalten und antwortet nicht, so nimmt diese den Wert 0 an.

Samsung TV anpingen

Um das Script auszuführen, habe ich unter Module > hinzufügen ein neues virtuelles Modul erstellt welches den abstrakten Namen "Anwesenheit" von mir erhalten hat. Das Feld für IP Adresse und TCP Port kann leer bleiben. In der Registerkarte "Erweitert" kannst du nun einen Button hinzufügen und setze den Punkt vor "LUA Code".

Fibaro LUA Script zum PING senden

Als Script verwende folgendes:

Folgendes musst du nun im Script gegen deine Werte und Variablen ersetzen. In der ersten Zeile findest du die IP Adresse welche angepingt werden soll. Ändere diese auf die IP Adresse deines TV Gerätes bzw. auf die IP Adresse des Gerätes dessen Zustand du ermitteln möchtest. Die IP Adresse wird gefolgt vom Port. Im Beispiel ist es der Port 55000 für Samsung Smart TV Geräte.

Danach musst du die Variable definieren, welche du zuvor angelegt hast.

Sowie auch den Ausgabetext, welcher als Antwort unter deinem virtuellen Modul erscheinen wird, um dir zu signalisieren welcher Zustand ermittelt wurde:

Nun ist das virtuelle Modul einsatzbereit. Sobald du den Knopf des virtuellen Gerätes drückst, wird das Script den Ping senden und die Antwort in die Variable schreiben. Unter dem virtuellen Modul wird der Log Text ausgegeben.

Fibaro virtuelles Modul prüft Netzwerkstatus von IP Geräten

Fibaro - Anwesenheit per iPhone prüfen.

Seit der iOS 6 Firmware, schaltet das iPhone im Lockscreen das WLAN Modul ab. Dadurch reagiert das iPhone nicht auf einen Ping, auch wenn es in Reichweite des WLAN ist. Dennoch ist es möglich zu prüfen ob das iPhone Zuhause ist. Den Workaround hatte ich schon einmal am Beispiel mit der Homematic beschrieben (Homematic Anwesenheit per Smartphone oder iPhone prüfen). Das iPhone muss also durch eine Pushnachricht aufgeweckt werden, danach kann der Ping durchgeführt werden.

Hierzu kannst du im Menü des Fibaro Home Center unter dem Menüpunkt: Steuerungen > Meldugen eine neue Nachricht anlegen. Titel und Inhalt der Nachricht kann frei vergeben werden. Nach einem Klick auf speichern, steht diese Message nun auch als Option in Szenen zur Verfügung.

es können mehrere Mitteilungen angelegt werden

Weiterhin benötigst du auch für das iPhone eine neue Variable, sowie einen neuen Button im eben erstellen virtuellen Modul. Das Script bleibt gleich. Auch hier musst du wieder die IP Adresse auf die deines iPhone anpassen, als Port verwende 62078. Vergesse nicht die Variable im Script anzupassen.

Fibaro LUA Script pingt iPhone an

In der Szene, kann nun vor dem Auslösen des virtuellen Moduls eine Pushnachricht abgesetzt werden. Die zuvor angelegte Nachricht kann ebenso wie der Empfänger ausgewählt werden.

Fibaro - Szene sendet Pushnachricht und aktiviert virtuelles Modul

Als Auslöser empfiehlt sich hier weniger ein Zeitintervall, denn das wird sicher etwas nervig wenn jede Minute eine Push Mitteilung kommt. Dies lässt sich über einen Tür / Fensterkontakt lösen. Sobald die Haustür geöffnet wird, startet diese Szene. Das ganze solltest du zeitverzögert machen, denn wenn du das Haus verlässt, musst du erstmal aus der Reichweite deines WLANs gehen. So kannst du das versenden der Pushnachricht sowie das ausführen des PING (drücken der Taste des virtuellen Moduls) in der Szene über die Eingabe der Zeit in Sekunden im roten Feld verzögern.

Das virtuelle Modul wird auch hier die Variable füllen, je nachdem ob du das Haus verlässt oder zurück kehrst. Somit ließe sich die Heizung je nach Anwesenheit regeln. Das Licht einschalten sobald man nach Hause kommt, ist mit dieser Prüfung noch nicht perfekt, da die Pushnachricht und der Ping auch zeitverzögert gesendet werden, wenn du nach Hause kommst. Dafür ist es leider zu träge.

Sicher kann der eine oder andere von euch das ganze komplett auf LUA bauen. Die Challenge ist hiemit freigegeben :-)

Die mobile Version verlassen