Helfer mit Bedingung bei unbekanntem Wert

Hallo Gemeinde,

ich habe eine PV mit Kostalwechselrichter auf dem Dach, einen BYD Speicher und ein zusätzliches Balkonkraftwerk auf der Garage, welches über OpenDTU angebunden ist. Das Auslesen der Werte aus der openDTU in HA klappt bestens (über MQTT etc).

Nun wollte ich genaue Statistiken fortschreiben und exakte Summen vom bspw. PV-Ertrag über beide Anlagen bilden, auch um im Dunkeln eine aktuelle Anzeige in der Powercard zu haben. Ein Kombinationssensor/-helfer per Summe kann ich erstellen. Aber: Sobald es dunkel ist, liefert die OpenDTU keinen Wert mehr bzw. “unbekannt”, sehr wahrscheinlich auch deswegen, da der Mikrowechselrichter mangels Strom nicht mehr abgefragt werden kann. Die Summenbildung über den Helfer klappt dann nicht mehr. Der Helfer liefert keine Wert. Es klappt erst wieder, sobald mit Licht outside der Mirkowechselrichter online geht, die openDTU dann einen Wert abfragen kann und dieser sowie die Summe des Kombinationssensors korrekt berechnet wird.

Wie kann ich das Problem lösen? Kann ich einen Helfer erstellen, der eine Bedingung beinhaltet, “wenn Wert like ‘unbekannt’ then liefere Wert = 0” … oder so ähnlich? Welche Möglichkeiten gibt es noch?

Ich hoffe Ihr habt Ideen und könnt mir helfen.

Grüße

Jens

Du könntest einen Template-Helfer anlegen nach dem Schema

{% if states('sensor.xyz') == 'unavailable' %}
0
{% else %}
{{ states('sensor.xyz') }}
{% endif %}

und diesen dann verwenden.

Schau mal bei openDTU in die Einstellungen. “Daten auch Nachts senden” ist denke ich wonach du suchst.

Ich hatte so eine Option gesucht, aber nicht gefunden. Nach Deiner Antwort habe ich nochmal geschaut, ich finde es nicht. Wo ist die Option?

Danke, so in der Art hatte ich mir das gedacht.

Ich weiß nicht, wie und wo ich das mit welchen Ergänzungen eintragen muss. Diese Skripterei ist nicht mein Ding, stehe auf UI… Kannst Du mir helfen?

Danke im Voraus

In der openDTU unter Einstellungen>>>Wechselrichter>>>Allgemein

Also bei deinem Wechselrichter rechts auf den Stift für Bearbeiten klicken

Schau mal unter den Template-Helfern (Geräte und Dienste - Helfer - Helfer erstellen) bei Sensor.

Viele Wege führen nach Rom.
Dem Template einen default Wert = 0 zuweisen, wäre auch einer.


{ states('sensor.xyz') | int(0) }}

Vorteil wäre, man muss nicht so viel tippen. :grinning_face:

Gruß Osorkon

Moin vielen Dank für Eure Hilfe. Das sind alles gute Ansätze. Ich probiere es nachher aus. Ich habe derweil auch die Option in der DTU gefunden (war auf dem Handy nicht zu sehen). Ich bin gespannt, ob das im Dunkeln nachher funktioniert.

Grüße

Update:
Ich brauche Hilfe, als Newbie.

Also: Die openDTU hat die Voreinstellung. Dennoch führt das nicht zum Erfolg. Ich nehme an, es kommt kein plausibler Wert an. Der Mikro-WR hat keinen Strom, ist quasi offline, somit kann kein Wert ausgelesen werden. Wie auch immer…

Zum Template-Sensor: Ich sags geradeaus, ich weiß Null komma null, was ich da machen soll. WO muss ich WAS reinschreiben, ich bitte Euch um Unterstützung. Ich kenne die Syntax nicht, ich weiß zu diesen Sensoren wenig. Welchen Template-Helfer muss ich überhaupt anlegen. Und wieso schickt Ihr mir oben Code, wo doch in HA eine UI verfügbar ist. Wo muss denn der Code überhaupt erfasst werden, wie heißt die Datei etc.?

Ich hoffe es erbarmt sich jemand von Euch und kann mir die Lösung erläutern/geben. Am besten, wenn es denn nur mit Codezeilen geht, eine fertige Lösung. Verstehe die YT-Videos dazu nicht, im Grunde sind die alle nur wichtigtuerisch ohne Erklärung des Zusammenhangs. Ich hoffe auf Eure Hilfe, die Variante mit dem Default-Wert klingt ja vielversprechend. Ich brauche lediglich einen Helfer, der den Wert 0 als Default-Wert hat und ansonsten den Wert aus einem Sensor aus der openDTU liefert.

Danke Euch

Jens

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Du musst Dir einen Template Sensor erstellen.
Das kannst Du ganz einfach in der GUI machen.

Einstellungen → Geräte & Dienste → Helfer → + Helfer erstellen → Template → Sensor

Du vergibst dem Sensor einen Namen.

Als Zustand Template verwendest Du dieses.

{{ states('sensor.xyz') | int(0) }}

Wobei sensor.xyz durch Deinen Sensor Entität ersetzt werden muss.

Dann die passende Einheit auswählen, im Falle eines Leistung Sensors, wäre das Watt (W)
Geräteklasse wäre Leistung
Zustandsklasse: Messwert
Dann kannst Du noch das Gerät auswählen zu welchen Du den Template Sensor hinzufügen möchtest.

Auf OK klicken, fertig.

Gruß Osorkon

Tausend Dank. Das läuft jetzt. Ich hoffe der Default-Wert tut nachher im Dunklen das, was er soll :wink:

Was ist das für eine Sprache bzw. was für ein Code? Gibt es eine umfassende Anleitung zum Nachlesen? (Die Standard-HA-Doku setzt mir zu viel voraus.)

Ich hätte gedacht, dass der eingerichtete Template-Sensor in die configuration.yaml geschrieben wird, dort steht aber nichts. Hätte ich auch, wenn ich gewusst hätte wie es geht, die nötigen Einträge in der configuration.yaml eintragen können?

Grüße

J

Es klappt im Dunklen… Danke.

In den Entwicklerwerkzeugen gibt es den Reiter Template. Templates werden in der Sprache Jinja2 geschrieben. Auf der Seite kann man Templates testen und es gibt auch Links zu der Dokumentation.