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.

Temperatur Offset in Home Assistant konfigurieren

Manche Temperatur Sensoren haben das Problem das sie konstant ein paar Grad Abweichung von der tatsächlichen Temperatur haben.

Um das auszugleichen gibt es die Platform „template“ in der Komponente „sensor“.

 

Gehen wir also davon aus wir haben einen Temperatursensor

Zum Beispiel einen von denen hier:
Fibaro FIBEFGMS-001-ZW5 5G 4-in-1 Multisensor
Aeotec Multi-Sensor 6 ZW100-C – Z-Wave Plus
Cyrus SmartHome 4-in-1 Multisensor Z-Wave Plus (Bewegung / Temperatur / Luftfeuchtigkeit / Licht)
Aeon Multi Sensor Gen5

Die Identity heißt hier als Beispiel „sensor.yr_temperature“.

# Weather Prediction
sensor:
  - platform: yr
    monitored_conditions:
      - temperature
      - Symbol

Nun ist es aber tatsächlich 1 Grad wärmer draußen als angegeben.

Um diese Abweichung (Offset) zu beheben konfigurieren wir in der „configuration.yaml“ eine neue Platform „template“:

# Weather Prediction
sensor:
  - platform: yr
    monitored_conditions:
      - temperature
      - symbol
  - platform: template
    sensors:
      yr_temperatureoff:
        value_template: '{{ states.sensor.yr_temperature.state | float + 1 }} C'

Der neue sensor „sensor.yr_temperatureoff“ kann nun als zusätzlicher Sensor in die UI eingebunden werden und zeigt die Temperatur + 1 an:

Home Assistant UI mit Offset

ZigBee – Ikea Tradfri in Home Assistant einrichten

Ikea hat mit dem Tradfri System ein sehr günstiges Smart Home Beleuchtungssystem herausgebracht. Lampen sind schon ab 10€ zu bekommen und das Gateway Kostet knappe 30€.

Natürlich hat Home Assistant auch hierzu eine Integration.

 

Was wir benötigen

  • Gateway
  • Lampe
  • Fernbedienung

Als Starterset gibt es diese drei Dinge mit einer zusätzlichen Birne für 75€. Ein echtes Schnäppchen im Gegensatz zu Hue und Lightify.

Zuerst müsst ihr das Gateway, die Fernbedienung und die Lampe so in Betrieb nehmen wie von Ikea vorgesehen. Auch nach der Integration in Home Assistant funktioniert das Ikea System komplett autark, mit der Ausnahme das es sich zusätzlich über Home Assistant steuern lässt.

 

Home Assistant vorbereiten (mit HassIO entfällt dieser Schritt!)

Damit Home Assistant mit dem Tradfri Gateway sprechen kann müssen vorher „libtool“ und „autoconf“ installiert werden:

$ sudo apt-get install libtool
$ sudo apt-get install autoconf

$ git clone --depth 1 --recursive -b dtls https://github.com/home-assistant/libcoap.git
$ cd libcoap
$ ./autogen.sh
$ ./configure --disable-documentation --disable-shared --without-debug CFLAGS="-D COAP_DEBUG_FD=stderr"
$ make
$ sudo make install

 

Komponente in Home Assistant einrichten

Wenn bei euch die „discovery“ Komponente aktiviert ist (in der „configuration.yaml“) dann findet Home Assistent, nach einem Neustart, das Gateway von alleine. Ihr müsst nur den Code eingeben den ihr auf der Unterseite des Ikea Tradfri Gateways findet:

Solltet ihr die „discovery“ Funktion nicht nutzen wollen, könnt ihr Tradfri auch manuell in der „configuration.yaml“ eintragen. Alles was ihr dazu braucht ist die IP-Adresse des Gateways in eurem Netzwerk und natürlich den Schlüssel der auf dem Gateway steht:

# Example configuration.yaml entry
tradfri:
  host: IP_ADDRESS
  api_key: API_KEY

Die Lampen werden nun automatisch als „light“ Entity hinzugefügt. Die Namensgebung orientiert sich an den Namen die ihr mit der Tradfri App vergeben habt.

Bei jedem Neustart des Home Assistant Dienstes dauert es ca. 30 Sekunden bis die Tradfri Entities verfügbar sind. Er holt sich die Informationen immer frisch vom Gateway.

 

Weblinks in Home Assistant UI anzeigen

Weblinks könnt ihr benutzen um schnellen Zugrif auf euere Router Konfiguration zu haben. Oder ihr wollt schnell zu Google? Kein Problem.

Home Assistan Weblinks

Weblinks konfigurieren

Als erstes legen wir für jeden Weblink eine Entity in Home Asisstant an:

weblink:
  entities: 
    - name: Router
      url: http://192.168.1.1/
      icon: mdi:router-wireless 
    - name: Synology
      url: http://192.168.1.2/
      icon: mdi:network

Danach weisen wir die Entities einer Gruppe zu:

group:
  Wetter:
    name: Wetter
    entities:
      - sun.sun
      - sensor.yr_symbol
  Links:
    name: Links
    entities:
      - weblink.router
      - weblink.synology
  Wetter_View:
    name: WetterView
    view: yes
    entities:
      - group.Wetter
      - group.Links

Fertig!

Aeon Multisensor Gen5 mit Z-Wave Plus

Aeon Multisensor Gen5

Der Aeon Multi Sensor Gen5 von „Aeon“ ist ein Z-Wave Plus Produkt, das folgende Sensordaten liefert:

  • Temperatur
  • Helligkeit
  • Luftfeuchtigkeit
  • Bewegung

Ein großer Vorteil an diesem Sensor ist das er auch mit einem USB Netzteil (5V) Betrieben werden kann. Man ist also nicht auf Batterien angewiesen. Gerade bei häufiger Übertragung der Sensordaten ist das ein großer Vorteil.

Angelernt wir der Sensor am besten mit einem Aeon Labs Z-Stick S2.

Knopf drücken auf dem Stick und danach Knopf drücken auf dem Sensor und schon sind die Geräte verbunden.

Home Assistant zeigt nicht nur die eigentlichen Sensordaten an sondern auch eine allgemeine Information über das Gerät und seinen Status:

Home Assistant UI

 

Konfigurieren der Übertragungsrate des Aeon Multisensor 

Die Übertragung der Sensordaten ist sehr sporadisch. Ich vermute die Daten werden nur zu Home Assistant übertragen wenn eine Bewegung lokalisiert wird.

Diesem Problem kann man aber Abhilfe schaffen, indem man den Sensor an ein Netzteil anschließt und die Übertragungsrate auf 60 Sekunden konfiguriert.

Dazu wählt man das Gerät im Z-Wave Manager von Home Assistent aus:

Home Asisstent UI Z-Wave Nodes

Und setzt folgende Konfigurationen:

Home Asisstent UI Z-Wave Config

„Group 1 Reports“ = 225
„Group 1 Intervall“ = 60

Somit überträgt der Sensor alle 60 Sekunden die kompletten Sensorwerte.

Kontrollieren kann man das in der Haupt-Entity des Gerätes im Wert „sendTS“.

 

Abus Terxon SX/MX Alarmanlage an Home Assistent anbinden

Eine der beliebtesten Alarmanlagen für den Privatgebrauch sind die Abus Terxon SX und MX. Der Grund ist das sie nicht nur relativ günstig sind sondern auch äußerst zuverlässig.

In diesem Tutorial zeige ich wie man eine ABUS Terxon SX/MX per Z-Wave an Home Assistant anbindet und folgende Informationen überträgt:

  • Alarmanlage scharf
  • Alarmanlage ausgelöst

 

Die Grundlagen

Wenn wir davon aus gehen das unser Home Assistant Z-Wave bereits unterstützt benötigen wir noch zusätzlich folgende Dinge:

Die ABUS Terxon hat 8 zusätzliche Transistorausgänge. Diese können aber nicht direkt an den Fibaro Universalsensor angeschlossen werden. Dazwischen muss ein Relais das von den Transistorausgängen geschaltet wird und dem Universalsensor das 0 oder 1 liefert.

 

Die Verkabelung

Zuerst verbindet man die ABUS Relaisplatine mit dem ABUS Terxon Mainboard der Alarmanlage:

Abus Terxon Relaisplatine

Nun verbinden wir den Fibaro Sensor mit der Relaisplatine:

Fibaro Universalrelais

Anschluss Kabel Kabelfarbe Wohin
Fibaro Sensor Rot (DC) Fibaro Rot Zu Netzteil 12V AUX
Fibaro Sensor Blau (GND) Fibaro Blau Zu Netzteil 0V
Fibaro Sensor Blau (GND) Fibaro Blau Zu Relaismodul (AZ4140) – CHAN 1 – C
Fibaro Sensor Blau (GND) Fibaro Blau Zu Relaismodul (AZ4140) – CHAN 2 – C
Fibaro Sensor Gelb Fibaro Gelb Zu Relaismodul (AZ4140) – CHAN 1 – NO
Fibaro Sensor Grün Fibaro Grün Zu Relaismodul (AZ4140) – CHAN 2 – NO

 

Das sieht dann so aus:

Abus Terxon mit Z-Wave verkabelung

Da mir die ABUS Relaisplatine zu teuer war habe ich mir eine 2-Kanal Relaisplatine selber gebaut (Kosten 3,68 €)

 

Programmierung der Abus Terxon

Nun müssen die „Zusätzlichen Ausgänge“ der Alarmanlage programmiert werden.

 

Der Schaltausgang soll nicht invertiert werden:

Errichtermenü -> Parameter 159 -> 00

 

CHAN1 auf Signalisierung Zustand „Scharf“:

Errichtermenü -> Parameter 151 -> 13 (Aktiv folgend)

 

CHAN2 auf Signalisierung Zustand „Alarm“:

Errichtermenü -> Parameter 152 -> 03 (Einbruch folgend)

 

Fibaro Sensor an Home Assistant anlernen

Das anlernen des Fibaro Sensors funktioniert wie gewohnt.

1x drücken auf den Z-Wave Stick

3x drücken auf den Fibaro Sensor

und schon sollte das anlernen geklappt haben.

 

Konfiguration von Home Assistant

Nach einem Neustart von Home Assistant wird der Fibaro Sensor mit drei neuen Entities angezeigt. Zwei davon sind die eigentlichen Binäreingänge: (hier Node 4)

Nun können sie „customized“ werden:

# Example from configuration.yaml 
binary_sensor.fibaro_system_fgbs001_universal_binary_sensor_sensor_4_0:
  friendly_name: Alarmanlage Scharf
  icon: mdi:lock
binary_sensor.fibaro_system_fgbs001_universal_binary_sensor_sensor_4_0_2:
  friendly_name: Alarm ausgelöst
  icon: mdi:alarm-light

Und natürlich auch innerhalb einer Gruppe angezeigt:

# Example from configuration.yaml
Group_Alarmanlage:
  name: Alarmanlage
  entities:
    - binary_sensor.fibaro_system_fgbs001_universal_binary_sensor_sensor_4_0
    - binary_sensor.fibaro_system_fgbs001_universal_binary_sensor_sensor_4_0_2

Z-Wave Geräte einbinden

Nachdem die Z-Wave Komponente in Home Assistant eingerichtet ist können Z-Wave Geräte gekoppelt und genutzt werden.

Am einfachsten geht das wenn man einen aktiven Z-Wave USB Stick hat, wie zum Beispiel den „Aeon Z-Stick S2 oder Gen5“.

Z-Wave Aeon Z-Stick Gen5

USB-Stick mit Z-Wave Gerät Verbinden

Um mit diesem Stick ein Z-Wave Gerät zu verbinden reicht es ihn aus dem USB-Port zu ziehen und auf den Knopf zu drücken.

Im Verbindungs-Modus blinkt der Knopf langsam.

Nun haltet ihr das anzulernende Z-Wave Gerät an den USB-Stick und drück dort auch den Knopf zum verbinden. (In der Anleitung des jeweiligen Gerätes steht ob der Knopf nur einmal oder eventuell mehrmals gedrückt werden muss)

Der USB-Stick bestätigt die Verbindung mit einem kurzen schnellen Blinken.

Danach kann man den Modus wieder deaktivieren, in dem man den Knopf auf dem USB-Stick nochmals drückt. Der Stick hört auf zu leuchten.

Nun ist das neue Gerät im Stick gespeichert.

 

Neue Entities in Home Assistant anzeigen

Um mit Home Assistant darauf zugreifen zu können steckt ihr den USB-Stick wieder an und startet Home Assistant neu.

Danach ist der neue Sensor in den Entities der WebUI zu finden.

Home Assistant Entities

Wenn es ein Multisensor ist wird für jeden Sensor eine eigene Entity angezeigt. der gesamte Sensor an sich bekommt auch eine Entity in der die Verbindungsdaten und der Status des Gerätes angezeigt wird.

 

Z-Wave in Home Assistant einrichten

Z-Wave ist ein sehr beliebtes Funkprotokoll für die Haussteuerung. Das liegt zum einen an dem Rückkanal, mit dessen Hilfe das Gerät seinen Status zur Haussteuerung senden kann, und zum zweiten an dem Mesh-Netzwerk, bei dem jedes Z-Wave Gerät als Repeater fungiert.

Trotzdem ist Z-Wave kein perfektes System, denn auch hier gibt es Inkompatibilitäten zwischen Sendern und Empfänger verschiedener Hersteller.

Momentan gibt es zwei Z-Wave Standards: Z-Wave und Z-Wave Plus. Beide Standards sind kompatibel zueinander und funktionieren ohne Probleme mit Home Assistant.

 

Wie funkt Home Assistant mit Z-Wave Geräten?

Um das zu ermöglichen benötigen wir einen USB-Stick der Z-Wave fähig ist. Dieser muss von OpenZwave unterstützt werden.

Ich empfehle einen aktiven Stick zu kaufen. Zum Beispiel den „Aeon Z-Stick S2“ (Z-Wave) oder „Aeon Z-Stick Gen5“ (Z-Wave Plus).

Aktive Z-Wave Sticks fungieren als eigenständiges Gateway für Home Assistant. Man lernt also das Z-Wave Gerät (zum Beispiel einen Temperatursensor) an dem USB Stick an und nachdem man den Stick wieder mit dem Raspberry Pi verbunden hat, kann Home Assistant die Daten abrufen und den Stick benutzen.

 

Was wir brauchen um Z-Wave in Home Assistant einzubinden

Aeon Sensoren

  • Raspberry Pi mit Home Assistant Installation
  • Aeon Z-Stick S2 oder Gen5
  • Z-Wave Sensoren oder Aktoren (Auf dem Bild sind zwei „Aeon Multi Sensor Gen5“)

Als Set gibt es das hier.

Die Installation

Wir verbinden uns via SSH auf den Raspberry Pi und kontrollieren ob „libudev-dev“ in der neuesten Version installiert ist:

$ sudo apt-get install libudev-dev

Der Output sollte so aussehen:

Linux libudev

 

Die Konfiguration

Nun lassen wir uns die belegten Port des Raspberry Pi anzeigen, um den USB Port mit dem angeschlossenen Z-Wave Stick zu finden:

$ dir /dev

Linux USB

Die USB Ports sind mit „ttyUSB*“ oder „ttyACM*“ gekennzeichnet.

In unserem Beispiel ist es „ttyUSB0“.

Wir öffnen also die „configuration.yaml“ und tragen dort folgende Komponente mit dem USB Pfad ein:

# Example configuration.yaml entry
zwave:
  usb_path:/dev/ttyUSB0

Z-Wave in Home Assistant

 

Raspberry Pi Neustart

Beim ersten Neustart mit der angepassten „Configuration.yaml“ wird „OpenZWave“ automatisch installiert. Das kann sehr lange dauern (Bei mir ca. 1 Stunde).

Um den Installationsprozess zu überwachen, können wir uns mit dem folgendem Command die Prozesse auf dem Raspberry Pi anschauen:

$ top

Linux top

Der Installationsprozess nennt sich COMMAND = cc1plus.

Nach dem Neustart ist im Menu der WebUI eine neue Rubrik „Z-Wave“ sichtbar.