NEWS
Life360ng Adapter - Widget anbieten
-
Vielleicht kann @oliverio sein Widget so vorbereiten, das man einfach mein GeoJSON per Bindung einsetzen kannn

-
Vielleicht kann @oliverio sein Widget so vorbereiten, das man einfach mein GeoJSON per Bindung einsetzen kannn

puh das ist ein komplett anderes datenformat wie das standard Leaflet format (an das ich mich gehalten habe).
Das widget hat recht umfangreiche Logik zur synchronisation, so das bei einzelnen Änderungen nicht alle einzelnen Marker,Linien,etc gelöscht und wieder hinzugefügt werden müssen (man stelle 10000 Marker vor und nur einer davon wird geändert.
Ich habe Modifikationen bei den Icons/Images vorgenommen, so das es einfacher ist auf in vis verfügbare Grafiken referenzieren kann.Generell kann Leaflet auch GeoJSON
https://leafletjs.com/examples/geojson/Theoretisch kann man mit javascript im browser das auch nutzen.
Gern können wir gemeinsam mal schauen, wie du leaflet in einem eigenen widget geladen bekommst und dann geojson vom datenpunkt lädst -
puh das ist ein komplett anderes datenformat wie das standard Leaflet format (an das ich mich gehalten habe).
Das widget hat recht umfangreiche Logik zur synchronisation, so das bei einzelnen Änderungen nicht alle einzelnen Marker,Linien,etc gelöscht und wieder hinzugefügt werden müssen (man stelle 10000 Marker vor und nur einer davon wird geändert.
Ich habe Modifikationen bei den Icons/Images vorgenommen, so das es einfacher ist auf in vis verfügbare Grafiken referenzieren kann.Generell kann Leaflet auch GeoJSON
https://leafletjs.com/examples/geojson/Theoretisch kann man mit javascript im browser das auch nutzen.
Gern können wir gemeinsam mal schauen, wie du leaflet in einem eigenen widget geladen bekommst und dann geojson vom datenpunkt lädst@OliverIO ... können wir uns da über Telegram mal düber unterhalten? ... oder ist dir Discord lieber?
Ich weiß nicht, wie aufwendig es ist einen 'mormalen' Adapter fit für React (VIS2) zu bekommen. Deswegen die Idee, in meinem Adapter den Code und die Daten bereitzustellen und sie an einen Widget Adapter zu übergeben.
Ich habe noch eine Idee, die ich am Samtstag testen will. Änhlich wie ich es mit den einzelnen Karten mache. Da lege ich in einem Datenpunkt eine URL für einen iFrame ab.
Eventuell klappt das auch mit einer Route ?! Dann könnte ich 'einfach' pro GeoJSON eine URL bereitstellen.
-
@OliverIO ... können wir uns da über Telegram mal düber unterhalten? ... oder ist dir Discord lieber?
Ich weiß nicht, wie aufwendig es ist einen 'mormalen' Adapter fit für React (VIS2) zu bekommen. Deswegen die Idee, in meinem Adapter den Code und die Daten bereitzustellen und sie an einen Widget Adapter zu übergeben.
Ich habe noch eine Idee, die ich am Samtstag testen will. Änhlich wie ich es mit den einzelnen Karten mache. Da lege ich in einem Datenpunkt eine URL für einen iFrame ab.
Eventuell klappt das auch mit einer Route ?! Dann könnte ich 'einfach' pro GeoJSON eine URL bereitstellen.
kannst du mir mal einen export der datenpunkte deines adapters machen, in dem entsprechende testdaten enthalten sind?
leider habe ich selbst kein live360also einfach in der objektansicht den adapter markieren
dann auf den download/safe knopf drücken und in der folgenden ansicht
dann auf "only selected" drücken

-
kannst du mir mal einen export der datenpunkte deines adapters machen, in dem entsprechende testdaten enthalten sind?
leider habe ich selbst kein live360also einfach in der objektansicht den adapter markieren
dann auf den download/safe knopf drücken und in der folgenden ansicht
dann auf "only selected" drücken

@OliverIO .. von den GeoJSON? Die habe ich noch nicht im Adapter, weil das Script dazu zum Testen noch bei mir lokal im Javascript Adapter läuft.
Ich habe ein Javascript, welches mir die Koordionaten in das GeoJSON schreibt und jeden Tag um 00:00 wird ein neues GeoJSON angelegt.
Die Datei von den Adapterobjekten kann ich natürlich auch geben. Die hatte ich beim PR hochgeladen.
Ich habe hier am PC gerade keinen Zugriff auf Github. Ich versuche es übers Handy ...... moment
EDIT:
Ich bekomme die json vom Handy aus nicht hier ins Forum. Ich bin erst weider gegen 22 Uhr an meinem PC und/oder morgen Vormittag -
@OliverIO .. von den GeoJSON? Die habe ich noch nicht im Adapter, weil das Script dazu zum Testen noch bei mir lokal im Javascript Adapter läuft.
Ich habe ein Javascript, welches mir die Koordionaten in das GeoJSON schreibt und jeden Tag um 00:00 wird ein neues GeoJSON angelegt.
Die Datei von den Adapterobjekten kann ich natürlich auch geben. Die hatte ich beim PR hochgeladen.
Ich habe hier am PC gerade keinen Zugriff auf Github. Ich versuche es übers Handy ...... moment
EDIT:
Ich bekomme die json vom Handy aus nicht hier ins Forum. Ich bin erst weider gegen 22 Uhr an meinem PC und/oder morgen Vormittagich 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 .. von den GeoJSON? Die habe ich noch nicht im Adapter, weil das Script dazu zum Testen noch bei mir lokal im Javascript Adapter läuft.
Ich habe ein Javascript, welches mir die Koordionaten in das GeoJSON schreibt und jeden Tag um 00:00 wird ein neues GeoJSON angelegt.
Die Datei von den Adapterobjekten kann ich natürlich auch geben. Die hatte ich beim PR hochgeladen.
Ich habe hier am PC gerade keinen Zugriff auf Github. Ich versuche es übers Handy ...... moment
EDIT:
Ich bekomme die json vom Handy aus nicht hier ins Forum. Ich bin erst weider gegen 22 Uhr an meinem PC und/oder morgen Vormittag -
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

