NEWS
(gelöst) google-sharedlocations Alternative?
-
@Jan1
Hab's gestern erst installiert, da war default 600 Sekunden.Bei mir geht es mit 60 Sekunden jetzt immer noch. Ich bau mal ein, dass es nicht niedriger sein darf. Oder?
-
@Garfonso
Dann hat er wohl die 30 von der alten Installation übernommen, was ich wohl vor langer Zeit mal eingestellt hatte. Ich teste morgen mal die 60 Sekunden. -
Wie visualisiert ihr das dann, Grafisch via iobroker.vis-map oder nur als Text?
Grafisch mit Route wäre geil, gab den Adapter noch nicht probiertAußerdem muss Google Maps dann immer im Hintergrund laufen oder?
-
@Stephan-Schleich
Ich glaube Du hast den Adapter nicht verstanden. -
@Stephan-Schleich
Also Google Maps läuft auf deinem (Android) Smartphone im Hintergrund und schickt an Google deine Position (wenn man das entsprechend einschaltet). Da hat man dann auch eine "Zeitachse" in der App usw. und man kann seine Position teilen, auch auf unbegrenzte Zeit. Das macht man dann mit einem "iobroker" User.
Der Adapter loggt sich als dieser User bei Google Maps ein und zieht die Daten der geteilten Standorte runter.Insofern laufen "im Hintergrund" auf deinem Handy eine App und halt die Google Server.
Die states kann man mit History Speichern -> ist der Verlauf schonmal da. In Lovelace kann man einen Standortverlauf anzeigen, hab ich aber noch nicht hinbekommen... was es da sonst in ioBroker gibt, weiß ich aktuell gar nicht (beschäftige mich erst seit dem Wochenende ernsthaft mit Standort in ioBroker ). Aber die visualisierungsfragen sind eher unabhängig vom Adapter und vielleicht auch schon geklärt (?).
-
@Garfonso
man kann nicht nur den Standort zu Hause definieren, sondern auch zum Beispiel den von der Arbeit/Schule und eben was man noch so möchte. (Über die Koordinaten/Umkreis)
Genau so ist es dann eben möglich ab zu fragen wo Jemand (bzw. das Handy) gerade ist, dann wird z.B. über Alexa die Anschrift angesagt. -
@dslraser
Exakt das ist der Sinn des Adapter. Warum ich da noch visualisieren wollte erschließt sich mir nicht, denn das macht eh Google Maps schon perfekt. Oder gehts hier darum mal wieder was ins VIS zu packen das schön aussieht? Wenn ja, lässt sich da nicht auch einfach ne vorhandene Webseite darstellen? -
@Garfonso
So ganz sauber läuft das irgendwie nicht. Ich habe heute morgen mal den Cookie neu eingetragen und die poll Zeit auf 60 Sekunden geändert. Da wurde auch gleich mal der aktuelle Standort geladen und ich war zufrieden. Jetzt ne gute Stunde später ist der Adapter noch grün, keine Fehler im Log, aber es wurde nichts aktualisiert und somit stimmt auch der Standort nicht mehr.
Ein manuelles poll bewirkt auch keine Aktualisierung und ein Neustart des Adapter ändert auch nichts. Läuft das bei Dir?Hab jetzt noch mal den Cookie neu geholt und eingetragen, was auch nicht mehr läuft. Wenn ich auf "Verbindung prüfen" im Adapter klicke, kommen diese Warnungen im Log:
google-sharedlocations.0 2020-06-02 10:11:02.009 warn at processImmediate (internal/timers.js:456:21) google-sharedlocations.0 2020-06-02 10:11:02.009 warn at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:234:41) google-sharedlocations.0 2020-06-02 10:11:02.009 warn at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:5313:34) google-sharedlocations.0 2020-06-02 10:11:02.009 warn at Adapter.emit (events.js:315:20) google-sharedlocations.0 2020-06-02 10:11:02.009 warn at Adapter.<anonymous> (/opt/iobroker/node_modules/iobroker.google-sharedlocations/main.js:110:29) google-sharedlocations.0 2020-06-02 10:11:02.009 warn at JSON.parse (<anonymous>) google-sharedlocations.0 2020-06-02 10:11:02.009 warn (3502686) SyntaxError: Unexpected token o in JSON at position 1 google-sharedlocations.0 2020-06-02 10:11:02.005 warn (3502686) States system pmessage io.messagebox.system.adapter.google-sharedlocations.0 {"command":"checkConnection","message":{"cookie":"NID=204=uc3p1FbYt6Ycx-kgOZ7pJoWHK04blVkAwGYxyVP-*********
Cookie hab ich mit Sternchen versehen.
-
@Jan1
Ok, checkConnection ist kaputt gewesen, hab ich gefixt.Grundsätzlich funktioniert es bei mir, hab eben extra mal geguckt, als ich weg war, wurde auch aktualisiert. Heute nachmittag ging es wohl auch, da waren beide Handys unterwegs (wobei da zwischendurch wegen der Wärme der Server abgestürzt ist, aber die letzten Daten in der Datenbank sahen "gut" aus im Sinne, wir waren noch weit weg ).
Ein Grund, dass es nicht updated könnte ja auch Stromspar-Funktionen auf dem Handy sein. Ich habe Google Maps da grundsätzlich von KI Optimierungen usw. ausgenommen, da ich den Standortverlauf sauber haben will. Ist aber nur ein "wild guess".
Ich habe mich ehrlich gesagt mit der inneren Mechanik des Adapters noch nicht so sehr auseinander gesetzt. Außer mit der Änderung beim Autorisieren habe ich auch nur ein paar Warnungen gefixt und sonst nichts geändert. (Habe jetzt mal reingeguckt, da wird im Grunde nur ein JSON geparst und in die richtigen Objekte und dann die richtigen States geschoben -> da kann eigentlich nicht wirklich was schief gehen, bzw. das müsste dann auch Exceptions geben).
Bezüglich des pollens kannst du mal das debug logging anmachen, da gibt er bei jedem Poll eine Rückmeldung, dass er was gemacht hat und welchen Result er von Google bekommen hat. Ich guck mal, ob er bei einem Fehler da auf Gelb schaltet oder nicht.
//Edit:
Ja, er setzt info.connection bei jedem Poll auf "true" wenn es geklappt hat bzw auf "false", wenn es nicht geklappt hat -> am Zeitstempel kann man da auch sehen, wann das letzte mal gepollt wurde und die Farbe der Instanz ändert sich damit auch von grün auf gelb bzw. auch von gelb auf grün, wenn es wieder gehen sollte.//Edit 2:
Wobei ich natürlich nicht genau weiß, wie sich ein abgelaufener Cookie genau auswirkt, ggf. merkt er das beim pollen nicht, sondern kriegt nur keine Infos. Das muss ich nochmal untersuchen. -
@Garfonso
Dann teste ich mal und zieh mir auch nen neuen Cookie.
Wenn ich hier was poste, dass es nicht geht, dann ist das keine Kritik, sondern einfach nur die Info für Dich, dass bei mir ein Problem besteht und Du bei Zeit und Lust mal danach schauen kannst. Der Adapter läuft ja ab und zu mit Deiner Methode, nur eben bei mir leider nicht dauerhaft. An Handys liegt es nicht auf alle Fälle nicht, da die eine saubere Standortaufzeichnung haben, wenn ich mir das anseheEdit:
läuft wieder, wenn ich den DP "poll" auslöse, werden die restlichen DP sofort aktualisiert (das lief gestern auch nicht mehr). Die "Verbindung prüfen" Funktion ist auch wieder funktionsfähig. Soweit sieht es schon wieder gut aus. Wenn was aussteigt poste ich es wieder.Hier mal das Logfile zu den Aktionen:
google-sharedlocations.0 2020-06-03 07:46:03.590 debug (766999) stateChange google-sharedlocations.0.info.connection {"val":true,"ack":true,"ts":1591163163551,"q":0,"from":"system.adapter.google-sharedlocations.0","user":"system.user.admin","lc":159107602 google-sharedlocations.0 2020-06-03 07:46:03.586 debug (766999) stateChange google-sharedlocations.0.fence.2 {"val":true,"ack":true,"ts":1591163163551,"q":0,"from":"system.adapter.google-sharedlocations.0","user":"system.user.admin","lc":1591021900977} google-sharedlocations.0 2020-06-03 07:46:03.583 debug (766999) stateChange google-sharedlocations.0.fence.1 {"val":true,"ack":true,"ts":1591163163550,"q":0,"from":"system.adapter.google-sharedlocations.0","user":"system.user.admin","lc":1591162995062} google-sharedlocations.0 2020-06-03 07:46:03.538 info (766999) Checking fences. google-sharedlocations.0 2020-06-03 07:46:03.537 debug (766999) Response: OK google-sharedlocations.0 2020-06-03 07:46:02.991 info (766999) Polling locations. google-sharedlocations.0 2020-06-03 07:45:34.064 debug (766999) system.adapter.admin.0: logging true google-sharedlocations.0 2020-06-03 07:45:31.362 debug (766999) system.adapter.admin.0: logging false google-sharedlocations.0 2020-06-03 07:45:26.039 debug (766999) sendTo "checkConnection" to system.adapter.admin.0 from system.adapter.google-sharedlocations.0: true google-sharedlocations.0 2020-06-03 07:45:26.037 debug (766999) Response: OK google-sharedlocations.0 2020-06-03 07:45:34.064 debug (766999) system.adapter.admin.0: logging true
-
Ich versteh es einfach nicht. Jetzt aktualisiert er sich schon wieder nicht mehr:
die untere Zeile ist die poll Funktion und wie man sieht wurde um 8:41 gepollt und die andern DPs blieben einfach stehen.Das Log dazu:
google-sharedlocations.0 2020-06-03 08:43:20.601 debug (829881) system.adapter.admin.0: logging true google-sharedlocations.0 2020-06-03 08:42:51.546 debug (829881) stateChange google-sharedlocations.0.info.connection {"val":true,"ack":true,"ts":1591166571540,"q":0,"from":"system.adapter.google-sharedlocations.0","user":"system.user.admin","lc":15911662 google-sharedlocations.0 2020-06-03 08:42:51.537 info (829881) Checking fences. google-sharedlocations.0 2020-06-03 08:42:51.536 debug (829881) Response: OK google-sharedlocations.0 2020-06-03 08:42:51.404 info (829881) Polling locations. google-sharedlocations.0 2020-06-03 08:41:51.579 debug (829881) stateChange google-sharedlocations.0.info.connection {"val":true,"ack":true,"ts":1591166511575,"q":0,"from":"system.adapter.google-sharedlocations.0","user":"system.user.admin","lc":15911662 google-sharedlocations.0 2020-06-03 08:41:51.571 info (829881) Checking fences. google-sharedlocations.0 2020-06-03 08:41:51.570 debug (829881) Response: OK google-sharedlocations.0 2020-06-03 08:41:51.404 info (829881) Polling locations. google-sharedlocations.0 2020-06-03 08:41:10.596 debug (829881) system.adapter.admin.0: logging false google-sharedlocations.0 2020-06-03 08:41:05.578 debug (829881) stateChange google-sharedlocations.0.info.connection {"val":true,"ack":true,"ts":1591166465570,"q":0,"from":"system.adapter.google-sharedlocations.0","user":"system.user.admin","lc":15911662 google-sharedlocations.0 2020-06-03 08:41:05.566 info (829881) Checking fences. google-sharedlocations.0 2020-06-03 08:41:05.565 debug (829881) Response: OK google-sharedlocations.0 2020-06-03 08:41:05.443 debug (829881) stateChange google-sharedlocations.0.trigger_poll {"val":false,"ack":false,"ts":1591166465438,"q":0,"from":"system.adapter.google-sharedlocations.0","user":"system.user.admin","lc":159116646 google-sharedlocations.0 2020-06-03 08:41:05.437 debug (829881) ack is not set!
Adapter ist grün
Was mir eben aufgefallen ist, die eingetragenen User sind nicht mehr da und deshalb wird auch nichts aktualisiert. Problem, der Adapter ist verbunden, kann aber keine User Auswählen.
Edit:
Adapter neu installiert und läuft wieder, mal gespannt wie lange diesmal. Hab die poll time auf 300 gestellt, da 600 viel zu hoch ist um den Adapter sinnvoll nutzen zu können. Eigentlich lief der ja auch schon zuverlässig mit 30Edit2:
Ich glaub ich habs, der Adapter läuft so lange, wie ich am PC auch bei Google mit meinem IOBroker Account angemeldet bin, sobald ich mich abmelde, wird nichts mehr aktualisiert.
Ja das ist mein Problem. Eben noch mal frisch angemeldet und Cookie ersetzt, kann pollen so oft ich will, der Adapter aktualisiert jedes mal sofort alle DPs. Melde ich mich bei Google ab, ist auch sofort Schluss damit. -
@Jan1 said in (gelöst) google-sharedlocations Alternative?:
Ja das ist mein Problem. Eben noch mal frisch angemeldet und Cookie ersetzt, kann pollen so oft ich will, der Adapter aktualisiert jedes mal sofort alle DPs. Melde ich mich bei Google ab, ist auch sofort Schluss damit.
Oh ja, das macht Sinn. Du hast ja das Cookie von der Session, wenn du die im Browser beendest, kann der Adapter sie nicht weiter nutzen.
Das wird mit dem Proxy behoben werden (wird aber noch etwas dauern). Bis dahin ggf. einen "ungenutzten" Browser verwenden oder ein "Privates Fenster", da müsste man sich auch mit dem ioBroker-Account einloggen können und das Fenster einfach schließen, so dass man sich im Browser wieder mit dem eigenen Account einloggen kann (bzw. gar nicht ausloggen muss).
Aber gut, dann weiß ich jetzt, dass da noch Fehlerbehandlung fehlt. (und dann weiß ich jetzt auch, wie ich den Fehler provozieren kann )
@Jan1 said in (gelöst) google-sharedlocations Alternative?:
Wenn ich hier was poste, dass es nicht geht, dann ist das keine Kritik, sondern einfach nur die Info für Dich, dass bei mir ein Problem besteht und Du bei Zeit und Lust mal danach schauen kannst.
Ne, sehe ich auch nicht so. Ist ja wertvolles Feedback.
Wenn ich darauf so lange antworte, ist das weniger eine Rechtfertigung als "lautes Denken". -
Hi, ich klinke mich ein und teste mit euch. Sagt ihr mir was ich jetzt genau zu machen habe um meinen Adapter wieder zum laufen zu bekommen.
-
@maxpd
Siehe: https://forum.iobroker.net/post/442647 bzw. auch Readme vom geforkten Adapter. -
@Garfonso Mega. Funktioniert auf Anhieb fürs Erste.
-
Guten Morgen zusammen,
ich habe jetzt auch mal versucht, diesen Adapter zum Laufen zu bringen. Leider ohne Erfolg.
Habe mich bei Google Maps (.com) angemeldet und das Cookie eingetragen.
Prüfe ich im Adapter, ob ich eine Verbundung habe, bekomme ich die Aussage, dass die Verbindung fehlgeschlagen ist.
Im Log steht auch, dass der Cookie nicht akzeptiert wird, bzw. abgelaufen ist.
kann mir vielleicht jemand sagen, wo der Fehler liegt?
-
@falke69
Bist Du weiter hin über den Browser bei google mit dem selben Konto angemeldet, wie der Adapter und hast User angelegt, die den Standort freigeben? -
Im Browser bin ich weiterhin angemeldet. Wo lege ich denn einen User an.
Im Adapter scheint es ja nicht zu gehen, da bekomme ich keine Auswahl.
Ich dachte immer, dass zumindest der eine User (Gogglekonto) auftauchen sollte.Kannst Du mir das weiterhelfen?
-
@falke69
Wenn Du auf den Pfeil bei Benutzer klickst, sollte ein Auswahl der User erscheinen die auf dem Handy auch mit diesem Account eingeloggt und die Standortfreigabe aktiv haben. Ist das nicht der Fall, ist auf dem Handy die Standortfreigabe nicht aktiv, oder ein andere Google Account am Laufen. -
@Jan1
Die Standortfreigabe auf dem Handy ist aktuell aktiviert. Mit dem Account vom Handy, habe ich mich über Maps eingeloggt und diesen Cookie in den Adapter eingetragen. Der Zugriff auf "Zugriff durch weniger sichere Apps" ist auch deaktiviert. Habe ich etwas übersehen?