# Sensor-Konfiguration des Dashboards

> Welcher Messwert in der InfluxDB welchem Sensor des Dashboards zugeordnet wird, und wie die Zuordnung geschrieben wird.

[InfluxDB](/docs/referenz/influxdb/) speichert die Messwerte als Zeitreihen. Jeder Messwert gehört zu einem **Measurement** und einem **Field**. SOLECTRUS abstrahiert davon und kennt stattdessen **Sensoren**, jeder mit einem eindeutigen Namen. Eine Umgebungsvariable je Sensor legt fest, wo in der InfluxDB seine Messwerte liegen.

Die Zuordnung folgt einer festen Schreibweise: Measurement und Field, getrennt durch einen Doppelpunkt. Steht die PV-Erzeugung im Measurement _SENEC_ und dort im Field _inverter_power_, sieht der Eintrag so aus:

```properties
INFLUX_SENSOR_INVERTER_POWER=SENEC:inverter_power
```

Measurement und Field sind **case-sensitive**: InfluxDB unterscheidet Groß- und Kleinschreibung. Zeigen zwei Sensoren auf dieselbe Stelle in der InfluxDB, setzt das Dashboard eine Warnung ins Protokoll.

## Pflicht und Standardwerte

Keine dieser Variablen ist Pflicht, und keine hat einen Standardwert. Sensoren, für die keine Messwerte vorliegen (etwa mangels Wärmepumpe), bleiben einfach weg. Eine leere Zuordnung wie `INFLUX_SENSOR_HEATPUMP_POWER=` hat dieselbe Wirkung, nötig ist sie aber nicht.

Was fehlt, zeigt das Dashboard nicht an. Ohne `INFLUX_SENSOR_BATTERY_SOC` gibt es keinen Ladestand, ohne `INFLUX_SENSOR_HOUSE_POWER` keinen Hausverbrauch.

> **Alte Konfiguration**
>
>
> Bis zur Einführung der Sensoren im Sommer 2024 wurde das Dashboard über feste SENEC-Messwerte konfiguriert. Solche Installationen laufen unverändert weiter. HELIOS stellt die alte Konfiguration beim Import automatisch auf Sensoren um.
>

## Verfügbare Sensoren

Die von SOLECTRUS unterstützten Sensoren lassen sich in verschiedene Kategorien einteilen. Jeder Sensor ist mit seiner Umgebungsvariablen verlinkt.

### Wechselrichter

| Sensor-Name                                           | Einheit              |
| ----------------------------------------------------- | -------------------- |
| [INVERTER_POWER](#influx_sensor_inverter_power)       | Watt                 |
| [INVERTER_POWER_1](#influx_sensor_inverter_power_x)   | Watt                 |
| [INVERTER_POWER_2](#influx_sensor_inverter_power_x)   | Watt                 |
| [INVERTER_POWER_3](#influx_sensor_inverter_power_x)   | Watt                 |
| [INVERTER_POWER_4](#influx_sensor_inverter_power_x)   | Watt                 |
| [INVERTER_POWER_5](#influx_sensor_inverter_power_x)   | Watt                 |
| [GRID_IMPORT_POWER](#influx_sensor_grid_import_power) | Watt                 |
| [GRID_EXPORT_POWER](#influx_sensor_grid_export_power) | Watt                 |
| [GRID_EXPORT_LIMIT](#influx_sensor_grid_export_limit) | Prozent              |
| [CASE_TEMP](#influx_sensor_case_temp)                 | °C                   |
| [SYSTEM_STATUS](#influx_sensor_system_status)         | Text                 |
| [SYSTEM_STATUS_OK](#influx_sensor_system_status_ok)   | Logisch (True/False) |

### Stromspeicher

| Sensor-Name                                                           | Einheit |
| --------------------------------------------------------------------- | ------- |
| [BATTERY_SOC](#influx_sensor_battery_soc)                             | Prozent |
| [BATTERY_CHARGING_POWER](#influx_sensor_battery_charging_power)       | Watt    |
| [BATTERY_DISCHARGING_POWER](#influx_sensor_battery_discharging_power) | Watt    |

### Verbraucher

| Sensor-Name                                       | Einheit |
| ------------------------------------------------- | ------- |
| [HOUSE_POWER](#influx_sensor_house_power)         | Watt    |
| [HEATPUMP_POWER](#influx_sensor_heatpump_power)   | Watt    |
| [CUSTOM_POWER_01](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_02](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_03](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_04](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_05](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_06](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_07](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_08](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_09](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_10](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_11](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_12](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_13](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_14](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_15](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_16](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_17](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_18](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_19](#influx_sensor_custom_power_xx) | Watt    |
| [CUSTOM_POWER_20](#influx_sensor_custom_power_xx) | Watt    |

### Wallbox und E-Auto

| Sensor-Name                                                   | Einheit              |
| ------------------------------------------------------------- | -------------------- |
| [WALLBOX_POWER](#influx_sensor_wallbox_power)                 | Watt                 |
| [WALLBOX_CAR_CONNECTED](#influx_sensor_wallbox_car_connected) | Logisch (True/False) |
| [CAR_BATTERY_SOC](#influx_sensor_car_battery_soc)             | Prozent              |

### Wärmepumpe

| Sensor-Name                                                               | Einheit |
| ------------------------------------------------------------------------- | ------- |
| [HEATPUMP_HEATING_POWER](#influx_sensor_heatpump_heating_power)           | Watt    |
| [HEATPUMP_TANK_TEMP](#influx_sensor_heatpump_tank_temp)                   | °C      |
| [HEATPUMP_TANK_TEMP_SETPOINT](#influx_sensor_heatpump_tank_temp_setpoint) | °C      |
| [HEATPUMP_STATUS](#influx_sensor_heatpump_status)                         | Text    |
| [OUTDOOR_TEMP](#influx_sensor_outdoor_temp)                               | °C      |

### Prognosen

| Sensor-Name                                                                         | Einheit |
| ----------------------------------------------------------------------------------- | ------- |
| [INVERTER_POWER_FORECAST](#influx_sensor_inverter_power_forecast)                   | Watt    |
| [INVERTER_POWER_FORECAST_CLEARSKY](#influx_sensor_inverter_power_forecast_clearsky) | Watt    |
| [OUTDOOR_TEMP_FORECAST](#influx_sensor_outdoor_temp_forecast)                       | °C      |

## Umgebungsvariablen

Die Variablen beginnen alle mit dem Präfix `INFLUX_SENSOR_`, gefolgt vom eindeutigen Sensor-Namen.

HELIOS schreibt die Zuordnungen selbst. Unter _Konfiguration → Sensoren_ wird ein Sensor aktiviert und ihm eine Quelle zugewiesen, etwa der SENEC- oder der MQTT-Collector. Measurement und Field ergeben sich daraus. Nur bei der Quelle „Externe Quelle“ fragt HELIOS beides ab, denn dann schreibt ein Programm außerhalb von SOLECTRUS in die InfluxDB.

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

PV-Erzeugung als Leistung des Wechselrichters, in Watt. Gemeint ist die Gesamterzeugung, also inklusive etwaiger Steckersolargeräte oder separat betriebener Wechselrichter.

Gibt es keinen solchen Gesamtwert, bleibt die Variable weg. Das Dashboard addiert dann die Werte der einzelnen Wechselrichter (`INFLUX_SENSOR_INVERTER_POWER_X`) selbst.

```properties title="Beispiel"
INFLUX_SENSOR_INVERTER_POWER=SENEC:inverter_power
```

> **HELIOS**
>
>
> Als Quelle stehen der SENEC-Collector, der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Leistung eines einzelnen Erzeugers in Watt, wobei `X` für eine Zahl zwischen `1` und `5` steht. Nötig sind diese Variablen nur, wenn Messwerte für einzelne Wechselrichter oder Strings vorliegen.

```properties title="Beispiel"
INFLUX_SENSOR_INVERTER_POWER_1=SENEC:mpp1_power
INFLUX_SENSOR_INVERTER_POWER_2=SENEC:mpp2_power
INFLUX_SENSOR_INVERTER_POWER_3=SENEC:mpp3_power
INFLUX_SENSOR_INVERTER_POWER_4=balcony:power
INFLUX_SENSOR_INVERTER_POWER_5=
```

> **HELIOS**
>
>
> Als Quelle stehen der Shelly-, der MQTT-Collector und eine externe Quelle zur Wahl, für die ersten drei Erzeuger zusätzlich der SENEC-Collector. Wer einen der Erzeuger als Steckersolargerät markiert, bekommt von HELIOS zusätzlich den [Ingest-Dienst](/docs/referenz/ingest/), der den Hausverbrauch korrigiert.
>

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

Hausverbrauch in Watt.

```properties title="Beispiel"
INFLUX_SENSOR_HOUSE_POWER=SENEC:house_power
```

> **HELIOS**
>
>
> Als Quelle stehen der SENEC-Collector, der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Strombezug aus dem Netz in Watt.

```properties title="Beispiel"
INFLUX_SENSOR_GRID_IMPORT_POWER=SENEC:grid_power_plus
```

> **HELIOS**
>
>
> Als Quelle stehen der SENEC-Collector, der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Stromabgabe ins Netz (Einspeisung) in Watt.

```properties title="Beispiel"
INFLUX_SENSOR_GRID_EXPORT_POWER=SENEC:grid_power_minus
```

> **HELIOS**
>
>
> Als Quelle stehen der SENEC-Collector, der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Ladeleistung des Stromspeichers in Watt.

```properties title="Beispiel"
INFLUX_SENSOR_BATTERY_CHARGING_POWER=SENEC:bat_power_plus
```

> **HELIOS**
>
>
> Als Quelle stehen der SENEC-Collector, der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Entladeleistung des Stromspeichers in Watt.

```properties title="Beispiel"
INFLUX_SENSOR_BATTERY_DISCHARGING_POWER=SENEC:bat_power_minus
```

> **HELIOS**
>
>
> Als Quelle stehen der SENEC-Collector, der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Ladestand des Stromspeichers in Prozent.

```properties title="Beispiel"
INFLUX_SENSOR_BATTERY_SOC=SENEC:bat_fuel_charge
```

> **HELIOS**
>
>
> Als Quelle stehen der SENEC-Collector, der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Ladeleistung der Wallbox in Watt.

```properties title="Beispiel"
INFLUX_SENSOR_WALLBOX_POWER=SENEC:wallbox_charge_power
```

> **HELIOS**
>
>
> Als Quelle stehen der SENEC-, der Shelly-, der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Gehäusetemperatur des Wechselrichters oder Stromspeichers in °C.

```properties title="Beispiel"
INFLUX_SENSOR_CASE_TEMP=SENEC:case_temp
```

> **HELIOS**
>
>
> Als Quelle stehen der SENEC-Collector, der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Prognostizierte PV-Erzeugung in Watt.

```properties title="Beispiel"
INFLUX_SENSOR_INVERTER_POWER_FORECAST=Forecast:watt
```

> **HELIOS**
>
>
> Als Quelle stehen der [Forecast-Collector](/docs/referenz/forecast-collector/) und eine externe Quelle zur Wahl.
>

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

Höchstmögliche PV-Erzeugung bei wolkenlosem Himmel, in Watt. Verfügbar ab Dashboard-Version 1.0.

```properties title="Beispiel"
INFLUX_SENSOR_INVERTER_POWER_FORECAST_CLEARSKY=Forecast:watt_clearsky
```

> **HELIOS**
>
>
> Als Quelle stehen der [Forecast-Collector](/docs/referenz/forecast-collector/) und eine externe Quelle zur Wahl.
>

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

Prognostizierte Außentemperatur in °C. Verfügbar ab Dashboard-Version 1.0.

```properties title="Beispiel"
INFLUX_SENSOR_OUTDOOR_TEMP_FORECAST=Forecast:temp
```

> **HELIOS**
>
>
> Als Quelle stehen der [Forecast-Collector](/docs/referenz/forecast-collector/) und eine externe Quelle zur Wahl.
>

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

Systemstatus als Text, etwa eine Fehlermeldung des Wechselrichters.

```properties title="Beispiel"
INFLUX_SENSOR_SYSTEM_STATUS=SENEC:current_state
```

> **HELIOS**
>
>
> Als Quelle stehen der SENEC-Collector, der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Kennzeichnung, ob der Systemstatus als „in Ordnung“ gilt. Der Wert ist logisch: `true` zeigt einen grünen Punkt, `false` einen orangefarbenen.

```properties title="Beispiel"
INFLUX_SENSOR_SYSTEM_STATUS_OK=SENEC:current_state_ok
```

> **HELIOS**
>
>
> Als Quelle stehen der SENEC-Collector, der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Einspeiseleistungsbegrenzung in Prozent. Gemeint ist nicht die Obergrenze, sondern die in einem einzelnen Moment gerade wirksame Begrenzung. Manche Wechselrichter liefern diesen Wert.

```properties title="Beispiel"
INFLUX_SENSOR_GRID_EXPORT_LIMIT=SENEC:power_ratio
```

> **HELIOS**
>
>
> Als Quelle stehen der SENEC-Collector, der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Stromverbrauch der Wärmepumpe in Watt.

```properties title="Beispiel"
INFLUX_SENSOR_HEATPUMP_POWER=heatpump:power
```

> **HELIOS**
>
>
> Als Quelle stehen der Shelly-Collector, der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Erzeugte Wärmeleistung der Wärmepumpe in Watt. Das ist die **thermische** Leistung, die die Wärmepumpe abgibt, nicht ihr Stromverbrauch. Verfügbar ab Dashboard-Version 1.0.

Zusammen mit `INFLUX_SENSOR_HEATPUMP_POWER` berechnet das Dashboard daraus die Arbeitszahl.

```properties title="Beispiel"
INFLUX_SENSOR_HEATPUMP_HEATING_POWER=heatpump:heating_power
```

> **HELIOS**
>
>
> Als Quelle stehen der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Status der Wärmepumpe als Text, etwa „Heizen“ oder „Warmwasser“. Verfügbar ab Dashboard-Version 1.0.

```properties title="Beispiel"
INFLUX_SENSOR_HEATPUMP_STATUS=heatpump:status
```

> **HELIOS**
>
>
> Als Quelle stehen der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Außentemperatur in °C, gemessen von der Wärmepumpe. Verfügbar ab Dashboard-Version 1.0.

```properties title="Beispiel"
INFLUX_SENSOR_OUTDOOR_TEMP=heatpump:outdoor_temp
```

> **HELIOS**
>
>
> Als Quelle stehen der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Temperatur des Warmwasserspeichers der Wärmepumpe in °C. Verfügbar ab Dashboard-Version 1.0.

```properties title="Beispiel"
INFLUX_SENSOR_HEATPUMP_TANK_TEMP=heatpump:tank_temp
```

> **HELIOS**
>
>
> Als Quelle stehen der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Solltemperatur des Warmwasserspeichers der Wärmepumpe in °C. Verfügbar ab Dashboard-Version 1.2.

```properties title="Beispiel"
INFLUX_SENSOR_HEATPUMP_TANK_TEMP_SETPOINT=heatpump:tank_temp_setpoint
```

> **HELIOS**
>
>
> Als Quelle stehen der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Kennzeichnung, ob das E-Auto an der Wallbox steckt. Der Wert ist logisch, also `true` oder `false`.

```properties title="Beispiel"
INFLUX_SENSOR_WALLBOX_CAR_CONNECTED=Wallbox:car_connected
```

> **HELIOS**
>
>
> Als Quelle stehen der SENEC-Collector, der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Ladestand des E-Autos in Prozent.

```properties title="Beispiel"
INFLUX_SENSOR_CAR_BATTERY_SOC=Trabant:soc
```

> **HELIOS**
>
>
> Als Quelle stehen der MQTT-Collector und eine externe Quelle zur Wahl.
>

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

Stromverbrauch eines benutzerdefinierten Sensors in Watt, wobei `XX` für eine Zahl zwischen `01` und `20` steht. Damit lassen sich einzelne Verbraucher im Haushalt erfassen, etwa Waschmaschine oder Kühlschrank.

Ein benutzerdefinierter Sensor bekommt ein eigenes Segment in der Strombilanz.

```properties title="Beispiel"
INFLUX_SENSOR_CUSTOM_POWER_01=Fridge:power
INFLUX_SENSOR_CUSTOM_POWER_02=Dishwasher:power
INFLUX_SENSOR_CUSTOM_POWER_03=Washer:power
# ...
```

> **HELIOS**
>
>
> Als Quelle stehen der Shelly-Collector, der MQTT-Collector und eine externe Quelle zur Wahl.
>

## Hausverbrauch korrigieren

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

Sensoren, deren Leistung aus dem Hausverbrauch herausgerechnet wird, als komma-getrennte Liste von Sensor-Namen. Die Namen stehen dort ohne das Präfix `INFLUX_SENSOR_`.

Nötig ist das, wenn der Hausverbrauch die Leistung der Wärmepumpe, der Wallbox oder anderer Verbraucher bereits enthält. Ohne die Korrektur zählt ihre Leistung doppelt.

```properties title="Beispiel"
INFLUX_EXCLUDE_FROM_HOUSE_POWER=HEATPUMP_POWER,WALLBOX_POWER
```

Auch benutzerdefinierte Sensoren gehören hierher:

```properties title="Beispiel"
INFLUX_EXCLUDE_FROM_HOUSE_POWER=WALLBOX_POWER,CUSTOM_POWER_02,CUSTOM_POWER_08
```

Ein Name, den SOLECTRUS nicht kennt, lässt das Dashboard beim Start abbrechen. Ist [`INFLUX_SENSOR_HOUSE_POWER`](#influx_sensor_house_power) nicht konfiguriert, bleibt die Variable wirkungslos.

> **HELIOS**
>
>
> HELIOS setzt die Variable selbst zusammen. Bei Wärmepumpe, Wallbox und benutzerdefinierten Sensoren gibt es unter _Konfiguration → Sensoren_ den Schalter _Aus Hausverbrauch herausrechnen_, standardmäßig aus.
>
