Automatische Abschaltung von Ladegeräten bei Ladeende

Hallo in die Runde,

zur Verhinderung von “Überladung” mit einem “beiliegenden” Ladegerät für Akkus die keine intelligente Ladeelektronik besitzen, habe ich mir folgende Aktion im Home Assistant eingerichtet, die bei Unterschreitung einer Last das Ladegerät abschaltet.
Meine Frage lautet, ob man dieses sinnvoll optimieren könnte.
Es gibt Ladegeräte die nach Stromlosschaltung den Akku wieder entladen. Das habe ich geprüft. Ist nicht der Fall.

alias: Ladeende Ladegeräte
description: ""
triggers:
  - trigger: numeric_state
    entity_id:
      - sensor.shellyo_ladegerate_power
    for:
      hours: 0
      minutes: 1
      seconds: 0
    above: -0.5
    below: 4.5
conditions: []
actions:
  - sequence:
      - type: turn_off
        device_id: f84c3afa540853338da1d97089e22f70
        entity_id: bbdd245de943cc849ce90a458b132fa3
        domain: switch
      - delay:
          hours: 0
          minutes: 0
          seconds: 2
          milliseconds: 0
      - if:
          - condition: state
            entity_id: switch.shellyo_ladegerate
            state: "on"
        then:
          - action: notify.mobile_app_iphone_16_pro
            metadata: {}
            data:
              message: Ladeende Ladegeräte ❌
        else:
          - action: notify.mobile_app_iphone_16_pro
            metadata: {}
            data:
              message: Ladeende Ladegeräte 👍
mode: single

Ich tippe dass deine Automation an sich bereits funktioniert.

Ich würde dir empfehlen, den Schalter in der Action nicht als Gerät, sondern als Entity einzubinden.

Grund:

Musst du den Schalter mal tauschen aus Gründen, dann musst du so auch die Automation ändern, da sich die ID’s dann ändern.

Vergibst du für den neuen Schalter dieselbe Entity ID wieder, dann läuft die Automation und alles andere wo der Schalter benutzt wird ungestört und wie gewohnt weiter.

Als Goodie: Der Code wird lesbarer an der Stelle.

Auslöser

  - trigger: numeric_state
    entity_id:
      - sensor.shellyo_ladegerate_power
    for:
      hours: 0
      minutes: 1
      seconds: 0
    above: -0.5
    below: 4.5

Warum gibst above mit an.

Ich denke die Intension ist, wenn Wert sinkt unter 4,5 für einen Minute, dann wäre das:

  - trigger: numeric_state
    entity_id:
      - sensor.shellyo_ladegerate_power
    for:
      hours: 0
      minutes: 1
      seconds: 0
    below: 4.5

Als Aktion schaltest Du den switch aus.

Warum dann die wenn dann Abfrage? Die Bedingung

      - if:
          - condition: state
            entity_id: switch.shellyo_ladegerate
            state: "on"

Wird ja niemals zutreffen. Du hast den switch ja abgeschaltet.

Gruß Osorkon

Wollte nur sichergehen das die Abschaltung auch klappt. So eine Art Verifizierung.
Hat bisher 100% geklappt. Gibt es denn rein technisch betrachtet eine Verifizierung? Im Übertragungsprotokoll vielleicht? Wenn eine Funkstörung im richtigen Moment dazwischen funkt, könnte es doch sein, das der Befehl zwar gesendet wird, aber nicht ankommt und somit nicht ausgeführt wird.