Den Status von Home Assistant per E-Mail verschicken

Home Assistant Status Email Kurz

Ihr wollt einen Status eurer, an Home Assistant angeschlossenen, Geräte von extern sehen, aber möchtet ungern eure Firewall für Zugriff aus dem Internet freigeben?

Dann habe ich hier eine einfache und schnelle Lösung für das Problem.

Das einzige was ihr benötigt ist einen Email-Account allein für Home Assistant.

 

„IMAP Unread Email“ Sensor anlegen

Zuerst legen wir einen neuen Sensor mit der Platform IMAP an.

Wir geben ihm alle Zugangsdaten zum Zugriff auf unser Email Konto.

# configuration.yaml
sensor:
  - platform: imap
    name: imap_state_req
    server: imap.strato.de
    port: 993
    username: a.b@c.de
    password: abc123!

 

„SMTP“ Notification anlegen

Nun benötigen wir noch eine SMTP Notification. Diese „notify“ Komponente wird später die Email verschicken. Auch hier müssen wir alle Zugriffdaten für das Email-Konto eintragen

# configuration.yaml
notify:
  - name: smtp_state_ans
    platform: smtp
    server: smtp.strato.de
    port: 587
    timeout: 15
    sender: a.b@c.de
    starttls: true
    username: a.b@c.de
    password: 123abc!
    recipient:
      - info@c.de
    sender_name: Home Assistant

 

Automatisation erstellen

Jetzt fehlt noch die Automatisation an sich.

Der Trigger löst aus sobald sich der Status unseres IMAP Sensors ändert. Also die Anzahl der ungelesenen Emails im Postfach steigt oder sinkt.

Die Aktion verschickt eine HTML-Email mit HTML-codiertem Inhalt.

Die Konfiguration „images“, mit der .jpg Datei, muss so in der Konfiguration vorhanden sein, ansonsten funktioniert die Aktion nicht. Das scheint ein Bug in Home Assistant zu sein.

# configuration.yaml
automation:
  - id: statreq
    alias: Reagiere auf Status Anfragen
    trigger:
      platform: state
      entity_id: sensor.imap_state_req
    action:
      service: notify.smtp_state_ans
      data_template:
        title: 'Home Assistant Status'
        message: 'Status'
        data:
            images:
                - /home/pi/snapshot1.jpg
            html: >
                 This is my email text!
                 Status Alarmanlage: {{ states.binary_sensor.fibaro_system_fgbs001_universal_binary_sensor_sensor_4_0.state }} 

 

Schicken wir nun eine E-Mail an a.b@c.de erhöht sich die Anzahl der ungelesenen Emails im Postfach und Home Assistant verschickt eine Status E-Mail an info@c.de.

So könnte die E-Mail dann aussehen:

Home Assistant Status Email

 

Der Vorteil an dieser Konfiguration ist das die Status E-mails immer an die vordefinierte Adresse verschickt werden. Dh. selbst wenn jemand diese Funktion ausnutzen möchte bekommt er selber nie eine Status E-Mail zugesandt.