Automatisierung Batterie unter Schwellwert - Sende eine Nachricht

Hallo Liebe Experten/innen,

wie oben beschrieben möchte ich eine Automatisierung erstellen. Leider aktuell ohne erfolg.
Ich habe mehrere Sensoren mit Batterien und ich möchte eine Nachricht in Telegram erhalten, sobald ein Schwellwert unterschritten wird.

Habe diverse Test gemacht, aber leider ohne erfolg. Kann mir jemand mein Fehler aufzeigen, bitte.

alias: Automation-Batterie Überwachung
description: ""
triggers:
  - entity_id:
      - sensor.sonoff_temp_wohnzimmer_batterie
      - sensor.sonoff_temp_buro_batterie
      - sensor.sonoff_temp_schlafen_batterie
      - sensor.sonoff_temp_gaste_batterie
      - sensor.sonoff_temp_bad1_batterie
      - sensor.sonoff_temp_bad2_batterie
      - sensor.sonoff_temp_loggia_batterie
      - sensor.sonoff_md_flur_batterie
      - sensor.sonoff_tuersensor_abstellraum_batterie
      - sensor.opad_battery_level
    below: 32
    trigger: numeric_state
actions:
  - data:
      message: |
        Achtung: Die Batterie von {% set name_map = {
          'sensor.sonoff_temp_wohnzimmer_batterie': 'Wohnzimmer-Sensor',
          'sensor.sonoff_temp_buro_batterie': 'Büro-Sensor',
          'sensor.sonoff_temp_schlafen_batterie': 'Schlafzimmer-Sensor',
          'sensor.sonoff_temp_gaste_batterie': 'Gäste-Sensor',
          'sensor.sonoff_temp_bad1_batterie': 'Badezimmer 1-Sensor',
          'sensor.sonoff_temp_bad2_batterie': 'Badezimmer 2-Sensor',
          'sensor.sonoff_temp_loggia_batterie': 'Loggia-Sensor',
          'sensor.sonoff_md_flur_batterie': 'Flur-Sensor',
          'sensor.sonoff_tuersensor_abstellraum_batterie': 'Abstellraum-Türsensor',
          'sensor.opad_battery_level': 'oPad'
        } %} {{ name_map[entity_id] }} ist niedrig ({{ states[entity_id] }}%).
    action: notify.telegram_notifier

Danke für Eure Hilfe

Hi,

vielleicht hilft dir meine Automation meiner Rauchmelder weiter …
Hier bekomme ich die Mitteilung, welcher der Rauchmelder angeschlagen hat.

alias: Rauch erkannt
description: ""
triggers:
  - trigger: state
    entity_id:
      - binary_sensor.smokey_flur_eg_smoke
      - binary_sensor.smokey_flur_keller_smoke
      - binary_sensor.smokey_flur_og_smoke
      - binary_sensor.smokey_k1_smoke
      - binary_sensor.smokey_sz_smoke
      - binary_sensor.smokey_wk_smoke
    from: "off"
    to: "on"
conditions: []
actions:
  - action: notify.mobile_app_frank_smartphone
    metadata: {}
    data:
      message: >-
        "Achtung! Rauch wurde im {{ trigger.to_state.attributes.friendly_name }}
        erkannt!"
      title: "Rauchmelder meldet:"
mode: single
1 „Gefällt mir“

Hier, dieser Blueprint bewirkt Wunder ohne viel Aufwand :wink:

Wenn Du es selbst raussuchen willst google nach

low battery level detection notification for all battery sensors blueprint

Open your Home Assistant instance and show the blueprint import dialog with a specific blueprint pre-filled.

Für den Fall, Du bleibst bei Deinem Ansatz.
Im Message Jinja Code fehlt der Bezug zur TriggerID.

Ich hab das gerade nachgebaut und diesen Code kannst Du nehmen, nur mit Deinen Sensoren und Namen. Die Idee mit der Map finde ich gut, mache ich auch oft weil der friendly Name oft nicht friendly genug ist :slight_smile:

      message: >
        {% set name_map = {
          'sensor.aqara_button_sensor1_battery': 'Klima Zauber',
          'sensor.aqara_sensor2_battery': 'Gartenhütte'
        } %}
        Achtung: Die Batterie von "{{ name_map[trigger.entity_id] }}" hat gerade ein
        niedriges Niveau von {{ trigger.to_state.state }} % erreicht.

Gutes Gelingen!

Hab ich auch, funktioniert super und erspart ne Menge Arbeit.

hmm,
irgendwie hab ich mir was verbaut. Beim Test der NAchricht-Sendens bekomme ich eine Fehlermeldung
"
Fehler beim Ausführen einer Aktion
Error rendering data template: UndefinedError: ‘trigger’ is undefined
"

Mein Code sieht wie folgt aus:

alias: Automation-Batterie Überwachung
description: ""
triggers:
  - entity_id:
      - sensor.sonoff_temp_wohnzimmer_batterie
      - sensor.sonoff_temp_buro_batterie
      - sensor.sonoff_temp_schlafen_batterie
      - sensor.sonoff_temp_gaste_batterie
      - sensor.sonoff_temp_bad1_batterie
      - sensor.sonoff_temp_bad2_batterie
      - sensor.sonoff_temp_loggia_batterie
      - sensor.sonoff_md_flur_batterie
      - sensor.sonoff_tuersensor_abstellraum_batterie
      - sensor.opad_battery_level
    below: 32
    trigger: numeric_state
actions:
  - data:
      message: >
        {% set name_map = {
          'sensor.sonoff_temp_wohnzimmer_batterie': 'Wohnzimmer-Sensor',
          'sensor.sonoff_temp_buro_batterie': 'Büro-Sensor',
          'sensor.sonoff_temp_schlafen_batterie': 'Schlafzimmer-Sensor',
          'sensor.sonoff_temp_gaste_batterie': 'Gäste-Sensor',
          'sensor.sonoff_temp_bad1_batterie': 'Badezimmer 1-Sensor',
          'sensor.sonoff_temp_bad2_batterie': 'Badezimmer 2-Sensor',
          'sensor.sonoff_temp_loggia_batterie': 'Loggia-Sensor',
          'sensor.sonoff_md_flur_batterie': 'Flur-Sensor',
          'sensor.sonoff_tuersensor_abstellraum_batterie': 'Abstellraum-Türsensor',
          'sensor.opad_battery_level': 'oPad'
        } %} Achtung: Die Batterie von "{{ name_map[trigger.entity_id] }}" hat
        gerade ein niedriges Niveau von {{ trigger.to_state.state }} % erreicht.
    action: notify.telegram_notifier

Schau mal, wie es hier schon geschrieben wurde.

Deine Gliederung haut nicht hin. :wink:

Weiss nicht, ob ich es jetzt richtig ist. Noch Neuling im YAML und co. Man möge es mir verzeihen

Bei dem bekomm ich nun die Meldung beim speichern
“Message malformed: template value is None for dictionary value @ data[‘actions’][0][‘data’]”

Code

alias: Automation-Batterie Überwachung
description: ""
triggers:
  - trigger: state
    entity_id:
    - sensor.sonoff_temp_wohnzimmer_batterie
    - sensor.sonoff_temp_buro_batterie
    - sensor.sonoff_temp_schlafen_batterie
    - sensor.sonoff_temp_gaste_batterie
    - sensor.sonoff_temp_bad1_batterie
    - sensor.sonoff_temp_bad2_batterie
    - sensor.sonoff_temp_loggia_batterie
    - sensor.sonoff_md_flur_batterie
    - sensor.sonoff_tuersensor_abstellraum_batterie
    - sensor.opad_battery_level
    below: 20
actions:
  - data:
    message: >
      {% set name_map = {
        'sensor.sonoff_temp_wohnzimmer_batterie': 'Wohnzimmer-Sensor',
        'sensor.sonoff_temp_buro_batterie': 'Büro-Sensor',
        'sensor.sonoff_temp_schlafen_batterie': 'Schlafzimmer-Sensor',
        'sensor.sonoff_temp_gaste_batterie': 'Gäste-Sensor',
        'sensor.sonoff_temp_bad1_batterie': 'Badezimmer 1-Sensor',
        'sensor.sonoff_temp_bad2_batterie': 'Badezimmer 2-Sensor',
        'sensor.sonoff_temp_loggia_batterie': 'Loggia-Sensor',
        'sensor.sonoff_md_flur_batterie': 'Flur-Sensor',
        'sensor.sonoff_tuersensor_abstellraum_batterie': 'Abstellraum-Türsensor',
        'sensor.opad_battery_level': 'oPad'
      } %}
      Achtung: Die Batterie von "{{ name_map[trigger.entity_id] }}" hat gerade ein
      niedriges Niveau von {{ trigger.to_state.state }} % erreicht.
    action: notify.telegram_notifier

danke :slight_smile:

Ich befürchte, Du irrst Dich.

Ich kopiere hier meine komplette Test Automatisation, die funktioniert.

alias: 1 test forum batterie
description: ""
triggers:
  - platform: numeric_state
    entity_id:
      - sensor.aqara_button_klimasusizauber_battery
      - sensor.aqara_draussen_sensor_gartenhuette_tuer_battery
    below: 32
conditions: []
actions:
  - service: notify.gmxolaf3
    metadata: {}
    data:
      title: test
      message: >
        {% set result = '' %}
        {% set name_map = {
          'sensor.aqara_button_klimasusizauber_battery': 'Klima Zauber',
          'sensor.aqara_draussen_sensor_gartenhuette_tuer_battery': 'Gartenhütte'
        } %}
        Achtung: Die Batterie von "{{ name_map[trigger.entity_id] }}" hat
        gerade ein niedriges Niveau von {{ trigger.to_state.state }} % erreicht.
mode: single

1 „Gefällt mir“

Danke. Nun klappt es :slight_smile:

Ach stimmt ja, das wurde ja vor kurzem erst geändert.
Ist ja nicht mehr trigger.

Dennoch stand es an der falschen Stelle. :crazy_face:
Hab mich da bissel verwirren lassen. :face_with_peeking_eye: sry

Aber wieso funktioniert es dann bei @FrankP so?