NEWS
Script: Google Shared Locations Cookie Fixer
-
also bei mir ist die Nacht um 4:04 der Cookie abgelaufen und es hat alles gekappt -> Wegpunkte von heute sind da.
2026-01-20 04:04:48.931 - [32minfo[39m: google-sharedlocations.0 (311359) Error in location data parsing: Error: No location data in response. Cookie expired or no users share their location with you. 2026-01-20 04:04:48.932 - [31merror[39m: google-sharedlocations.0 (311359) Could not parse location data. Probably authentication error. Please check cookie. 2026-01-20 04:04:48.938 - [32minfo[39m: javascript.0 (646033) script.js.common.0_userdata_0_.Standort.google_sharedlocations_cookie_fixer: [Cookie-Fixer] Starte Refresh auf google.com... 2026-01-20 04:04:49.095 - [32minfo[39m: google-sharedlocations.0 (311359) Error in location data parsing: Error: No location data in response. Cookie expired or no users share their location with you. 2026-01-20 04:04:49.095 - [31merror[39m: google-sharedlocations.0 (311359) Could not parse location data. Probably authentication error. Please check cookie. 2026-01-20 04:04:49.101 - [32minfo[39m: javascript.0 (646033) script.js.common.0_userdata_0_.Standort.google_sharedlocations_cookie_fixer: [Cookie-Fixer] Starte Refresh auf google.com... 2026-01-20 04:05:04.441 - [32minfo[39m: javascript.0 (646033) script.js.common.0_userdata_0_.Standort.google_sharedlocations_cookie_fixer: [Cookie-Fixer] ERFOLG: Google.com Session-Cookie generiert. 2026-01-20 04:05:04.514 - [32minfo[39m: host.IoBroker instance "system.adapter.google-sharedlocations.0" disabled via .alive 2026-01-20 04:05:04.526 - [32minfo[39m: host.IoBroker "system.adapter.google-sharedlocations.0" disabled 2026-01-20 04:05:04.526 - [32minfo[39m: host.IoBroker stopInstance system.adapter.google-sharedlocations.0 (force=false, process=true) 2026-01-20 04:05:04.530 - [32minfo[39m: google-sharedlocations.0 (311359) Got terminate signal TERMINATE_YOURSELF 2026-01-20 04:05:04.530 - [32minfo[39m: google-sharedlocations.0 (311359) terminating 2026-01-20 04:05:04.531 - [32minfo[39m: google-sharedlocations.0 (311359) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason 2026-01-20 04:05:04.581 - [32minfo[39m: host.IoBroker stopInstance system.adapter.google-sharedlocations.0 send kill signal 2026-01-20 04:05:05.031 - [32minfo[39m: google-sharedlocations.0 (311359) terminating 2026-01-20 04:05:05.174 - [32minfo[39m: host.IoBroker instance system.adapter.google-sharedlocations.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) 2026-01-20 04:05:05.608 - [32minfo[39m: javascript.0 (646033) script.js.common.0_userdata_0_.Standort.google_sharedlocations_cookie_fixer: [Cookie-Fixer] ERFOLG: Google.com Session-Cookie generiert. 2026-01-20 04:05:09.558 - [32minfo[39m: host.IoBroker instance "system.adapter.google-sharedlocations.0" enabled via .alive 2026-01-20 04:05:09.566 - [32minfo[39m: host.IoBroker "system.adapter.google-sharedlocations.0" enabled 2026-01-20 04:05:09.820 - [32minfo[39m: host.IoBroker instance system.adapter.google-sharedlocations.0 in version "2.2.1" (non-npm: Garfonso/ioBroker.google-sharedlocations#91ce6d3d470cba4011b7861103c4bfffa32dffbe) started with pid 687283 2026-01-20 04:05:11.758 - [32minfo[39m: google-sharedlocations.0 (687283) starting. Version 2.2.1 (non-npm: Garfonso/ioBroker.google-sharedlocations#91ce6d3d470cba4011b7861103c4bfffa32dffbe) in /opt/iobroker/node_modules/iobroker.google-sharedlocations, node: v22.21.0, js-controller: 7.0.7 2026-01-20 04:05:11.768 - [32minfo[39m: google-sharedlocations.0 (687283) Starting google shared locations adapterVielen Dank noch an dieser Stelle.
-
Cooles skript. Danke dafür. :-)
Vielleicht gucke ich mal, ob ich puppeteer in den Adapter direkt integrieren kann? So etwas hatte ich immer schon im Kopf, aber nie umgesetzt. Hm.
Alternativ kann ich auch eine message zum speichern eines neuen cookies einfügen. Dann müsste man den Adapter nicht neustarten. (der Verbindungscheck läuft auch schon über message, du müsstest also mit
sendTo('google-sharedlocations.0', 'checmConnection', { cookie: HIER_COOKIE }, reply => { log('Cookie ist ' + reply ? 'ok' : 'nicht ok') });prüfen können, ob der Adapter mit dem Cookie, den du übergibst, glücklich ist. Ähnlich könnte das verwenden / speichern eines Cookie implementiert werden. -
Cooles skript. Danke dafür. :-)
Vielleicht gucke ich mal, ob ich puppeteer in den Adapter direkt integrieren kann? So etwas hatte ich immer schon im Kopf, aber nie umgesetzt. Hm.
Alternativ kann ich auch eine message zum speichern eines neuen cookies einfügen. Dann müsste man den Adapter nicht neustarten. (der Verbindungscheck läuft auch schon über message, du müsstest also mit
sendTo('google-sharedlocations.0', 'checmConnection', { cookie: HIER_COOKIE }, reply => { log('Cookie ist ' + reply ? 'ok' : 'nicht ok') });prüfen können, ob der Adapter mit dem Cookie, den du übergibst, glücklich ist. Ähnlich könnte das verwenden / speichern eines Cookie implementiert werden.@Garfonso sagte in Script: Google Shared Locations Cookie Fixer:
Cooles skript. Danke dafür. :-)
Vielleicht gucke ich mal, ob ich puppeteer in den Adapter direkt integrieren kann? So etwas hatte ich immer schon im Kopf, aber nie umgesetzt. Hm.
Alternativ kann ich auch eine message zum speichern eines neuen cookies einfügen. Dann müsste man den Adapter nicht neustarten. (der Verbindungscheck läuft auch schon über message, du müsstest also mit
sendTo('google-sharedlocations.0', 'checmConnection', { cookie: HIER_COOKIE }, reply => { log('Cookie ist ' + reply ? 'ok' : 'nicht ok') });prüfen können, ob der Adapter mit dem Cookie, den du übergibst, glücklich ist. Ähnlich könnte das verwenden / speichern eines Cookie implementiert werden.Das wäre schon sehr nice.
-
Cooles skript. Danke dafür. :-)
Vielleicht gucke ich mal, ob ich puppeteer in den Adapter direkt integrieren kann? So etwas hatte ich immer schon im Kopf, aber nie umgesetzt. Hm.
Alternativ kann ich auch eine message zum speichern eines neuen cookies einfügen. Dann müsste man den Adapter nicht neustarten. (der Verbindungscheck läuft auch schon über message, du müsstest also mit
sendTo('google-sharedlocations.0', 'checmConnection', { cookie: HIER_COOKIE }, reply => { log('Cookie ist ' + reply ? 'ok' : 'nicht ok') });prüfen können, ob der Adapter mit dem Cookie, den du übergibst, glücklich ist. Ähnlich könnte das verwenden / speichern eines Cookie implementiert werden.Weißt du noch welcher Teil des Cookies für die Anmeldung wirklich wichtig ist? Ich bekomme es zum verrecken nicht hin, dass der Adapter den Cookie aus dem Skript auch akzeptiert. Der sieht am Anfang leicht anders aus als der, den ich manuell aus der Browserkonsole kopiere.
-
Weißt du noch welcher Teil des Cookies für die Anmeldung wirklich wichtig ist? Ich bekomme es zum verrecken nicht hin, dass der Adapter den Cookie aus dem Skript auch akzeptiert. Der sieht am Anfang leicht anders aus als der, den ich manuell aus der Browserkonsole kopiere.
@bommel_030
Nö, keine Ahnung.Das wichtigste ist halt maps.google.com (nicht .de). Da bin ich meistens drüber gestolpert... aber sonst. schulterzuck
@bommel_030 sagte in Script: Google Shared Locations Cookie Fixer:
aber in der Instanzeinstellung bleibt (auch nach refresh) der alte Cookie stehen.
Ja, das ist korrekt... eigentlich ist es so gedacht, dass der Cookie in den Instanzeinstellungen der Chef ist und in "augmented cookie" schreibt der Adapter, was er sonst noch so vom Server geschickt bekommt. Das war ein Versuch dafür zu sorgen, dass der cookie länger hält.
Es kann sogar sein, dass der cookie in den Instanzeinstellungen immer mit in den augmented reinkopiert wird (und da dann vielleicht was kaputt macht?) - das weiß ich nicht mehr ganz genau... Muss nochmal tiefer in den Code gucken. Vielleicht werf ich das auch alle über den Haufen und mach nen neuen Adapter, dann könnte er vielleicht auch mal wieder ins repository. kopfkratz -
@bommel_030
Nö, keine Ahnung.Das wichtigste ist halt maps.google.com (nicht .de). Da bin ich meistens drüber gestolpert... aber sonst. schulterzuck
@bommel_030 sagte in Script: Google Shared Locations Cookie Fixer:
aber in der Instanzeinstellung bleibt (auch nach refresh) der alte Cookie stehen.
Ja, das ist korrekt... eigentlich ist es so gedacht, dass der Cookie in den Instanzeinstellungen der Chef ist und in "augmented cookie" schreibt der Adapter, was er sonst noch so vom Server geschickt bekommt. Das war ein Versuch dafür zu sorgen, dass der cookie länger hält.
Es kann sogar sein, dass der cookie in den Instanzeinstellungen immer mit in den augmented reinkopiert wird (und da dann vielleicht was kaputt macht?) - das weiß ich nicht mehr ganz genau... Muss nochmal tiefer in den Code gucken. Vielleicht werf ich das auch alle über den Haufen und mach nen neuen Adapter, dann könnte er vielleicht auch mal wieder ins repository. kopfkratz@Garfonso
Danke für die Rückmeldung. Auf .com habe ich immer geachtet, das kann ich ausschließen.
Dann schmeiß ich mal puppeteer etc. wieder runter und versuch es nochmal neu....Ein Adapter aus dem Repository wäre natürlich klasse. Wäre eine Anmeldung aus dem Adapter mit Nutzername/Passwort grundsätzlich möglich?
-
@Garfonso
Danke für die Rückmeldung. Auf .com habe ich immer geachtet, das kann ich ausschließen.
Dann schmeiß ich mal puppeteer etc. wieder runter und versuch es nochmal neu....Ein Adapter aus dem Repository wäre natürlich klasse. Wäre eine Anmeldung aus dem Adapter mit Nutzername/Passwort grundsätzlich möglich?
-
@bommel_030
ich muss mal lernen, was mit puppeteer so möglich ist und wie man den steuert. Vielleicht geht's mit dem (ohne 2FA).@Garfonso sagte in Script: Google Shared Locations Cookie Fixer:
ich muss mal lernen, was mit puppeteer so möglich ist und wie man den steuert. Vielleicht geht's mit dem (ohne 2FA).
Wegen 2FA hatte gemini beim dem Script auch bedenken geäußert. Das wird wohl mit puppeteer auch verlangt. Das wird nur umgangen indem das Coockie mitgegeben wird. Angeblich (laut gemini) kann er sogar 2FA verlangen, wenn der Coockie aus einem anderen Netzwerk bzw Standort kommt wie der Browseraufruf.
Puppeteer ist ja ein ganz normaler Chrome Browser mit fetter API. -
Naja, 2FA find ich nicht sooo super kritisch, ist ja "nur" der ioBroker Account. ;-)
Die Frage wäre ja, wie man den 2. Faktor in den Adapter bekommt (wenn der sich einloggen soll) und ob man dann wirklich was an Sicherheit gewonnen hat...