Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Google Tabelle in ioBroker-Datenpunkte

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorlage] Google Tabelle in ioBroker-Datenpunkte

    This topic has been deleted. Only users with topic management privileges can see it.
    • sigi234
      sigi234 Forum Testing Most Active @Mic last edited by sigi234

      @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

      1 Reply Last reply Reply Quote 0
      • Mic
        Mic Developer last edited by

        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.

        sigi234 1 Reply Last reply Reply Quote 1
        • sigi234
          sigi234 Forum Testing Most Active @Mic last edited by sigi234

          @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
          
          1 Reply Last reply Reply Quote 0
          • Mic
            Mic Developer last edited by Mic

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

            sigi234 1 Reply Last reply Reply Quote 0
            • Mic
              Mic Developer last edited by

              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 Reply Last reply Reply Quote 0
              • sigi234
                sigi234 Forum Testing Most Active @Mic last edited by

                @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?

                Mic 1 Reply Last reply Reply Quote 0
                • Mic
                  Mic Developer @sigi234 last edited by

                  @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

                  sigi234 1 Reply Last reply Reply Quote 0
                  • sigi234
                    sigi234 Forum Testing Most Active @Mic last edited by

                    @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.

                    Mic 1 Reply Last reply Reply Quote 0
                    • Mic
                      Mic Developer @sigi234 last edited by 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.

                      sigi234 1 Reply Last reply Reply Quote 0
                      • sigi234
                        sigi234 Forum Testing Most Active @Mic last edited by sigi234

                        @Mic

                        Jetzt hab ich es gecheckt.😂

                        Screenshot (1112).png

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

                        1 Reply Last reply Reply Quote 0
                        • Mic
                          Mic Developer last edited by Mic

                          @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 Reply Last reply Reply Quote 1
                          • N
                            Nanouk last edited by 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

                            Mic 1 Reply Last reply Reply Quote 0
                            • Mic
                              Mic Developer @Nanouk last edited by

                              @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 Reply Last reply Reply Quote 0
                              • N
                                Nanouk last edited by

                                @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 Reply Last reply Reply Quote 0
                                • N
                                  Nanouk last edited by Nanouk

                                  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 Reply Last reply Reply Quote 0
                                  • First post
                                    Last post

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  855
                                  Online

                                  31.8k
                                  Users

                                  80.0k
                                  Topics

                                  1.3m
                                  Posts

                                  javascript
                                  3
                                  18
                                  3513
                                  Loading More Posts
                                  • Oldest to Newest
                                  • Newest to Oldest
                                  • Most Votes
                                  Reply
                                  • Reply as topic
                                  Log in to reply
                                  Community
                                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                  The ioBroker Community 2014-2023
                                  logo