Ermitteln des Saunastromverbrauchs

Hallo, ich habe mir eine Sauna Steuerung von BleBox gekauft und diese erfolgreich in Home Assistand integriert. Ich kann jetzt vom Handy die Sauna anschalten und bekomm eine WhatsApp Nachricht wenn diese kurz vor der Zieltemperatur ist. Jetzt würde ich aber gern auch den Stromverbrauch ermitteln und bräuchte dafür vermutlich einen Template Sensor. Folgende Infos liefert mit die Box:


Ich müsste also die Zeit zählen die “hvac_action” auf “heating” steht und dies mit den 9kW multiplizieren die der Offen an Strom zieht. Das sollte dann ja ein Verbrauchszähler sein, den ich im Energie Dashboard nutzen kann. Jetzt aber die Frage wie realisiere ich das am einfachsten. Kann mir da jemand helfen?

Die Zeit brauchst Du nicht zu zählen, wenn Du Dir einen Template Sensor (Measurement, Power) erstellst der 9.000W ausgibt, wenn hvac_action = on ist und ansonsten 0W. Mit einem Helfer Summenintegral (Riemann links) bekommst Du dann direkt die Energie in kWh. :slight_smile:

Bist du dir sicher, dass wenn eingeschaltet ist, immer die 9kW verbraucht werden? Vermutlich hat der Ofen 3 Heizkreise, die individuell gesteuert werden.

Ja, es ist ein 3 phasiger Ofen. Es wird aber nichts individuell gesteuert. Es werden immer alle drei Phasen gleichzeitig geschaltet.

Hast du irgendeinen Stromzähler (Lesekopf am Zähler, Shelly 3EM, Pro 3EM o.ä.)? Dann würde ich mir einmalig die Arbeit machen und beobachten, wie stark der Stromverbrauch ansteigt, während der Ofen heizt. Dann weißt du es zumindest annähernd genau, wenn du den regulären Grundverbrauch abziehst und keine anderen Großverbraucher während dieser Zeit einschaltest.

Also vermutlich in dieser Art?

  - sensor:
    # Leistung Sauna
      - name: Leistung_Sauna
        unique_id: "Saunaofen_kW"
        unit_of_measurement: 'kW'
        device_class: "power"
        state_class: "measurement"
        state: >-
              {{if "climate.sauna_saunabox_thermostat", "hvac_action" ="heating"}}

Ich komme aber mit dem “state” nicht zurecht. Kannst Du mir da noch helfen?

Ja, hab ich. Der Ofen verbraucht ca. 9130kW

Zu dem Thema vielleicht ein grundsätzlicher Tipp: schau dir mal das hier an:

2 „Gefällt mir“

Du brauchst nicht in den Untiefen von YAML wühlen.

Kannst Dir den den Template Sensor auch einfach als Helfer erstellen. Das gleiche gilt für den Summenintegral Sensor für die Energie.
Mit folgendem Template.


{{ iif(is_state('climate.sauna_saunabox_thermostat', 'heat'), 9130, 0) }}

Gruß
Osorkon

Da war @Osorkon etwas schneller mit der kompakten Form. Für Ungeübte ist diese Form etwas leichter nachzuvollziehen. :wink:

        state: >
            {% if is_state('binary_sensor.hvac_action', "heating") %}
                {{ "9130" | float(0)  }}
            {% else %}
                {{ "0.0" | float(0))  }}
            {% endif %}

Für den Binary Sensor musst Du natürlich Deinen passenden Sensor einsetzen.
Der Integralsensor (Helfer) sollte “k” als Präfix und und “h” als Zeiteinheit haben, damit Du auch “kWh” als Ausgabe bekommst. Die Integrationsmethode ist “left”.

Hallo, ich hab es jetzt so gelöst:

- sensor:
    # Leistung Sauna
      - name: Leistung_Sauna
        unique_id: "Saunaofen_W"
        unit_of_measurement: 'W'
        device_class: "power"
        state_class: "measurement"
        state: >-
              {{ iif(is_state('climate.sauna_saunabox_thermostat', 'heat'), 9130, 0) }}

Und dazu einen Summenintegralsensor angelegt der das ganze in kWh zusammenfast. Es wird auch im Energiedashboard korrekt angezeigt. Vielen Dank an die Helfer.

Irgendwie hat das beim ersten Saunabesuch nicht funktioniert.
Bei “if_state” wird ja auf “heat” (im “hvac_modes”) geachtet. Dieser Zustand ist aber sobald die Steuerung eingeschaltet ist, unabhängig ob die Heizung an ist oder nicht.
In den Zuständen sehe ich folgendes:


Ich müsste also eigentlich auf “hvac_action” achten, diese steht nur wenn die Heizung an ist auf “heating”. Wie sage ich aber dem “if_state” auf welches Zustandsattribut er achten soll?

Hat noch einer einen Tipp für mich? So funktioniert es jedenfalls nicht:

  - sensor:
    # Leistung Sauna
      - name: Leistung_Sauna
        unique_id: "Saunaofen_W"
        unit_of_measurement: 'W'
        device_class: "power"
        state_class: "measurement"
        state: >-
              {{ iif(is_state('climate.sauna_klingenberg_saunabox_thermostat','hvac_action','heating'), 9130, 0) }}

das Template muss lauten:

{{ iif(is_state('climate.sauna_klingenberg_saunabox_thermostat', "heat"), 9130, 0) }}

Und Du musst Dich nicht zwangsläufig mit YAML rumschlagen.

Du Kannst Dir den Template Sensor auch direkt über die GUI als Helfer erstellen.

Einstellungen → Geräte & Dienste → Helfer → + HELFER ERSTELLEN → Template → Template für einen Sensor erstellen.

Den so erstellten Sensor kannst Du dann nutzen, um einen Energie Sensor zu erstellen. Findest Du auch als Helfer → Integralsensor


Gruß
Osorkon