Solar Forecast ML - Welche Sensoren brauche ich?

Hallo! :slightly_smiling_face:

Ehrlich gesagt würde ich dir von keinem der genannten Sensoren raten. Aktuell gibt es leider massive Probleme mit der Anker-Custom Integration (für die der Entwickler ursächlich nichts kann) :

  • Ungenauigkeit: Die klassischen Riemann-Sensoren basierend auf der Integration weisen starke Abweichungen auf und stimmen fast nie mit den Werten der Anker-App überein (obwohl die App selbst sehr präzise ist).
  • Support-Lage: Ich nutze selbst die Solix Solarbank 2 (E3) und bin fast verzweifelt. Der Entwickler der Integration reagiert leider nicht auf Anfragen.
  • Eigene Lösung: Ich habe den Entwickler bereits gebeten, direkte SQL-Sensoren bereitzustellen. Sollte hier weiterhin keine Rückmeldung kommen, werde ich die Integration wohl zeitnah offiziell und legal forken und selbst reparieren → die lösung ist eigentlich sehr sehr einfach… anstatt der Sensoren die er zur Verfügung stellt, lieber in die DB schreiben und eigene SQL-Abfragen machen.

Meine Empfehlung

Ich rate dir dringend, direkt eigene SQL-Sensoren in Home Assistant anzulegen. Diese greifen die Daten sauberer ab.

Tipp: Du kannst eine KI (wie ChatGPT oder Gemini) nutzen, um dir den passenden YAML-Code für diese SQL-Abfragen generieren zu lassen. Das ist deutlich zuverlässiger als die aktuelle Standard-Integration.

Bsp (Kopieren und in eine KI werfen und sagen: Ich brauche einen solchen Sensor für Home Assistant, das dann für alle Anker-Sensoren wiederholen die Du benötigst! - ACHTUNG ich benutze aus Performance und stabilitätsgründen die MariaDB.. du musst der KI sagen welche DB du benutzt!- und frag sie auch direkt wie Du die META_ID bekommst) :

name: "Bedarf Heute kWh"
    unique_id: bedarf_heute_kwh
    db_url: mysql://homeassistant:DEIN_DB_USERNAME@core-mariadb/homeassistant?charset=utf8mb4
    query: >-
      SELECT COALESCE(ROUND(SUM(
        CAST(t1.state AS DECIMAL(10,2))
        * (t2.last_updated_ts - t1.last_updated_ts) / 3600
      ) / 1000, 3), 0) AS value
      FROM (
        SELECT state, last_updated_ts, @rn9 := @rn9 + 1 AS rn
        FROM states s
        JOIN states_meta sm ON s.metadata_id = sm.metadata_id
        CROSS JOIN (SELECT @rn9 := 0) r
        WHERE sm.entity_id = 'sensor.system_daheim_hausbedarf'
          AND state NOT IN ('unknown', 'unavailable', '')
          AND CAST(state AS DECIMAL(10,2)) >= 0
          AND DATE(FROM_UNIXTIME(s.last_updated_ts)) = CURDATE()
        ORDER BY s.last_updated_ts
      ) t1
      JOIN (
        SELECT state, last_updated_ts, @rn10 := @rn10 + 1 AS rn
        FROM states s
        JOIN states_meta sm ON s.metadata_id = sm.metadata_id
        CROSS JOIN (SELECT @rn10 := 0) r
        WHERE sm.entity_id = 'sensor.system_daheim_hausbedarf'
          AND state NOT IN ('unknown', 'unavailable', '')
          AND CAST(state AS DECIMAL(10,2)) >= 0
          AND DATE(FROM_UNIXTIME(s.last_updated_ts)) = CURDATE()
        ORDER BY s.last_updated_ts
      ) t2 ON t2.rn = t1.rn + 1;
    column: "value"
    unit_of_measurement: "kWh"
    device_class: energy
    state_class: total_increasing

oder kopiere diese kompletten Text und lass die KI werkeln:

PROMPT:

  • Ziel: Erstellung von YAML-Code für die sql-Plattform in der configuration.yaml (oder in der sensor.yaml).

Aufgabe:

  1. Erkläre mir kurz, wie ich die benötigte metadata_id (META_ID) für meine Sensoren in der Datenbank finde.
  2. Generiere mir den YAML-Code für einen SQL-Sensor basierend auf folgendem Logik-Muster:
  • Name: [HIER NAME DES SENSORS EINTRAGEN, z.B. Solar Ertrag Heute]
  • Quell-Entität: [HIER ENTITÄT EINTRAGEN, z.B. sensor.anker_solix_solar_production]
  • Logik: Berechnung der kWh über das Integral der Leistungswerte (Watts * Zeitdifferenz / 3600 / 1000) für den aktuellen Tag (CURDATE()).

Referenz-Code (Nutze diese Struktur):

3 „Gefällt mir“