Habe gestern versucht eine Anwesenheitserkennung mittels LUA Script, wie hier im Blog beschrieben, zum Laufen zu bringen.
Leider ohne Erfolg!
Habe die Variable “EviNexus” angelegt und mein Script sieht so aus:
if errorCode == 0
then
fibaro:setGlobal(“EviNexus”, “1”);
fibaro:log(“Evi ist zu Hause”);
else
fibaro:setGlobal(“EviNexus”, “0”);
fibaro:log(“Evi ist abwesend”);
end
Vom Windows PC kann ich das Handy anpingen - auch ohne Port.
Aus diesem Script heraus erhalte ich immer: “Evi ist abwesend”
Das Gleiche habe ich auch bei einem anderen Smartphone und bei meinem LG Smart TV mit LAN.
Muss ich noch was beachten?
Wenn das dann funktioniert, wie baue ich das dann in eine Szene ein, damit mein Haus “schlafen geht”, wenn keiner zu Haue ist?
mit dem Skript pingst du nicht, du fragst unter der IP einen offenen Port an. Diesen Port benötigst du zwingend, da ein reiner Ping nicht funktioniert. Am besten scannst du dein Netz mal mit einem Portscanner.
Wenn das funktioniert, dann kannst du eine Szene, welche durch die Variable getriggert wird, schreiben.
Das habe ich auf www.domoticz.com gefunden.
Ich habe allerdings (noch) zu wenig Ahnung von LUA, um zu verstehen, ob das in FIBARO HC2 auch funktionieren würde…
commandArray = {}
ping_success=os.execute(‘ping -c1 192.168.1.156’)
if ping_success then
print(“ping success”)
commandArray[‘Ping’]=‘On’
else
print(“ping fail”)
commandArray[‘Ping’]=‘Off’
end
Mit der app, WiFi ADB kannst du den Port 5555 öffnen wenn du dich im bekannten Wlan befindest.
Der Nachteil, sie benötigt root damit das Automatisch passiert.
Ich hatte das gleiche Problem das ich keinen Port offen hatte, weder beim nexus4,oder One plus One und two.
Habe mein Nexus5 gerootet und ADB kann in den Entwicklereinstellungen über WLAN eingestellt werden.
Werde mal versuchen, ob das auch ohne die App funktioniert.
Hoffe nur, dass ich damit keine Sicherheitslücke einbaue…
Der Nachteil wenn du es über die Entwicklereinstellungen machst, ist das der Port permanent offen ist. Über die App nur wenn du auch im deinem bekannten wlan bist. Da du ja root hast ist das sicherer.
Hab das selbe Problem mit meinem OnePlus One gehabt, hab dann aufgegeben, da ich nicht mehr Rooten möchte. Die Zeit ist vorbei, hab das ständig bei meinem Samsung Galaxy S2 gemacht, fast Wöchentlich ne neue ROM. Hab aber mittlerweile die Zeit nicht mehr dazu und ich brauch ein funktionierendes Handy…
Meine Lösung sieht so aus (geht aber leider erstmal nur für Anwesenheit, wenn man keinen Remotezugriff erlaubt, da VPN noch nicht mal so eben gestartet werden kann…)
App LLama installiert. Kann wirklich ne ganze Menge auf dem Handy tun, aber benötigt auch so gut wie jedes Recht…
App Imperihome installieren. Alternative zu HC2 mit der hier entscheidenen Funktion.
Szene erstellen die Variable auf Home setzt
Eine Regel in Llama erstellen mit Bedingung = ins Heimwlan einwählen und Ereignis Schnellzugriff Imperihome Szene + Home-Szene Auswählen => Fertig
Meine Lösung klingt recht ähnlich nur mit Hilfe von Tasker.
Wenn im Heimwlan dann mit dem Rest Task Plugin über die API die Szene getriggert, die die Variable setzt das ich zuhause bin.
Wenn ich nicht mehr im Heimwlan bin wird eine zweite Szene getriggert, die die Variable zurück setzt.
So realisiere ich zum Beispiel auch meinen Wecker; Wenn Wecker klingelt dann Szene starten, die Licht und Musik anmacht.
Nie Probleme gehabt.
LG
@Zero-G: das würde aber ohne Remotezugriff bzw. Portweiterleitung im Router und fester IP aber auch nicht funktionieren, oder? Denn wenn ich nicht im WLAN bin, dann habe ich nur über VPN Zugriff auf die HC2. Sonst komme ich nicht ran. Kann Tasker auch nen VPN starten?
@All: Meine Blockszene für Abwesenheit klappt leider auch nicht so richtig. Hat da jemand eine LUA-Vorlage oder Blockszene, die ordentlich funktioniert?
Das prüft die Anwesenheit der MAC Adresse im Netzwerk. Bisher läuft es zuverlässig. Allerdings würde ich gerne den automatischen Ablauf raushabe und die Abfrage nur machen lassen, wenn der Button gedrückt wird. Kann ich da einfach den Code aus dem Main Loop rausnehmen, oder geht das nicht?
verstehe ich es richtig, dass mit Smartphones das Skript Anwesenheit gar nicht funktioniert, weil man keinen offenen Port hat (Beschreibung für Anwesenheit mit Samartphone am Beispiel eines eingeschalteten TV ist ja veröffentlichen)?
Kann man nicht einfach über den router - bei mir die Fritzbox - abfragen, welches Gerät im wlan eingebucht ist. Ist es das Handy mit dem man die Anwesenheit erkennen möchte, wird dann die Scene getriggert?
Leider finde ich in dieser Richtung für das HC2 nichts außer eben die Anwesenheitserkennung per Handy, welche dann aber nur beschreibt, wie es mit Einschalten des TV funktioniert.
Einen offenen Port am Android Smartphone bekommt man am schnellsten mit der Tasker App namens Automagic aus dem Playstore.
Damit kann ein Port geöffnet werden und dann kann auch das Smartphone zur Anwesenheitssteuerung etc genutzt werden. Außerdem gibt es damit auch endlich eine Sprachausgabe über ein evtl. ausrangiertes Smartphone von Fibaro aus. Ein Beispiel findet sich hier im Forum ‘Fibaro Sprachausgabe’ suchen…
seit meine Frau ein neues Handy hat, steht uns leider auch kein offener Port mehr zur Verfügung.
Ich habe mir daher das VD runtergeladen, welches Mathias auf Seite 1 genannt hat:
Mathias schreibt, dass es soweit funktioniert. Bei mir nicht:-(
Ich habe im VD unter IP die Mac-Adresse eingetragen und den TCP-Port blanko gelassen.
Muss ich noch etwas machen? Er findest auf jeden Fall keine der MAC-Adressen unserer Handys.