# Allgemeine Konfiguration

> Umgebungsvariablen, die für alle Anbieter des Forecast-Collectors gelten – Anbieterwahl, InfluxDB-Zugang und Zeitzone.

Der Forecast-Collector wird über Umgebungsvariablen konfiguriert.

Die Variablen auf dieser Seite gelten für jeden Anbieter. Welche weiteren nötig sind, hängt an `FORECAST_PROVIDER`: [Forecast.Solar](/docs/referenz/forecast-collector/konfiguration-forecast-solar/), [Solcast](/docs/referenz/forecast-collector/konfiguration-solcast/) oder [pvnode](/docs/referenz/forecast-collector/konfiguration-pvnode/).

## Umgebungsvariablen

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

Anbieter, der die Ertragsprognose liefert. Erlaubt sind `forecast.solar`, `solcast` und `pvnode`. Standardwert ist `forecast.solar`.

Jeder andere Wert bricht den Start ab, mit der Meldung `Unknown provider`.

```properties title="Beispiel"
FORECAST_PROVIDER=pvnode
```

> **HELIOS**
>
>
> HELIOS fragt den Anbieter unter _Konfiguration → Datenquellen → Forecast-Collector_ ab, vorbelegt mit `pvnode`. Ohne Auswahl lässt HELIOS den Collector weg.
>

### `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`, auch bei aktivem [Ingest-Dienst](/docs/referenz/ingest/): Die Prognose geht am Ingest vorbei, denn sie fließt nicht in die Berechnung des Hausverbrauchs ein. Nur bei einer externen InfluxDB fragt HELIOS den Hostnamen 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 die Prognose hin und liest nie etwas zurück.

Passt der Token nicht, weist InfluxDB jeden Schreibzugriff ab. Der Collector läuft dann weiter, protokolliert aber Fehler, und im Dashboard bleibt die Prognosekurve leer.

```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 Prognose gespeichert wird. 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 Prognose 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, und zu dem, aus dem das Dashboard liest. 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, unter dem die Prognose landet. Alle [Felder der Prognose](/docs/referenz/forecast-collector/) liegen in diesem einen Measurement. Standardwert ist `Forecast`.

Groß- und Kleinschreibung ist dabei nicht egal: `Forecast` und `forecast` sind für InfluxDB zwei verschiedene Measurements. Ein nachträglicher Wechsel ist kaum möglich, denn die bereits geschriebenen Werte bleiben an den alten Namen gebunden — das Dashboard liest sie dort nicht mehr.

```properties title="Beispiel"
INFLUX_MEASUREMENT=Forecast
```

> **HELIOS**
>
>
> HELIOS setzt das Measurement immer, vorbelegt mit `forecast`. Ändern lässt es sich unter _Konfiguration → Datenquellen → Forecast-Collector_.
>

### `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 Prognose 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`.
>
