# Konfiguration des Tibber-Collectors

> Die Umgebungsvariablen des Tibber-Collectors: Access Token für die Tibber-API, Intervall der Abfrage und die Verbindung zur InfluxDB.

Der Tibber-Collector wird über Umgebungsvariablen konfiguriert.

HELIOS richtet ihn unter _Konfiguration → Grundeinstellungen → Dynamische Strompreise_ ein. Dieselbe Eingabemaske steuert auch den [SENEC-Charger](/docs/referenz/senec-charger/), der die Preise nutzt.

## Umgebungsvariablen

### `TIBBER_TOKEN`<span class="badge required"></span>

Access Token für die Tibber-API. Er lässt sich [auf der Developer-Website von Tibber](https://developer.tibber.com/settings/access-token) erstellen und setzt einen Account mit aktivem Vertrag voraus.

Weist Tibber den Token ab, protokolliert der Collector den Fehler und versucht es im nächsten Durchlauf erneut. In der InfluxDB landen dann keine Preise.

```properties title="Beispiel"
TIBBER_TOKEN=3A77EECF61BD445F47241A5A36202185C35AF3AF58609E19B53F3A8872AD7BE1-1
```

> **HELIOS**
>
>
> HELIOS fragt das Token unter _Konfiguration → Grundeinstellungen → Dynamische Strompreise_ ab, sobald dort die Erfassung eingeschaltet ist.
>

### `TIBBER_INTERVAL`<span class="badge optional"></span>

Intervall in Sekunden, in dem der Collector die Preise von Tibber abfragt. Erlaubt ist eine positive Ganzzahl. Standardwert ist `3600`, also eine Stunde.

Ein kürzeres Intervall bringt nichts, denn Tibber veröffentlicht die Preise nur einmal täglich. Es erzeugt lediglich zusätzliche API-Anfragen. Eine `0` oder ein nicht numerischer Wert lässt den Collector beim Start abbrechen.

```properties title="Beispiel"
TIBBER_INTERVAL=7200
```

> **HELIOS**
>
>
> HELIOS setzt das Intervall nicht, es bleibt beim Standardwert `3600`. Ein anderer Wert lässt sich nicht einstellen.
>

### `INFLUX_HOST`<span class="badge required"></span>

Hostname des InfluxDB-Servers. Läuft InfluxDB im selben Docker-Netzwerk, ist das der Name des Docker-Services, also `influxdb`. Es kann aber auch ein externer Server sein, etwa `influxdb.example.com`.

```properties title="Beispiel"
INFLUX_HOST=influxdb
```

> **HELIOS**
>
>
> HELIOS setzt den Hostnamen automatisch auf `influxdb`. Nur bei einer externen InfluxDB fragt HELIOS ihn unter _Konfiguration → Grundeinstellungen → InfluxDB_ ab.
>

### `INFLUX_SCHEMA`<span class="badge optional"></span>

Schema für die Verbindung zu InfluxDB, `http` oder `https`. Standardwert ist `http`. Bei einer externen InfluxDB mit TLS gehört hier `https` hin.

```properties title="Beispiel"
INFLUX_SCHEMA=https
```

> **HELIOS**
>
>
> HELIOS setzt das Schema nicht, es bleibt beim Standardwert `http`. Innerhalb des Docker-Netzwerks wird nicht verschlüsselt. Nur bei einer externen InfluxDB fragt HELIOS das Protokoll ab.
>

### `INFLUX_PORT`<span class="badge optional"></span>

Port für die Verbindung zu InfluxDB, eine Ganzzahl. Standardwert ist `8086`. Bei einer externen, per TLS abgesicherten InfluxDB ist es oft `443`.

```properties title="Beispiel"
INFLUX_PORT=443
```

> **HELIOS**
>
>
> HELIOS setzt den Port nicht, es bleibt beim Standardwert `8086`. Nur bei einer externen InfluxDB fragt HELIOS ihn ab.
>

### `INFLUX_TOKEN`<span class="badge required"></span>

Token, mit dem sich der Collector bei InfluxDB anmeldet. Er muss dort existieren und das Recht haben, in den angegebenen Bucket zu **schreiben**. Mehr braucht der Collector nicht: Er schickt Preise hin und liest nie etwas zurück.

Passt der Token nicht, weist InfluxDB den Schreibzugriff ab. Die Preise landen dann nicht in der Datenbank.

```properties title="Beispiel"
INFLUX_TOKEN=my-super-secret-write-token
```

> **HELIOS**
>
>
> HELIOS gibt dem Collector den Schreib-Token, siehe [`INFLUX_TOKEN_WRITE`](/docs/referenz/helios/konfiguration/#influx_token_write). Lese- oder Admin-Zugriff bekommt er nicht.
>

### `INFLUX_ORG`<span class="badge required"></span>

Organisation in InfluxDB, unter der die Preise gespeichert werden. Eine Organisation ist der Mandant, dem Benutzer, Buckets und Tokens gehören. InfluxDB legt sie [beim ersten Start](/docs/referenz/influxdb/konfiguration/) an. In einer SOLECTRUS-Installation heißt sie `solectrus`.

Der Name muss zu der Organisation passen, die in InfluxDB tatsächlich existiert. Ein anderer Wert benennt sie nicht um, er lässt den Collector nur ins Leere schreiben.

```properties title="Beispiel"
INFLUX_ORG=solectrus
```

> **HELIOS**
>
>
> HELIOS gibt `solectrus` vor, einzustellen gibt es nichts. Nur bei einer externen InfluxDB fragt HELIOS den Namen der vorhandenen Organisation ab.
>

### `INFLUX_BUCKET`<span class="badge required"></span>

Bucket in InfluxDB, in den der Collector die Preise schreibt. Ein Bucket ist das, was anderswo die Datenbank wäre: ein benannter Speicher mit eigener Aufbewahrungsdauer. Auch ihn legt InfluxDB [beim ersten Start](/docs/referenz/influxdb/konfiguration/) an. Eine SOLECTRUS-Installation kommt mit einem einzigen aus, er heißt `solectrus`.

Der Name muss zu dem Bucket passen, der in InfluxDB existiert. Gibt es ihn nicht, lehnt InfluxDB die Schreibzugriffe ab.

```properties title="Beispiel"
INFLUX_BUCKET=solectrus
```

> **HELIOS**
>
>
> HELIOS gibt `solectrus` vor, einzustellen gibt es nichts. Nur bei einer externen InfluxDB fragt HELIOS den Namen des vorhandenen Buckets ab.
>

### `INFLUX_MEASUREMENT`<span class="badge optional"></span>

Measurement in InfluxDB, in das der Collector die Preise schreibt. Standardwert ist `Prices`, auch bei einem leeren Wert.

Der Name muss zu dem passen, den der [SENEC-Charger](/docs/referenz/senec-charger/) unter `INFLUX_MEASUREMENT_PRICES` liest. Groß- und Kleinschreibung zählt dabei: `prices` und `Prices` sind zwei verschiedene Measurements.

```properties title="Beispiel"
INFLUX_MEASUREMENT=Prices
```

> **HELIOS**
>
>
> HELIOS setzt das Measurement, vorbelegt mit `Prices`. Ändern lässt es sich unter _Konfiguration → Grundeinstellungen → Dynamische Strompreise_. Ein nachträglicher Wechsel ist kaum möglich, denn die bereits geschriebenen Preise bleiben an den alten Namen gebunden.
>

### `TZ`<span class="badge optional"></span>

Zeitzone gemäß [Liste](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). Standardwert ist `UTC`.

Sie betrifft ausschließlich die Zeitstempel im Protokoll des Collectors. Die Preise selbst speichert InfluxDB immer in UTC, daran ändert `TZ` nichts.

```properties title="Beispiel"
TZ=Europe/Berlin
```

> **HELIOS**
>
>
> HELIOS fragt die Zeitzone unter _Konfiguration → Grundeinstellungen → PV-Anlage_ ab, vorbelegt mit `Europe/Berlin`.
>
