Seite 1 von 1

Sensorwert am Monatsersten per Email versenden

Verfasst: Do 17. Mär 2022, 21:25
von Markus
Ich würde gerne an jedem Monatsersten automatisch den Wert eines Sensors (Stromzähler) per Email versenden.

Wie könnte ich das anstellen, der Sensorwert ist ja zunehmen, hilft dazu der utility_meter überhaupt?

Code: Alles auswählen

utility_meter:
  vz_bezug_monthly:
    source: sensor.bezugszaehler
    cycle: monthly
Wie müsste die Automatisierung dazu aussehen, das Email versenden ist das wenigste Problem....

Habt ihr da Lösungsansätze?

Re: Sensorwert am Monatsersten per Email versenden

Verfasst: Do 17. Mär 2022, 22:01
von Osorkon
Eine mögliche Möglichkeit wäre eine feste Uhrzeit und die Bedingung Tag=1

Code: Alles auswählen

trigger:
  - platform: time
    at: '10:00:00'
condition:
  - condition: template
    value_template: '{{ now().day == 1 }}'
Gruß
Osorkon

Re: Sensorwert am Monatsersten per Email versenden

Verfasst: Do 17. Mär 2022, 22:40
von Markus
Hätte jetzt folgenden Weg eingeschlagen

a) Template um den Monatsersten zu ermitteln

Code: Alles auswählen

- platform: template
  sensors:
    dateofthemonth:
      value_template: "{{ ['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25','26','27','28','29','30','31' ][ now().day-1] }}"
b) Automatisierung mit states

Code: Alles auswählen

- id: '0815'
  alias: Email_Zaehlerwert
  description: ''
  trigger:
  - platform: time
    at: 00:01:00
  condition:
  - condition: numeric_state
    entity_id: sensor.dateofthemonth
    above: '0'
    below: '2'
  action:
  - service: notify.mail
    data:
      title: Monatserster
      message: 'Zaehlerwert: {states(''sensor.bezugszaehler'')}'
  mode: single
c) Wert wird übermittelt....kann man diese Zahl noch mit Tausendertrennzeichen formatieren?
Zaehlerwert: 32894743.00

Re: Sensorwert am Monatsersten per Email versenden

Verfasst: Fr 18. Mär 2022, 14:57
von Osorkon
Da finde ich die Lösung über die Bedingung Tag=1 ein wenig einfacher. Und erspart das anlegen eines Template Sensor. Aber viele Wege führen nach Rom. :D

Btw. auch Dein Template Sensor geht einfacher. ;)

Code: Alles auswählen

value_template: {{ now().day }}
Das Tausendertrennzeichen ist ein wenig tricky.
Der Umweg über „_“ ist notwendig, da „.“ nicht zulässig ist. „,“ dagegen wäre kein Problem.

Und lässt sich so realisieren:

Code: Alles auswählen

{{ '{0:_.0f}'.format(states.sensor.bezugszaehler.state | int).replace('_', '.') }}
Gruß
Osorkon