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

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Google Tabelle in ioBroker-Datenpunkte

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

[Vorlage] Google Tabelle in ioBroker-Datenpunkte

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
javascript
18 Beiträge 3 Kommentatoren 4.1k 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.
  • MicM Mic

    Hi,

    Google bietet eine einfache API, um Daten aus Google-Tabellen mittels JavaScript (node.js) auszulesen. Das bietet schöne Einsatzzwecke, da Google-Tabellen von "überall" und durch bis zu 100 User gleichzeitig gepflegt werden können.
    Mein Einsatzzweck war jetzt primär die Darstellung aktueller Aktienkurse bzw. Wertpapierkurse in ioBroker und VIS.
    "Google Tabellen" bietet nämlich mit der Formel =GOOGLEFINANCE schöne Möglichkeiten, Daten zu Wertpapieren abzufragen und in der Google-Tabelle auszugeben (aktueller Kurs, KGV, etc.).

    Der folgende Code führt alle Zellwerte dann in den ioBroker über.

    Quelle von Google Tabellen:
    GoogleTable.png

    Das Script erstellt dann automatisch folgende Datenpunkte auf Basis der Spaltenüberschriften etc. und aktualisiert diese dann regelmäßig:
    Datenpunkte_GoogleSheets.png

    Mit dem Datenpunkt "javascript.0.GoogleSheets.Wertpapiere .jsonTable " gibt es außerdem ein JSON, das als JSON-Tabelle in VIS mit dem Widget "basic - HTML" dargestellt werden kann.

    Hier der Link zum Script
    Github: ioBroker-Script "Google Sheets"

    Bitte die Hinweise im Script lesen!

    sigi234S Online
    sigi234S Online
    sigi234
    Forum Testing Most Active
    schrieb am zuletzt editiert von sigi234
    #2

    @Mic sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

    Hi,

    Google bietet eine einfache API, um Daten aus Google-Tabellen mittels JavaScript (node.js) auszulesen. Das bietet schöne Einsatzzwecke, da Google-Tabellen von "überall" und durch bis zu 100 User gleichzeitig gepflegt werden können.
    Mein Einsatzzweck war jetzt primär die Darstellung aktueller Aktienkurse bzw. Wertpapierkurse in ioBroker und VIS.
    "Google Tabellen" bietet nämlich mit der Formel =GOOGLEFINANCE schöne Möglichkeiten, Daten zu Wertpapieren abzufragen und in der Google-Tabelle auszugeben (aktueller Kurs, KGV, etc.).

    API-Schlüssel erstellen, dabei unter "API-Einschränkungen" auf "Google Sheets API" limitieren ???

    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Immer Daten sichern!

    MicM 1 Antwort Letzte Antwort
    0
    • sigi234S sigi234

      @Mic sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

      Hi,

      Google bietet eine einfache API, um Daten aus Google-Tabellen mittels JavaScript (node.js) auszulesen. Das bietet schöne Einsatzzwecke, da Google-Tabellen von "überall" und durch bis zu 100 User gleichzeitig gepflegt werden können.
      Mein Einsatzzweck war jetzt primär die Darstellung aktueller Aktienkurse bzw. Wertpapierkurse in ioBroker und VIS.
      "Google Tabellen" bietet nämlich mit der Formel =GOOGLEFINANCE schöne Möglichkeiten, Daten zu Wertpapieren abzufragen und in der Google-Tabelle auszugeben (aktueller Kurs, KGV, etc.).

      API-Schlüssel erstellen, dabei unter "API-Einschränkungen" auf "Google Sheets API" limitieren ???

      MicM Offline
      MicM Offline
      Mic
      Developer
      schrieb am zuletzt editiert von
      #3

      @sigi234 sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

      API-Schlüssel erstellen, dabei unter "API-Einschränkungen" auf "Google Sheets API" limitieren ???

      Korrekt. Vorgehensweise:

      1. Link-Freigabe für Tabelle: TabelleIn Google Tabellen oben auf den grünen "Freigabe"-Button klicken. Da die Linkfreigabe entsprechend aktivieren.
      2. "Google Sheets API" aktivieren
      3. API-Schlüssel erstellen, dabei unter "API-Einschränkungen" auf "Google Sheets API" limitieren (zur Sicherheit)

      Zu Punkt 3:
      apisz.png

      sigi234S 1 Antwort Letzte Antwort
      0
      • MicM Mic

        @sigi234 sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

        API-Schlüssel erstellen, dabei unter "API-Einschränkungen" auf "Google Sheets API" limitieren ???

        Korrekt. Vorgehensweise:

        1. Link-Freigabe für Tabelle: TabelleIn Google Tabellen oben auf den grünen "Freigabe"-Button klicken. Da die Linkfreigabe entsprechend aktivieren.
        2. "Google Sheets API" aktivieren
        3. API-Schlüssel erstellen, dabei unter "API-Einschränkungen" auf "Google Sheets API" limitieren (zur Sicherheit)

        Zu Punkt 3:
        apisz.png

        sigi234S Online
        sigi234S Online
        sigi234
        Forum Testing Most Active
        schrieb am zuletzt editiert von sigi234
        #4

        @Mic sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

        @sigi234 sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

        API-Schlüssel erstellen, dabei unter "API-Einschränkungen" auf "Google Sheets API" limitieren ???

        Korrekt. Vorgehensweise:

        1. Link-Freigabe für Tabelle: TabelleIn Google Tabellen oben auf den grünen "Freigabe"-Button klicken. Da die Linkfreigabe entsprechend aktivieren.
        2. "Google Sheets API" aktivieren
        3. API-Schlüssel erstellen, dabei unter "API-Einschränkungen" auf "Google Sheets API" limitieren (zur Sicherheit)

        Zu Punkt 3:
        apisz.png

        Erledigt.

        Welchen Code muss ich wo eingeben in Excel

        01:43:53.768	error	javascript.0 (8624) script.js.Test.Google_Tabellen compile failed: at script.js.Test.Google_Tabellen:223
        
        

        Screenshot (1089)_LI.jpg

        Screenshot (1091).png

        Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
        Immer Daten sichern!

        1 Antwort Letzte Antwort
        0
        • MicM Offline
          MicM Offline
          Mic
          Developer
          schrieb am zuletzt editiert von
          #5
          1. Du hast im Script unter GOOGLE_SPREADSHEET_ID eine komplette URL eingetragen, aber da darf nur die Google Spreadsheet ID rein. Siehe auch https://developers.google.com/sheets/api/guides/concepts
          2. Zu GOOGLEFINANCE: Siehe hier die Beschreibung der Funktion: https://support.google.com/docs/answer/3093281?hl=de

          Generell kannst du eine x-beliebige Tabelle zum Testen nehmen, leer darf sie halt nicht sein und muss mit den Einstellungen des Scripts übereinstimmen.

          sigi234S 1 Antwort Letzte Antwort
          1
          • MicM Mic
            1. Du hast im Script unter GOOGLE_SPREADSHEET_ID eine komplette URL eingetragen, aber da darf nur die Google Spreadsheet ID rein. Siehe auch https://developers.google.com/sheets/api/guides/concepts
            2. Zu GOOGLEFINANCE: Siehe hier die Beschreibung der Funktion: https://support.google.com/docs/answer/3093281?hl=de

            Generell kannst du eine x-beliebige Tabelle zum Testen nehmen, leer darf sie halt nicht sein und muss mit den Einstellungen des Scripts übereinstimmen.

            sigi234S Online
            sigi234S Online
            sigi234
            Forum Testing Most Active
            schrieb am zuletzt editiert von sigi234
            #6

            @Mic

            Ok soweit komme ich jetzt:

            Screenshot (1107).png

            Im Skript kommt noch immer:

            15:21:18.755	info	javascript.0 (8624) Stop script script.js.Test.Google_Tabellen
            15:21:18.761	info	javascript.0 (8624) Start javascript script.js.Test.Google_Tabellen
            15:21:18.762	error	javascript.0 (8624) script.js.Test.Google_Tabellen compile failed: at script.js.Test.Google_Tabellen:223
            15:22:01.561	info	javascript.0 (8624) Stop script script.js.Test.Google_Tabellen
            15:22:01.565	info	javascript.0 (8624) Start javascript script.js.Test.Google_Tabellen
            15:22:01.565	error	javascript.0 (8624) script.js.Test.Google_Tabellen compile failed: at script.js.Test.Google_Tabellen:223
            

            LOG:

            javascript.0	2019-12-29 15:22:01.566	error	(8624) at process._tickCallback (internal/process/next_tick.js:68:7)
            javascript.0	2019-12-29 15:22:01.566	error	(8624) at promise.then (C:\Program Files\iobroker\Test\node_modules\standard-as-callback\built\index.js:19:49)
            javascript.0	2019-12-29 15:22:01.566	error	(8624) at tryCatcher (C:\Program Files\iobroker\Test\node_modules\standard-as-callback\built\utils.js:11:23)
            javascript.0	2019-12-29 15:22:01.566	error	(8624) at client.get (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\states\statesInRedis.js:581:17)
            javascript.0	2019-12-29 15:22:01.566	error	(8624) at adapter.getForeignState (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:855:17)
            javascript.0	2019-12-29 15:22:01.566	error	(8624) at createProblemObject (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:1264:17)
            javascript.0	2019-12-29 15:22:01.566	error	(8624) at prepareScript (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:1211:37)
            javascript.0	2019-12-29 15:22:01.565	error	(8624) at compile (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:988:28)
            javascript.0	2019-12-29 15:22:01.565	error	(8624) at Object.createScript (vm.js:277:10)
            javascript.0	2019-12-29 15:22:01.565	error	(8624) at new Script (vm.js:83:7)
            javascript.0	2019-12-29 15:22:01.565	error	(8624) SyntaxError: Invalid regular expression: missing /
            javascript.0	2019-12-29 15:22:01.565	error	(8624) ^
            javascript.0	2019-12-29 15:22:01.565	error	(8624) strTemp = strTemp.replace(/[+/g, ""); // remove all >[<
            javascript.0	2019-12-29 15:22:01.565	error	at script.js.Test.Google_Tabellen:223
            javascript.0	2019-12-29 15:22:01.565	error	(8624) script.js.Test.Google_Tabellen compile failed:
            javascript.0	2019-12-29 15:22:01.565	info	(8624) Start javascript script.js.Test.Google_Tabellen
            

            Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Immer Daten sichern!

            1 Antwort Letzte Antwort
            0
            • MicM Offline
              MicM Offline
              Mic
              Developer
              schrieb am zuletzt editiert von Mic
              #7

              Deine Google-Tabelle ergibt für das Script keinen Sinn. Du brauchst eine Tabelle wie im Screenshot oben (erster Beitrag).

              sigi234S 1 Antwort Letzte Antwort
              0
              • MicM Offline
                MicM Offline
                Mic
                Developer
                schrieb am zuletzt editiert von
                #8

                Habe das Script aktualisiert. Mit Version 0.2. gibt es nun einen Datenpunkt ".jsonTable". Damit kann der Tabelleninhalt mittels Widget "basic - Table" ausgegeben werden.

                Siehe hierzu auch die neuen Einstellungen:

                // JSON-Tabelle: Welche Spalten sollen für die JSON-Tabelle verwendet werden? 1. Spalte = 1, 2. Spalte 2, usw.
                // Hiermit kann ebenso die Spalten-Reihenfolge bestimmt werden.
                const GOOGLE_JSON_COLUMNS = [1, 6, 4, 5]
                

                Hier der Link zum Script:
                Github: ioBroker-Script "Google Sheets"

                1 Antwort Letzte Antwort
                0
                • MicM Mic

                  Deine Google-Tabelle ergibt für das Script keinen Sinn. Du brauchst eine Tabelle wie im Screenshot oben (erster Beitrag).

                  sigi234S Online
                  sigi234S Online
                  sigi234
                  Forum Testing Most Active
                  schrieb am zuletzt editiert von
                  #9

                  @Mic sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

                  Deine Google-Tabelle ergibt für das Script keinen Sinn. Du brauchst eine Tabelle wie im Screenshot oben (erster Beitrag).

                  Was mache ich dann falsch?

                  Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                  Immer Daten sichern!

                  MicM 1 Antwort Letzte Antwort
                  0
                  • sigi234S sigi234

                    @Mic sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

                    Deine Google-Tabelle ergibt für das Script keinen Sinn. Du brauchst eine Tabelle wie im Screenshot oben (erster Beitrag).

                    Was mache ich dann falsch?

                    MicM Offline
                    MicM Offline
                    Mic
                    Developer
                    schrieb am zuletzt editiert von
                    #10

                    @sigi234 sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

                    Was mache ich dann falsch?

                    Zum Testen: Einfach diese Tabelle abtippen (müssen nicht alle Spalten sein, und musst auch nicht alles 1:1 übernehmen):
                    Bild Text

                    sigi234S 1 Antwort Letzte Antwort
                    0
                    • MicM Mic

                      @sigi234 sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

                      Was mache ich dann falsch?

                      Zum Testen: Einfach diese Tabelle abtippen (müssen nicht alle Spalten sein, und musst auch nicht alles 1:1 übernehmen):
                      Bild Text

                      sigi234S Online
                      sigi234S Online
                      sigi234
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von
                      #11

                      @Mic sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

                      @sigi234 sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

                      Was mache ich dann falsch?

                      Zum Testen: Einfach diese Tabelle abtippen (müssen nicht alle Spalten sein, und musst auch nicht alles 1:1 übernehmen):
                      Bild Text

                      Ach so, dachte die Zellen werden automatisch ausgefüllt.

                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                      Immer Daten sichern!

                      MicM 1 Antwort Letzte Antwort
                      0
                      • sigi234S sigi234

                        @Mic sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

                        @sigi234 sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

                        Was mache ich dann falsch?

                        Zum Testen: Einfach diese Tabelle abtippen (müssen nicht alle Spalten sein, und musst auch nicht alles 1:1 übernehmen):
                        Bild Text

                        Ach so, dachte die Zellen werden automatisch ausgefüllt.

                        MicM Offline
                        MicM Offline
                        Mic
                        Developer
                        schrieb am zuletzt editiert von Mic
                        #12

                        @sigi234 sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

                        Ach so, dachte die Zellen werden automatisch ausgefüllt.

                        Nein :-)
                        Dieses Script holt sich nur alle Daten von Google Tabellen, um diese dann in ioBroker darzustellen.

                        Umgekehrt wäre auch möglich, aber das ist nicht Ziel dieses Scripts.

                        sigi234S 1 Antwort Letzte Antwort
                        0
                        • MicM Mic

                          @sigi234 sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

                          Ach so, dachte die Zellen werden automatisch ausgefüllt.

                          Nein :-)
                          Dieses Script holt sich nur alle Daten von Google Tabellen, um diese dann in ioBroker darzustellen.

                          Umgekehrt wäre auch möglich, aber das ist nicht Ziel dieses Scripts.

                          sigi234S Online
                          sigi234S Online
                          sigi234
                          Forum Testing Most Active
                          schrieb am zuletzt editiert von sigi234
                          #13

                          @Mic

                          Jetzt hab ich es gecheckt.:joy:

                          Screenshot (1112).png

                          Möchte ich jetzt den Eurokurs hinzufügen, gebe ich das einfach in die Tabelle ein, ausschlaggebend ist der ISIN?

                          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                          Immer Daten sichern!

                          1 Antwort Letzte Antwort
                          0
                          • MicM Offline
                            MicM Offline
                            Mic
                            Developer
                            schrieb am zuletzt editiert von Mic
                            #14

                            @sigi234
                            Für den aktuellen Kurs eines Wertpapiers in Euro gibst du folgende Formel ein:

                            =googlefinance("FRA:MSF";"price")
                            

                            Dabei entspricht im ersten Teil "FRA:MSF ":

                            1. FRA: die Frankfurter Börse.
                            2. MSF: das ist das Ticker-Symbol, in diesem Beispiel steht MSF für Microsoft.
                              z.B. CIS ist das Ticker-Symbol für die Cisco-Aktie, APC für Apple, usw. Etwa über folgenden Link bekommt man das Tickersymbol (hier als "Kürzel" bezeichnet): https://www.boerse-frankfurt.de/aktie/cisco-systems-inc
                              tickersym.png

                            Die Google Tabellen Formel für Cisco wäre also =googlefinance("FRA:CIS";"price")

                            Neben dem aktuellen Kurs kann man sich z.B. auch das KGV (Kurs-Gewinn-Verhältnis) ausgeben lassen. Von Cisco wäre das: =googlefinance("FRA:CIS";"pe")

                            Details siehe https://support.google.com/docs/answer/3093281?hl=de

                            1 Antwort Letzte Antwort
                            1
                            • N Offline
                              N Offline
                              Nanouk
                              schrieb am zuletzt editiert von Nanouk
                              #15

                              Servus,

                              ich versuche mit dem Script die Werte meines Pools aus einer Google Tabelle zu bekommen, aber irgendwo hab ich einen Fehler drin.
                              Folgende Fehlermedlung erhalte ich:

                              javascript.0 (6770) script.js.Service.Poolwerte: Antwort von Google: { "error": { "code": 400, "message": "Unable to parse range: Pool!A1:E9999", "status": "INVALID_ARGUMENT" } }

                              API sollte passen, die Tabelle ist auch freigegeben.

                              Wie könnte ich den Fehler finden?

                              Grüße,
                              Oliver

                              MicM 1 Antwort Letzte Antwort
                              0
                              • N Nanouk

                                Servus,

                                ich versuche mit dem Script die Werte meines Pools aus einer Google Tabelle zu bekommen, aber irgendwo hab ich einen Fehler drin.
                                Folgende Fehlermedlung erhalte ich:

                                javascript.0 (6770) script.js.Service.Poolwerte: Antwort von Google: { "error": { "code": 400, "message": "Unable to parse range: Pool!A1:E9999", "status": "INVALID_ARGUMENT" } }

                                API sollte passen, die Tabelle ist auch freigegeben.

                                Wie könnte ich den Fehler finden?

                                Grüße,
                                Oliver

                                MicM Offline
                                MicM Offline
                                Mic
                                Developer
                                schrieb am zuletzt editiert von
                                #16

                                @Nanouk sagte in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

                                Wie könnte ich den Fehler finden?

                                Hi, hast du schon mal nach dem Fehler im Web/Google gesucht? Also z.B. nach error 400 Unable to parse range

                                1 Antwort Letzte Antwort
                                0
                                • N Offline
                                  N Offline
                                  Nanouk
                                  schrieb am zuletzt editiert von
                                  #17

                                  @Mic said in [Vorlage] Google Tabelle in ioBroker-Datenpunkte:

                                  error 400 Unable to parse range

                                  Hi, ja hab ich und ich hab auch schon mit A2:E30 etc. probiert, da ich dachte es liegt vielleicht an den Namen, welche ich in Zeile 1 habe, oder dass es mit E9999 vielleicht einfach zu hoch ist. Es führte aber kein Weg zum Erfolg.

                                  Gruß , Oliver

                                  1 Antwort Letzte Antwort
                                  0
                                  • N Offline
                                    N Offline
                                    Nanouk
                                    schrieb am zuletzt editiert von Nanouk
                                    #18

                                    So, wenn ich im Script den Namen leer lasse, dann geht es.

                                    Über IFTTT wird die Google Tabelle immer wieder aktualisiert.
                                    Dabei wird immer eine Reihe hinzugefügt.

                                    Hat jemand eine Idee wie man es lösen kann, dass das Script immer nur nie letzte oder die letzten 4 Zeilen zieht?
                                    Mit Range geht es ja nicht weil immer eine neue Zeile hinzukommt.

                                    Grüße Oliver

                                    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

                                    719

                                    Online

                                    32.4k

                                    Benutzer

                                    81.4k

                                    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