Absicht

  • Verbraucher (z.B. Lampen, Steckdosen usw.) automatisch nach festgelegten Regeln ein- und ausschalten.
  • Sensoren auslesen und Handlungsempfehlungen erhalten (bzw. diese nach Möglichkeit direkt umsetzen)
  • Keine Anbindung an eine Externe Cloud-Dienste (weder Hersteller-Cloud, noch unabhängige Lösung)
  • Hardware muss ohne Hersteller-Apps, Server usw. betrieben werden können
  • Produkte mit verschiedenen Protokollen und von verschiedenen Herstellern sollen verwendet werden können

Beispiel Regeln

  • Wenn es dunkel ist und eine Bewegung festgestellt wird, soll das Licht einschaltet werden (ja nach Uhrzeit mit voller Helligkeit oder gedimmt)
  • In bestimmten Räumen soll das Licht automatisch ausgeschaltet werden, wenn sich niemand mehr in den Räumen befindet
  • Wenn alle Smartphones das Haus verlassen haben, dann soll…
    • … es eine Notification geben, wenn noch Fenster geöffnet sind
    • … es eine Notification geben, wenn die Bewegungssensoren eine Bewegung feststellen
    • … der Saugroboter beginnen zu saugen

Einrichtung des Zigbee Gateways

Zur Verbindung von Zigbee Geräten benötigt man ein sogenanntes Gateway. Die bekanntesten sind hier vermutlich die Philips Hue Bridge, oder die IKEA Tradfri Gateway. Ich habe mich nach etwas Recherche für den USB-Stick Conbee II entschieden, mit dem sich Geräte unterschiedlicher Hersteller verbinden lassen. Den Stick betreibe ich an meinem Synology NAS (DS918+) via Docker.

1. USB Treiber aktivieren

sudo insmod /lib/modules/usbserial.ko
sudo insmod /lib/modules/ftdi_sio.ko

2. Software installieren

Auf meinem NAS erzeuge ich einen Ordner /volume1/docker/deCONZ in dem die Software deCONZ ihre Dateien ablegen kann. Die Software nutze ich via Docker (Docker muss ggfs. vorab über das Paketzentrum des NAS installiert werden), genauer gesagt eine docker-compose Datei die ich ebenfalls in dem Verzeichnis ablege.

Inhalt der /volume1/docker/deCONZ/docker-compose.yaml:

version: "2"
services:
  deconz:
    image: marthoc/deconz
    container_name: deconz
    network_mode: host
    restart: always
    volumes:
      - /volume1/docker/deCONZ:/root/.local/share/dresden-elektronik/deCONZ
    devices:
      - /dev/ttyACM0
    environment:
      - DECONZ_WEB_PORT=5580
      - DECONZ_WS_PORT=5581
      - DEBUG_INFO=1
      - DEBUG_APS=0
      - DEBUG_ZCL=0
      - DEBUG_ZDP=0
      - DEBUG_OTAU=0

Der Start der Anwendung erfolgt via docker-compose up -d

3. Einrichtung

Sobald der Container läuft kann die Weboberfläche von deCONZ mit dem Browser aufgerufen werden. Dafür ruft man die IP des Servers und den in der docker-compose Datei festgelegten Port (DECONZ_WEB_PORT bei mir 5580) auf.

Installation von Home Assistant

1. Installation via Docker

version: '2'
services:
  homeassistant:
    image: homeassistant/home-assistant:stable
    container_name: home-assistant
    volumes:
      - /volume1/docker/HomeAssistant:/config
    devices:
      - /dev/ttyACM0:/dev/ttyACM0
    environment:
      - TZ=Europe/Berlin
    restart: always
    network_mode: host

2. Benachrichtigungen via Telegram

Telegram Bot erstellen: https://core.telegram.org/bots
Empfänger ID ermitteln:

telegram_bot:
  - platform: polling
    api_key: {bot-api-key}
    allowed_chat_ids:
      - {client-id}
notify:
  - platform: telegram
    name: telegrambot
    chat_id: {client-id}

Hardware

Welche Geräte ich einsetze findet ihr in meiner Hardware Übersicht.