NEWS
[Vorlage] Geofency-Skript: über PHP-Webspace an ioBroker
-
Hallo,
ich hatte mich intensiver damit beschäftigt, wie ich Datenpunkte beim Verlassen oder Betreten der Wohnung am besten schalten kann. Anwendungsgebiete für mich: alle Alexas hängen an ZigBee-Steckdosen, bei Verlassen sollen diese abgeschaltet und sobald man in die Nähe der Wohnung kommt wieder eingeschaltet werden. Dazu noch das übliche (Lichter usw. bei Verlassen automatisch aus, …).
Zwangsläufig kommt man da zum https://github.com/ioBroker/ioBroker.geofency in Verbindung mit der Geofency App Der funktionierte auch super beim Testen mit der App, allerdings ist mein ioBroker nicht von draußen erreichbar, was ich auch nicht öffnen möchte, so dass dieser Adapter dann natürlich nicht wirklich funktionieren kann.
Daher kam mir der Gedanke, dass ich doch stattdessen über den Webhook von Geofency auch ein Logfile auf einem Webspace füllen kann, und über Google kam ich hier an ein https://www.symcon.de/forum/threads/23348-Geofency-mit-Webhook?p=212154#post212154.
Nun habe ich mir entsprechend ein eigenes PHP-Script erstellt, welches in eine log-Datei auf dem Server im JSON-Format die jeweils letzte Aktion ablegt. Die Historie wird damit nicht mitgeloggt, weil man sie nicht braucht, pro User also nur immer max. 1 Log-Eintrag (der letzte).
!
{ "LogDate":"2018-06-29 14:33:27", "ActionDate":"2018-06-29T12:33:26Z", "Device":"Donald", "Location":"Home", "LocationID":"XXXXXXXXXXXXXX", "Entry":"1", "Longitude":"XXXXXXX", "Latitude":"XXXXXXX" } { "LogDate":"2018-06-29 15:37:27", "ActionDate":"2018-06-29T13:37:26Z", "Device":"Daisy", "Location":"Home", "LocationID":"XXXXXXXXXXXXXX", "Entry":"0", "Longitude":"XXXXXXX", "Latitude":"XXXXXXX" } !
Das lässt sich dann einfach über den ioBroker über ein entsprechendes JavaScript regelmäßig auslesen, um analog wie beim Geofency-Adapter entsprechende Datenpunkte zu füllen.
Ich hab die entsprechenden Dateien (PHP-Script für Webspace und Javascript für ioBroker) mit entsprechender Erklärung auf GitHub veröffentlicht: