Nachdem ich mich in ioBroker etwas eingearbeitet hatte, stellte sich mir natürlich mal wieder die Frage wie man nun wieder das „Problem“ der Anwesenheitserkennung zu hause löst.
Nach kurzer suche im ioBroker Forum wurde ich auf Traccar aufmerksam, mir gefiel das ich Serverseitig für alle Clients die Geofences festlegen und auch bei bedarf ändern kann.
Aber leider gab es kein Traccar Adapter für ioBroker, so dass ich mir erstmal mit Hilfe eines recht komplexen Scriptes im JavaScript Adapter behelfen musste.
Nun gab es aber mehrere Leute die ebenfalls gerne Traccar mit ioBroker einsetzten wollten, so das sich doch der Gedanke auftat selbst einen Adapter für Traccar zu schreiben.
Wo dann noch der Braindead ein proof of concept des Adapter vorgestellt hatte, habe ich diesen übernommen und darauf aufgebaut.
So entstand dann der ioBroker.traccar Adapter der nun die Daten in Echtzeit aus dem Traccer in den ioBroker portiert.
Durch den Adapter ist es nun möglich, sich mit einen sehr simplen Script eine Anwesenheitserkennung zu erstellen.
Diesen Script z.B. nutze ich um zu erkennen ob sich einer der Relevanten Geräte / Personen im Zu Hause Geofence hier mit der Geofences ID 1 befinden und schreibt dann ein ture oder false in den heatingcontrol.0.Present Datenpunkt.
const deviceIDsAtHome = 'traccar.0.geofences.1.device_ids'; const presentDP = 'heatingcontrol.0.Present'; on({ id: deviceIDsAtHome, change: 'ne'}, CheckAndSet); // Start init CheckAndSet(); function CheckAndSet(){ const devices = getState(deviceIDsAtHome).val setState(presentDP, devices.includes(1) || devices.includes(2)); }
Mit * markierte Links sind Amazon ParnerNet Affiliate Links
0 Kommentare