Hallo! ![]()
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 derconfiguration.yaml(oder in dersensor.yaml).
Aufgabe:
- Erkläre mir kurz, wie ich die benötigte metadata_id (META_ID) für meine Sensoren in der Datenbank finde.
- 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):