Home Assistant – Telegram Push Meldungen

Mit der Home Assistant Telegram Plattfrom lassen sich aus Home Assistant heraus Meldungen an Telegram Chats schicken. Dies kann sehr gut verwendet werden um z.B. als Funktion einer Alarmanlage beim Öffnen einer Tür oder Bewegung in einem Zimmer informiert zu werden.

Telegram einrichten

  1. Telegram Bot erstellen und API Key erhalten: Zunächst must du einen Telegram Bot erstellen. Dazu gibt es den BotFather Bot. Du kannst diesen Bot einfach mit Telegram anchatten und ihm sagen das du einen neuen Bot erstellen möchtest. Dazu schickst du „/newbot“ und folgst den Anweisungen des BotFather. du must dann einen Namen und einen Usernamen der auf „bot“ endet vergeben. BotFather erstellt daraufhin deinen Bot und gibt dir einen HTTP Access Token (z.B. 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw) den du im weiteren Verlauf benötigst. Den Token must du sicher verwahren.

  2. Bot kontaktieren: Telegram Bots können nicht einfach Nachrichten an Benutzer schicken. Zunächst muss immer eine Nachricht vom Benutzer zum Bot geschickt worden sein. D.h. du must in Telegram eine Nachricht an deinen neuen Bot schicken. Dazu einfach in Telegram nach dem vergebenen Bot Namen suchen und anchatten.

  3. Chat ID ermitteln: Der schnellste Weg die eigene Chat ID zu ermitteln ist es den GetIDs Bot anzuchatten.

  4. Home Assistant Konfiguration anpassen: In der Home Assistant Konfiguration muss nun noch der Telegram Bot eingetragen werden. Dazu benötigst du den oben erstellten API Key deines Bots und deine Chat ID. Nach der Konfigurationsanpssung must du Home Assistant neustarten.
    # --- Telegram Notfification ---------------------------------------------------
    telegram_bot:
      - platform: polling
        api_key: "API KEY"
        allowed_chat_ids:
          - CHAT ID
    
    notify:
      - name: telegram
        platform: telegram
        chat_id: CHAT ID
    

  5. Erste Nachricht versenden: Nach der Einrichtung stehen nun neue telegram Services zur Verfügung. Am einfachsten testest du das Verschicken einer Nachricht über „Entwicklerwerkzeuge“ -> „Dienste“ und dort den Telegram Send Service (telegram_bot.send_message).

Beispiel Verwendung: Haustür Überwachung

Ein nützlicher Anwendungsfall ist z.B. die Tür-Überwachung im Rahmen einer Alarmanlage. Der Telegram Service sorgt in diesem Fall für die Meldung auf das Handy wenn die Tür geöffnet oder geschlossen wird. Unten ist ein Beispiel aufgeführt, welches in die „configuration.yaml“ aufgenommen werden kann. Der Binary Sensor „HOUSE_DOOR_SENSOR“ muss durch eine eigene Sensor Entity ausgetauscht werden.

automation:
  - alias: House door open
    trigger:
      platform: state
      entity_id: binary_sensor.HOUSE_DOOR_SENSOR
      to: 'on'
    action:
      service: telegram_bot.send_message
      data:
        message: "House door open"
  - alias: House door close
    trigger:
      platform: state
      entity_id: binary_sensor.HOUSE_DOOR_SENSOR
      to: 'off'
    action:
      service: telegram_bot.send_message
      data:
        message: "House door close"

Home Assistant – Reolink IP Kamera einbinden

Hardware

Bei der Auswahl einer Reolink Kamera für die Integration in Home Assistant muss etwas darauf aufgepasst werden, dass diese auch mit Home Assistant zusammen arbeitet. Bei dem in diesem Tutorial Plugin werden unten auf der Seite einige Modelle gelistet die nicht funktionieren. z.B. gibt es von der E1 Pro verschiedene Varianten. Die normale geht nicht, die „Zoom“ sollte aber funktionieren. Im wesentlichen liegt dies daran das Reolink bei einigen Kameras auf ein Hauseigenes Protokoll setzt. Es ist daher wichtig eine Kamera zu kaufen die das standardisierte RTSP (Real Time Streaming Protocol) unterstützt.

Kamera in das Netzwerk integrieren

Viele der Kameras können wahlweise über Ethernet Kabel oder WLAN angeschlossen werden.

  • Ethernet: Hier empfiehlt sich der Reolink Client für Windows. Er kann die Kamera im Netzwerk finden und einrichten. Wichtig ist ihr eine feste IP-Adresse zu zuweisen, damit die Kamera immer unter der selben Adresse für Home Assistant erreichbar ist.
  • WLAN: Die WLAN Einrichtung geht am einfachsten über die Handy App. Hierbei wird ein QR Code unter der Kamera gescannt. Anschließend werden die WLAN Zugangsdaten eingetragen und die APP generiert hieraus einen QR Code. Dieser beinhaltet die WLAN Zugangsdaten und wird dann mit der Kamera abgefilmt. Dieses liest die Zugangsdaten aus und wählt sich in das Netzwerk ein. Anschlie0end sollte der Kamera noch eine feste IP gegeben werden. Dies geht z.B. mit der oben beschriebenen Windows Anwendung

Home Assistant Integration

Wir nutzen für die Integration der Kamera die „Home Assistant Reolink custom integration“. Am einfachsten lässt sich diese mittels HACS in Home Assistant installieren. Dazu gehst du wie unten beschrieben vor. Alternativ kannst du die Integration auch manuell installieren. Diese muss letztlich nur in das Verzeichnis „/config/custom_components/reolink_dev“ der Home Assistant Installation kopiert werden. Dazu kannst du z.B. einen Samba Server auf dem Home Assistant einrichten und über Netzwerk zugreifen.

  1. Klicke auf ACS im Home Assistant Menü
  2. Klicke auf Integrationen
  3. Klicke auf die drei Punkte in der oberen rechten Ecke
  4. und wählst „Benutzerdefinierte Repositories“
  5. Kopiere die Repository URL (https://github.com/fwestenberg/reolink_dev) in die DialogBox und
  6. wähle Integration
  7. Klicke Hinzufügen
  8. Klicke unten rechts auf den Button „durchsuchen und herunterladen von Repositories“ und suche nach Reolink
  9. Repostory hinzufügen und Home Assistant anschließend neu starten

Zum Hinzufügen der Kamera gehst du wie folgt vor:
Einstellungen -> Geräte & Dienste -> Integration hinzufügen (rechts unten) -> Reolink IP Camera eingeben und hinzufügen.

Anschließend musst du noch deine IP Adresse der Kamera einfügen und dessen Zugangsdaten. Nun sollte die Kamera als Entität in Home Assistant vorhanden sein.

Home Assistant – Netzwerkfreigaben für Dateien mit Samba

Um auf die Konfigurationsdateien auf dem Home Assistant direkt unter Windows zugreifen zu können, empfiehlt es sich, diese per Netzwerkfreigabe zur Verfügung zu stellen. Unter Linux sorgt die Samba für die Unterstützung des SMB/CIFS Protokolls für die Netzwerkfreigaben. Samba kannst du einfach als Erweiterung aus dem Home Assistant Add-On Store laden:

Einstellungen -> Add-ons, Backups & Supervisor -> Add-on Store 
-> "Samba" (Im Suchfeld eingeben) -> Installieren

In der Konfiguration des Plugins musst du dann noch dein Arbeitsgruppen-Namen deines Windows Netzwerkes eintragen, sowie deinen Windows-Account, mit dem du dich auf die Home Assistant Netzwerkfreigabe verbinden möchtest. Bei den „Allowed Hosts“ kannst du die Netzwerksegmente einstellen, die Zugriff erhalten. In der Regel fällt dein privates Netzwerk bereits in den unten angegebenen Bereich.

workgroup: WORKGROUP
username: USER
password: PASSWORD
allow_hosts:
  - 10.0.0.0/8
  - 172.16.0.0/12
  - 192.168.0.0/16
veto_files:
  - ._*
  - .DS_Store
  - Thumbs.db
  - icon?
  - .Trashes
compatibility_mode: false
interface: eth0

Nun ist alles eingerichtet und du kannst einfach auf die Dateien des Home Assistant zugreifen, indem du im Windows Dateiexplorer den UNC Pfad deines Home Assistant eingibst.

\\IP_ADRESSE_HOME_ASSISTANT

Unter „Computer -> Netzlaufwerk verbinden“ kannst du der Netzwerkfreigabe auch einen permanenten Laufwerksbuchstaben zuweisen.

Die zentrale Konfiguration von Home Assistant findest du im Verzeichnis „config“ in der Datei „configurations.yaml“. Custom Components werden im Verzeichnis „config/custom_components“ abgelegt. Diese können komfortabel mit HACS installiert werden, oder manuell in das Verzeichnis kopiert werden.

Home Assistant – Browserbasierte Konfiguration

Die Konfiguration von Home Assistant erfolgt mittels YAML Syntax in der Datei „/config/configuration.yaml“. Wenn YAML für dich neu ist der wichtige Hinweis, dass die Verschachtelung über Leerzeichen erreicht wird und diese daher für eine korrekt formatierte Datei wichtig ist. Achte also immer auf die Einrückungen.

Du kannst die Datei direkt auf deinem Home Assistant Server editieren. z.B. indem du auf diesen mittels SSH, FTP oder Samba (CIFS Windows Share) zugreifst. Komfortabler geht dies aber direkt über die Home Assistant Weboberfläche mithilfe des „File Editor“ Plugins. Das Plugin zeigt dir auch oben rechts mit einem roten Icon wenn deine Datei nicht YAML konform ist.

Das Plugin ist Ruck Zuck installiert:

Einstellungen -> Add-ons, Backups & Supervisor -> Add-on Store -> "File Editor" (Im Suchfeld eingeben) -> Installieren

Ein Klick auf „Benutzeroberfläche öffnen“ startet den Editor.

Das Ordnersymbol oben rechts lässt dich die zentrale Konfigurationsdatei „/config/configuration.yaml“ auswählen.

Home Assistent – Systemmonitor für CPU, RAM, HDD etc.

Mit dem in Home Assistent integrierten Sensor Systemmonitor lassen sich auf einfache weise CPU und Arbeitsspeicher Auslastung sowie Festplattenverbrauch anzeigen sowie weitere Werte anzeigen. Eine komplette Übersicht über die möglichen Sensoren findest du auf der Systemmonitor Seite.

Der Systemmonitor muss in die Konfigurationsdatei „/config/configuration.yaml“ als Sensor eingetragen werden. Dazu kann z.B. das nachträglich zu installierende Plugin „File Editor“ verwendet werden. „Supervisor -> Installierte Add-ons -> File Editor“. Ist der File Editor noch nicht installiert kann dies im Add-on Store nachgeholt werden.

sensor:
  - platform: systemmonitor
    resources:
      - type: processor_use
      - type: processor_temperature
      - type: load_1m		
      - type: load_5m		
      - type: load_15m	
      - type: memory_free
      - type: memory_use
      - type: memory_use_percent
      - type: disk_use
        arg: /
      - type: disk_free
        arg: /
      - type: disk_use_percent
        arg: /
      - type: network_in
        arg: eth0
      - type: network_out
        arg: eth0
      - type: last_boot

In der „Übersicht“ können die neuen Sensoren nun z.B. mit einer „Elemente“ Karte hinzugefügt werden. Diese verfügt auch über einen Code Editor in dem der unten stehende Code für die Sensor Entities übernommen werden kann. Wer es etwas Facy haben will schaut sich einmal History Graph an.

type: entities
entities:
  - entity: sensor.last_boot
  - entity: sensor.disk_free
  - entity: sensor.disk_use
  - entity: sensor.disk_use_percent
  - entity: sensor.processor_temperature
  - entity: sensor.processor_use_percent
  - entity: sensor.load_1m
  - entity: sensor.load_5m
  - entity: sensor.load_15m
  - entity: sensor.network_in_eth0
  - entity: sensor.network_out_eth0
title: Systemmonitor

Home Assistent (Hass.io) Installation auf dem Raspberry Pi

Mit Hass.io steht für den Raspberry Pi eine einfach zu installierende Home Assistant Version zu Verfügung. Bei Hass.io handelt es sich um komplett Paket aus Linux Betriebssystem und bereits installiertem Home Assistant. Home Assistant ist Open Source und biete eine herstellerübergreifende Integration von Smarthome Komponenten. Das System lässt sich einfach über eine Weboberfläche verwalten, aktualisieren und mit Add-ons, die über einen „Add-on Store“ bereit gestellt werden, erweitern.

Inhaltsverzeichnis

Hardware

Home Assistant läuft auf dem Raspberry Pi ab Version 3. Da das System 24/7 läuft ist der Raspberry Pi mit seinem geringen Strombedarf die perfekte Basis für die Smarthome zentrale. Ihr braucht folgende Komponenten:

Installation

Die Basis Installation von Hass.io ist sehr einfach. Du must nur das passende Image auf eine SD Karte schreiben und deinen Raspberry Pi damit starten. Zum Schreiben des Images kannst du die Software Balena Etcher verwenden. Sie erlaubt dir das Schreiben von Image Dateien von der Festplatte oder kann alternativ diese auch selber herunterladen.

Alle Hass.io Releases sind auf GitHub verfügbar. Hier kannst du das Image passend zu deinem Raspberry Pi herunterladen. Für einen Raspberry Pi 4 wäre dies z.B. die Datei „haos_rpi4-6.2.img.xz“. Wir wählen den Weg Etcher das Image für uns herunterzuladen „Flash from URL“ und kopieren daher nur den Download Link von Github und fügen ihn in Etcher ein:

Etcher lädt nun das Image herunter. Über „Select Target“ kann dann die Ziel SD Card ausgewählt werden. Häufig ist diese auch schon korrekt vor belegt wenn nur eine SD Karte im System gefunden wurde.

Mit einem Klick auf „Flash!“ startet dann der eigentlich Schreibvorgang auf die SD Card.

Wenn alles geklappt hat solltest du diesen Screen bekommen

Nachdem Hass.io auf die SD Kargte geschrieben wurde must du nur noch die SD Karte in den Raspberry Pi stecken, das Netzwerkkabel einstecken und ihn anschließend durch einstecken des Stromkabels starten.

Nach einigen Minuten solltest du Home Assistant über den Browser erreichen. Die Adresse ist „homeassistant.local:8123“ oder „homeassistant:8123“. Solltest du nicht auf Home Assistant kommen, probiere ihn direkt über die IP Adresse (http://X.X.X.X:8123) die der Raspberry Pi von deinem Router bekommen hat zu erreichen. Viele Router wie z.B. die Fritzbox bieten eine Übersichtseite über alle verbundenen Geräte mitsamt ihren IP Adressen.