Werte in Templet-Helfer schreiben

Hi,

ich versuche den Stromverbrauch einer Wohnung monatlich zu berechnen. Dazu habe ich einen Verbrauchshelfer erstellt, der den Stromverbrauch ermittelt. Diesen Wert möchte ich immer zum letzten Tag des Monats, in einen Templet-Helfer schreiben, damit ich damit die Stromkosten berechnen kann.

Jetzt habe ich folgendes in der Automation geschrieben:

alias: Update_Stromverbrauch_EG
description: ""
trigger:
  - platform: time
    at: "23:59:00"
condition:
  - condition: template
    value_template: "\"{{(now() + timedelta(days=1)).strftime('%-d') == '1' }}\""
action:
  - service: input_text.set_value
    target:
      entity_id: sensor.monatlicher_stromverbrauch_eg
    data:
      value: sensor.wohnung_eg_monatlicher_stromverbrauch
mode: single

Wenn ich den Dienst zum Test ausführe, bekomme ich die Meldung “Erfolgreich”, aber der Templet-Helfer bleibt leer. Er hat keinen Wert.

Einen Sensor Wert kannst Du nicht per Automatisierung setzen.

Dazu nimmst Du einen Trigger based Template Sensor.

Aber warum noch einen zusätzlichen Sensor anlegen? Du hast doch schon bereits einen monatlichen Verbrauchssensor angelegt, wenn ich Dich richtig verstanden habe?!

Gruß
Osorkon

Der monatliche Verbrauchssensor stellt sich am 1. des Monats wieder auf “0”. Damit ich den Wert mit den Stromkosten multiplizieren und anzeigen lassen kann, muss ich ihn irgendwo abspeichern, bzw “reinschreiben”.

Wie kann ich den Trigger based Template Sensor in meinem Fall nutzen?

Dein Template Sensor wird ja dann aber auch immer zum letzten des Monats überschreiben. :wink:
Du hast ja aber die History und kannst ja ein Monat Zurückblättern um den Wert von Vormonat zu finden.

Aber jetzt zu dem Trigger based Template Sensor.
Um 23:59 wird der Sensor getigert.
Wenn es sich um den letzten Tag des Monats handelt, wird der Wert des Sensors
sensor.wohnung_eg_monatlicher_stromverbrauch übernommen, sonst übernimmt der Template Sensor seinen eigenen Wert.

template:
  - trigger:
      - platform: time
        at: "23:59:00"
    sensor:
      - name: Monatlicher Stromverbrauch EG
        state: |
          {% if  (now() + timedelta(days=1)).day == 1 %}
          {{ states('sensor.wohnung_eg_monatlicher_stromverbrauch') | float(0) }}
          {% else %}
          {{this}}
          {% endif %}
        unit_of_measurement: "kWh"
        device_class: energy
        state_class: total
        unique_id: 34fdc181-b867-4a1a-9a70-3086554a375b

Gruß
Osorkon

Danke dir für Deine Hilfe. Aber wo zur Hölle füge ich den Code ein? Wenn ich ihn die configuration.yaml einfüge, bekomme ich die Meldung:

Logger: homeassistant.config
Quelle: config.py:609
Erstmals aufgetreten: 20:16:25 (8 Vorkommnisse)
Zuletzt protokolliert: 20:19:14

Invalid config for 'template' at configuration.yaml, line 120: 'trigger' is an invalid option for 'template', check: sensor->1->trigger Invalid config for 'template' at configuration.yaml, line 120: required key 'state' not provided Invalid config for 'template' at configuration.yaml, line 123: 'sensor' is an invalid option for 'template', check: sensor->1->sensor

Ich habe schon Templet Sensoren in der Config. Deshalb habe ich den Code ohne “template:” einfügt.

Hi @Osorkon ,

muss Dich doch leider noch mal nerven und fragen, wo ich den Code-Schnippel einfügen muss. Hatte ja wie geschrieben, so meine Probleme damit :sweat_smile:

Danke dir.

Der Code von oben kommt in die configuration.yaml.

Musst nur drauf achten, dass die Zeile template:
Insgesamt nur einmal in der configuration.yaml vorkommt.

Wenn Du Deine Konfiguration aufgeteilt hast, sprich Du bereits eine template.yaml verwenden tust. Kommt der Code in die template.yaml ohne der Zeile template: und der Rest insgesamt 2 Zeilen nach links rücken.

Ansonsten, lass mal Deine aktuelle Konfiguration sehen.

Gruß
Osorkon

Energiedashboard wäre keine Möglichkeit. Da kannst Du es direkt ablesen, wenn Du die Stromkosten hinterlegst :wink:

Energiedashboard ist keine Lösung, weil da das Haus “drin” ist. Ich möchte aber Kosten für die zweite Wohnung, die über einen eigenen Zähler verfügt monatlich berechnen.

@Osorkon danke, jetzt hat es geklappt. Ich hatte es ja schon in der Config.yaml versucht, aber scheinbar nicht lange genug probiert, das richtige “einrücken” zu finden.

@Osorkon Danke dir, das ganze funktioniert jetzt. Zum Monatswechsel habe ich den Energieverbrauch anzeigt bekommt. Mit einem weiteren kurzen Code auch die Stromkosten für den Monat.

Einzig ein paar Tage später hat die Template Entätit den Wert verloren. Ich nehmen an durch einen Neustart, kann das sein?

Ich bin vermutlich der letzte der hier sein Senf dazugeben sollte aber wenn ich es richtig verstanden habe geht es am um eine Automation die ein Template benutzt, richtig?

Sollte das jeden zum Teil so sein…
…hast du mal versucht den Modus der Automation zu ändern.

Wie gesagt war nur ein Gedankengang. Ich arbeite erst seit kurzem mit Templates da
Es tut mir leid wenn ich unnötig dazwischen gefunkt habe

OFF-TOPIC:

Zusammenfassung

ich einfach kein Coder bin aber ich muss echt sagen das mir HA viel bei Lust auf Coding und KI beim verstehen von Coding geholfen hat wäre mir so Coding und darauffolgend programmieren beigebracht worden hätte ich meine Umschulung zum (der heutige IHK Begriff lautet glaub ich “IT-Administrator” nicht so schnell aufgegeben :wink:

Oh gott das war ja von April 24 und nicht 25…dann wirst du wohl eine Lösung gefunden haben ohne sie mit uns zu teilen,

Es funktioniert, bis darauf, das bei einem Neustart, der Wert (Stromverbrauch und Stromkosten) verloren geht. Eine Lösung habe ich noch nicht.

Ohja ich und mein ADS. Wie lesen manchmal zu schnell.
Du schriebst du nimmst an durch einen Neustart (also meintest du Hardware) und ich dachte
du meintest einen Neustart der Automation.

Entschuldige mich vielmals das ich dich angepingt habe und absolut nichts dabei rumkam.
Ich wünsche dir das du damit leben kannst oder noch eine Lösung für das verlieren des Wertes der Templ.-Entität bei Neustart findest.

Und natürlich ein frohes Osterfest.
Gruß Timo