Statusmail am morgen

Hallo Zusammen

Eine weitere Frage eines Newbies :wink:

Ich würde gerne am Morgen eine Status-Info haben aller meiner Geräte.

Sprich ich würde gerne folgende Info meiner Geräte haben:

Batteriestatus: Anzahl %
Temperatur und Luftfeuchtigkeit aller Temperatur-Sensoren
Verbindungsstatus: online/offline
Status der Wassermelder
Status der Bewegungsmelder
Status der Fenster/Türen
Status der Stromleisten (an/aus)

Ist dies irgendwie möglich?

Macht es Sinn pro solcher “Anfrage” eine Helfergruppe zu erstellen?
Wenn ja, welche Gruppe? Batterie-Status hab ich so auf die schnelle leider nicht gefunden

Vielen Dank

Ja, das geht. Klick Dich mal nach

Entwicklerwerkzeuge → Zustände

durch. In das Feld Entitäten filtern gibst Du battery ein. Tadaaa …

Gleiches geht mit temperature, humidity, usw. :wink:

Bei der Benachrichtigung per Mail bin ich allerdings raus. :man_shrugging:

Ok, der ist am Abend und geht sicher eleganter. Besser geht es nicht mit meinem Wissen, habe ich lange dran gebastelt.

Diese Automation schickt mir um 20 Uhr eine Nachricht aufs Handy welche Batterien unter 20% liegen. Wenn das einer “schöner” hinbekommt, ich wäre ein dankbarer Abnehmer…. :zany_face:

alias: Cravallos - Notify Battery Levels < 21%
description: Notify about battery levels every day at 8 AM
triggers:
  - at: "20:00:00"
    trigger: time
conditions: []
actions:
  - data:
      title: 🛑 Liste aller Akkus < 21% 🛑
      message: >
        {% set counter = namespace(value=1) %} {% set total = namespace(value=0)
        %} {%- for entity in states -%} {%- if state_attr(entity.entity_id,
        'device_class') == 'battery' and 'plus' not in entity.entity_id -%}{%-
        set battery_level = states(entity.entity_id) | float(default=-1) -%}{%-
        if battery_level != -1 and battery_level < 21 -%} 🪫 {{
        state_attr(entity.entity_id, 'friendly_name') | default(entity.name) }}
        ({{ '%0.2d' | format(battery_level) }}%) {{ "\n" }} {% set counter.value
        = counter.value + 1 %}{%- set total.value = total.value + 1 %}{%- endif
        -%}{%- endif -%}{%- endfor %}

        {{ total.value }} Batterien haben < 21% 
    action: notify.mobile_app_roberts_handy
mode: single

Danke MisterM23 so scheint es zu klappen. Deine Editor haut da eine Menge ‘\’ in den Code!!

alias: Cravallos - Akkustand < 21%
description: Tägliche Benachrichtigung über Batterien mit weniger als 21%
triggers:
  - at: "20:00:00"
    trigger: time
conditions: []
actions:
  - data:
      title: 🛑 Liste aller Akkus < 21% 🛑
      message: |
        {% set output = [] %} {% for entity in states %}
          {% if state_attr(entity.entity_id, 'device_class') == 'battery'
                and 'plus' not in entity.entity_id %}
            {% set level = states(entity.entity_id) | float(default=-1) %}
            {% if 0 <= level < 21 %}
              {% set output = output + ['🪫 ' ~ (state_attr(entity.entity_id, 'friendly_name') 
                  or entity.name) ~ ' (' ~ (level | round(0)) ~ '%)'] %}
            {% endif %}
          {% endif %}
        {% endfor %} {% if output | length > 0 %}
          {{ output | join('n') }}
          {{ output | length }} Batterien haben < 21%
        {% else %}
          ✅ Alle Batterien sind über 21%
        {% endif %}
    action: notify.mobile_app_roberts_handy
mode: single

2 „Gefällt mir“
alias: Cravallos - Akkustand < 21%
description: Tägliche Benachrichtigung über Batterien mit weniger als 21%
trigger:
  - platform: time
    at: "20:00:00"
condition: []
action:
  - service: notify.mobile_app_roberts_handy
    data:
      title: 🛑 Liste aller Akkus < 21% 🛑
      message: >
        {% set low_batteries = [] %}
        {% for entity in states if state_attr(entity.entity_id, 'device_class') == 'battery' and 'plus' not in entity.entity_id %}
          {% set level = states(entity.entity_id) | float(default=-1) %}
          {% if 0 <= level < 21 %}
            {% set _ = low_batteries.append(state_attr(entity.entity_id, 'friendly_name') ~ ' (' ~ level|round(0) ~ '%)') %}
          {% endif %}
        {% endfor %}
        {% if low_batteries %}
          🪫 {{ low_batteries | join('\n🪫 ') }}
          
          {{ low_batteries | count }} Batterien haben < 21%
        {% else %}
          ✅ Alle Batterien sind über 21%
        {% endif %}
mode: single

Versuche das mal.

Das funktioniert leider nicht…. Sieht aber deutlich übersichtlicher aus als mein Zeug!!! :+1:

Bin am Handy. Irgendwie klappt hier gerade was nicht.

 alias: Cravallos - Akkustand < 21%
 description: Tägliche Benachrichtigung über Batterien mit weniger als 21%
 trigger:
   - platform: time
     at: "20:00:00"
 condition: \[\]
 action:
   - service: notify.mobile_app_roberts_handy
     data:
       title: 🛑 Liste aller Akkus < 21% 🛑
       message: >
         {% set output = \[\] %}
         {% for entity in states %}
           {% if state_attr(entity.entity_id, 'device_class') == 'battery'
                 and 'plus' not in entity.entity_id %}
             {% set level = states(entity.entity_id) | float(default=-1) %}
             {% if 0 <= level < 21 %}
               {% set output = output + \['🪫 ' \~ (state_attr(entity.entity_id, 'friendly_name') 
                   or entity.name) \~ ' (' \~ (level | round(0)) \~ '%)'\] %}
             {% endif %}
           {% endif %}
         {% endfor %}
         {% if output | length > 0 %}
           {{ output | join('\\n') }}
           {{ output | length }} Batterien haben < 21%
         {% else %}
           ✅ Alle Batterien sind über 21%
         {% endif %}
 mode: single

:crayon:by HarryP:
. Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)
. Code-/Logzeilen formatiert (bitte immer in </> einbinden)
. s.a.: (Neues Update & Features - Hier in der Community 🫶)