Zum Inhalt springen
Integration · Home Assistant

Ihre Solarprognose steuert das Smart Home

Die Solariance-Integration bringt Ihre Prognose nach Home Assistant: als Sensoren, als Kurve im Energie-Dashboard und als Aktion, die die beste Startzeit für Ihre Geräte findet. Sie installieren sie über HACS und richten sie mit einem persönlichen API-Token ein – auch im Free-Tarif.

Illustration mit Beispielwerten.
Stand heute

VerfügbarSolariance-Integration für Home Assistant (HACS)

VerfügbarREST-API mit persönlichem Token

Empfohlen ist die Integration. Ohne HACS bleibt die RESTful-Integration von Home Assistant.

Vorteile

Was die Integration Ihnen bringt

Eingerichtet in der Oberfläche von Home Assistant, ohne Konfigurationsdateien – und mit allem, was Sie für Automationen nach der Sonne brauchen.

  • Prognose als Sensoren

    Die erwartete Erzeugung heute, für den Rest des Tages und morgen, die Leistung jetzt und in einer Stunde, die Spitzenleistung und ihr Zeitpunkt – für Dashboards und Automationen.

  • Kurve im Energie-Dashboard

    Die Prognose erscheint im Energie-Dashboard von Home Assistant neben Ihrer gemessenen PV-Erzeugung – so sehen Sie auf einen Blick, was heute zu erwarten ist.

  • Beste Startzeit per Aktion

    Sie nennen Leistung und Laufzeit eines Geräts, die Aktion solariance.find_surplus_window nennt das Zeitfenster, in dem es am meisten vom erwarteten Solarstrom bekommt.

  • Automationen nach der Sonne

    Zwei fertige Automationen zum Einfügen: Die erste plant morgens die beste Startzeit, die zweite schaltet zu dieser Zeit die Waschmaschine ein.

So funktioniert's

Wie die Prognose in Ihr Zuhause kommt

Alles läuft über Schnittstellen, die es heute schon gibt: die Solariance-API und, in Home Assistant, die Solariance-Integration oder die RESTful-Integration.

  1. Solariance berechnet die Prognose

    Für Ihre Anlage, aus Standort, Größe, Ausrichtung und Wetterprognosen – mehrmals am Tag neu.

  2. Home Assistant fragt sie ab

    In der Voreinstellung alle 30 Minuten, von sich aus und mit Ihrem Token – über die Solariance-Integration oder die RESTful-Integration. Die Verbindung geht von Ihrem Zuhause nach außen.

    GET https://api.solariance.de/v1/forecast/power

  3. Ihre Automationen schalten Ihre Geräte

    Sie legen fest, was bei welcher Prognose passiert – mit den Geräten, die Ihr Home Assistant schon steuert.

Was Sie nicht brauchen – und was Solariance nicht sieht

  • Keine Portfreigabe und keine feste IP-Adresse: Home Assistant baut die Verbindung selbst auf.
  • Kein Abo für Home Assistant Link (früher Home Assistant Cloud).
  • Kein Zugriff auf Ihr Heimnetz oder Ihre Geräte: Solariance erhält nur die Abfragen, die Ihr Home Assistant schickt.
  • Ein Token nur zum Lesen: Mit „Nur Leseberechtigung“ kann er Daten abrufen, aber nichts ändern.

Anleitung

Schritt für Schritt eingerichtet

Von der Registrierung bis zur ersten Automation. Sie brauchen Home Assistant ab Version 2026.9 und HACS.

  1. Schritt 1: Konto anlegen

    Registrieren Sie sich auf solariance.de/register – mit Google, mit Apple oder mit E-Mail-Adresse und Passwort.

    Bei E-Mail und Passwort kommt ein Bestätigungslink, der drei Tage gilt. Klicken Sie auf der Seite, die er öffnet, auf „E-Mail-Adresse jetzt bestätigen“ und danach auf „Weiter zu meinem Konto“.

    Mit Google oder Apple registriert? Der Token-Dialog in Schritt 3 fragt nach Ihrem Passwort. Legen Sie deshalb zuerst auf Ihrer Kontoseite in der Karte „Passwort einrichten“ eines fest (Button „Link zum Einrichten senden“).

  2. Schritt 2: Anlage anlegen

    Auf Ihrer Kontoseite klicken Sie in der Karte „Erste Schritte“ auf „Anlage in der Web-App anlegen“; das öffnet die Web-App. Beim ersten Mal zeigt sie eine kurze Einführung, „Erste Anlage einrichten“ startet dann den Assistenten. Er fragt nach Anlagentyp, Standort, Größe oder Modulen und Ausrichtung. Haben Sie „Erst das Dashboard ansehen“ gewählt, starten Sie den Assistenten später unter „Systeme“.

    Anlagen legen Sie nur in der App an, nicht auf der Website. Im Free-Tarif: eine Anlage bis 15 kWp, Prognose für heute und morgen. Haben Sie schon eine Anlage, geht es mit Schritt 3 weiter.

  3. Schritt 3: API-Token erstellen

    Öffnen Sie Ihre Kontoseite und darin die Karte „API Tokens verwalten“ – ist sie eingeklappt, klicken Sie auf ihre Überschrift. Dann auf „Neuer API-Token“.

    Im Dialog „API-Token erstellen“:

    • Name: „Home Assistant“ – damit Sie den Token später wiedererkennen.
    • Berechtigung: „Nur Leseberechtigung“. Mehr braucht Home Assistant nicht.
    • Ihr Passwort: zur Bestätigung.
    • Läuft ab: Wir empfehlen „1 Jahr“; erneuern Sie den Token rechtzeitig vor Ablauf. Die Voreinstellung „3 Monate“ funktioniert genauso, nur müssen Sie öfter tauschen.

    Nach „Speichern“ steht der Token genau einmal unter „Niemals weitergeben“. Kopieren Sie ihn mit „Kopieren“ und legen Sie ihn sofort sicher ab, etwa in Ihrem Passwort-Manager: Die Zwischenablage ist dafür kein sicherer Ort, denn jeder Kopier-Knopf auf dieser Seite überschreibt sie. Erst danach „Schließen“ – noch einmal anzeigen lässt sich der Token nicht.

    Behandeln Sie den Token wie ein Passwort. Gerät er in falsche Hände, löschen Sie ihn in der Liste über das Papierkorb-Symbol; er wirkt dann sofort nicht mehr. Pro Konto sind höchstens 10 Tokens gleichzeitig aktiv.

    API Tokens verwalten

    API-Token erstellen

    Name

    Home Assistant

    Berechtigung

    Nur Leseberechtigung

    Ihr Passwort

    ••••••••••

    Zur Bestätigung: Ein API-Token gilt deutlich länger als Ihre Anmeldung, deshalb fragen wir hier noch einmal nach Ihrem Passwort.

    Läuft ab

    1 Jahr
    AbbrechenSpeichern

    Nach dem Speichern

    Neuer API-Token

    Niemals weitergeben

    ••••••••••••••••••••
    KopierenSchließen
    Illustration des Dialogs.
  4. Schritt 4: Integration installieren

    Sie installieren die Integration über HACS (Home Assistant Community Store) als benutzerdefiniertes Repository. Am schnellsten geht es über diesen Link:

    Repository in HACS öffnenüber my.home-assistant.io

    Home Assistant fragt dann, ob HACS das Repository hinzufügen soll – bestätigen Sie das. Auf der Seite des Repositorys laden Sie die Integration anschließend herunter.

    Oder von Hand: Öffnen Sie HACS, oben rechts das Menü ⋮ und darin die benutzerdefinierten Repositories. Tragen Sie die Adresse https://github.com/solariance/ha-solariance ein, wählen Sie als Typ Integration und fügen Sie das Repository hinzu. Suchen Sie danach in HACS nach Solariance, öffnen Sie den Eintrag und laden Sie die Integration herunter.

    Starten Sie Home Assistant danach neu; erst dann kennt es die Integration:

    1. Einstellungen
    2. Menü
    3. Home Assistant neu starten
    4. Home Assistant neu starten
    5. Neu starten

    Die Integration braucht Home Assistant 2026.9 oder neuer.

    HACS noch nicht installiert? Wie das geht, steht auf hacs.xyz. Ohne HACS bleibt die RESTful-Integration.

  5. Schritt 5: Integration einrichten

    Am schnellsten starten Sie die Einrichtung über diesen Link:

    Solariance in Home Assistant einrichtenüber my.home-assistant.io

    Oder in Home Assistant selbst:

    1. Einstellungen
    2. Geräte & Dienste
    3. Integration hinzufügen
    4. Solariance

    Im Dialog „Solariance verbinden“ fügen Sie Ihren Token aus Schritt 3 in das Feld „API-Token“ ein. Home Assistant prüft ihn, indem es Ihre Anlagen abruft. Haben Sie mehrere, wählen Sie im nächsten Dialog „Anlage wählen“ eine aus.

    Jede Anlage wird ein eigener Eintrag mit einem eigenen Gerät. Für eine weitere Anlage fügen Sie die Integration noch einmal hinzu.

    Steht „Bearer “ vor dem Token, etwa weil Sie ihn aus der secrets.yaml der RESTful-Variante kopieren, nimmt die Integration ihn trotzdem an.

    Wie oft die Prognose abgerufen wird, stellen Sie unter Einstellungen › Geräte & Dienste › Solariance beim Eintrag Ihrer Anlage über das Zahnrad („Konfigurieren“) ein: „Prognose aktualisieren alle“ 15, 30 oder 60 Minuten. Voreingestellt sind 30 Minuten, also 2 Abrufe pro Stunde – das genügt, denn die Prognose wird nur einige Male am Tag neu berechnet.

    Jede Anlage bekommt diese Sensoren:

    • Prognose Energieerzeugung – heute / Rest heute / morgen
    • Prognose Energieerzeugung – diese Stunde / nächste Stunde
    • Prognose Leistung – jetzt / in einer Stunde (in 12 Stunden und in 24 Stunden sind anfangs deaktiviert)
    • Spitzenleistung – heute / morgen
    • Zeitpunkt der Spitzenleistung – heute / morgen
    • Erzeugungsbeginn – heute, Erzeugungsende – heute
    • Prognose Energieerzeugung – Tag 3 / Tag 4 / Tag 5: anfangs deaktiviert, nur in Tarifen mit fünf Prognosetagen

    Die Werte für „jetzt“ rechnet die Integration jede Viertelstunde aus der gespeicherten Prognose neu, ohne zusätzliche Abrufe. Die Entitäts-IDs leitet Home Assistant aus dem Namen Ihrer Anlage ab; Sie finden sie beim Gerät der Anlage.

  6. Schritt 6: Prognose im Energie-Dashboard

    So erscheint die Prognose als Kurve im Energie-Dashboard:

    1. Einstellungen
    2. Dashboards
    3. Energie
    4. PV-Module

    Fügen Sie dort mit „PV-Erzeugung hinzufügen“ Ihre Erzeugung hinzu oder bearbeiten Sie die vorhandene. Wählen Sie im Dialog unter „Prognose der PV-Erzeugung“ die Option „Erzeugungsprognose erstellen“, haken Sie Ihre Solariance-Anlage an und klicken Sie auf „Speichern“.

    Energie-Konfiguration öffnenüber my.home-assistant.io

    Die Prognose gehört dort zu einer gemessenen PV-Erzeugung: Ohne einen Sensor, der die Erzeugung Ihrer Anlage misst – etwa aus der Integration Ihres Wechselrichters –, lässt sich der Dialog nicht speichern. Sensoren und Aktion der Integration funktionieren auch ohne.

  7. Schritt 7: Automation mit der besten Startzeit

    Die Aktion solariance.find_surplus_window sucht das Zeitfenster, in dem ein Gerät am meisten vom erwarteten Solarstrom bekommt. Ihr Ergebnis gibt es nur in der Automation, die sie aufruft. Deshalb sind es zwei Automationen: Die erste plant jeden Morgen und schreibt die Startzeit in einen Helfer, die zweite schaltet zu dieser Zeit die Waschmaschine ein.

    Legen Sie zuerst den Helfer an – eine „Zeitpunkt-Eingabe“ mit „Datum und Uhrzeit“ und dem Namen „Waschmaschine Start“. Home Assistant macht daraus input_datetime.waschmaschine_start.

    1. Einstellungen
    2. Geräte & Dienste
    3. Helfer
    4. Helfer erstellen
    5. Zeitpunkt-Eingabe

    Die smarte Steckdose der Waschmaschine heißt in den Vorlagen switch.waschmaschine – benennen Sie ihre Entität so um oder ändern Sie die Zeile.

    Legen Sie dann beide Automationen an, jede so:

    1. Einstellungen
    2. Automationen & Szenen
    3. Automation erstellen
    4. Neue Automation erstellen
    5. Menü
    6. In YAML bearbeiten

    Ersetzen Sie den Inhalt durch die Vorlage und klicken Sie auf „Speichern“.

    Automation · Planen
    YAML
    alias: Waschmaschine zur besten Solarzeit planen
    description: >-
      Sucht jeden Morgen das Zeitfenster, in dem die Waschmaschine am meisten
      Solarstrom bekommt, und trägt seinen Beginn in den Helfer ein.
    triggers:
      - trigger: time
        at: "07:00:00"
    actions:
      - action: solariance.find_surplus_window
        data:
          # Ihre Anlage: im visuellen Editor unter „Anlage“ aus der Liste wählen
          config_entry_id: IHR_SOLARIANCE_EINTRAG
          load_kw: 2.0 # was die Maschine im Betrieb zieht
          duration_hours: 2 # wie lange sie läuft
        response_variable: window
      - if: "{{ window.found }}"
        then:
          # Als Zeitstempel, nicht mit datetime: – sonst ginge der Zeitversatz
          # verloren, und die Uhrzeit stimmte nicht, wenn Home Assistant in einer
          # anderen Zeitzone läuft.
          - action: input_datetime.set_datetime
            target:
              entity_id: input_datetime.waschmaschine_start
            data:
              timestamp: "{{ as_timestamp(window.window_start) }}"
    mode: single
    
    Automation · Starten
    YAML
    alias: Waschmaschine zur geplanten Zeit starten
    triggers:
      - trigger: time
        at: input_datetime.waschmaschine_start
    actions:
      - action: switch.turn_on
        target:
          entity_id: switch.waschmaschine
    mode: single
    

    In der ersten Vorlage steht IHR_SOLARIANCE_EINTRAG für Ihren Eintrag. Am einfachsten wechseln Sie nach dem Einfügen über ⋮ zu „Im visuellen Editor bearbeiten“ und wählen bei der Aktion unter „Anlage“ Ihre Anlage aus der Liste. Leistung und Dauer passen Sie an Ihr Gerät an.

    Im Alltag: Maschine beladen, Programm wählen und starten, dann die Steckdose ausschalten. Zur geplanten Zeit schaltet die zweite Automation sie wieder ein.

    Eine smarte Steckdose startet die Waschmaschine nur, wenn die Maschine ihr Programm fortsetzt, sobald wieder Strom kommt. Prüfen Sie das bei Ihrem Gerät – oder nutzen Sie dessen eigene Integration, falls es eine gibt. Testen Sie es einmal von Hand: Programm starten, Steckdose aus und wieder ein – läuft die Maschine weiter?

    Findet die Aktion kein Fenster mehr oder ist gerade keine Prognose geladen, behält der Helfer seinen alten Wert, und die zweite Automation schaltet an diesem Tag nicht. Soll die Maschine dann spätestens zu einer festen Zeit laufen, ergänzen Sie einen Auslöser zu dieser Zeit und eine Bereit-Markierung wie in der Waschmaschinen-Vorlage der RESTful-Variante.

Alternative

Ohne HACS: die RESTful-Integration

Ohne HACS – oder wenn Sie lieber alles in YAML halten – holen Sie die Prognose mit der RESTful-Integration, die Home Assistant schon mitbringt.

Die Schritte 1 bis 3 der Anleitung gelten auch hier; außerdem brauchen Sie Zugriff auf die Konfigurationsdateien von Home Assistant. Eine Kurve im Energie-Dashboard und die Aktion für die beste Startzeit gibt es auf diesem Weg nicht.

  1. Schritt A: System-ID finden

    Die System-ID Ihrer Anlage steht in der Web-App:

    1. Systeme
    2. Ihre Anlage
    3. Basisinformationen
    4. System-ID

    Sie hat zwölf Zeichen aus Großbuchstaben und Ziffern, etwa PV1A2B3C4D5E – ein erfundenes Beispiel.

    Oder fragen Sie die API mit dem neuen Token in einem Terminal. In der Antwort steht die ID bei system_id.

    Terminal
    Shell
    # Listet Ihre Anlagen samt system_id. Token nur kurz einsetzen.
    curl -H "Authorization: Bearer IHR_TOKEN" https://api.solariance.de/v1/system/list
    

    Der Befehl steht danach samt Token im Verlauf Ihres Terminals – nutzen Sie ihn nur auf Ihrem eigenen Rechner. Unter Windows schreiben Sie in der PowerShell „curl.exe“ statt „curl“.

  2. Schritt B: Token in Home Assistant hinterlegen

    Zum Bearbeiten der Dateien eignet sich die App „File editor“:

    1. Einstellungen
    2. Apps
    3. App installieren
    4. File editor
    5. Installieren
    6. Starten
    7. Benutzeroberfläche öffnen

    Apps hießen früher Add-ons. Mit Home Assistant Container gibt es keine Apps – dort bearbeiten Sie die Dateien direkt im Konfigurationsordner.

    Öffnen Sie im File editor über das Ordner-Symbol oben links die Datei secrets.yaml. Sie liegt im selben Ordner wie configuration.yaml; gibt es sie noch nicht, legen Sie sie dort an. Fügen Sie diese Zeilen ein und ersetzen Sie dann den Platzhalter durch Ihren Token aus Schritt 3:

    secrets.yaml
    YAML
    # secrets.yaml – im selben Ordner wie configuration.yaml
    # Das Wort Bearer und ein Leerzeichen gehören vor den Token.
    solariance_auth: "Bearer HIER_IHREN_TOKEN_EINFUEGEN"
    

    Speichern Sie die Datei – mit dem Disketten-Symbol oben im File editor.

    Das Wort „Bearer“ und ein Leerzeichen bleiben vor dem Token stehen. Der Token gehört nur hierher – nicht in configuration.yaml und nicht in Automationen. Geben Sie secrets.yaml nie weiter, auch nicht als Screenshot.

  3. Schritt C: Sensoren anlegen

    Tragen Sie Ihre System-ID ein und passen Sie bei Bedarf die beiden Werte an. Die Vorlage darunter ändert sich sofort mit. Fügen Sie sie am Ende von configuration.yaml ein.

    Die Vorlage legt diese 7 Entitäten an:

    • sensor.solariance_prognose_heute
    • sensor.solariance_prognose_morgen
    • sensor.solariance_spitze_heute
    • sensor.solariance_beste_startzeit
    • sensor.solariance_pv_fenster_beginn
    • sensor.solariance_pv_fenster_ende
    • binary_sensor.solariance_pv_fenster

    Zwölf Zeichen aus Großbuchstaben und Ziffern. Die Eingabe bleibt in Ihrem Browser; diese Seite sendet sie nirgendwohin.

    Das PV-Fenster reicht von der ersten bis zur letzten Viertelstunde heute mit mindestens dieser erwarteten Leistung. Möglich sind 100 bis 100.000 W in Schritten von 100 W. Wählen Sie einen Wert, den Ihre Anlage an einem guten Tag sicher erreicht, also deutlich unter ihrer Spitzenleistung – bei einem Balkonkraftwerk weit unter der Voreinstellung von 1.500 W.

    Für „Beste Startzeit“: der Beginn des Zeitraums dieser Länge mit dem höchsten erwarteten Ertrag, ab jetzt gerechnet.

    Vorlage für: noch ohne System-ID · Schwelle 1.500 W · Laufzeit 2 Stunden

    configuration.yaml
    YAML
    # Solariance-PV-Prognose in Home Assistant (RESTful-Integration)
    # Eine Abfrage alle 30 Minuten; der Token steht in secrets.yaml.
    rest:
      - resource: https://api.solariance.de/v1/forecast/power
        params:
          system_id: IHRE_SYSTEM_ID
        headers:
          Authorization: !secret solariance_auth
        scan_interval: 1800
        timeout: 30
        sensor:
          # Erwarteter Ertrag heute (kWh)
          - name: Solariance Prognose heute
            unique_id: solariance_prognose_heute
            device_class: energy
            unit_of_measurement: kWh
            availability: >-
              {% set d = value_json.data if value_json is defined and value_json.data is mapping else {} %}
              {{ d.forecast is defined and d.now_local is defined and d.forecast | sum(start=[]) | selectattr('local_time', 'match', d.now_local[:10]) | list | count > 0 }}
            value_template: >-
              {% set d = value_json.data %}
              {{ d.forecast | sum(start=[]) | selectattr('local_time', 'match', d.now_local[:10]) | map(attribute='energy_aggregated_sum_intraday') | max | round(1) }}
    
          # Erwarteter Ertrag morgen (kWh)
          - name: Solariance Prognose morgen
            unique_id: solariance_prognose_morgen
            device_class: energy
            unit_of_measurement: kWh
            availability: >-
              {% set d = value_json.data if value_json is defined and value_json.data is mapping else {} %}
              {% set tomorrow = (as_datetime(d.now_local) + timedelta(days=1)).strftime('%Y-%m-%d') if d.now_local is defined else '' %}
              {{ d.forecast is defined and d.now_local is defined and d.forecast | sum(start=[]) | selectattr('local_time', 'match', tomorrow) | list | count > 0 }}
            value_template: >-
              {% set d = value_json.data %}
              {% set tomorrow = (as_datetime(d.now_local) + timedelta(days=1)).strftime('%Y-%m-%d') %}
              {{ d.forecast | sum(start=[]) | selectattr('local_time', 'match', tomorrow) | map(attribute='energy_aggregated_sum_intraday') | max | round(1) }}
    
          # Beginn der ertragreichsten Viertelstunde heute
          - name: Solariance Spitze heute
            unique_id: solariance_spitze_heute
            device_class: timestamp
            availability: >-
              {% set d = value_json.data if value_json is defined and value_json.data is mapping else {} %}
              {{ d.forecast is defined and d.now_local is defined and d.forecast | sum(start=[]) | selectattr('local_time', 'match', d.now_local[:10]) | selectattr('ac_output_of_system', '>', 0) | list | count > 0 }}
            value_template: >-
              {% set d = value_json.data %}
              {% set top = d.forecast | sum(start=[]) | selectattr('local_time', 'match', d.now_local[:10]) | sort(attribute='ac_output_of_system', reverse=true) | first %}
              {{ top.utc_time ~ '+00:00' }}
    
          # Beste Startzeit ab jetzt für ein Gerät mit 2 h Laufzeit
          - name: Solariance Beste Startzeit
            unique_id: solariance_beste_startzeit
            device_class: timestamp
            availability: >-
              {% set d = value_json.data if value_json is defined and value_json.data is mapping else {} %}
              {{ d.forecast is defined and d.now_local is defined and d.forecast | sum(start=[]) | selectattr('local_time', 'match', d.now_local[:10]) | selectattr('local_time', '>=', d.now_local) | selectattr('ac_output_of_system', '>', 0) | list | count > 0 }}
            value_template: >-
              {% set d = value_json.data %}
              {% set rows = d.forecast | sum(start=[]) | selectattr('local_time', 'match', d.now_local[:10]) | list %}
              {% set n = 8 %}
              {% set ns = namespace(best=0, start=none) %}
              {% for i in range(rows | count) if rows[i].local_time >= d.now_local %}
              {% set j = [i + n - 1, (rows | count) - 1] | min %}
              {% set e = rows[j].energy_aggregated_sum_intraday - rows[i].energy_aggregated_sum_intraday + rows[i].energy_in_time_interval %}
              {% if e > ns.best %}{% set ns.best = e %}{% set ns.start = rows[i].utc_time %}{% endif %}
              {% endfor %}
              {{ ns.start ~ '+00:00' }}
    
          # Erste Viertelstunde heute mit mindestens 1500 W Prognose
          - name: Solariance PV-Fenster Beginn
            unique_id: solariance_pv_fenster_beginn
            device_class: timestamp
            availability: >-
              {% set d = value_json.data if value_json is defined and value_json.data is mapping else {} %}
              {{ d.forecast is defined and d.now_local is defined and d.forecast | sum(start=[]) | selectattr('local_time', 'match', d.now_local[:10]) | selectattr('ac_output_of_system', '>=', 1500) | list | count > 0 }}
            value_template: >-
              {% set d = value_json.data %}
              {% set hits = d.forecast | sum(start=[]) | selectattr('local_time', 'match', d.now_local[:10]) | selectattr('ac_output_of_system', '>=', 1500) | list %}
              {{ hits[0].utc_time ~ '+00:00' }}
    
          # Ende der letzten Viertelstunde heute mit mindestens 1500 W
          - name: Solariance PV-Fenster Ende
            unique_id: solariance_pv_fenster_ende
            device_class: timestamp
            availability: >-
              {% set d = value_json.data if value_json is defined and value_json.data is mapping else {} %}
              {{ d.forecast is defined and d.now_local is defined and d.forecast | sum(start=[]) | selectattr('local_time', 'match', d.now_local[:10]) | selectattr('ac_output_of_system', '>=', 1500) | list | count > 0 }}
            value_template: >-
              {% set d = value_json.data %}
              {% set last = d.forecast | sum(start=[]) | selectattr('local_time', 'match', d.now_local[:10]) | selectattr('ac_output_of_system', '>=', 1500) | list | last %}
              {{ (as_datetime(last.utc_time ~ '+00:00') + timedelta(minutes=last.step)).isoformat() }}
    
    template:
      - binary_sensor:
          # An zwischen Beginn und Ende des PV-Fensters
          - name: Solariance PV-Fenster
            unique_id: solariance_pv_fenster
            state: >-
              {{ has_value('sensor.solariance_pv_fenster_beginn') and has_value('sensor.solariance_pv_fenster_ende')
                 and states('sensor.solariance_pv_fenster_beginn') | as_datetime <= now()
                 and now() < states('sensor.solariance_pv_fenster_ende') | as_datetime }}
    

    Speichern Sie danach auch configuration.yaml.

    Steht in Ihrer configuration.yaml schon rest: oder template:? Dann hängen Sie nur die Einträge darunter an, die mit einem Bindestrich beginnen, statt den Schlüssel ein zweites Mal anzulegen – sonst gilt nur der letzte.

    Die Namen der Sensoren folgen der Sprache dieser Seite. Übernehmen Sie Vorlage und Automationen deshalb in derselben Sprache – sonst finden die Automationen ihre Sensoren nicht.

    Werte später ändern? Erzeugen Sie die Vorlage hier neu und ersetzen Sie damit die früher eingefügten Solariance-Einträge, statt sie ein zweites Mal anzuhängen. Danach laden Sie neu wie in Schritt D.

  4. Schritt D: Prüfen und laden

    Prüfen Sie zuerst die Konfiguration:

    1. Einstellungen
    2. Werkzeuge
    3. YAML
    4. Konfiguration prüfen

    Beim ersten Mal ist ein vollständiger Neustart nötig – nicht „Schnelles Neuladen“, das legt die REST-Sensoren beim ersten Mal nicht an:

    1. Einstellungen
    2. Menü
    3. Home Assistant neu starten
    4. Home Assistant neu starten
    5. Neu starten

    Bei späteren Änderungen ist kein Neustart nötig. Laden Sie die Sensoren und das PV-Fenster neu:

    1. Einstellungen
    2. Werkzeuge
    3. YAML
    4. REST-Entitäten und -Benachrichtigungsdienste
    1. Einstellungen
    2. Werkzeuge
    3. YAML
    4. Template-Entitäten

    Kontrollieren Sie das Ergebnis:

    1. Einstellungen
    2. Werkzeuge
    3. Zustände

    Filtern Sie nach „solariance“. Die Werte erscheinen nach der ersten Abfrage; die Prognosen für heute und morgen zeigen dann Zahlen. „Nicht verfügbar“ ist bei zwei Arten von Sensoren normal: bei der besten Startzeit nach der letzten Sonnen-Viertelstunde des Tages, bei Beginn und Ende des PV-Fensters an Tagen, an denen Ihre Schwelle nicht erreicht wird. Zeitpunkte zeigt die Zustände-Seite in UTC (Endung +00:00), nicht in Ihrer Ortszeit; Dashboards und Automationen rechnen in Ortszeit.

    Direkt in Ihrem Home Assistant (über my.home-assistant.io):

    Fehlersuche

    Kein Solariance-Sensor zu sehen?

    • Sind secrets.yaml und configuration.yaml gespeichert?
    • Haben Sie beim ersten Mal vollständig neu gestartet – nicht nur „Schnelles Neuladen“?
    • Meldet „Konfiguration prüfen“ einen Fehler? Meist ist es die Einrückung: Die Vorlage nutzt Leerzeichen, keine Tabs, und „rest:“ steht ganz links.

    Alle Sensoren „Nicht verfügbar“?

    Prüfen Sie die System-ID und die Zeile in secrets.yaml („Bearer“ und ein Leerzeichen vor dem Token). Den genauen Fehler zeigt Home Assistant erst, wenn Sie diese Aktion ausführen:

    1. Einstellungen
    2. Werkzeuge
    3. Aktionen
    4. YAML-Modus
    5. Aktion ausführen
    Aktion
    YAML
    # Werkzeuge › Aktionen, YAML-Modus: zeigt den Status jeder Abfrage im Protokoll
    action: logger.set_level
    data:
      homeassistant.components.rest: debug
    

    Laden Sie dann die REST-Entitäten neu (siehe oben). Unter Einstellungen › System › Protokolle › „Unveränderte Protokolle anzeigen“ steht danach eine Zeile „REST response from … status=…“. Die Einstellung gilt bis zum nächsten Neustart.

    • 401: Token falsch oder abgelaufen, „Bearer “ fehlt, oder die System-ID gehört nicht zu Ihrem Konto.
    • 403: Adresse verändert, etwa ein Schrägstrich am Ende, oder die Anlage ist in Ihrem Tarif pausiert.
    • 429: zu viele Abrufe – eine Stunde warten und nie öfter abfragen als die Vorlage.
    • 204: noch keine Prognose – bei einer neuen Anlage dauert die erste einen Moment.
  5. Schritt E: Automation anlegen

    Öffnen Sie den YAML-Editor einer neuen Automation:

    1. Einstellungen
    2. Automationen & Szenen
    3. Automation erstellen
    4. Neue Automation erstellen
    5. Menü
    6. In YAML bearbeiten

    Ersetzen Sie den Inhalt durch eine der Vorlagen unten, tragen Sie die Entitäten Ihrer Geräte ein und klicken Sie auf „Speichern“.

RESTful-Variante

Vier Vorlagen für die RESTful-Variante

Jede ist eine vollständige Automation für die Sensoren aus Schritt C. Fügen Sie sie wie in Schritt E ein und ersetzen Sie die Beispiel-Entitäten durch Ihre Geräte.

Die Namen der Sensoren folgen der Sprache dieser Seite. Übernehmen Sie Vorlage und Automationen deshalb in derselben Sprache – sonst finden die Automationen ihre Sensoren nicht.

Waschmaschine zur besten Solarzeit

Was sie tut
Schaltet die smarte Steckdose der Waschmaschine zur besten Startzeit ein – aber nur, wenn Sie die Maschine vorher als bereit markiert haben. Danach setzt sie die Markierung zurück.
Was Sie brauchen
  • Einen Helfer vom Typ „Schalter“ namens „Waschmaschine bereit“ (input_boolean.waschmaschine_bereit). Beladen Sie die Maschine, wählen und starten Sie das Programm, schalten Sie dann die Steckdose aus – und erst jetzt den Helfer ein. So legen Sie ihn an:

    1. Einstellungen
    2. Geräte & Dienste
    3. Helfer
    4. Helfer erstellen
    5. Schalter
  • Die Steckdose als switch.waschmaschine – benennen Sie ihre Entität so um oder ändern Sie die Zeile in der Vorlage.

Wenn die Prognose fehlt
Ist die Maschine als bereit markiert, startet sie spätestens um 17:00 Uhr – auch ohne Prognose.
Nutzt
sensor.solariance_beste_startzeit
Automation · Waschmaschine
YAML
alias: Waschmaschine zur besten Solarzeit starten
description: >-
  Schaltet die smarte Steckdose der Waschmaschine zur besten Solarzeit ein,
  spätestens um 17:00, wenn die Maschine als bereit markiert ist.
triggers:
  - trigger: time
    at: sensor.solariance_beste_startzeit
  - trigger: time
    at: "17:00:00"
conditions:
  - condition: state
    entity_id: input_boolean.waschmaschine_bereit
    state: "on"
actions:
  - action: switch.turn_on
    target:
      entity_id: switch.waschmaschine
  - action: input_boolean.turn_off
    target:
      entity_id: input_boolean.waschmaschine_bereit
mode: single

Warmwasser im PV-Fenster

Was sie tut
Schaltet die Warmwasser-Anhebung ein, wenn das PV-Fenster beginnt, und wieder aus, wenn es endet.
Was Sie brauchen
  • Einen Schalter, der die Warmwasserbereitung anhebt – etwa einen SG-Ready-Kontakt Ihrer Wärmepumpe oder ein Relais für den Heizstab –, in der Vorlage switch.warmwasser_boost.

  • Die Schwelle des PV-Fensters stellen Sie in Schritt C ein.

Wenn die Prognose fehlt
Endet das Fenster oder ist die Prognose nicht verfügbar, schaltet sie ab.
Nutzt
binary_sensor.solariance_pv_fenster
Automation · Warmwasser
YAML
alias: Warmwasser im PV-Fenster anheben
triggers:
  - trigger: state
    entity_id: binary_sensor.solariance_pv_fenster
    to: "on"
    id: start
  - trigger: state
    entity_id: binary_sensor.solariance_pv_fenster
    to: "off"
    id: stopp
actions:
  - choose:
      - conditions:
          - condition: trigger
            id: start
        sequence:
          - action: switch.turn_on
            target:
              entity_id: switch.warmwasser_boost
    default:
      - action: switch.turn_off
        target:
          entity_id: switch.warmwasser_boost

E-Auto an sonnigen Tagen

Was sie tut
Prüft jeden Morgen um 08:00 Uhr die Prognose für heute. Liegt sie über 15 kWh, stellt sie die Wallbox auf Solarladen, sonst auf den normalen Lademodus.
Was Sie brauchen
  • Eine Wallbox-Integration mit einem Lademodus zum Auswählen, in der Vorlage select.wallbox_lademodus mit den Optionen „PV“ und „Normal“. Entität und Optionen heißen je nach Wallbox anders.

  • Eine Schwelle, die zu Ihrer Anlage passt: etwa die Hälfte des Ertrags eines guten Tages.

Wenn die Prognose fehlt
An trüben Tagen, ohne Prognose oder wenn der Sensor nicht verfügbar ist, stellt die Automation die Wallbox auf „Normal“ – das Auto lädt dann wie gewohnt.
Nutzt
sensor.solariance_prognose_heute
Automation · E-Auto
YAML
alias: E-Auto an sonnigen Tagen mit Solarstrom laden
description: >-
  Solarladen, wenn die Prognose für heute hoch ist, sonst (oder ohne
  Prognose) der normale Lademodus.
triggers:
  - trigger: time
    at: "08:00:00"
actions:
  # Entität und Optionsnamen hängen von Ihrer Wallbox-Integration ab.
  - choose:
      # Schwelle an Ihre Anlage anpassen: etwa der halbe Ertrag eines guten Tages.
      - conditions:
          - condition: numeric_state
            entity_id: sensor.solariance_prognose_heute
            above: 15
        sequence:
          - action: select.select_option
            target:
              entity_id: select.wallbox_lademodus
            data:
              option: PV
    default:
      - action: select.select_option
        target:
          entity_id: select.wallbox_lademodus
        data:
          option: Normal

Abendbericht mit der Prognose für morgen

Was sie tut
Meldet jeden Abend um 20:00 Uhr den erwarteten Ertrag für morgen und heute – als Benachrichtigung in Home Assistant.
Was Sie brauchen
  • Nichts weiter. Für eine Nachricht aufs Handy brauchen Sie die Home Assistant Companion App; tauschen Sie dann die Aktion, wie es der Kommentar in der Vorlage zeigt.

Wenn die Prognose fehlt
Fehlt die Prognose für morgen, bleibt die Nachricht aus.
Nutzt
sensor.solariance_prognose_heutesensor.solariance_prognose_morgen
Automation · Abendbericht
YAML
alias: Solarprognose für morgen
triggers:
  - trigger: time
    at: "20:00:00"
conditions:
  - condition: template
    value_template: "{{ has_value('sensor.solariance_prognose_morgen') }}"
actions:
  # Fürs Handy stattdessen: action: notify.mobile_app_<ihr_handy>
  - action: persistent_notification.create
    data:
      title: Solarprognose für morgen
      message: >-
        Erwartet morgen: {{ states('sensor.solariance_prognose_morgen') }} kWh
        (heute: {{ states('sensor.solariance_prognose_heute') }} kWh).

Eine smarte Steckdose startet die Waschmaschine nur, wenn die Maschine ihr Programm fortsetzt, sobald wieder Strom kommt. Prüfen Sie das bei Ihrem Gerät – oder nutzen Sie dessen eigene Integration, falls es eine gibt. Testen Sie es einmal von Hand: Programm starten, Steckdose aus und wieder ein – läuft die Maschine weiter?

Arbeiten an der Elektrik, etwa für ein Heizstab-Relais, gehören in die Hände einer Elektrofachkraft.

Gut zu wissen

Was Sie vorher wissen sollten

Damit Ihre Automationen verlässlich laufen und nichts überrascht.

  • Abrufe

    Free und Plus: 30 Abrufe pro Stunde für die Leistungsprognose (forecast/power), geteilt mit allem, was Ihr Konto sonst an Prognosen abruft – Ihrer Solariance-App, dem Chat und weiteren API-Tokens. Die Integration braucht in der Voreinstellung 2 davon pro Stunde und Anlage, die Vorlage der RESTful-Variante 2; Premium hat 500. Auch abgelehnte Abrufe zählen mit. Ist das Limit aufgebraucht, wartet die Integration bis zur nächsten regulären Abfrage, statt früher nachzufragen.

  • Aktualität

    Die Prognose wird mehrmals am Tag neu berechnet; eine Abfrage alle 30 Minuten genügt. Messwerte Ihrer Anlage liefert die Schnittstelle nicht – es bleibt eine Prognose.

  • Horizont

    Free: heute und morgen in 15-Minuten-Auflösung. Plus und Premium: bis zu fünf Tage, ab dem dritten Tag stündlich, danach in 3-Stunden-Schritten. Die Integration zeigt Tag 3 bis 5 als eigene, anfangs deaktivierte Sensoren; die Vorlage der RESTful-Variante nutzt nur heute und morgen.

  • Energie-Dashboard

    Die Integration zeigt die Prognose als Kurve im Energie-Dashboard (Schritt 6), sobald dort eine gemessene PV-Erzeugung eingerichtet ist. Die RESTful-Variante kann das nicht: REST-Sensoren erreichen das Energie-Dashboard nicht. Nutzen Sie sie in normalen Dashboard-Karten und in Automationen.

  • Zuverlässigkeit

    Prognosen können danebenliegen oder zeitweise ausfallen (AGB § 11). Geben Sie jeder Automation eine Rückfallebene und steuern Sie damit nichts Sicherheitskritisches.

  • Token-Ablauf

    Läuft der Token ab oder löschen Sie ihn, fragt Home Assistant bei der Integration selbst nach einem neuen. Bei der RESTful-Variante werden die Sensoren „Nicht verfügbar“: Erstellen Sie einen neuen Token, ersetzen Sie ihn in secrets.yaml und laden Sie die REST-Entitäten neu.

  • Mehrere Anlagen

    Premium erlaubt bis zu drei Anlagen. Integration: Fügen Sie sie für jede Anlage noch einmal hinzu. RESTful-Variante: Kopieren Sie den Eintrag unter rest: (und den Template-Sensor) je Anlage, tragen Sie unter params die system_id der jeweiligen Anlage ein und geben Sie allen Sensoren eigene Namen und eine eigene unique_id; im kopierten Template-Sensor ändern Sie außerdem die beiden Sensor-IDs, auf die er sich bezieht. Jede Anlage braucht 2 weitere Abrufe pro Stunde.

  • Zeitzone

    Nichts einzustellen: Integration und Vorlage nehmen „heute“ aus der Prognose selbst, in der Zeitzone Ihrer Anlage.

FAQ

Häufige Fragen

Stand: Oktober 2026

Holen Sie Ihre Solarprognose in Home Assistant

Konto anlegen, API-Token erstellen, Integration über HACS installieren – der Free-Tarif reicht.

Home Assistant ist eine Marke der Open Home Foundation. Solariance ist ein unabhängiger Dienst und steht in keiner Verbindung zur Open Home Foundation oder zum Home-Assistant-Projekt; es besteht keine Zertifizierung, Unterstützung oder Partnerschaft.