Folgende Situation habe ich. Ich habe 3 Solar Panels und einen Solarakku. 2 Panels ( ost und West) gehen auf den Akku und der auf den WR und das 3. Solarpanel geht auf den WR direkt. Am Wechselrichter ist eine Shelly . Vom Akku bekomme ich den der Ladung ( als Plus Werte ) und Entladung als Minus Werte. und die Leistung der Ost/West Panels. Ich würde jetzt gerne den auch die Leistung des Süd Panels errechnen ( ja ich weis es wird in der Formel gewisse ungenauigkeiten durch den Shelly Messpunkt geben).
wenn sie nun da sind, dann schau doch bitte mal in den Entwicklerwerkzeugen ob da etwas zu finden ist, wenn du nur battery eingibst.
Oder schau mal in der Statistik ob da Fehler angezeigt werden, oder unter dem Reiter Entitäten wo du auch den Reiter Helfer hast.
Eine weitere Fehlerquelle, aber da kenne ich mich nicht so aus, da ich meine yaml-Dateien verteilt habe. Es sollte auch gehen wenn du
- sensor:
-name:
-name:
-name:
machst. Ich bin mir nicht sicher, es kann aber sein, dass das mehrmalige definieren von sensor auch Probleme machen könnte, aber so tief bin ich in yaml nicht zuhause.
Deine Formatierung stimmt immer noch nicht.
das „-„ vor Name steht unterm „n“ von sensor und muss aber unter das „s“ von sensor.
Und Deine ID Definition ist falsch. „-„ geht nicht da muss ein „_“ sein. Meiner Meinung nach sind „-„ in IDs nicht zulässig.
Dazu habe ich festgestellt, dass der Battery_Power_Out zwar Werte hat, diese aber falsch generiert:
aus 1 h mit 200 W abgegebener Leistung z.B. von 2-3 Uhr
macht er über 400 WH ( 0,4kWh)
kannst du mal bitte von Allen Sensoren und auch dessen Ausgangssensoren Screenshots von denen auf den Entwicklerwerkzeugen machen?
Also Entwicklerwerkzeuge, Zustände und dann mal nach Batterie filtern (wäre spannend zu sehen was da dann alles auftaucht) und vom Wert der für die Berechnungen der neuen Sensoren herangezogen wird.
Sollte dein Sensor „solarbranche-akkuleistung“ ein Watt-Sensor sein, dann machst du da eh etwas sehr sonderbares. Man kann Watt nicht einfach in kWh umrechnen indem man durch 1000 teilt.
Sensor Akkuleistung = Power-Sensor
Sensor Batterie = Energy-Sensor
—> Du musst zuerst den Sensor Akkuleistung in kWh umformatieren oder die neuen Sensoren sind Power-Watt-Sensoren die du danach um kWh Sensoren umwandeln musst.
Wh ist immer noch die falsche Einheit.
Du hast „device_class“ entfernt und nun mach HA hat wie es lustig ist.
Die korrekte Einheit ist W oder kW.
Du mischst 2 Einheiten, die 2 komplett andere „Aussagen“ treffen.
Du musst erst einen Sensor in Watt ermitteln/berechnen und dann per Helfer (Summen-Integral) einen kWh oder Wh-Wert bgenerieren.
Dein Versuch einen Sensor zu erzeugen indem du in der Definition unsauber wirst, ist zu scheitern verurteilt. Man sollte Sensoren so gut es geht und so umfangreich wie möglich definieren. Es gibt schließlich Gründe warum es device_class etc gibt.
Es gibt Sprachen da geht folgendes…
a = int
……
a = „test“
…..
set b = a + 5
—> error oder schlimmer ohne error
print b
—> 0 oder 5
das ist einfach unsauber und führt nur zu Problemen.
In deinen Screenshots zeigst zu den Sensor sensor.dr_bkw_shellyplusplugs_b0b21c19dea4_switch_0_power, was korrekt ist
In der Brerechnung verwenset du aber sensor.dr_bkw_shellyplusplugs_b0b21c19dea4_switch_0_energy, der die Energie nicht die Leistung ist.
Daher kommt logischerweise auch ein anderes Ergebnis raus.
Ok Danke für die Hinweise.
Irgendwie bin ich dazu aber noch zu blöd.
Ich habe erstmal alles in kleine Schritt zerlegt um die relevanten Fehler finden zu können.
Das Bild zeigt wie es sein sollte bzw. wo Probleme sind Oberer reihe ein Ergebnis mittlere reihe ein Ergebnis und die 3. Spalte ein Ergebnis:
Ohne die unique_ids zu sehen kann man mit den Grafiken nichts anfangen und analysieren.
Der folgende Sensor ist immer noch falsch.
Du kannst keinen W-Wert in einen Wh Wert umrechnen. Das ist nicht einfach /1000. Du musst dir dafür einen Helfer anlegen einen Riemann-Summenintegral Helfer. Alles andere ist Murks.
Vorgehensweise.
Du nimmst Dir den ersten Wert der nicht korrekt ist und versuchst ausschliesslich diesen hier zu posten und zu reparieren. Dann nimmst Du Dir den nächsten vor und arbeitest Dich in Deinem Code langsam von oben nach unten durch. An mehreren Baustellen gleichzeitig zu arbeiten kann nur im Chaos enden.
Und NOCHMAL
W und Wh sind 2 ganz verschiedene SensorClassen. W muss man in Wh umformulieren und NICHT einfach durch etwas teilen oder mit etwas multiplizieren.
W geteilt durch 1000 gibt mW aber NIE kWh oder Wh.