Homeassistant

Diese kleine Serie (ich hoffe, dass es eine Serie wird) soll euch den Einstieg in das Home Assistant
(HA) Thema erleichtern. Ich versuche es absichtlich einfach zu schreiben, dass Neueinsteiger eine Chance haben es zu verstehen. Ich beschreibe die klassische Methode. Feinheiten kommen irgendwann später.

Was ihr braucht:
Einen Raspberry Pi 3b+ oder 4 mit Netzteil
Eine SD Karte für den Raspi mit minimum 16 GB
etwas Zeit.

Auf dieser Seite findet ihr das passende Image für euer Gerät.

Bitte downloaden. Jetzt muss dieses Image auf eure SD Karte geflasht werden. Dazu könnt ihr euch das Windows Programm “balenaEtcher” herunterladen.

Das Etcher Programm flasht das Home Assistant Image auf die SD Karte und stellt euch ein lauffähiges System zu Verfügung.
Nach erfolgreichem flashen die SD Karte in den Raspi stecken und den Pi mit Strom und einem Netzwerkkabel versorgen.
Jetzt hat der Raspi erst mal eine Weile zu tun. In der Zwischenzeit könnt ihr die IP Adresse eures Raspi im Netzwerk ermitteln.
192.168.xxx.xxx:8123, ruft die Oberfläche von HA auf. Beantwortet die paar Fragen und ihr habt ein lauffägiges System.

Wie Kommunizieren HA und Homey miteinander ?
Das geschieht über das Protokoll MQTT,
Als erstes braucht ihr einen MQTT Server. Der Einfachheit halber lassen wir das Homey machen.
Installiert euch die Homey Apps:
MQTT Hub
MQTT Client
Und
MQTT Broker

MQTT Broker ist der Server und führt die Anfragen zusammen. Anfänglich wählt bitte diese Einstellungen, später ist Zeit für Feinheiten.


Der Broker läuft jetzt und ist für die Clients erreichbar unter der IP eures Homeys mit: 192.168.xxx.xxx:1883

Jetzt die MQTT Client App

Nun geht ihr auf HA.
Oben links auf die 3 Striche
Einstellungen
Integrationen
Dort unten rechts auf neue Integration klicken und MQTT auswählen und installieren. Bitte gebt als IP wieder die IP von Homey und den gleichen Port an.


Kümmert euch mal nicht um das Passwort, das kommt später.
Geht zurück auf die Hauptseite von Home Assistant.
Oben links die 3 Striche
Übersicht.

Jetzt kommt das Finale.
Geht auf die Homey App MQTT Hub

Wechselt jetzt auf die Übersichtsseite von Home Assistant und werdet Zeuge was da passiert.
Alle eure Homey Geräte werden nach und nach sichtbar.
Homey und Home Assistant sind verbunden.

Wenn Fragen auftauchen, bitte nur zu diesem Abschnitt von HA. Ich hoffe, dass es weitere Threads zum Thema HA geben wird, die auch ein spezielles Thema von HA behandeln.
Weitere Autoren bitte ich eine ähnliche Überschrift zu wählen, dass die Abschnitte leichter gefunden werden können.

13 Likes

HomeAssistant als Docker-Container

Eine alternative Installationsmethode für Besitzer eines dockerfähigen NAS ist, sowohl MQTT als auch HomeAssistans als Docker-Container zu installieren.
Vorteil:

  • die Container verwenden fertige Images und sind sofort einsatzbereit.
  • Die Konfigurationsdateien werden über ein Share-Verzeichnis des NAS eingebunden. Die Daten sind also lokal unabhängig vom Container gespeichert und können über das normale Backup gesichert werden
  • Für ein Update wird der Container entfernt und mit neuem Image neu eingebunden. Die Konfig-Daten werden vom Share wieder eingebunden.

Ich beschreibe die Einrichtung in einem QNAP-NAS.

Vorbereitung
Zur Sicherung der Konfig-Daten benötigt ihr ein Netzwerk-Share (Freigabeverzeichnis), z.B. “ContainerData”.
Darin legt ihr Verzeichnisse je Container an. Die Namen könnt ihr wählen. Ihr müsst später diese Verzeichnisse verwenden:

  • HomeAssistant
  • MosquittoBroker (mit Unterverzeichnisse /config, /data, /log)

Das NAS muss eine feste IP im Netzwerk besitzen. Alternativ könnt ihr für die Container während der Einrichtung eine feste IP im Bridge-Modus vergeben.

Teil 1: MQTT-Broker

Docker-Image: eclipse-mosquitto Docker Hub

  1. eclipse-mosquitto als Docker suchen und “Installieren” klicken.

  2. Version wählen. Ich wähle i.d.R. nicht “latest”, sondern eine explizite Version, um die Version später am Image erkennen zu können.
    grafik

  3. Ihr könnt einen Name für den Container wählen. Klickt dann auf “Erweiterte Einstellungen”.
    grafik

  4. Wählt die Einstellungen für den Container.
    Keine Umgebungsdaten:


    Netzkerk: Host für Erreichbarkeit unter der NAS-IP. Alternatig Bridge-Modus über den virtuellen Switch mit Angabe einer separaten IP.

    Unter “Freigabe” ordnet ihr den Mountpunkten des Containers (rechts) eure Verzeichnisse eures Shares zu (links).

    Jetzt mit “Erstellen” den Container anlegen. Der Download, Einrichtung und Start dauert etwas.

  5. Evtl. Rechte vergeben.
    Ich musste für die Verzeichnisse und Dateien im Konfig-Verzeichnis noch Rechte für den MQTT-Container-User vergeben. Dazu am besten mit WinSCP am NAS anmelden, ins Konfig-Verzeichnis wechseln und diese Rechte vergeben:
    Verzeichnisse: Gruppe+Eigentümer: 1883 Rechte: 6777
    Dateien (.log / .db): Gruppe+Eigentümer: 1883 Rechte: 0660
    Der User, mit dem der MQTT-Dienst läuft heißt “1883” (wie der http-Port :-))

Damit sollte der Container starten.


Prüft im Konsolen-Fenster der Container-Station, ob alles ok ist.
Sollte der Container-Start abbrechen, müsste im Konsolenfenster nach vorhandenen Fehlern schauen.

  1. Passwort:
    Aktuell ist der Broker ohne Benutzeranmeldung erreichbar. Wollt ihr einen User+PW verwenden, dann könnt ihr eine Passwortdatei erzeugen. Ich bin leide rnicht mehr sicher, ob das in der NAS-Konsole zu erledigen ist oder evtl. direkt in der Container-Konsole:
    Der Befehl dazu: mosquitto_passwd -b passwordfile user password
    Die Datei muss im Verzeichnis /config angelegt werden.
    Nach einem Neustart des Containers sollte der Broker bei einer Verbindung User+PW anfordern.
    Weitere Infos dazu: http://www.steves-internet-guide.com/mqtt-username-password-example/

Teil 2: HomeAssistant

Docker-Image: homeassistant/home-assistant Docker Hub

  1. Installiert den Container wie beim MQTT-Broker. Sucht dazu das Image homeassistant/home-assistant im Bereich “Docker”. Wählt die höchste Version (stable, keine dev-Version).

  2. Vergebt einen Containername und wählt die Erweiterten Einstellungen.
    Umgebungsdaten: TZ = Europe/Berlin


    Netzwerk: Host zur Verwendung der NAS-IP. Alternativ Bridge-Mode.

    Freigabe: Verbindung des Mountpunktes /config zu eurem Share-Verzeichnis.

    Jetzt mit “Erstellen” den Container anlegen. Der Download, Einrichtung und Start dauert etwas.

  3. HomeAssistant sollte nun laufen.


    Ihr könnt nun Homeassistant unter von euch gewählten IP und Port 8123 aufrufen (wenn Host-Modus gewählt wurde, sonst verwendet ihr die IP des Bridge-Modus).
    http://NAS-IP:8123

Teil 3: Einrichten der Verbindung HA=>MQTT
Das funktioniert immer identisch (wie von Uwe/Undertaker beschrieben).

  1. MQTT-Integration in HomeAssistant hinzufügen
  2. Verbindungsdaten zum MQTT-Broker angeben:

Teil 4: Verbindung Homey=>MQTT-Broker

  1. In Homey die App “MQTT-Client” installieren.
    Dort die IP des Brokers sowie ggf. Bentzer+PW angeben. Damit habt ihr die grundlegende Verbindung eingerichtet.
  2. In Homey die App “MQTT-Hub” installieren.
    Diese App liest alle Homey-Geräte aus und sendet diese an den MQTT-Broker. Dazu verwendet die App das Home-Assistant-Discovery-Verfahren.
    Die Geräte werden einmal “normal” unter der Homey-ID an MQTT gesendet.
    Zusätzlich wird eine Referenz auf diese Entität in die Auto-Discovery-Topic gesendet. Über die Autodiscovery-Daten kann HomeAssistant die Geräte mit korrektem Typ automatisch integrieren.

Teil 5: Fehlersuche
Falls ihr Fehler in den MQTT-Daten sucht, dann könnte ein MQTT-Explorer hilfreich sein. Diese Programme zeigen euch die Topics im MQTT-Broker incl. Werten, Zeitstempel, Aktualisierungen.

Das Programm findet ihr hier:

2 Likes

Wenn Interesse besteht, kann ich gerne eine Wiki Seite zur verfügung stellen.
Wollte mir ohnehin für mich selbst eine Art wiki anlegen zum Thema Smart Home / Home Assistant & Co.
Wenn aber auch andere hier mit wirken könnten / wollten, wäre das natürlich eine super Sache.

7 Likes

Finde das gut erklärt, einfach für den Anfang. Mir persönlich fehlen dann Details Infos wie zB welche Version von HA soll ich nehmen, di 32 oder 64 version.

Ich habe die Installation von Youtube genommen, der Benutzer “Paradis Artificiels” auf französisch erklärt das sehr gut. Redet sehr schnell aber man hat ja die Pause Taste.

Ich hatte es auf meinem Synology ausprobiert. Funktioniert auch, ist aber schwierig man findet keine Hilfe und zu den Programmiermöglichkeiten zu kommen schwierig. Mit mit dem Raspi4 sehr zufrieden.

Ich habe noch die Einrichtung des MQTT-Broker und HomeAssistant als Docker-Container ergänzt.

1 Like

Klar wollen wir ! Du beschäftigst am Längsten mit der Thematik.

1 Like

Dann mache ich auch noch ein Beitrag.

Der MQTT Explorer, habe ich sehr gut gebrauchen können um festzustellen ob Homey auch alles an den Raspi / HA meldet.

Ich habe diesen auf meinem PC installiert, interessant ist es ja besonders wenn dieser über längere Zeit aktiv ist. Er kann dann absolut von jeder Entität auf die sekunde genau darstellen was gemeldet wird.

Nachdem dieser Installiert ist, starten und Verbindung einrichten.

Unter +Connections, den Namen der Verbindung eingeben (frei wählbar). Dann Protokol MQTT auswählen - IP Adresse (von HA) und Portnummer eingeben (dises wurde schon zum einrichten vorher gebraucht). Benutzername und Password wird nur gebraucht wenn das auch konfiguriert wurde.

Dann SAVE und auf CONNECT…ein Moment Geduld und dann sieht es so aus. Unter homie sind alle Entitäten Sichtbar mit der History.

Denke was zum Herumspielen und schauen wie alles gemeldet wird.

1 Like

Hier könnten wir uns austoben Smarthome for Dummies :grinning:
Werde mal am Wochenende ein WIKI aufsetzen.

1 Like

@Osorkon
Ich lechze nach deinem Wissen. Obwohl ich mich sporadisch mit HA beschäftige, weiß ich vermutlich nur einen Bruchteil der Möglichkeiten.
Da mein Englisch nicht gerade verhandlungssicher ist, habe ich nie lange in den englischen HA Foren gelesen.

Warum hast Du den MQTT Broker auf dem NAS?
Ich habe den wie Uwe beschrieben auf dem Homey installiert.
Gibt’s einen Unterschied? Vor-/Nachteile?

Das kannst du machen wie du willst.
Auf Homey, auf deinem Raspi oder dem Nas.
Ich hab bei Homey nicht bemerkt, dass er dadurch mehr belastet ist.

Wie Uwe schon sagte, kannst du dir das asussuchen. Da ich neben HA sowieso noch andere Cointainer im NAS habe, war es für mich naheliegend, den auch aufs NAS zu packen.

Ein Vorteil scheint ja zumindest die Protokollierung zu sein.

Ich habe heute mal einen Raspi 4 rausgekramt und den Home Assistant installiert und soweit konfiguriert. Auf dem Raspi läuft nun auch ein MQTT Broker mit. Der funktioniert auch super. Meine Tasmota Devices nutzen diesen auch fleißig.

Auf dem Homey läuft nun auch der MQTT Client sowie der HUB. Alles so konfiguriert, wie es @Undertaker beschrieben hat. Läuft soweit, aber nach einiger Zeit übermittelt Homey die aktuellen Werte nicht mehr. Wenn ich dann manuell einen Broadcast starte, kommen die Werte natürlich wieder.
Am Broker kann es glaube ich nicht liegen, die Tasmota Devices sind im Homey ja verfügbar.
An was kann das liegen?

Habe die MQTT Hub Testversion drauf.

Da hast im Hub zwei Möglichkeiten der Übermittlung:

Homie oder Custom. Du kannst gerne beide ausprobieren, ob es bei custom besser ist.
Die Testversion hat aber Fehler. Ich würde die normale Version installieren, läuft sehr gut bei mir.

Seit mehr als einem Jahr? Lässt nichts Gutes erahnen…

Wiki ist aufgesetzt :grinning: Das war vielleicht ein Kampf! Die aktuelle mediaWiki scheint ein Bug zu haben in Verbindung mit OS X / iOS und https? Habe gestern nen halben Tag gebraucht und habe die Installation bestimmt 10 mal durchgeführt! Nun läuft es aber.
Habe dann auch die dokuwiki mal installiert und getestet, aber mit der komme ich zumindest nicht wirklich klar. :man_shrugging:
Werde mal ein paar Kategorien anlegen und dann die Wiki online stellen. Dann könnt ihr gerne in die Tasten hauen. :grinning:

Gruß Osorkon

4 Likes

Hast du zwischendurch den MQTT-Broker neu gestartet? Das Broker puffert die Retain-Daten nur. Beim Neustart sind die letzten Werte normalerweise weg. D.h. HomeAssistant hat dann jede Menge ungültige Werte. Ich muss dazu im MQTT-Hub nochmal den Broadcast starten (oder App neu starten). Dann werden alle Homey-Daten komplett an den Broker gesendet.

Ich hatte schon im App-Tread nach einem Automatismus gefragt (Neuverbinden an MQTT, dann Broadcast ausführen), aber ohne Antwort. Bei MQTT-Client-Thread habe ich auch gefragt wegen einem Flow-Event beim Neuverbinden zu MQTT (der Client schreibt ja daz uauch ein Log-Eintrag), auch ohne Antwort.

Ja gestern hab ich ziemlich viel gebastelt → configuration.yaml

Da musste ich ja immer wieder mal HA durchstarten. Als MQTT Broker habe ich den über die Addons Seite genommen. Könnte echt daran liegen.

Feuer frei!
WIKI ist online! :smiley:

Falls Ihr mit der Kategorisierung nicht zurecht kommt. Einfach frei Schnauze Artikel erstellen. Werde sie dann bei Bedarf sortieren.

Bin mal gespannt was euch so einfällt und was mit der Zeit so zusammen kommt.

Gruß
Osorkon

1 Like