NEWS
(gelöst) google-sharedlocations Alternative?
-
@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? -
@falke69
das sollte aktiviert sein und nicht deaktiviert@falke69 sagte in (gelöst) google-sharedlocations Alternative?:
Der Zugriff auf "Zugriff durch weniger sichere Apps" ist auch deaktiviert. Habe ich etwas übersehen?
-
@Jan1
na gut, egal, wie ich die Einstellungen hin und her stelle, es funktioniert leider immer noch nicht?
Soll es den wirklich so schwer sein und ich an dieser Sache scheitern? Andere haben es doch auch ohne Probleme geschafft. -
@falke69
Ich weiß auch nicht in wie weit der Adapter das Problem löst, dass nur ältere Google Accounts funktionieren. Der "alte" Adapter lief zum Schluss nur mit alten Google Accounts und dann gar nicht mehr. Da musst wohl auf ne Antwort von @Garfonso warten, was er da alles umgebogen hat, dass der Adapter wieder läuft und welche Voraussetzungen dazu nötig sind.An sonst scheint bei Dir soweit alles richtig zu sein, zumindest sind da die Dinge, die ich bei mir auch gemacht habe um den Adapter wiederzubeleben.
Du schreibst oben, dass Du Dich in Google Maps eingeloggt hast und den Cookie zu erhalten. In der Anleitung steht allerdings google.com. Ich denke es dürfte egal sein ob Maps oder Google direkt, Hauptsache in dem Account der abgerufen werden soll.
Dein Screenshot oben zeigt auch nicht wirklich was Du als Cookie dort ausgewählt hast, nicht dass Du zu viel, zu wenig oder ganz was Falsches kopiert hast.
-
Danke für Deine Hilfe. Habe es direkt nochmal bei google.com versucht und mir dort den Cookie geklaut, aber ohne Erfolg. Vieleicht gibt es bald eine komplette Neuaufage des Adapters.
-
@falke69
der Cookie ist das hier was nach dem : kommt und das geht noch ein gutes Stück weiter, also sehr lang:
Sieht im Adapter dann so aus:
Edit:
lustig, ist mir eben selber erst aufgefallen. Eigentlich sollte auf beiden Screenshots der selbe Cookie zu sehen sein. Im Browser ist aber ein andere zu sehen als im Adapter, somit läuft es wohl sogar noch mit nem abgelaufenen -
@Jan1
ich habe gerade die Zeichen in meinen Cookie gezahlt. es sich so um die 876 Zeichen.
Könnte passen oder?