NEWS
Life360ng Adapter - Widget anbieten
-
ich habe verstanden, das die daten so hinterlegt sind

ich interpretiere, das das viele einzelne datenpunkte sind, also für jeden Nutzer ein Ordner und jeweils ein Datenpunkt für einen Tag mit den Pfadangaben im Format GeoJSON.
In dieser Struktur ist es für ein widget etwas unhandlich, da man eigentlich im widget konkrete Datenpunkte angeben muss.
Ich habe bei mir zwar Mechanismen eingebaut, die selbst Datenpunkte abonnieren können, das ist aber mit vis1/vis2 Kompatibilität schwierig.Besser wäre es ein oder mehrere sendTo Funktionen einzubauen, die einem widget oder auch einem Skript aus dem javascript Adapter die Daten liefern kann.
Entweder alle Daten über eine Abfrage oder sogar mit ein wenig Filtern, so ala
Gib mir alle Daten für einen Nutzer (Sven) im Zeitraum A bis B.
Dann kommen die Daten in einem Objekt im widget an.
Vorteil, du musst deine DatenpunktStruktur nicht ändern.
Ein Adapter hat relativ einfachen Zugang zu seinen Datenpunkten.@OliverIO .. genau und der Inhalt der Datenpunkte ist folgendes:
{"type":"Feature","geometry":{"type":"LineString","coordinates":[[8.1092108,53.375156],[8.1092214,53.3753376],[8.109268,53.3751492],[8.1092831,53.3755614],[8.1087375,53.3752636],[8.1091828,53.3752033],[8.1061711,53.3707939],[8.1204745,53.3577902],[8.1178562,53.3568921],[8.1169575,53.3571844],[8.1178577,53.3568928],[8.1207508,53.357289],[8.1201376,53.358266],[8.1188753,53.3591781],[8.1151099,53.3618768],[8.1138014,53.3628293],[8.1071239,53.3681901],[8.1083342,53.3749194],[8.1091339,53.3752177]]},"properties":{"timestamps":[1776809217372,1776839037107,1776853064038,1776854521466,1776854946156,1776855492689,1776856707181,1776857010849,1776857314572,1776877018575,1776878051562,1776884737864,1776884798671,1776884859406,1776884920151,1776884981224,1776885041832,1776885224092,1776885284738]}}Das sind dann die Koordinaten von einer Person über einen 24 Stunden Zeitraum.
-
Das mit den 24 Stunden habe ich mir bei Life360 abgeguckt. Da gibt es eine History für jeden Tag. Da komme ich über die API aber nicht ran, deswegen die Idee, es nachzubauen.
Wie gesagt, noch läuft es separat, ausserhalb vom Adapter.
Vorgehen:
Der Adapter holt sich alle 60 Sekunden den aktuellen Standort aller hinterlegten Personen;
Wenn die Entfernung zweier Standorte größer als 20m ist, schreibt das Script die Koordinaten ins GeoJSON .... und erweitert das json dann bis es um 00:00 ein neues json anlegt.Dadurch habe ich die Möglichkeit, mir jeden Tag die Tagesroute anzueigen zu lassen.
Ob man das nun umbedingt im Adapter braucht ?! Ist aber halt 'nice to have', wenn es machbar wäre.
-
@OliverIO .. genau und der Inhalt der Datenpunkte ist folgendes:
{"type":"Feature","geometry":{"type":"LineString","coordinates":[[8.1092108,53.375156],[8.1092214,53.3753376],[8.109268,53.3751492],[8.1092831,53.3755614],[8.1087375,53.3752636],[8.1091828,53.3752033],[8.1061711,53.3707939],[8.1204745,53.3577902],[8.1178562,53.3568921],[8.1169575,53.3571844],[8.1178577,53.3568928],[8.1207508,53.357289],[8.1201376,53.358266],[8.1188753,53.3591781],[8.1151099,53.3618768],[8.1138014,53.3628293],[8.1071239,53.3681901],[8.1083342,53.3749194],[8.1091339,53.3752177]]},"properties":{"timestamps":[1776809217372,1776839037107,1776853064038,1776854521466,1776854946156,1776855492689,1776856707181,1776857010849,1776857314572,1776877018575,1776878051562,1776884737864,1776884798671,1776884859406,1776884920151,1776884981224,1776885041832,1776885224092,1776885284738]}}Das sind dann die Koordinaten von einer Person über einen 24 Stunden Zeitraum.
habe mir gerade mal den adapter in einer dev umgebung installiert.
Sag mir mal wie die Datenstruktur weitergeht.Ich vermute mal unterhalb von people sieht man dann das aus dem Bild?
Also hat man dann einen Ordner mitlife360.0.people.Sven
und dann
life360.0.people.Sven.History_2026-04-21
life360.0.people.Sven.History_2026-04-22
und so fort
? -
habe mir gerade mal den adapter in einer dev umgebung installiert.
Sag mir mal wie die Datenstruktur weitergeht.Ich vermute mal unterhalb von people sieht man dann das aus dem Bild?
Also hat man dann einen Ordner mitlife360.0.people.Sven
und dann
life360.0.people.Sven.History_2026-04-21
life360.0.people.Sven.History_2026-04-22
und so fort
? -
habe mir gerade mal den adapter in einer dev umgebung installiert.
Sag mir mal wie die Datenstruktur weitergeht.Ich vermute mal unterhalb von people sieht man dann das aus dem Bild?
Also hat man dann einen Ordner mitlife360.0.people.Sven
und dann
life360.0.people.Sven.History_2026-04-21
life360.0.people.Sven.History_2026-04-22
und so fort
?Ich vermute mal unterhalb von people sieht man dann das aus dem Bild?
Also hat man dann einen Ordner mitlife360.0.people.Sven
und dann
life360.0.people.Sven.History_2026-04-21
life360.0.people.Sven.History_2026-04-22
und so fort
?Nein! Die Daten sind nicht in den Adapterdatenpunkten.
Die liegen bei mir im userdata.0, weil sie aus einem lokalen Script kommen und noch nicht aus dem Adapter.
-
@OliverIO .. kommst du hier an meine json?
https://github.com/ioBroker/ioBroker.repositories/pull/5831#issuecomment-4294451967
-
Das Script liegt noch lokal bei mir im Script Adapter.
Es kommt erst in den life360ng wenn ich weiß, ob und wie es mit der Karte funktioniert. Wenn das nicht klappt, brauche ich die Daten dort nicht und lasse es einfach lokal liegen.
Das ist das Script, welches aus den Adapterdatenpunkten meine History unter userdata.0 anlegt:
https://github.com/inventwo/Script-Sammlung/blob/main/JavaScript/life360_history.js
-
Ich denke, ich habe da was. Claude Sonnet war auch fleißig.
Die neue Struktur:

Die Karte wird direkt als HTML gebaut und im zur Zeit VIS-Verzeichnis abgelegt.
(das muss ich noch klären, ob ich das über den Adapter machen darf)
Die URL für die VIS (in meinem Fall ein iFrame) wird als Datenpunkt bereitgestellt

Die Farben lassen sich dann später in der Adapter Config und über Datenpunkte editieren

Runtime:

Ich teste es jetzt noch mit ein paar Bewegungen und kläre es mit dem Ablegen der HTML, dann baue ich es in den Adapter.
EDIT:
Die html kann ich wohl unter 'iobroker-data/files/life360ng.0/tracker/<person>.html' ablegen. Dann muss ich gar nicht auf das VIS-Verzeichnis. -
Die nächste Schritte:
- Vom lokalen Script zur Integration in den life360ng (am Wochenende geplant)
- Zeitraum-Auswahl (Zeitraum – von/bis Datum, alle GeoJSON-Datenpunkte werden zusammengeführt; Urlaubsmodus – mehrere Tage auf einer Karte als durchgehende Route)
- Mehrere Personen in einer Karte mit unterschiedlichen Farben
-
Die nächste Schritte:
- Vom lokalen Script zur Integration in den life360ng (am Wochenende geplant)
- Zeitraum-Auswahl (Zeitraum – von/bis Datum, alle GeoJSON-Datenpunkte werden zusammengeführt; Urlaubsmodus – mehrere Tage auf einer Karte als durchgehende Route)
- Mehrere Personen in einer Karte mit unterschiedlichen Farben
Ein Erweiterungswusch

Da kommen dann ja etliche Datenpunkte zusammen
. Ich mache das, seit Life360 nicht mehr funktionierte, mit OwnTracks, hole mir da die Koordinaten mit einem Blockly und baue daraus eine HTML Datei, die kann ich dann im iFrame aufrufen.
Ich speichere die HTML allerdings auf meinem NAS und habe da den WEB-Server aktiviert und dann diese URL im iFrame.
Momentan werden dort die Monatsordner gelistet, da kann man drauf gehen und dann die entsprechende HTML je Tag anklicken.
In meiner HTML habe ich allerdings noch Wegpunkte angelegt, wenn man die antippt, wird die dazugehörige Uhrzeit angezeigt. So sieht man auch, wann man in etwa wo war.[EDIT]
Bild gelöscht, private Daten
Wenn du jetzt einmal dabei bist, dann könntest du das ja eventuell auch einbauen?
Ich habe das Blockly aktuell so gebaut, das man bei Urlaub einen Datenpunkt aktivieren kann und dann auch noch die Zeitdifferenz zur Zeitzone in der man im Urlaub ist, setzen kann.
Wenn man ansonsten in Thailand ist, stimmt der Tageswechsel und die Uhrzeit nicht. Das werde ich aber noch ändern und weiter automatisieren.Gruß Johannes
-
Ein Erweiterungswusch

Da kommen dann ja etliche Datenpunkte zusammen
. Ich mache das, seit Life360 nicht mehr funktionierte, mit OwnTracks, hole mir da die Koordinaten mit einem Blockly und baue daraus eine HTML Datei, die kann ich dann im iFrame aufrufen.
Ich speichere die HTML allerdings auf meinem NAS und habe da den WEB-Server aktiviert und dann diese URL im iFrame.
Momentan werden dort die Monatsordner gelistet, da kann man drauf gehen und dann die entsprechende HTML je Tag anklicken.
In meiner HTML habe ich allerdings noch Wegpunkte angelegt, wenn man die antippt, wird die dazugehörige Uhrzeit angezeigt. So sieht man auch, wann man in etwa wo war.[EDIT]
Bild gelöscht, private Daten
Wenn du jetzt einmal dabei bist, dann könntest du das ja eventuell auch einbauen?
Ich habe das Blockly aktuell so gebaut, das man bei Urlaub einen Datenpunkt aktivieren kann und dann auch noch die Zeitdifferenz zur Zeitzone in der man im Urlaub ist, setzen kann.
Wenn man ansonsten in Thailand ist, stimmt der Tageswechsel und die Uhrzeit nicht. Das werde ich aber noch ändern und weiter automatisieren.Gruß Johannes
@JoJo58 ..
Es kommen bei mir nur zwei Datenpunkte zum Einsatz. Tages-Karte und Karten-Archiv (GeoJSON) mit Filterfunktion. Das dann pro Person. Zeitzonen werden berücksichtigt und die Route (bzw. die Punkte) werden klickbar sein, für weitere Details .... das habe ich alles auf der to-do ;)
Aber alles nacheinander. Am Wochenende kommt erstmal die Tageskarte!
Die Speicherung der Daten bleibt innerhalb des Adapters. Ich möchte keinem User zumuten, noch irgendwas extra machen zu müssen. Der User soll sich den Adapter installieren und dann eine URL in den iFrame setzen.
So funktioniert es hier jetzt lokal und genauso einfach wird es im Adapter laufen (hoffe ich)
-
Da ich eine (für mich einfache) Lösung ohne zusätzliches Widget gefunden haben, geht es mit den Updates und Ideen im Adapter-Beitrag weiter.
https://forum.iobroker.net/topic/84376/life360-nextgeneration-latest
Ich werde mit der Tageskarte (und eine vom Vortag) anfangen. Das ist mir persönlich erstmal wichtig. Das steht so weit und lässt sich gut in den Adapter integrieren. Die Langzeit-Karte mit Filter ist etwas aufwendiger und die möchte ich erst ein paar Tage bei mir lokal testen, befor sie in den Adpater kommt.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden

