Hi,
ich habe mir ein Ventil von Sonoff gekauft, dass im Garten an einem Wasserschlauch hängt und mit dem ich bei Bedarf das Gewächshaus gießen lassen kann.
Der Sensor hat u.a. auch einen Durchflussmesser (sensor.sonoff_swv_water_valve_flow), der die Einheit m³/h hat.
Wenn das Wasser läuft, sehe ich z.B. 0,6 m³/h.
Ich hätte nun gerne eine Entität, die mir den Wasserdruchfluss am akuellen Tag in Litern anzeigt.
ChatGPT hat mehrere Dinge vorgeschlagen, alle haben Fehler in der Config.yaml ergeben.
Invalid config for 'history_stats' from integration 'sensor' at configuration.yaml, line 2: required key 'state' not provided
Invalid config for 'history_stats' from integration 'sensor' at configuration.yaml, line 5: value must be one of ['count', 'ratio', 'time'] for dictionary value 'type', got 'total'
Invalid config for 'history_stats' from integration 'sensor' at configuration.yaml, line 9: 'unit_of_measurement' is an invalid option for 'sensor.history_stats', check: unit_of_measurement
Invalid config for 'history_stats' from integration 'sensor' at configuration.yaml, line 10: 'value_template' is an
invalid option for 'sensor.history_stats', check: value_template
by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)
Unter Einstellungen/Geräte&Dienste/Helfer habe ich
Helfer erstellen
Verbrauchszähler
Name: sensor.sonoff_swv_water_valve_value
Eingangssensor: sensor.sonoff_swv_water_valve_flow
Zyklus der Zyklusrückstellung: täglich
OK
Unter Einstellungen/Geräte&Dienste/Helfer sehe ich den Helfer.
Wenn ich drauf klicke ist ein Diagramm (m²/h über der Zeit).
Bei Maßeinheit kann ich auswählen:
ft³/min
gal/min
L/h
L/min
L/s
ml/s
m³/h
m³/s
Den Durchfluss in m³/h hat das Ventil von Haus schon als Entität. Ich möpchte den absolutne Verbrauch in Litern (L). Nicht pro Stunde, sondern insgesamt.
Wenn der Verbrauchszähler den Durchfluss nicht in Volumen umrechnet, musst du dies selbst tun.
Merke dir die Start- und Stoppzeit und rechne die Differenz in Sekunden aus.
Den Durchfluss von m³/h in l/s umrechnen und mit der Zeit multiplizieren. Das Problem wird darin bestehen, dass der Durchfluss nicht konstant ist. Wenn du es genau wissen willst, musst du mehrere Werte speichern und den Mittelwert ermitteln.
1 m³/h ≈ 0,27777777777778 l/s
Ich habe da eine Idee. Ob sie funktioniert, kann ich nicht sagen.
Unter „Condition” kannst du den Wert einstellen, ab dem der Verbrauch erfasst werden soll. Das Zeitintervall beträgt drei Sekunden. Leider kann bei „time_pattern” keine Variable verwendet werden. Du kannst es mit unterschiedlichen Werten probieren.
Gib beim Time_Patter und bei der Variable zeit den gleichen Wert ein.
Programmierung im Template.yaml
Ich kann dir nicht vorschreiben, was du machen sollst, aber du könntest folgenden Code in die Datei „template.yaml“ kopieren und die Zeit anpassen, damit du nicht den ganzen Tag auf den Trigger warten musst.
HA neu starten.
Wenn die Triggerzeit verstrichen ist, unter „Entwicklerwerkzeuge” > „Zustände” nachsehen, ob der Sensor „wasserverbrauch_gesamt” den Wert 0 hat.
An dieser Stelle wird der Durchfluss vorgegeben, ab dem der Zähler zählen soll. Du kannst ihn also an deinen Bedarf anpassen.
“{{ states(‘sensor.856_sonoff_swv_water_valve_menge’) | float(0) > 0.02 }}”
Ich weiß nicht, wie oft dein Durchflusssensor die Werte aktualisiert. Ich habe die Aktualisierungszeit zunächst auf zwei Sekunden eingestellt. Alle zwei Sekunden wird ein neuer Wert erfasst und zum alten addiert. Wenn du eine andere Zeit wünschst, musst du zwei Stellen anpassen.
seconds: /2
{% set zeit = 2 %}
HA neu starten und prüfen, ob der Zähler richtig zählt.
Anschließend eine Flasche Sekt öffnen und einen kleinen Erfolg feiern.