NEWS
[Neuer Adapter] Life360
-
@humidor Hey. Wenn die API keine Informationen liefert, werden auch keine vorhandenen Datenpunkte verändert... und jetzt auch nicht mehr gelöscht. Werden Datenpunkte allerdings 30 Tage nacheinander nicht von der API mit Informationen bedient, dann kommt der große Frühjahrsputz.
-
@migoller OK, denn das hatte ich ja isPresent true/false, das hast du somit optimiert, super
ich habe jetzt einen Place im Adapter angelegt, damit werde ich das Verhalten von Life360 nicht mehr sehen.
wie ist das noch mit dem GPS tracking, kannst du das bitte aufklären welche Einstellung das was ist? Danke!!
-
@humidor Die Einstellungen sehen ok aus. Ich persönlich nutze noch das Verarbeiten der Life360-Kreise, um Änderungen an den Kreisen mitzubekommen. Wenn Du das nicht brauchst, kannst Du es so belassen.
-
@migoller ich meine dieses da, kannst du das noch etwas ausführen, oder könnt ich das wo nachlesen?
-
@humidor Ach so, danke für den Hinweis. Es geht darum, in welcher Form der Adapter GPS-Koordinaten darstellen soll. Das hängt ein wenig davon ab, in welcher Form Du diese ggf. für Deine Skripte, etc. benötigst. Es gibt da leider unterschiedliche Darstellungen von einem einfachen Zahlentupel bis zu Objekten, die deren Attribute einfach unterschiedlich benannt sind. In meiner Wahrnehmung ist das
LatLng-Objekt
die gebräuchlichste Darstellung, aber eben nicht die einzige.Ich nutze die
geolocation-utils
, die genau diese Darstellung ermöglichen (s. https://bitbucket.org/teqplay/geolocation-utils/src/master/README.md unter "Data Structures").LonLat-Tupel
Das LonLat-Tupel ist ein Array in der Form
[longitude: number, latitude: number]
.latitude
gibt den Breitengrad an.longitude
gibt den Längengrad an.
Beachtet bitte die abweichende Reihenfolge zu den anderen Darstellungen.
LatLon-Objekt
Das LatLon-Objekt ist ein Objekt in der Form
{lat: number, lon: number}
mit den Attributen:lat
gibt den Breitengrad an.lon
gibt den Längengrad an.
LatLng-Objekt
Das LatLng-Objekt ist ein Objekt in der Form
{lat: number, lng: number}
mit den Attributen:lat
gibt den Breitengrad an.lng
gibt den Längengrad an.
LatitudeLongitude-Objekt
DasLatitudeLongitude-Objekt ist ein Objekt in der Form
{latitude: number, longitude: number}
mit den Attributen:latitude
gibt den Breitengrad an.longitude
gibt den Längengrad an.
Wenn Du keine konkreten Anforderungen an die Notation für weitere Services, APIs, etc. haben solltest, dann kannst Du m.E. die Darstellung so belassen, wie Du diese aktuell hast.
Ich hoffe, Dir damit weiterhelfen zu können.
-
@migoller alles klar, danke für die Ausführung!
damit hat das keinen Einfluss auf die Genauigkeit bzw. Frequenz der Positionsübergabe von Life360Ich suche noch die Möglichkeit aus Lat/Long einen Kreis abzubilden, der dann Bestimmt ob man @Home ist (GPS-Auto). Hättest du da eine Info für mich?
-
@humidor Hey. genau das kannst Du in den Einstellungen des Adapters bzw. der Instanz des Adapters tun. Unter "Meine Orte" kannst Du dann genau einen solchen Ort, nennen wir ihn "Home", anlegen; gib dann auch einen Radius (Einheit m) zu den GPS-Koordinaten an, um einen Kreis zu definieren.
Optional kannst Du noch angeben, aus welchem Kreis - hier kommt es auch die Bezeichnung des Life360 Kreises an - die Mitglieder bei der Präsenzinformation genutzt werden sollen.
Im Objektbaum findest Du dann nach Neustart des Adapters bzw. der Instanz diese Ort unter Life360 MyPlaces wieder.
Für Deinen Anwendungsfall dürfte dann der Datenpunkt
life360.0.myplaces.<Name des Orts>.membersPresentCount
interessant sein. Ist der Wert größer als 0, so ist jemand an dem Ort.Beachte aber bitte bei der Wahl des Radius, dass die Genauigkeit der Ortung der Life360 App von verschiedenen Einflüssen abhängt. Mir sind folgende bekannt:
- Hardware des Smartphones. Es gibt sehr genaue und weniger genaue GPS-Chips.
- Zusätzliche Positionsbestimmung über WLAN und Mobilfunknetz.
- Akku-Optimierungseinstellungen der Endgeräte. Das ist gerade bei Android immer wieder ein Thema. Senden Android-Devices nicht mehr regelmäßig oder nur noch näherungsweise die Positionen, dann ist das ein guter Punkt zur Überprüfung. Fast alle Hersteller "optimieren" die Akku-Einstellungen bei Firmware-Updates, auch wenn Du das für einzelne Apps wie Life360 abweichend eingestellt hast. Apple kann das mit iOS aktuell auch gut.
- Hängt das Gerät am Ladekabel? Ist bei Anwendungsfällen mit Autos und Garage wichtig.
Ich sehe in der Praxis Positionsabweichungen von bis zu 50m bei demselben Gerät. Ist das Gerät per Kabel mit einer Stromversorgung verbunden, sind es meist weniger als 30m.
VG, MiGoller
-
@migoller Morgen MiGoller, danke wieder für deine ausführliche Erklärung.
Ich suche aber noch eine andere / weitere Möglichkeit.
Ein nicht im Life360 enthaltene Person, nämlich ein Auto. Das hat eine interne Sim und daher kann ich dieses nicht im Life360 anlegen.
Ich habe durch einen Adapter (Zoe) im ioBroker die Lat/Long Werte drin, wenn das Auto in den Kreis "Home" ist oder nicht, würde ich das gerne wissen (um die Steuerung der Garagentore sicherer zu machen, bzw. um zu wissen ob das eine oder andere Auto unterwegs ist). -
@humidor Hallo. Aktuell geht das leider nicht. Eine Möglichkeit wäre es, per Skript die entsprechenden Datenpunkte bei Veränderung abzufragen und z.B. an den Places-Adapter zu senden. Ich kenne das Thema u.a. auch von VW, Audi, BMW, Mercedes, etc. Leider kann das schnell recht unübersichtlich werden.
Der Life360-Adapter bietet ja auch die Möglichkeit, die GPS-Koordinaten der Personen an den Places-Adapter zu senden. Wenn der Zoe-Adapter keine integrierte Möglichkeit zum Sender der GPS-Koordinaten anbietet, würde ich es aktuell mit einem Skript erledigen... sollte sogar als Blockly-Skript gehen, aber bei Blockly kann ich nicht mitreden. Mit JavaScript geht es in jedem Fall.
-
@migoller Places, ja den hab ich auch schon gedacht, kapier aber nicht wie ich dem die Position übergebe. Im Blockly läuft alles über Trigger, dh eine Änderung an Lat/Long löst ein Event aus szsg. dh es kann dann was gemacht werden.
-
@humidor Das findest Du - zumindest für JavaScript - gut in der Readme.MD auf Github beschrieben. Das sollte Dir einen Anhaltspunkt geben:
on({id: "telegram.0.communicate.requestRaw", change: "ne"}, function (obj) { var data = JSON.parse(obj.newState.val); if (data.from && data.location) { sendTo('places.0', { user: data.from.first_name, latitude: data.location.latitude, longitude: data.location.longitude, timestamp: data.date }, function (res) { log('places analyzed telegram position as: ' + JSON.stringify(res)); }); } });
Das Beispiel zeigt, wie eine Positionsmeldung über
Telegram
an den Places-Adapter gesendet wird. Du müsstest also nur den Triggen entsprechend ändern. Nur leider kann ich Dir nicht sagen, wie Du das möglichst einfach mit Blockly umsetzen könntest. -
@migoller ja, das wiki habe ich gelesen, ich kann aber kein Java
im Blockly komme ich nicht weiter, da fehlt mir der TimeStamp ?
wurde der Adapter eigentlich eingestellt, der Thread ist zu ?? -
heute kam die Ankündigung das die Web Broser Version eingestellt wird hat das auswirkung auf den Adapter da ich den viel benutze.
Gruß Michael
-
@michael-1975 Hey. Die Ankündigung habe ich ebenfalls auf der Webseite zum Login gesehen.
Diesen "Trend" nehme ich auch bei anderen Anbietern wahr, die Services nur noch über die Apps anzubieten. Allerdings kann ich heute noch nicht abschätzen, ob Life360 hier die App so grundlegend umbauen wird, dass ich bei dem Adapter tätig werden müsste. Kleine Änderungen an der API hat Life360 ja schon in der Vergangenheit vorgenommen, auf die ich immer einigermaßen zügig reagieren konnte. Der Anbieter hat die API leider nicht dokumentiert und informiert mich auch leider nicht über anstehende Änderungen.
Also, wir werden sehen.
-
@migoller dann hoffen wir mal das beste.
Auf alle fälle ein großes danke für den Adapter ich finde ihn super und nutze ihn sehr oft da er sehr zuverlässig arbeitet was die Anwesendheit an geht.Gruß Michael
-
@migoller ich habe die Geo-Zonen nun im Adapter und das fkt. einwandfrei
allerdings ist ein Unterschied von der Reaktionszeit zwischen den Handys erkennbar. iPhone ist schneller als Samsung, Frau steht noch beim öffnenderm Tor, bei mir ist ganz offen.
Habe dazu nun einen zweiten Home-Kreis fürs Samsung gemacht mit mehr Radius, mal sehen ob das die Lösung istAuch wenn die die Webpage aufgeben (warum auch immer, Kosten?), dann wird doch hoffentlich die App und API weiter laufen, ist schon eine tolle Sache und eine Alternative hätte ich bisher nicht gefunden, außer Google, aber da muss ein Abbo bezahlt werden.
-
@migoller bei mir fkt. Life360 nicht mehr zuverlässig.... teils extrem verzögert wird die GPS Position korrigiert (20min).
hoffe das gibt sich wieder, die scheinen ja gerade daran was zu drehen, aber so nicht verwendbar.Alternative noch immer keine gefunden...
-
@humidor Hallo. Hast Du allgemeine Verzögerung bei der Lieferung der GPS.-Koordinaten aller Devices, oder tritt das nur bei bestimmten Devices auf?
Hintergrund meiner Frage ist, dass ich deutliche Unterschiede zwischen iOS und Android festgestellt habe. Bei iOS habe ich durchweg häufiger Aktualisierungen als bei Android. Apple fragt aber gerne auch mal nach, ob die Berechtigungen für Location Services im Hintergrund noch benötigt werden (Antwort "immer" !).
Bei Android ist es m.E. nach deutlich komplexer. Wenn ich den Mechanismus aktuell richtig verstanden habe, richtet sich die theoretische Rückmeldung der GPS-Koordinaten nach der absolut zurückgelegten Distanz zum letzten Meldepunkt und der Geschwindigkeit. Mit meinen Geräten habe ich deutlich weniger Aktualisierungen als mit einem iOS Device. Bei Android spielt dann auch noch die herstellerspezifische Akkuoptimierung eine Rolle. Persönliche Erfahrungen mit Huawei, Honor, Samsung zeigten mir, dass ich doch regelmäßig schauen sollte, ob die Life360 noch aus der Optimierung ausgenommen ist. Sonst gibt es praktisch nur noch Meldungen, wenn die App im Vordergrund ist.
Sowohl bei iOS als auch bei Android sehe ich eine höhere Meldefrequenz, wenn die Geräte an eine Stromquelle angeschlossen sind.VG, MiGoller
-
@migoller iPhone und Samsung A51
Ja das iPhone ist etwas schneller, auch wenn es normal läuft. Musste beim Samsung den Radius erhöhen um selben Effekt zu erziehlen.Aber mom. sind beide Geräte betroffen, dh es liegt nicht an den Endgeräten, da aktualisiert Life360 nicht. Gestern habe ich in der App kontrolliert und ca. 30min später war meine Frau dann auch zu Hause
-
@humidor Hmm, bei mir reagiert auch die Life360 App wieder unterschiedlich. Habe die letzten Minuten mal drauf geschaut. Mal kann ich ein und dasselbe orten, mal nicht. Und das Device liegt neben mir.