Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Tester
  4. Test Adapter google-sharedlocations2

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    958

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Test Adapter google-sharedlocations2

Geplant Angeheftet Gesperrt Verschoben Tester
26 Beiträge 5 Kommentatoren 282 Aufrufe 9 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • GarfonsoG Garfonso

    @BananaJoe
    Der Adapter bringt alles mit. Sollte auch unter Linux (wo von iobroker unterstüzt) die ganzen Abhängigkeiten installieren.

    (falls die Frage nach dem puppeteer Adapter war: der wird nicht benötigt und ist unabhängig von diesem Adapter. puppeteer ist halt die Technologie hinter beiden Adaptern jetzt :-) )

    @David-G. sagte in Test Adapter google-sharedlocations2:

    Error in puppeteer: Timed out after waiting 30000ms

    Hm. Das kommt, wenn er an einem Schritt vom login nicht weiter kam... das sind ja mehrere Schritte, Eingabefeld für Username finden, Weiter klicken, Eingabefeld für Passwort finden, Weiter klicken. Bei jedem kann dieser Fehler kommen (oder auch überhaupt beim Verbindungsaufbau, vermutlich). Leider hab ich da bisher nicht viel bessere Fehlermeldungen bekommen. Da muss ich mir nochwas überlegen (debug log sagt extra immer an, welchen Schritt er als nächstes versucht).

    Ging es danach?

    B Offline
    B Offline
    bommel_030
    schrieb am zuletzt editiert von
    #7

    @Garfonso
    Erster Test, der Adapter holt sich beim ersten Start einen Cookie. Damit kann er sich offenbar nicht anmelden.

    No shared locations found in the response, probably not logged in.
    

    Dann habe ich manuell einen Cookie aus Chrome geholt und ihn in den Datenpunkt eingetragen. Das hat der Adapter erkannt und auch gleich Positionsdaten abgerufen. (Warum die Cookies aus Chrome und Puppeteer so unterschiedlich aussehen weiß ich nicht)
    Nach ca. 2h ist der Cookie abgelaufen:

    Trying to login to Google to get new cookies.
    Obtained new cookies from Google login.
    

    Und er ruft mit dem neuen "andersartigen" Cookie die Positionsdaten brav weiter ab.
    Vielen Dank! Natürlich auch an @david-g. !

    @krys
    Ich meine Locations bietet dir mehr Möglichkeiten. Du legst quasi einmalig Nutzer und Orte an und der Adapter sagt dir wer wo ist.
    Hat den Vorteil, wenn man noch andere "Ortungsadapter" nutzt kann man die Daten da auch hinsenden.
    Ich schicke z.B. meine Positionsdaten minütlich bei längeren Autofahrten via Owntracks auch an den Places Adapter. So kann meine Holde quasi live sehen wo ich bin. Google macht ja kein Echtzeittracking.

    K 1 Antwort Letzte Antwort
    0
    • B bommel_030

      @Garfonso
      Erster Test, der Adapter holt sich beim ersten Start einen Cookie. Damit kann er sich offenbar nicht anmelden.

      No shared locations found in the response, probably not logged in.
      

      Dann habe ich manuell einen Cookie aus Chrome geholt und ihn in den Datenpunkt eingetragen. Das hat der Adapter erkannt und auch gleich Positionsdaten abgerufen. (Warum die Cookies aus Chrome und Puppeteer so unterschiedlich aussehen weiß ich nicht)
      Nach ca. 2h ist der Cookie abgelaufen:

      Trying to login to Google to get new cookies.
      Obtained new cookies from Google login.
      

      Und er ruft mit dem neuen "andersartigen" Cookie die Positionsdaten brav weiter ab.
      Vielen Dank! Natürlich auch an @david-g. !

      @krys
      Ich meine Locations bietet dir mehr Möglichkeiten. Du legst quasi einmalig Nutzer und Orte an und der Adapter sagt dir wer wo ist.
      Hat den Vorteil, wenn man noch andere "Ortungsadapter" nutzt kann man die Daten da auch hinsenden.
      Ich schicke z.B. meine Positionsdaten minütlich bei längeren Autofahrten via Owntracks auch an den Places Adapter. So kann meine Holde quasi live sehen wo ich bin. Google macht ja kein Echtzeittracking.

      K Offline
      K Offline
      Krys
      schrieb am zuletzt editiert von
      #8

      @bommel_030

      meinst du Places? Das habe ich mir noch nicht genauer angeschaut und habe da noch keinen Ansatz.
      War mit der bisherigen Lösung über den Adapter von Garfonso mehr als zufrieden.

      Muss ich mich wohl einfuchsen. Nutze iOS und zusätzlich noch Geofency.

      Vielleicht hast du noch 2-3 Stichworte, die mir auf die Sprünge helfen :D

      GarfonsoG 1 Antwort Letzte Antwort
      0
      • GarfonsoG Garfonso

        @BananaJoe
        Der Adapter bringt alles mit. Sollte auch unter Linux (wo von iobroker unterstüzt) die ganzen Abhängigkeiten installieren.

        (falls die Frage nach dem puppeteer Adapter war: der wird nicht benötigt und ist unabhängig von diesem Adapter. puppeteer ist halt die Technologie hinter beiden Adaptern jetzt :-) )

        @David-G. sagte in Test Adapter google-sharedlocations2:

        Error in puppeteer: Timed out after waiting 30000ms

        Hm. Das kommt, wenn er an einem Schritt vom login nicht weiter kam... das sind ja mehrere Schritte, Eingabefeld für Username finden, Weiter klicken, Eingabefeld für Passwort finden, Weiter klicken. Bei jedem kann dieser Fehler kommen (oder auch überhaupt beim Verbindungsaufbau, vermutlich). Leider hab ich da bisher nicht viel bessere Fehlermeldungen bekommen. Da muss ich mir nochwas überlegen (debug log sagt extra immer an, welchen Schritt er als nächstes versucht).

        Ging es danach?

        David G.D Online
        David G.D Online
        David G.
        schrieb am zuletzt editiert von
        #9

        @Garfonso sagte in Test Adapter google-sharedlocations2:

        Ging es danach?

        Ja,

        Email korrigiert unf alles lies top.

        Offtopic:
        Places nutze ich auch.
        Finde ich sehr praktisch. Gibt noch ein paar nützliche DPs und mache Geräte orte ich nicht über google shared locations.
        Da ist die zentrale Anlaufstelle praktisch.
        Aber A kann man es ja selber über send to an Places senden und B sollte der neue Adapter ja erstmal an sich rund laufen bis die weiteren (gewohnten) Features rein kommen.

        Zeigt eure Lovelace-Visualisierung klick
        (Auch ideal um sich Anregungen zu holen)

        Meine Tabellen für eure Visualisierung klick

        1 Antwort Letzte Antwort
        0
        • K Krys

          @bommel_030

          meinst du Places? Das habe ich mir noch nicht genauer angeschaut und habe da noch keinen Ansatz.
          War mit der bisherigen Lösung über den Adapter von Garfonso mehr als zufrieden.

          Muss ich mich wohl einfuchsen. Nutze iOS und zusätzlich noch Geofency.

          Vielleicht hast du noch 2-3 Stichworte, die mir auf die Sprünge helfen :D

          GarfonsoG Offline
          GarfonsoG Offline
          Garfonso
          Developer
          schrieb am zuletzt editiert von
          #10

          @Krys sagte in Test Adapter google-sharedlocations2:

          meinst du Places? Das habe ich mir noch nicht genauer angeschaut und habe da noch keinen Ansatz.
          War mit der bisherigen Lösung über den Adapter von Garfonso mehr als zufrieden.

          Die beiden Features sind halt weitgehend identisch. Bei beiden hast du eine Position mit einem Radius. Der Hauptunterschied ist die Art der Datenpunkte, die erzeugt werden. Bei den fences im Adapter hast du quasi nur einen true/false Wert. Bei places hast du für jeden Nutzer ne ganze Reihe inklusive einen, wo steht wo der Nutzer gerade ist und auch für die Places einen, wo steht, wie viele Nutzer bzw. welche Nutzer gerade da sind.

          Wenn man mehrere Geolocation-Dienste nutzt, ist places sicher besser, weil es man es von mehreren Adaptern befüllen kann. Die Places Unterstützung ist auch nur ein send-To. Fences ist dafür etwas mehr Code im Adapter und besonders der Config.

          Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

          Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

          K 1 Antwort Letzte Antwort
          0
          • BananaJoeB Online
            BananaJoeB Online
            BananaJoe
            Most Active
            schrieb am zuletzt editiert von BananaJoe
            #11

            Um noch einen Ansatz hinzu zu fügen: Ich nutze Traccar und sende die Positionen per http-Request von ioBroker zur diesem.
            Über den Traccar-Adapter bekomme ich wiederum die Positionen zurück in ioBroker.
            Vorteil Traccar ist das man da auch ungewöhnliche Fences ziehen kann:

            image.png

            53e8b316-a1ad-471c-8a23-7fdc67e92240-image.png
            fbdaf623-26ab-481a-a596-1fdb6496a00e-image.png

            ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

            1 Antwort Letzte Antwort
            0
            • GarfonsoG Garfonso

              @Krys sagte in Test Adapter google-sharedlocations2:

              meinst du Places? Das habe ich mir noch nicht genauer angeschaut und habe da noch keinen Ansatz.
              War mit der bisherigen Lösung über den Adapter von Garfonso mehr als zufrieden.

              Die beiden Features sind halt weitgehend identisch. Bei beiden hast du eine Position mit einem Radius. Der Hauptunterschied ist die Art der Datenpunkte, die erzeugt werden. Bei den fences im Adapter hast du quasi nur einen true/false Wert. Bei places hast du für jeden Nutzer ne ganze Reihe inklusive einen, wo steht wo der Nutzer gerade ist und auch für die Places einen, wo steht, wie viele Nutzer bzw. welche Nutzer gerade da sind.

              Wenn man mehrere Geolocation-Dienste nutzt, ist places sicher besser, weil es man es von mehreren Adaptern befüllen kann. Die Places Unterstützung ist auch nur ein send-To. Fences ist dafür etwas mehr Code im Adapter und besonders der Config.

              K Offline
              K Offline
              Krys
              schrieb am zuletzt editiert von
              #12

              @Garfonso Ok, scheinbar bin ich zu hohl dafür. Mit owntracks bekomme ich es nicht hin, mit iOS Kurzbefehlen auch nicht. Ich bleibe bei deinem alten Adapter und hoffe, dass er erhalten bleibt. Dort kann ich per Blockly auch die Standorte abfragen, das passt schon so.

              1 Antwort Letzte Antwort
              0
              • BananaJoeB Online
                BananaJoeB Online
                BananaJoe
                Most Active
                schrieb am zuletzt editiert von
                #13

                So, heute umgestellt, hat auf Anhieb geklappt.
                Musste in meinen Skripten überall nur eine "2" einbauen (aus google-sharedlocations.0. ein google-sharedlocations2.0. machen) und es läuft wie gewohnt

                ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                GarfonsoG 1 Antwort Letzte Antwort
                0
                • BananaJoeB BananaJoe

                  So, heute umgestellt, hat auf Anhieb geklappt.
                  Musste in meinen Skripten überall nur eine "2" einbauen (aus google-sharedlocations.0. ein google-sharedlocations2.0. machen) und es läuft wie gewohnt

                  GarfonsoG Offline
                  GarfonsoG Offline
                  Garfonso
                  Developer
                  schrieb am zuletzt editiert von
                  #14

                  @BananaJoe sagte in Test Adapter google-sharedlocations2:

                  So, heute umgestellt, hat auf Anhieb geklappt.
                  Musste in meinen Skripten überall nur eine "2" einbauen (aus google-sharedlocations.0. ein google-sharedlocations2.0. machen) und es läuft wie gewohnt

                  user hat sich noch zu users verändert.

                  @Krys sagte in Test Adapter google-sharedlocations2:

                  @Garfonso Ok, scheinbar bin ich zu hohl dafür. Mit owntracks bekomme ich es nicht hin, mit iOS Kurzbefehlen auch nicht. Ich bleibe bei deinem alten Adapter und hoffe, dass er erhalten bleibt. Dort kann ich per Blockly auch die Standorte abfragen, das passt schon so.

                  Was genau bekommst du nicht hin? Places ist doch "einfach" ein Adapter in ioBroker...?

                  Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                  Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                  BananaJoeB 1 Antwort Letzte Antwort
                  0
                  • David G.D Online
                    David G.D Online
                    David G.
                    schrieb am zuletzt editiert von David G.
                    #15

                    @garfonso
                    Seit dem ich den Adapter installiert bekomme ich regelmäßig eine Mail mit der Sicherheitsfrage ob ich mich wirklich eingeloggt habe.
                    Er meint von einem Windows Rechner aus.

                    Hat das noch jemend?

                    Edit
                    Gtad im Code vom Adapter geschaut, gibt sich als Windows aus, dann wird es wirklich davon kommen.
                    Dabei hab ich gesehen, dass du die Fences und Places eingebaut hast. Super.

                    Zeigt eure Lovelace-Visualisierung klick
                    (Auch ideal um sich Anregungen zu holen)

                    Meine Tabellen für eure Visualisierung klick

                    GarfonsoG 1 Antwort Letzte Antwort
                    0
                    • GarfonsoG Garfonso

                      @BananaJoe sagte in Test Adapter google-sharedlocations2:

                      So, heute umgestellt, hat auf Anhieb geklappt.
                      Musste in meinen Skripten überall nur eine "2" einbauen (aus google-sharedlocations.0. ein google-sharedlocations2.0. machen) und es läuft wie gewohnt

                      user hat sich noch zu users verändert.

                      @Krys sagte in Test Adapter google-sharedlocations2:

                      @Garfonso Ok, scheinbar bin ich zu hohl dafür. Mit owntracks bekomme ich es nicht hin, mit iOS Kurzbefehlen auch nicht. Ich bleibe bei deinem alten Adapter und hoffe, dass er erhalten bleibt. Dort kann ich per Blockly auch die Standorte abfragen, das passt schon so.

                      Was genau bekommst du nicht hin? Places ist doch "einfach" ein Adapter in ioBroker...?

                      BananaJoeB Online
                      BananaJoeB Online
                      BananaJoe
                      Most Active
                      schrieb am zuletzt editiert von
                      #16

                      @Garfonso sagte in Test Adapter google-sharedlocations2:

                      user hat sich noch zu users verändert.

                      Gut das du das geschrieben hast ... Danke!

                      ioBroker@Ubuntu 24.04 LTS (VMware) für: >260 Geräte, 5 Switche, 7 AP, 9 IP-Cam, 1 NAS 42TB, 1 ESXi 15TB, 4 Proxmox 1TB, 1 Hyper-V 48TB, 14 x Echo, 5x FireTV, 5 x Tablett/Handy VIS || >=160 Tasmota/Shelly || >=95 ZigBee || PV 8.1kW / Akku 14kWh || 2x USV 750W kaskadiert || Creality CR-10 SE 3D-Drucker

                      1 Antwort Letzte Antwort
                      0
                      • David G.D David G.

                        @garfonso
                        Seit dem ich den Adapter installiert bekomme ich regelmäßig eine Mail mit der Sicherheitsfrage ob ich mich wirklich eingeloggt habe.
                        Er meint von einem Windows Rechner aus.

                        Hat das noch jemend?

                        Edit
                        Gtad im Code vom Adapter geschaut, gibt sich als Windows aus, dann wird es wirklich davon kommen.
                        Dabei hab ich gesehen, dass du die Fences und Places eingebaut hast. Super.

                        GarfonsoG Offline
                        GarfonsoG Offline
                        Garfonso
                        Developer
                        schrieb am zuletzt editiert von
                        #17

                        @David-G. sagte in Test Adapter google-sharedlocations2:

                        Hat das noch jemend?

                        Ja, hab ich auch mehrere bekommen.

                        Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                        Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                        David G.D 1 Antwort Letzte Antwort
                        0
                        • GarfonsoG Offline
                          GarfonsoG Offline
                          Garfonso
                          Developer
                          schrieb am zuletzt editiert von
                          #18

                          fence habe ich auch zu fences geändert. Ich finde irgendwie Singular für einen „Ordner“, in dem dann mehrere sind, falsch. ;-)

                          Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                          Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                          1 Antwort Letzte Antwort
                          0
                          • GarfonsoG Garfonso

                            @David-G. sagte in Test Adapter google-sharedlocations2:

                            Hat das noch jemend?

                            Ja, hab ich auch mehrere bekommen.

                            David G.D Online
                            David G.D Online
                            David G.
                            schrieb am zuletzt editiert von David G.
                            #19

                            @Garfonso sagte in Test Adapter google-sharedlocations2:

                            Ja, hab ich auch mehrere bekommen.

                            Man kann puppeteer ja einen Arbeitsordner mitgeben, um Session fortsetzen zu können.Evtl bekommt man es damit hin dass nicht jede Anmeldung als neues Gerät erkannt wird. Oder hast du es extra so gemacht, dass sicher ein login mit Passwort erscheint?

                            Edit.
                            Evtl nur mit Pw einloggen wenn das Coockie abgelaufen ist. Zum Ordner laut Gemini:

                            Ja, das ist sogar eine sehr gute Idee! Bei Puppeteer nennt sich das userDataDir.
                            ​Wenn du diesen Ordner angibst, speichert Chrome dort das gesamte Browser-Profil – inklusive Cookies, Cache und vor allem den Session-Status. Beim nächsten Start greift Puppeteer auf diesen Ordner zu. Google sieht dann keinen "völlig neuen" Browser, was die Wahrscheinlichkeit massiv erhöht, dass du eingeloggt bleibst oder keine erneute 2FA-Abfrage kommt.
                            ​So baust du es in deine Cookie.ts ein
                            ​Du musst die puppeteer.launch-Optionen in der Methode loginToGetNewCookies anpassen.
                            ​1. Pfad definieren
                            ​Zuerst solltest du einen Pfad festlegen. Da es ein ioBroker-Adapter ist, bietet sich ein Ordner im Adapter-Verzeichnis an:

                            const path = require('path');
                            // Im ioBroker-Kontext sinnvoll: ein Ordner im Instanz-Verzeichnis
                            const dataDir = path.join(utils.getAbsoluteDefaultDataDir(), 'google-sharedlocations2-profile');
                            
                            1. Den Launch-Befehl anpassen
                              ​Ändere den Block in deiner loginToGetNewCookies wie folgt ab:
                            this.browser = await puppeteer.launch({
                                headless: true,
                                userDataDir: './google_profile', // Hier wird die Session gespeichert
                                args: [
                                    '--no-sandbox', 
                                    '--disable-setuid-sandbox', 
                                    '--disable-blink-features=AutomationControlled'
                                ],
                                ignoreDefaultArgs: ['--enable-automation'],
                            });
                            
                            

                            Warum das für dein Script wichtig ist:
                            ​Vermeidung von 2FA: Wenn du dich einmal erfolgreich eingeloggt hast (vielleicht indem du headless: false kurzzeitig zum Testen nutzt), erkennt Google das "Gerät" beim nächsten Mal wieder.
                            ​Cookie-Persistenz: Selbst wenn das Script abstürzt, sind die Cookies noch im userDataDir gespeichert und müssen nicht jedes Mal neu per Tipp-Simulation erzeugt werden.
                            ​Glaubwürdigkeit: Ein Browser mit Historie und Cache wirkt für die Google-Sicherheitsalgorithmen weniger wie ein bösartiger Bot.

                            EDIT 2
                            Mein Script nutzt die Option eines Cookie-Refresh. Evtl kann der Adapter erstmal versuchen, sich mit dem per User und Pw abgerufenen Coockie zu verbinden und dieses zu aktualisieren, und das nächste mal dann mit diesem usw. Wenn das nicht klappt neu einloggen mit user und pw.

                            Zeigt eure Lovelace-Visualisierung klick
                            (Auch ideal um sich Anregungen zu holen)

                            Meine Tabellen für eure Visualisierung klick

                            GarfonsoG 1 Antwort Letzte Antwort
                            0
                            • David G.D David G.

                              @Garfonso sagte in Test Adapter google-sharedlocations2:

                              Ja, hab ich auch mehrere bekommen.

                              Man kann puppeteer ja einen Arbeitsordner mitgeben, um Session fortsetzen zu können.Evtl bekommt man es damit hin dass nicht jede Anmeldung als neues Gerät erkannt wird. Oder hast du es extra so gemacht, dass sicher ein login mit Passwort erscheint?

                              Edit.
                              Evtl nur mit Pw einloggen wenn das Coockie abgelaufen ist. Zum Ordner laut Gemini:

                              Ja, das ist sogar eine sehr gute Idee! Bei Puppeteer nennt sich das userDataDir.
                              ​Wenn du diesen Ordner angibst, speichert Chrome dort das gesamte Browser-Profil – inklusive Cookies, Cache und vor allem den Session-Status. Beim nächsten Start greift Puppeteer auf diesen Ordner zu. Google sieht dann keinen "völlig neuen" Browser, was die Wahrscheinlichkeit massiv erhöht, dass du eingeloggt bleibst oder keine erneute 2FA-Abfrage kommt.
                              ​So baust du es in deine Cookie.ts ein
                              ​Du musst die puppeteer.launch-Optionen in der Methode loginToGetNewCookies anpassen.
                              ​1. Pfad definieren
                              ​Zuerst solltest du einen Pfad festlegen. Da es ein ioBroker-Adapter ist, bietet sich ein Ordner im Adapter-Verzeichnis an:

                              const path = require('path');
                              // Im ioBroker-Kontext sinnvoll: ein Ordner im Instanz-Verzeichnis
                              const dataDir = path.join(utils.getAbsoluteDefaultDataDir(), 'google-sharedlocations2-profile');
                              
                              1. Den Launch-Befehl anpassen
                                ​Ändere den Block in deiner loginToGetNewCookies wie folgt ab:
                              this.browser = await puppeteer.launch({
                                  headless: true,
                                  userDataDir: './google_profile', // Hier wird die Session gespeichert
                                  args: [
                                      '--no-sandbox', 
                                      '--disable-setuid-sandbox', 
                                      '--disable-blink-features=AutomationControlled'
                                  ],
                                  ignoreDefaultArgs: ['--enable-automation'],
                              });
                              
                              

                              Warum das für dein Script wichtig ist:
                              ​Vermeidung von 2FA: Wenn du dich einmal erfolgreich eingeloggt hast (vielleicht indem du headless: false kurzzeitig zum Testen nutzt), erkennt Google das "Gerät" beim nächsten Mal wieder.
                              ​Cookie-Persistenz: Selbst wenn das Script abstürzt, sind die Cookies noch im userDataDir gespeichert und müssen nicht jedes Mal neu per Tipp-Simulation erzeugt werden.
                              ​Glaubwürdigkeit: Ein Browser mit Historie und Cache wirkt für die Google-Sicherheitsalgorithmen weniger wie ein bösartiger Bot.

                              EDIT 2
                              Mein Script nutzt die Option eines Cookie-Refresh. Evtl kann der Adapter erstmal versuchen, sich mit dem per User und Pw abgerufenen Coockie zu verbinden und dieses zu aktualisieren, und das nächste mal dann mit diesem usw. Wenn das nicht klappt neu einloggen mit user und pw.

                              GarfonsoG Offline
                              GarfonsoG Offline
                              Garfonso
                              Developer
                              schrieb am zuletzt editiert von
                              #20

                              @David-G.

                              Äh.. ja.. das mit dem Cookie-Refresh hatte ich eigentlich auch vor. Habe ich irgendwie vergessen zu implementieren. :-)
                              Data-Dir hab ich jetzt auch mal hinzugefügt.

                              Auf npm / Github sollte eine 0.2.0 mit den Sachen erscheinen. Intern hat sich nochmal einiges geändert. Bei mir läufts gerade ein "refresh im Browser" hab ich aber noch nicht testen können (weiß grad nicht genau, wie, vielleicht muss ich da noch einen state für basteln oder so kopfkratz). Aber nach dem Login knallt chrome Daten in den Ordern.

                              Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                              Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                              David G.D 1 Antwort Letzte Antwort
                              1
                              • GarfonsoG Garfonso

                                @David-G.

                                Äh.. ja.. das mit dem Cookie-Refresh hatte ich eigentlich auch vor. Habe ich irgendwie vergessen zu implementieren. :-)
                                Data-Dir hab ich jetzt auch mal hinzugefügt.

                                Auf npm / Github sollte eine 0.2.0 mit den Sachen erscheinen. Intern hat sich nochmal einiges geändert. Bei mir läufts gerade ein "refresh im Browser" hab ich aber noch nicht testen können (weiß grad nicht genau, wie, vielleicht muss ich da noch einen state für basteln oder so kopfkratz). Aber nach dem Login knallt chrome Daten in den Ordern.

                                David G.D Online
                                David G.D Online
                                David G.
                                schrieb am zuletzt editiert von David G.
                                #21

                                @Garfonso

                                Wird grün und holt Daten.

                                Eine Frage.
                                Ich sende die Koordinaten mit einem Blockly an Places, da ich dort schon User habe die anders benannt sind.

                                Wenn ich mit dem Adapter die Daten an Places sende wird mein Log voll gehauen. Bei meinem Blockly kommt nichts. Liegt nicht am Parralelbetrieb,das Blockly ist deaktiviert.

                                places.0
                                2026-02-04 06:22:46.950	info	Processed message, returning result: {"user":"Ann-Christin","latitude":51.1234567,"longitude":9.6543210,"timestamp":1770182327339,"address":"","date":"2026-02-04 06:18:47","atHome":true,"distance":6,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                
                                places.0
                                2026-02-04 06:22:46.950	warn	Found a newer place for this user: skipping update
                                
                                places.0
                                2026-02-04 06:22:46.856	info	Processed message, returning result: {"user":"David G.","latitude":51.1234000,"longitude":9.6543000,"timestamp":1770182551298,"address":"","date":"2026-02-04 06:22:31","atHome":true,"distance":8,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                
                                places.0
                                2026-02-04 06:21:46.382	info	Processed message, returning result: {"user":"Ann-Christin","latitude":51.1234567,"longitude":9.6543210,"timestamp":1770182327339,"address":"","date":"2026-02-04 06:18:47","atHome":true,"distance":6,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                
                                places.0
                                2026-02-04 06:21:46.382	warn	Found a newer place for this user: skipping update
                                
                                places.0
                                2026-02-04 06:21:46.334	info	Processed message, returning result: {"user":"David G.","latitude":51.1234000,"longitude":9.6543000,"timestamp":1770182391556,"address":"","date":"2026-02-04 06:19:51","atHome":true,"distance":4,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                
                                places.0
                                2026-02-04 06:21:46.334	warn	Found a newer place for this user: skipping update
                                
                                places.0
                                2026-02-04 06:20:45.903	info	Processed message, returning result: {"user":"Ann-Christin","latitude":51.1234567,"longitude":9.6543210,"timestamp":1770182327339,"address":"","date":"2026-02-04 06:18:47","atHome":true,"distance":6,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                
                                places.0
                                2026-02-04 06:20:45.903	warn	Found a newer place for this user: skipping update
                                
                                places.0
                                2026-02-04 06:20:45.796	info	Processed message, returning result: {"user":"David G.","latitude":51.1234000,"longitude":9.6543000,"timestamp":1770182391556,"address":"","date":"2026-02-04 06:19:51","atHome":true,"distance":4,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                
                                places.0
                                2026-02-04 06:19:45.236	info	Processed message, returning result: {"user":"Ann-Christin","latitude":51.1234567,"longitude":9.6543210,"timestamp":1770182327339,"address":"","date":"2026-02-04 06:18:47","atHome":true,"distance":6,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                
                                places.0
                                2026-02-04 06:19:45.188	info	Processed message, returning result: {"user":"David G.","latitude":51.1234000,"longitude":9.6543000,"timestamp":1770182316430,"address":"","date":"2026-02-04 06:18:36","atHome":true,"distance":4,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                
                                places.0
                                2026-02-04 06:19:45.188	warn	Found a newer place for this user: skipping update
                                
                                places.0
                                2026-02-04 06:18:44.768	info	Processed message, returning result: {"user":"Ann-Christin","latitude":51.1234567,"longitude":9.6543210,"timestamp":1770181996417,"address":"","date":"2026-02-04 06:13:16","atHome":true,"distance":6,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                
                                places.0
                                2026-02-04 06:18:44.768	warn	Found a newer place for this user: skipping update
                                
                                places.0
                                2026-02-04 06:18:44.675	info	Processed message, returning result: {"user":"David G.","latitude":51.1234000,"longitude":9.6543000,"timestamp":1770182316430,"address":"","date":"2026-02-04 06:18:36","atHome":true,"distance":4,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                
                                places.0
                                2026-02-04 06:17:43.814	info	Processed message, returning result: {"user":"Ann-Christin","latitude":51.1234567,"longitude":9.6543210,"timestamp":1770181996417,"address":"","date":"2026-02-04 06:13:16","atHome":true,"distance":6,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                
                                places.0
                                2026-02-04 06:17:43.814	warn	Found a newer place for this user: skipping update
                                
                                places.0
                                2026-02-04 06:17:43.722	info	Processed message, returning result: {"user":"David G.","latitude":51.1234000,"longitude":9.6543000,"timestamp":1770182251214,"address":"","date":"2026-02-04 06:17:31","atHome":true,"distance":7,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                

                                Zeigt eure Lovelace-Visualisierung klick
                                (Auch ideal um sich Anregungen zu holen)

                                Meine Tabellen für eure Visualisierung klick

                                GarfonsoG 1 Antwort Letzte Antwort
                                0
                                • David G.D David G.

                                  @Garfonso

                                  Wird grün und holt Daten.

                                  Eine Frage.
                                  Ich sende die Koordinaten mit einem Blockly an Places, da ich dort schon User habe die anders benannt sind.

                                  Wenn ich mit dem Adapter die Daten an Places sende wird mein Log voll gehauen. Bei meinem Blockly kommt nichts. Liegt nicht am Parralelbetrieb,das Blockly ist deaktiviert.

                                  places.0
                                  2026-02-04 06:22:46.950	info	Processed message, returning result: {"user":"Ann-Christin","latitude":51.1234567,"longitude":9.6543210,"timestamp":1770182327339,"address":"","date":"2026-02-04 06:18:47","atHome":true,"distance":6,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                  
                                  places.0
                                  2026-02-04 06:22:46.950	warn	Found a newer place for this user: skipping update
                                  
                                  places.0
                                  2026-02-04 06:22:46.856	info	Processed message, returning result: {"user":"David G.","latitude":51.1234000,"longitude":9.6543000,"timestamp":1770182551298,"address":"","date":"2026-02-04 06:22:31","atHome":true,"distance":8,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                  
                                  places.0
                                  2026-02-04 06:21:46.382	info	Processed message, returning result: {"user":"Ann-Christin","latitude":51.1234567,"longitude":9.6543210,"timestamp":1770182327339,"address":"","date":"2026-02-04 06:18:47","atHome":true,"distance":6,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                  
                                  places.0
                                  2026-02-04 06:21:46.382	warn	Found a newer place for this user: skipping update
                                  
                                  places.0
                                  2026-02-04 06:21:46.334	info	Processed message, returning result: {"user":"David G.","latitude":51.1234000,"longitude":9.6543000,"timestamp":1770182391556,"address":"","date":"2026-02-04 06:19:51","atHome":true,"distance":4,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                  
                                  places.0
                                  2026-02-04 06:21:46.334	warn	Found a newer place for this user: skipping update
                                  
                                  places.0
                                  2026-02-04 06:20:45.903	info	Processed message, returning result: {"user":"Ann-Christin","latitude":51.1234567,"longitude":9.6543210,"timestamp":1770182327339,"address":"","date":"2026-02-04 06:18:47","atHome":true,"distance":6,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                  
                                  places.0
                                  2026-02-04 06:20:45.903	warn	Found a newer place for this user: skipping update
                                  
                                  places.0
                                  2026-02-04 06:20:45.796	info	Processed message, returning result: {"user":"David G.","latitude":51.1234000,"longitude":9.6543000,"timestamp":1770182391556,"address":"","date":"2026-02-04 06:19:51","atHome":true,"distance":4,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                  
                                  places.0
                                  2026-02-04 06:19:45.236	info	Processed message, returning result: {"user":"Ann-Christin","latitude":51.1234567,"longitude":9.6543210,"timestamp":1770182327339,"address":"","date":"2026-02-04 06:18:47","atHome":true,"distance":6,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                  
                                  places.0
                                  2026-02-04 06:19:45.188	info	Processed message, returning result: {"user":"David G.","latitude":51.1234000,"longitude":9.6543000,"timestamp":1770182316430,"address":"","date":"2026-02-04 06:18:36","atHome":true,"distance":4,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                  
                                  places.0
                                  2026-02-04 06:19:45.188	warn	Found a newer place for this user: skipping update
                                  
                                  places.0
                                  2026-02-04 06:18:44.768	info	Processed message, returning result: {"user":"Ann-Christin","latitude":51.1234567,"longitude":9.6543210,"timestamp":1770181996417,"address":"","date":"2026-02-04 06:13:16","atHome":true,"distance":6,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                  
                                  places.0
                                  2026-02-04 06:18:44.768	warn	Found a newer place for this user: skipping update
                                  
                                  places.0
                                  2026-02-04 06:18:44.675	info	Processed message, returning result: {"user":"David G.","latitude":51.1234000,"longitude":9.6543000,"timestamp":1770182316430,"address":"","date":"2026-02-04 06:18:36","atHome":true,"distance":4,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                  
                                  places.0
                                  2026-02-04 06:17:43.814	info	Processed message, returning result: {"user":"Ann-Christin","latitude":51.1234567,"longitude":9.6543210,"timestamp":1770181996417,"address":"","date":"2026-02-04 06:13:16","atHome":true,"distance":6,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                  
                                  places.0
                                  2026-02-04 06:17:43.814	warn	Found a newer place for this user: skipping update
                                  
                                  places.0
                                  2026-02-04 06:17:43.722	info	Processed message, returning result: {"user":"David G.","latitude":51.1234000,"longitude":9.6543000,"timestamp":1770182251214,"address":"","date":"2026-02-04 06:17:31","atHome":true,"distance":7,"name":"Home","elevation":0,"routeDistance":"","routeDuration":"","routeDurationWithTraffic":""}
                                  
                                  GarfonsoG Offline
                                  GarfonsoG Offline
                                  Garfonso
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #22

                                  @David-G. sagte in Test Adapter google-sharedlocations2:

                                  Wenn ich mit dem Adapter die Daten an Places sende wird mein Log voll gehauen. Bei meinem Blockly kommt nichts. Liegt nicht am Parralelbetrieb,das Blockly ist deaktiviert.

                                  Ja, wenn du die Timestamps vergleichst, sieht man, wo es herkommt. Ich setze überall den timestamp, den Google mitliefert. Der scheint durchaus mal länger gleich zu bleiben. Passt ja auch, wenn man manuell guckt, steht da ja auch manchmal "vor x Minuten" oder so. Ist halt kein Realtime. Wenn die Position aber schon älter ist als das Abrufinterval, dann ist der timestamp der Position gleich und das teilt Places da mit.

                                  Theoretisch müsste ich den timestamp prüfen und das update ausfallen lassen, wenn der sich nicht geändert hat.

                                  In deinem blockly setzt du vermutlich da einfach den aktuellen Zeitpunkt. IIRC hat das der alte Adapter auch gemacht. Aber eigentlich muss places ja kein Update machen, wenn es eh keine neue Position gibt.

                                  Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                                  Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                                  David G.D 1 Antwort Letzte Antwort
                                  0
                                  • GarfonsoG Garfonso

                                    @David-G. sagte in Test Adapter google-sharedlocations2:

                                    Wenn ich mit dem Adapter die Daten an Places sende wird mein Log voll gehauen. Bei meinem Blockly kommt nichts. Liegt nicht am Parralelbetrieb,das Blockly ist deaktiviert.

                                    Ja, wenn du die Timestamps vergleichst, sieht man, wo es herkommt. Ich setze überall den timestamp, den Google mitliefert. Der scheint durchaus mal länger gleich zu bleiben. Passt ja auch, wenn man manuell guckt, steht da ja auch manchmal "vor x Minuten" oder so. Ist halt kein Realtime. Wenn die Position aber schon älter ist als das Abrufinterval, dann ist der timestamp der Position gleich und das teilt Places da mit.

                                    Theoretisch müsste ich den timestamp prüfen und das update ausfallen lassen, wenn der sich nicht geändert hat.

                                    In deinem blockly setzt du vermutlich da einfach den aktuellen Zeitpunkt. IIRC hat das der alte Adapter auch gemacht. Aber eigentlich muss places ja kein Update machen, wenn es eh keine neue Position gibt.

                                    David G.D Online
                                    David G.D Online
                                    David G.
                                    schrieb am zuletzt editiert von David G.
                                    #23

                                    @Garfonso

                                    Das wird es sein....
                                    Mein Blockly wartet auf eine Veränderung damit es triggert. Wartet dann ein paar ms (sonst ist ein Wert manchmal noch der alte wenn es zu schnell ist) und sendet die Daten an palces.

                                    Edit
                                    Mache es jetzt aber über deinen Adapter, hab kurz gebraucht zu kapieren wie in Places das mit dem Namen ersetzt klappt. Hab den Namen immer wie in den DPs angegeben. Aber da werden bei Leerstelle _ eingebaut. Deshalb hatte es nur geklappt.

                                    EDIT 2
                                    Wo finde ich denn den UserDataDir? Wollte mal reinschauen.

                                    Zeigt eure Lovelace-Visualisierung klick
                                    (Auch ideal um sich Anregungen zu holen)

                                    Meine Tabellen für eure Visualisierung klick

                                    GarfonsoG 1 Antwort Letzte Antwort
                                    0
                                    • David G.D David G.

                                      @Garfonso

                                      Das wird es sein....
                                      Mein Blockly wartet auf eine Veränderung damit es triggert. Wartet dann ein paar ms (sonst ist ein Wert manchmal noch der alte wenn es zu schnell ist) und sendet die Daten an palces.

                                      Edit
                                      Mache es jetzt aber über deinen Adapter, hab kurz gebraucht zu kapieren wie in Places das mit dem Namen ersetzt klappt. Hab den Namen immer wie in den DPs angegeben. Aber da werden bei Leerstelle _ eingebaut. Deshalb hatte es nur geklappt.

                                      EDIT 2
                                      Wo finde ich denn den UserDataDir? Wollte mal reinschauen.

                                      GarfonsoG Offline
                                      GarfonsoG Offline
                                      Garfonso
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #24

                                      @David-G. sagte in Test Adapter google-sharedlocations2:

                                      Wo finde ich denn den UserDataDir? Wollte mal reinschauen.

                                      Das ist einfach der adapter Ordner, aslo /opt/iobroker/iobroker-data/google-sharedlocations2.0/

                                      Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                                      Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                                      David G.D 1 Antwort Letzte Antwort
                                      0
                                      • GarfonsoG Garfonso

                                        @David-G. sagte in Test Adapter google-sharedlocations2:

                                        Wo finde ich denn den UserDataDir? Wollte mal reinschauen.

                                        Das ist einfach der adapter Ordner, aslo /opt/iobroker/iobroker-data/google-sharedlocations2.0/

                                        David G.D Online
                                        David G.D Online
                                        David G.
                                        schrieb am zuletzt editiert von
                                        #25

                                        @Garfonso

                                        Der ist bei mir leer

                                        david@iobroker:~$ cd /opt/iobroker/iobroker-data/google-sharedlocations2.0/david@iobroker:/opt/iobroker/iobroker-data/google-sharedlocations2.0$ ls -la
                                        total 25
                                        drwxrwxr-x+  2 iobroker iobroker  2 Feb  4 06:00 .
                                        drwxrwxr-x+ 19 iobroker iobroker 23 Feb  5 10:04 ..
                                        david@iobroker:/opt/iobroker/iobroker-data/google-sharedlocations2.0$
                                        

                                        Zeigt eure Lovelace-Visualisierung klick
                                        (Auch ideal um sich Anregungen zu holen)

                                        Meine Tabellen für eure Visualisierung klick

                                        1 Antwort Letzte Antwort
                                        0
                                        • GarfonsoG Offline
                                          GarfonsoG Offline
                                          Garfonso
                                          Developer
                                          schrieb zuletzt editiert von
                                          #26

                                          Dann lief der Browser wohl noch nicht.

                                          Ultimativer Lovelace Leitfaden: https://forum.iobroker.net/topic/35937/der-ultimative-iobroker-lovelace-leitfaden-dokumentation

                                          Lovelace UI Beispiele: https://forum.iobroker.net/topic/35950/zeigt-her-eure-lovelace-visualisierung

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          738

                                          Online

                                          32.6k

                                          Benutzer

                                          82.2k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe