NEWS
Test iobroker.vis-mapwidgets
-
Neue Version 0.2.0
Es wurde ein Location Timeline widget hinzugefügt.
Das widget kann bis zu 5 Tracking Datenpunkte aufnehmen
Der Datenpunkt muss in der Form 50.11552,8.68417 beschrieben werden
Der Datenpunkt muss historisiert sein um einen Verlauf zu erhalten.
Das widget kann umfangreich in der Darstellung konfiguriert werden- Timeline seitlich oder drunter oder Automatisch nach Breite des widgts
- Auto/Hell/Dunkel Theme
- Farben für die verschiedenen Personen
Anhand des zeitlichen Verlaufs errechnet das widget dann Aufenthaltsorte.
Die Grenzwerte können konfiguriert werden - Ein Aufenthalt wird registriert wenn man sich mehr wie x Minuten im Umkreis von y Metern befindet
Die Aufenthaltsorte können optional anhand der Aufenthaltsorte reverse Geocoded werden. Als Dienst wird hier der kostenlose Dienst nominatim (steht mit openstreetmaps in Verbindung) genutzt.
Um die Nutzungslimits zu erhöhen sollte man eine gültige EMail eintragen.
Das widget beachtet die bekannten Nutzungslimits und führt das Geocoding über eine Warteschlange (sofern der Browser und das widget läuft) ggfs verzögert durch. Allerdings dürften die Nutzungslimits für den Alltagsgebrauch ausreichend sein.
https://operations.osmfoundation.org/policies/nominatim
maximale Obergrenze von einer Abfrage pro Sekunde
Bitte mit Massenabfragen oder zu kleinteiligen Umkreisen je Minuten vorsichtig sein. Die vorgegeben Standardwerte sollten ausreichend sein. Ansonsten könnte eure IP für weitere Abfragen gesperrt werden.Alle Abfragen werden zum einen lokal im Browser und in einem datenpunkt gespeichert um Mehrfachabfragen zu verhindern und auch beim Einsatz verschiedener Browser das weitgehend zu reduzieren.
Alle Abfragen erfolgen direkt aus dem browser heraus.
Falls das probleme macht werde ich die Funktionalität im adapter auf den iobroker schieben. Aber wir schauen mal wie das funktioniert.Falls das reverse GeoCoding keinen Punkt findet, wird unbekannter Ort angezeigt. Das kann man dann über das Favoriten Icon bearbeiten und selbst einen sinnigen Namen eingeben (zu Hause, Arbeit, etc.)
Wer das widget testen möchte aber noch keine Trackingdaten hat, kann das folgende Skript in den iobroker javascript-Adapter kopieren (Datenpunkt zuvor anlegen, history adapter installieren und die Historisierung für den Datenpunkt aktivieren) und ausführen.
https://github.com/oweitman/ioBroker.vis-mapwidgets/blob/main/example/LocationTimeline/create-example-track.js
Um einen aktuellen Track zu erhalten kann man das Startdatum ebenfalls im Skript konfigurieren. Dann werden die timestamps entsprechend berechnet.Das Ergebnis sieht dann so aus:


Konfigurationsmöglichkeiten


Das widget habe ich in vis1 getestet
(allerdings nur mit dem einen Beispiels track)
Läuft in vis-2 ebenfalls. Das Problem mit den Layout einstellungen hat sich wohl nach vis-2 neustart behoben.Zu Problemen oder Vorschläge bitte hier berichten
Das widget ist aktuell beta.
Es können sich auch noch generelle Dinge ändern. -
Ich wollte das Location Timeline widget grad mal ausprobieren, aber ich kann links in den Widget-Einstellungen den Punkt 'Allgemein' nicht aktivieren.
vis-2 Adapter hab ich neu gestartet.
-
Das Problem was ich jetzt auch mit dem Location Timeline widget habe, ist das ich da auch schon wieder ein Script brauche welches mir die Koordinaten in den DP im richtigen Format schreibt.
Ich dachte z.B. das das Format für die Koordinaten so gewählt ist, das man es z.B. aus dem cloud-Adapter direkt übernehmen kann ohne noch zusätzlich irgendwas zu machen.
Jetzt hab ich aber festgestellt, das im cloud-Adapter das Format genau umgekehrt und mit ; getrennt geschrieben wird.Siehe:

Ich weiß ja nicht wo du deine Koordinaten herbekommst, vielleicht gibt es ja auch noch was anderes an "Boardmitteln" was ich benutzen kann.
Traccar z.B. schreibt die Koordinaten getrennt in zwei DP einen für lat und einen für long. Da müsste ich auch mit einem Script die Daten aufbereiten, was ja prinzipiell kein Problem wäre.
-
Das Problem was ich jetzt auch mit dem Location Timeline widget habe, ist das ich da auch schon wieder ein Script brauche welches mir die Koordinaten in den DP im richtigen Format schreibt.
Ich dachte z.B. das das Format für die Koordinaten so gewählt ist, das man es z.B. aus dem cloud-Adapter direkt übernehmen kann ohne noch zusätzlich irgendwas zu machen.
Jetzt hab ich aber festgestellt, das im cloud-Adapter das Format genau umgekehrt und mit ; getrennt geschrieben wird.Siehe:

Ich weiß ja nicht wo du deine Koordinaten herbekommst, vielleicht gibt es ja auch noch was anderes an "Boardmitteln" was ich benutzen kann.
Traccar z.B. schreibt die Koordinaten getrennt in zwei DP einen für lat und einen für long. Da müsste ich auch mit einem Script die Daten aufbereiten, was ja prinzipiell kein Problem wäre.
die Koordinaten sind in der WGS84 notation
zuerst latitude, dann longitudediese notation und Systematik wird von vielen diensten
verwendet. bspw auch google oder OpenStreetMap oder auch home assistantBeispiel
https://www.google.com/maps/search/?api=1&query=50.1109,8.6821traccar schreibt das ebenfalls in dieser reihenfolge in den datenpunkt
position_urlden cloud adapter nutze ich nicht
was ich noch einbauen könnte, wäre eine Erkennung auf json objekt, wo dann bspw folgende Struktur enthalten sein könnte
{ "longitude": 50.1109 , "latitude": 8.6821 }oder
{ "lon": 50.1109 , "lat": 8.6821 }gegen getrennte datenpunkte habe ich mich wegen eines evtl. drifts entschieden. beide Koordinaten gehören zusammen. wenn die beiden getrennt gemessen und geschrieben werden kann es zu einem drift kommen, insbesondere bei größeren Geschwindigkeiten.
Funktioniert es ansonsten bei dir?
-
Oh, sorry da hab ich mich beim flüchtigen hinschauen verguckt. Tatsächlich Traccar hat das richtig im DP stehen:

Dann könnte ich doch direkt den DP historisieren und bräuchte den anderen garnicht, oder?
-
Ja sieht gut aus.
Richtige Reihenfolge mit Komma getrenntdann könnte man das widget mal im lifebetrieb testen.
das habe ich noch nicht, da ich noch keinen tracker habe.
war nur interessant sowas mal umzusetzendann könnte man das widget mal im lifebetrieb testen.
Ich werde das dann morgen mal testen und berichten.
Du könntest dir aber vielleicht schonmal Gedanken machen ob man da noch einbauen kann, das man ein symbol anstatt des "blöden" Geomarkers verwenden kann, z.B. das mdi:car-connected

Aber das ist noch wunschdenken, erstmal testen ob's grundsätzlich so funktioniert.
Und dann noch eine Frage, wo muß ich mich denn bei Nominatim mit der e-mail anmelden, ich find das nich?
-
So, erster kleiner Test funktioniert super!

Auch die Erkennung von Nominatim hat funktioniert wie du siehst.
Es wäre gut wenn man die Home-Adresse als Zone (oder wie man das auch immer nennen will) eingeben könnte(ich habs kapiert, auf den Stern und als Favorite anlegen), weil wie du siehst fängt er um 07:53 mit Unterwegs an, 41min 8,1 km. Da war ich aber noch zuhause und hatte nur am Tracker kurz auf Standort senden geklickt. Erst später bin ich losgefahren, er hat aber alles als unterwegs gewertet obwohl ich den Umkreis von Home noch garnicht verlassen hatte. Also sprich die 75m rund um mein Home.Genauso als ich dann wieder zuhause war um 08:49, da wäre jetzt gut wenn da "Home" stehen würde. Sonst wertet er das jetzt die ganze Zeit als unterwegs.
Edit: Nachdem jetzt meine Frau (Person2) losgefahren ist. und ich das ganze von zu Hause beobachtet hab ist mir noch folgendes aufgefallen.
-
Während sich der Tracker bewegt, flackert das Widget (also der untere Timelineteil) und es kommt immer wieder 'History wird geladen' in der timeline. Wenn dann der Tracker für eine Zeit am gleichen Ort ist, ist alles O.K.
-
Ich bekomme im Protokoll die folgenden Einträge:
web.0 2026-08-04 09:58:44.751 warn State "vis-mapwidgets.0.timeline.geocodingCache" has no existing object, this might lead to an error in future versions web.0 2026-08-04 09:58:44.596 warn State "vis-mapwidgets.0.timeline.geocodingCache" has no existing object, this might lead to an error in future versions web.0 2026-08-04 09:58:43.586 warn State "vis-mapwidgets.0.timeline.geocodingCache" has no existing object, this might lead to an error in future versions web.0 2026-08-04 09:58:43.584 warn State "vis-mapwidgets.0.timeline.geocodingCache" has no existing object, this might lead to an error in future versions -
-
So, erster kleiner Test funktioniert super!

Auch die Erkennung von Nominatim hat funktioniert wie du siehst.
Es wäre gut wenn man die Home-Adresse als Zone (oder wie man das auch immer nennen will) eingeben könnte(ich habs kapiert, auf den Stern und als Favorite anlegen), weil wie du siehst fängt er um 07:53 mit Unterwegs an, 41min 8,1 km. Da war ich aber noch zuhause und hatte nur am Tracker kurz auf Standort senden geklickt. Erst später bin ich losgefahren, er hat aber alles als unterwegs gewertet obwohl ich den Umkreis von Home noch garnicht verlassen hatte. Also sprich die 75m rund um mein Home.Genauso als ich dann wieder zuhause war um 08:49, da wäre jetzt gut wenn da "Home" stehen würde. Sonst wertet er das jetzt die ganze Zeit als unterwegs.
Edit: Nachdem jetzt meine Frau (Person2) losgefahren ist. und ich das ganze von zu Hause beobachtet hab ist mir noch folgendes aufgefallen.
-
Während sich der Tracker bewegt, flackert das Widget (also der untere Timelineteil) und es kommt immer wieder 'History wird geladen' in der timeline. Wenn dann der Tracker für eine Zeit am gleichen Ort ist, ist alles O.K.
-
Ich bekomme im Protokoll die folgenden Einträge:
web.0 2026-08-04 09:58:44.751 warn State "vis-mapwidgets.0.timeline.geocodingCache" has no existing object, this might lead to an error in future versions web.0 2026-08-04 09:58:44.596 warn State "vis-mapwidgets.0.timeline.geocodingCache" has no existing object, this might lead to an error in future versions web.0 2026-08-04 09:58:43.586 warn State "vis-mapwidgets.0.timeline.geocodingCache" has no existing object, this might lead to an error in future versions web.0 2026-08-04 09:58:43.584 warn State "vis-mapwidgets.0.timeline.geocodingCache" has no existing object, this might lead to an error in future versionsDann setze bitte mal die Einstellung von 75 auf 25-30m oder je nachdem wie der maximale Umkreis deine Hauses Avon jeder Ecke ist. Die 11 Minuten sollten passen.
Wenn das nicht hilft, dann muss ich Place Abhängige Umkreise einfügen.
Könntest du mir mal diesen Track als testdaten überlassen?
Export müsste über den history Adapter gehen. Gerne auch als Chat Mitteilung wegen Privatsphäre. Dann kann ich das genau mit diesen Daten mal testenDas flackern nehme ich auch mal mit als Verbesserung auf. Denke das das lösbar ist.
Immer wenn es eine Positionsänderung gibt wird das Widget neu getriggert, und. Die history dynamisch neu aufgebaut. Das ist wohl nicht schnell genug. Aber da gibt es ebenfalls optimierungsstrategien dafür. -
-
Neue Version 0.2.5
- das stay handling wurde verbessert
- das timeline history rendering wurde verbessert, so das kein flackern mehr auftritt.
- der timeline location dialog für known places wurde für das dunkle theme optimiert
- für jeden known places kann individuell ein radius erfasst werden, der durch gps ungenauigkeiten mehrere individuelle orte zusammenfasst.
Die Standardwerte sind immer noch OK

Die Fehlermeldung zum Datenpunkt muss ich noch genauer untersuchen.
-
So, erster kleiner Test funktioniert super!

Auch die Erkennung von Nominatim hat funktioniert wie du siehst.
Es wäre gut wenn man die Home-Adresse als Zone (oder wie man das auch immer nennen will) eingeben könnte(ich habs kapiert, auf den Stern und als Favorite anlegen), weil wie du siehst fängt er um 07:53 mit Unterwegs an, 41min 8,1 km. Da war ich aber noch zuhause und hatte nur am Tracker kurz auf Standort senden geklickt. Erst später bin ich losgefahren, er hat aber alles als unterwegs gewertet obwohl ich den Umkreis von Home noch garnicht verlassen hatte. Also sprich die 75m rund um mein Home.Genauso als ich dann wieder zuhause war um 08:49, da wäre jetzt gut wenn da "Home" stehen würde. Sonst wertet er das jetzt die ganze Zeit als unterwegs.
Edit: Nachdem jetzt meine Frau (Person2) losgefahren ist. und ich das ganze von zu Hause beobachtet hab ist mir noch folgendes aufgefallen.
-
Während sich der Tracker bewegt, flackert das Widget (also der untere Timelineteil) und es kommt immer wieder 'History wird geladen' in der timeline. Wenn dann der Tracker für eine Zeit am gleichen Ort ist, ist alles O.K.
-
Ich bekomme im Protokoll die folgenden Einträge:
web.0 2026-08-04 09:58:44.751 warn State "vis-mapwidgets.0.timeline.geocodingCache" has no existing object, this might lead to an error in future versions web.0 2026-08-04 09:58:44.596 warn State "vis-mapwidgets.0.timeline.geocodingCache" has no existing object, this might lead to an error in future versions web.0 2026-08-04 09:58:43.586 warn State "vis-mapwidgets.0.timeline.geocodingCache" has no existing object, this might lead to an error in future versions web.0 2026-08-04 09:58:43.584 warn State "vis-mapwidgets.0.timeline.geocodingCache" has no existing object, this might lead to an error in future versions -
-
Wie installierst du?
von github oder npm?Bessere installationsmethode ist npm
im dialog den npm reiter auswählen und mapwidgets eingeben.
dann findet er den.Bei mir findet er da nichts!

Hab dann wieder über Benutzerdefiniert und der URL installiert.
Hier mal die Ausgabe von grad:
$ iobroker url https://github.com/oweitman/ioBroker.vis-mapwidgets --host iobroker --debug install oweitman/ioBroker.vis-mapwidgets#e854cfc3ef717da054bdc546a683bd5c66d97f79 NPM version: 10.9.7Installing oweitman/ioBroker.vis-mapwidgets#e854cfc3ef717da054bdc546a683bd5c66d97f79... (System call) npm warn skipping integrity check for git dependency ssh://git@github.com/oweitman/ioBroker.vis-mapwidgets.git changed 1 package in 3m332 packages are looking for funding run `npm fund` for details upload [1] vis-mapwidgets.admin /opt/iobroker/node_modules/iobroker.vis-mapwidgets/admin/mapwidgets-small.svg mapwidgets-small.svg image/svg+xml upload [0] vis-mapwidgets.admin /opt/iobroker/node_modules/iobroker.vis-mapwidgets/admin/mapwidgets.svg mapwidgets.svg image/svg+xml INFO: Directory "/opt/iobroker/node_modules/iobroker.vis-mapwidgets/www" was not found! Nothing was uploaded or deleted. Adapter "system.adapter.vis-2.0" restarted.Updating objects from io-package.json for adapter "vis-mapwidgets" with version "0.2.5" Update "system.adapter.vis-mapwidgets.0" Process exited with code 0 -
Wie installierst du?
von github oder npm?Bessere installationsmethode ist npm
im dialog den npm reiter auswählen und mapwidgets eingeben.
dann findet er den.Bei mir findet er da nichts!

Hab dann wieder über Benutzerdefiniert und der URL installiert.
Hier mal die Ausgabe von grad:
$ iobroker url https://github.com/oweitman/ioBroker.vis-mapwidgets --host iobroker --debug install oweitman/ioBroker.vis-mapwidgets#e854cfc3ef717da054bdc546a683bd5c66d97f79 NPM version: 10.9.7Installing oweitman/ioBroker.vis-mapwidgets#e854cfc3ef717da054bdc546a683bd5c66d97f79... (System call) npm warn skipping integrity check for git dependency ssh://git@github.com/oweitman/ioBroker.vis-mapwidgets.git changed 1 package in 3m332 packages are looking for funding run `npm fund` for details upload [1] vis-mapwidgets.admin /opt/iobroker/node_modules/iobroker.vis-mapwidgets/admin/mapwidgets-small.svg mapwidgets-small.svg image/svg+xml upload [0] vis-mapwidgets.admin /opt/iobroker/node_modules/iobroker.vis-mapwidgets/admin/mapwidgets.svg mapwidgets.svg image/svg+xml INFO: Directory "/opt/iobroker/node_modules/iobroker.vis-mapwidgets/www" was not found! Nothing was uploaded or deleted. Adapter "system.adapter.vis-2.0" restarted.Updating objects from io-package.json for adapter "vis-mapwidgets" with version "0.2.5" Update "system.adapter.vis-mapwidgets.0" Process exited with code 0hab es oben falsch geschrieben. er zeigt da den übersetzten und nicht den technischen namen an

also map widgets eingeben
bei map müsste er schon welche finden die man auswählen kann.iobroker verhält sich je nach installationsart etwas unterschiedlich.
ich habe den datenpunkt fehler nicht, diese sind io-package.json definiert und iobroker müsste die datenpunkte selbst anlegen.es kann aber sein, das bei installation von github da was nicht vollständig erfolgt. acuh habe ich festgestellt, die dagtenpunkte bei mir sind zwar angelegt, aber nicht sichtbar. was aber mit der adapterart (reiner widgets adapter) zusammenhängen kann.
das ist was ich meine, da muss ich mal genauer reinschauen. ist leider dann etwas aufwänder
-
Wie installierst du?
von github oder npm?Bessere installationsmethode ist npm
im dialog den npm reiter auswählen und mapwidgets eingeben.
dann findet er den.Bei mir findet er da nichts!

Hab dann wieder über Benutzerdefiniert und der URL installiert.
Hier mal die Ausgabe von grad:
$ iobroker url https://github.com/oweitman/ioBroker.vis-mapwidgets --host iobroker --debug install oweitman/ioBroker.vis-mapwidgets#e854cfc3ef717da054bdc546a683bd5c66d97f79 NPM version: 10.9.7Installing oweitman/ioBroker.vis-mapwidgets#e854cfc3ef717da054bdc546a683bd5c66d97f79... (System call) npm warn skipping integrity check for git dependency ssh://git@github.com/oweitman/ioBroker.vis-mapwidgets.git changed 1 package in 3m332 packages are looking for funding run `npm fund` for details upload [1] vis-mapwidgets.admin /opt/iobroker/node_modules/iobroker.vis-mapwidgets/admin/mapwidgets-small.svg mapwidgets-small.svg image/svg+xml upload [0] vis-mapwidgets.admin /opt/iobroker/node_modules/iobroker.vis-mapwidgets/admin/mapwidgets.svg mapwidgets.svg image/svg+xml INFO: Directory "/opt/iobroker/node_modules/iobroker.vis-mapwidgets/www" was not found! Nothing was uploaded or deleted. Adapter "system.adapter.vis-2.0" restarted.Updating objects from io-package.json for adapter "vis-mapwidgets" with version "0.2.5" Update "system.adapter.vis-mapwidgets.0" Process exited with code 0ok, ich habe die Lösung für die Fehlermeldung
warn State "vis-mapwidgets.0.timeline.geocodingCache" has no existing object, this might lead to an error in future versionsDie kommt zustande weil der Adapter bei dir bereits installiert war, nachdem die zusätzlichen Datenpunkte dazukamen.
Diese werden in einer Datei io-package.json definiert.
Diese wird vom iobroker wohl nur einmalig bei der Instanzerstellung prozessiert.
Bei späteren Updates nicht mehr. Leider auch nicht für dazukommende Objekte.Die Lösung wäre nun die Instanz von vis-mapwidgets zu löschen und dann auf der Adapterseite eine neue Instanz zu erzeugen.
Die aktuell angelegten Daten gehen nicht verloren, da sie zusätzlich noch im jeweiligen browser gespeichert sind. Allerdings wird es auch nicht automatisch in den Datenpunkt zurück gespeichert, was auch Sinn macht, da die Datenpunkte der master für die Daten sind.
Nachdem du die Instanz neu angelegt hast, musst du im widget das Favoritenicon anklicken, dann auf den Knopf "remove known place" und dann den Ort erneut anklicken und ein entsprechendes Label erfassen.
Dann werden die Informationen auch wieder zurück gespeichert und stehen dann auch auf anderen Geräten wieder zur Verfügung.ich muss schauen ob in Zukunft die synchonisation über mehrere Geräte hinweg noch probleme macht. Dann werde ich wohl um einen echten adapter backend code nicht herumkommen, was ich vermeiden wollte, aber wäre auch nicht so schlimm.
Auch muss ich mal testen, was passiert, wenn jemand für die gleiche/ähnliche Koordinate auf verschiedenen Geräten unterschiedliche Labels erfasst.
bspw du im einen browser "Heim" und auf einem anderen Gerät jemand dann "Home" oder "zu Hause" -
Danke für deine Arbeit, hab ich umgesetzt und sieht bis jetzt gut aus.
Eine Frage hab ich noch, kannst du auch einbauen, das man bei der Leaflet Karte die 'dunkle Karte' wählen kann?
Bei Farbschema 'dark' macht er ja nur den Widget Hintergrund dunkel. -
Danke für deine Arbeit, hab ich umgesetzt und sieht bis jetzt gut aus.
Eine Frage hab ich noch, kannst du auch einbauen, das man bei der Leaflet Karte die 'dunkle Karte' wählen kann?
Bei Farbschema 'dark' macht er ja nur den Widget Hintergrund dunkel.Hast du mir ein beispiellink dazu?
Openstreetmaps bietet nur eine
Verkehrskarte
Im Dunklen Design an oder ich habe es nicht gefunden.
Ggfs gibt es Drittanbieter die Alternative tiles layer anbieten.
Die können ggfs. kostenpflichtig sein.https://www.openstreetmap.org/#map=11/50.1232/8.6401&layers=T
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