Google-Tabellen-Adapter für ioBroker
Dieser Adapter ermöglicht die automatische Interaktion mit Google Sheets.
API
Merkmale
- Daten an Tabelle anhängen
- Zeilen aus einer Tabelle löschen
- Arbeitsblätter erstellen
- Löschblatt
- Löschblätter
- Duplikatblätter
- Zelle lesen
- Zelle schreiben
- Zellen schreiben
Verwendung
Aufstellen
API-Zugriff aktivieren
-
Besuchen Sie die Google Cloud Console .
-
Erstellen Sie ein Projekt oder wählen Sie ein bestehendes Projekt aus, das Sie mit der API verwenden möchten.
-
Aktivieren Sie die Google Sheets API für Ihr Projekt.
Dienstkonto erstellen
Erstellen Sie für das im vorherigen Schritt ausgewählte Projekt ein neues Dienstkonto in Google Cloud IAM, indem Sie die folgenden Schritte ausführen:
-
Navigieren Sie in der Google Cloud Console zur Seite „IAM & Verwaltung“.
-
Klicken Sie auf „Dienstkonten“ und dann auf „Dienstkonto erstellen“.
-
Geben Sie einen Namen für das Dienstkonto an und wählen Sie die Rolle „Projekt“ > „Editor“ aus.
-
Klicken Sie auf „Weiter“, um zum nächsten Schritt zu gelangen.
-
Klicken Sie auf der Registerkarte „Schlüssel“ auf „Schlüssel erstellen“ und wählen Sie als Format „JSON“ aus. Klicken Sie anschließend auf „Weiter“.
-
Ihr privater Schlüssel wird generiert und automatisch heruntergeladen. Bewahren Sie diese Datei sicher auf, da Sie sie später benötigen.
Zugriff auf die Tabelle gewähren
Öffnen Sie die gewünschte Tabelle und teilen Sie sie mit der E-Mail-Adresse Ihres neu erstellten Servicekontos:
-
Öffnen Sie die gewünschte Tabelle in Google Sheets.
-
Klicken Sie oben rechts auf „Teilen“.
-
Geben Sie die E-Mail-Adresse des Dienstkontos im Feld „Personen hinzufügen“ ein und erteilen Sie die erforderlichen Berechtigungen (z. B. „Bearbeiten“ oder „Anzeigen“).
-
Klicken Sie auf „Senden“, um den Freigabevorgang abzuschließen.
Konfigurieren Sie die Adapterinstanz.
Fügen Sie die folgenden Informationen zur Konfiguration Ihrer Adapterinstanz in ioBroker hinzu:
- Tabellen-ID – Die ID finden Sie in der URL Ihrer Tabelle.
- Dienstkonto – Die E-Mail-Adresse des von Ihnen erstellten Dienstkontos.
- Privater Schlüssel – Öffnen Sie die heruntergeladene JSON-Datei und suchen Sie den privaten Schlüssel darin. Kopieren Sie nur den Teil, der mit „-----BEGIN PRIVATE KEY-----“ beginnt.

Suchen Sie die Tabellen-ID in der URL
Um die „Tabellenblatt-ID“ in der URL Ihres Google Sheets-Dokuments zu finden, gehen Sie wie folgt vor:
- Wenn Sie Ihr Google Sheets-Dokument in einem Webbrowser öffnen, sieht die URL in der Adressleiste etwa so aus:
https://docs.google.com/spreadsheets/d/SPREADSHEET_ID/edit
- Die "SPREADSHEET_ID" ist die lange Zeichenkette aus Buchstaben und Zahlen zwischen den Teilen "/d/" und "/edit" der URL.
Blockly
Nutzen Sie die verfügbaren Blöcke, um automatisch mit Ihrer Tabellenkalkulation zu interagieren.

Fehlerbehebung
Fehler beim Senden von Daten an Google Sheets: Fehler: error:0909006C:PEM routines:get_name:no start line
Achten Sie beim Kopieren des privaten Schlüssels in die Konfiguration darauf, dass keine Zeilenumbrüche (\n) vorhanden sind. Sollten Zeilenumbrüche im Schlüssel enthalten sein, ersetzen Sie diese bitte durch normale Zeilenumbrüche.
Fehler beim Senden von Daten an Google Sheets: Der Aufrufer hat keine Berechtigung.
Stellen Sie sicher, dass das Dienstkonto über ausreichende Berechtigungen zum Schreiben in die Tabelle verfügt. Beachten Sie dazu den Abschnitt „Zugriff auf die Tabelle gewähren“ weiter oben.
Changelog
WORK IN PROGRESS
- (copilot) Adapter requires node.js >= 22 now
1.0.1 (2026-02-16)
- (Thomas Pohl) Fix for admin ui
1.0.0 (2026-01-06)
- (Thomas Pohl) Support for multiple spreadsheets with aliases
- (Thomas Pohl) Automatic migration of old configs
- (Thomas Pohl) Improved tests, error handling, and logging
- (Thomas Pohl) Better async handling in Blockly blocks
0.6.0 (2025-12-26)
- (Thomas Pohl) Added deleteSheets functionality (delete multiple sheets in one call)
- (Thomas Pohl) Added blockly block for deleteSheets
- (Thomas Pohl) Add write cells functionality (write multiple cells in one call)
- (Thomas Pohl) Added blockly block for writeCells
0.5.0
- (Thomas Pohl) Minimum node.js version is now 20
- (Thomas Pohl) Display connection state
0.4.0
- (Thomas Pohl) The privateKey is saved now encrypted
- (Thomas Pohl) Support for node.js 22
License
Copyright (c) 2024-2026 Thomas Pohl
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.