Reklama

Automatizace domácnosti s Home Assistant - kompletní průvodce

Home Assistant dashboard s ovládáním chytré domácnosti na tablet a mobilních zařízení

Home Assistant je open-source platforma pro řízení chytré domácnosti, která dává úplnou kontrolu nad vašimi zařízeními. Oproti komerčním řešením nabízí neomezené možnosti automatizace, podporu téměř všech IoT zařízení a funguje lokálně bez cloudu.

Co je Home Assistant a proč ho použít?

Home Assistant (HA) je Python aplikace, která slouží jako centrální řídící jednotka pro všechna chytrá zařízení v domácnosti. Klíčové výhody:

Výhody oproti komerčním řešením

  • Lokální provoz - žádná závislost na cloudu
  • Otevřený kód - průhlednost a bezpečnost
  • Neomezená integrace - podpora 2000+ komponent
  • Žádné měsíční poplatky - jednou koupíte hardware
  • Plná kontrola - vlastníte svá data

Podpora zařízení

  • Zigbee/Z-Wave (přes USB dongle)
  • WiFi IoT (ESP8266/ESP32)
  • Značky: Shelly, Sonoff, Tasmota, ESPHome
  • Systémy: Philips Hue, IKEA, Xiaomi
  • Mediální: Chromecast, Spotify, Plex

Instalace Home Assistant

Varianta 1: Home Assistant OS (doporučeno)

Hardware požadavky:

  • Raspberry Pi 4 (4GB RAM minimum)
  • MicroSD karta 32GB (Class 10)
  • Napájecí adaptér 5V/3A
  • USB dongles (Zigbee/Z-Wave)

Instalace:

  1. Stáhněte obraz:

  2. Nahrání na SD kartu:

    # Linux/Mac
    sudo dd if=haos_rpi4-64.img of=/dev/sdX bs=1M
    
    # Windows - použijte Raspberry Pi Imager
  3. První spuštění:

    • Vložte SD kartu do Pi
    • Připojte LAN kabel
    • Zapojte napájení
    • Počkejte 5-10 minut na boot
  4. Webové rozhraní:

    • Otevřete http://IP_ADRESA:8123
    • Vytvořte admin účet
    • Pojmenujte domácnost

Varianta 2: Docker na PC/NAS

# Docker Compose
version: '3'
services:
  homeassistant:
    container_name: homeassistant
    image: ghcr.io/home-assistant/home-assistant:stable
    volumes:
      - ./config:/config
      - /etc/localtime:/etc/localtime:ro
    restart: unless-stopped
    privileged: true
    network_mode: host

Varianta 3: Home Assistant Green

Oficiální hardware od HA:

  • Cena: ~$100 (3000 Kč)
  • Plug & play řešení
  • Integrovaný Zigbee
  • Podpora SkyConnect USB

Základní konfigurace

Úvodní nastavení

  1. Místní nastavení:

    # configuration.yaml
    homeassistant:
      name: Domov
      latitude: 50.0755
      longitude: 14.4378
      elevation: 200
      unit_system: metric
      time_zone: Europe/Prague
      currency: CZK
      country: CZ
  2. Uživatelé a přístupy:

    • Nastavení → Lidé
    • Vytvořte účty pro rodinu
    • Nastavte oprávnění
  3. Oblasti (Areas):

    • Obývací pokoj, ložnice, kuchyň
    • Přiřadíte jim zařízení
    • Používá se pro automatizace

Důležité integrace

Počasí:

# configuration.yaml
weather:
  - platform: openweathermap
    api_key: VAS_API_KLIC
    name: Praha

Mobilní aplikace:

mobile_app:

notify:
  - name: mobile
    platform: group
    services:
      - service: mobile_app_telefon

Přidávání zařízení

WiFi zařízení (Shelly, Sonoff)

Automatická detekce:

  1. Nastavení → Zařízení a služby
  2. Klikněte "Přidat integraci"
  3. HA automaticky najde zařízení v síti

Manuální přidání:

# configuration.yaml
switch:
  - platform: shelly
    host: 192.168.1.100
    name: "Světlo obývák"

Zigbee zařízení

Potřebný hardware:

  • ConBee II USB stick (1500 Kč)
  • Nebo Sonoff Zigbee 3.0 USB (800 Kč)

Přidání zařízení:

  1. Nastavení → Integrace
  2. Přidat Zigbee Home Automation
  3. Vybrat USB port dongle
  4. Přepnout zařízení do párování režimu

ESPHome zařízení

ESPHome je addon pro vlastní ESP zařízení:

# example-device.yaml
esphome:
  name: svetlo-kuchyn
  platform: ESP8266
  board: d1_mini

wifi:
  ssid: "VaseWiFi"
  password: "VaseHeslo"

api:
  password: "api-heslo"

ota:
  password: "ota-heslo"

switch:
  - platform: gpio
    pin: GPIO5
    name: "Světlo kuchyň"
    id: svetlo_kuchyn

sensor:
  - platform: dht
    pin: GPIO4
    temperature:
      name: "Teplota kuchyň"
    humidity:
      name: "Vlhkost kuchyň"
    update_interval: 60s

Tvorba automatizací

Základní automatizace

Příklad 1: Rozsvícení při návratu domů

automation:
  - alias: "Světla při příchodu"
    trigger:
      - platform: state
        entity_id: person.tomas
        from: "not_home"
        to: "home"
    condition:
      - condition: sun
        after: sunset
    action:
      - service: light.turn_on
        entity_id: light.predsin
        data:
          brightness: 200
      - service: switch.turn_on
        entity_id: switch.svetlo_obyvak

Příklad 2: Noční světlo na WC

automation:
  - alias: "Noční světlo WC"
    trigger:
      - platform: state
        entity_id: binary_sensor.pohyb_wc
        to: "on"
    condition:
      - condition: time
        after: "22:00:00"
        before: "06:00:00"
    action:
      - service: light.turn_on
        entity_id: light.wc
        data:
          brightness: 50
          color_name: red
      - delay: "00:02:00"
      - service: light.turn_off
        entity_id: light.wc

Pokročilé automatizace

Příklad: Imitace přítomnosti během dovolené

automation:
  - alias: "Dovolená - simulace"
    trigger:
      - platform: sun
        event: sunset
        offset: "-00:30:00"
    condition:
      - condition: state
        entity_id: input_boolean.dovolena_mod
        state: "on"
    action:
      - repeat:
          count: 3
          sequence:
            - service: light.turn_on
              entity_id: light.obyvak
              data:
                brightness: !lambda "return random.randint(150, 255)"
            - delay: !lambda "return random.randint(1800, 3600)"
            - service: light.turn_off
              entity_id: light.obyvak
            - delay: !lambda "return random.randint(600, 1800)"

Příklad: Chytrý termostat podle přítomnosti

automation:
  - alias: "Topení podle přítomnosti"
    trigger:
      - platform: state
        entity_id: group.rodina
        to: "not_home"
        for: "00:30:00"
    action:
      - service: climate.set_temperature
        entity_id: climate.termostat
        data:
          temperature: 18
          
  - alias: "Topení při návratu"
    trigger:
      - platform: state
        entity_id: group.rodina
        from: "not_home"
        to: "home"
    action:
      - service: climate.set_temperature
        entity_id: climate.termostat
        data:
          temperature: 22

Dashboards a vizualizace

Lovelace UI

Základní karta:

# ui-lovelace.yaml
views:
  - title: Domov
    icon: mdi:home
    cards:
      - type: entities
        title: Osvětlení
        entities:
          - light.obyvak
          - light.kuchyn
          - light.loznice
          
      - type: thermostat
        entity: climate.termostat_obyvak
        
      - type: weather-forecast
        entity: weather.domov

Pokročilé karty:

# Karta s grafy
- type: history-graph
  title: Teplota 24h
  entities:
    - sensor.teplota_obyvak
    - sensor.teplota_loznice
  hours_to_show: 24

# Karta s plánkem
- type: picture-elements
  image: /local/floor-plan.png
  elements:
    - type: state-icon
      entity: light.obyvak
      style:
        top: 50%
        left: 30%
    - type: state-label
      entity: sensor.teplota_obyvak
      style:
        top: 70%
        left: 30%

Mobilní aplikace

Instalace:

  • Google Play / App Store: "Home Assistant"
  • Konfigurace: Nastavení → Integrace → Mobile App

Funkce:

  • Push notifikace
  • GPS tracking
  • Rychlé akce
  • Kamery na lock screenu

Integrace populárních zařízení

Shelly zařízení

# Automatická detekce přes mDNS
# Nebo manuálně:
switch:
  - platform: shelly
    host: 192.168.1.50
    name: Shelly zásuvka

# Pro Shelly Plus série:
# Nastavení → Integrace → Shelly

Philips Hue

# Automaticky detekováno
# Nebo:
hue:
  bridges:
    - host: 192.168.1.2
      allow_hue_groups: false
      allow_unreachable: true

Sonoff zařízení (Tasmota)

# MQTT integrace
mqtt:
  broker: 192.168.1.100
  username: mqtt_user
  password: mqtt_pass

switch:
  - platform: mqtt
    name: "Sonoff Basic"
    state_topic: "stat/sonoff1/POWER"
    command_topic: "cmnd/sonoff1/POWER"
    payload_on: "ON"
    payload_off: "OFF"

Xiaomi Gateway

xiaomi_aqara:
  discovery_retry: 5
  gateways:
    - key: GATEWAY_KEY
      host: 192.168.1.30

Bezpečnost a vzdálený přístup

HTTPS a SSL certifikáty

# configuration.yaml
http:
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem
  server_port: 8123

Let's Encrypt certifikát:

  1. Add-ons → Let's Encrypt
  2. Konfigurace s vaší doménou
  3. Start addon

Vzdálený přístup

Metoda 1: Nabu Casa (placená)

  • 5 USD/měsíc
  • Jednoduchá konfigurace
  • Podpora vývoje HA

Metoda 2: DuckDNS + Port forwarding

# Add-on DuckDNS
{
  "lets_encrypt": {
    "accept_terms": true,
    "certfile": "fullchain.pem",
    "keyfile": "privkey.pem"
  },
  "token": "your-duckdns-token",
  "domains": ["yourdomain.duckdns.org"]
}

Metoda 3: Cloudflare Tunnel

  • Žádný port forwarding
  • Zdarma
  • Vyšší bezpečnost

Zálohování

Automatické zálohy:

# Google Drive Backup add-on
{
  "days_to_retain": 7,
  "backup_time": "03:00",
  "backup_name": "HA-{date}",
  "exclude_folders": ["media", "tts"],
  "exclude_addons": []
}

Pokročilé funkce

Node-RED automatizace

Instalace: Add-ons → Node-RED

Výhody:

  • Vizuální programování
  • Komplexní logika
  • Debug možnosti

AppDaemon pro Python

# apps/hello.py
import appdaemon.plugins.hass.hassapi as hass

class HelloWorld(hass.Hass):
    def initialize(self):
        self.listen_state(self.motion_detected, "binary_sensor.motion")
        
    def motion_detected(self, entity, attribute, old, new, kwargs):
        if new == "on":
            self.turn_on("light.hall")
            self.run_in(self.turn_off_light, 300)
            
    def turn_off_light(self, kwargs):
        self.turn_off("light.hall")

Template senzory

sensor:
  - platform: template
    sensors:
      power_cost_today:
        friendly_name: "Dnešní náklady na energii"
        unit_of_measurement: "CZK"
        value_template: >-
          {{ (states('sensor.daily_energy')|float * 6.5)|round(2) }}
          
      home_occupancy:
        friendly_name: "Přítomnost doma"
        value_template: >-
          {% set people = [
            states('person.tomas'),
            states('person.jana')
          ] %}
          {{ 'home' if people|select('eq', 'home')|list|length > 0 else 'away' }}

Debugging a řešení problémů

Logy a diagnostika

# configuration.yaml
logger:
  default: info
  logs:
    homeassistant.components.shelly: debug
    homeassistant.components.mqtt: debug

Přístup k logům:

  • Nástroje pro vývojáře → Protokoly
  • SSH addon → ha logs

Časté problémy

Zařízení se odpojuje:

  1. Zkontrolujte WiFi sílu signálu
  2. Router reboot
  3. Reservace IP adresy

Automatizace nefunguje:

  1. Template nástroje pro testování
  2. Kontrola syntax YAML
  3. Trace automatizace

Vysoká spotřeba RAM:

  • Recorder konfigurace
  • Omezení historie
  • Cleanup databáze

Užitečné add-ony

Základní add-ony

  • File editor - editace konfigurace
  • Terminal & SSH - přístup k systému
  • Samba share - sdílení složek
  • Mosquitto MQTT - MQTT broker

Pokročilé add-ony

  • Node-RED - vizuální automatizace
  • Grafana - pokročilé grafy
  • InfluxDB - databáze časových řad
  • Frigate - AI detekce na kamerách

Příklady kompletních automatizací

Chytrý alarm

# Vstupní helper
input_boolean:
  alarm_home:
    name: Domácí alarm
    icon: mdi:shield-home

automation:
  - alias: "Alarm - aktivace"
    trigger:
      - platform: state
        entity_id: group.rodina
        to: "not_home"
        for: "00:05:00"
    action:
      - service: input_boolean.turn_on
        entity_id: input_boolean.alarm_home
      - service: notify.mobile_app_phone
        data:
          title: "Alarm aktivován"
          message: "Domácí alarm byl automaticky zapnut"
          
  - alias: "Alarm - narušení"
    trigger:
      - platform: state
        entity_id: binary_sensor.door_sensor
        to: "on"
    condition:
      - condition: state
        entity_id: input_boolean.alarm_home
        state: "on"
    action:
      - service: light.turn_on
        entity_id: all
        data:
          brightness: 255
      - service: notify.mobile_app_phone
        data:
          title: "🚨 ALARM!"
          message: "Detekováno otevření dveří!"
      - service: media_player.play_media
        entity_id: media_player.google_home
        data:
          media_content_id: "alarm_sound.mp3"
          media_content_type: "music"

Energetická optimalizace

automation:
  - alias: "Vypnutí stand-by spotřebičů"
    trigger:
      - platform: time
        at: "23:00:00"
    action:
      - service: switch.turn_off
        entity_id:
          - switch.tv_zasuvka
          - switch.pc_zasuvka
          - switch.printer_zasuvka
          
  - alias: "Nabíjení EV v noci"
    trigger:
      - platform: time
        at: "01:00:00"
    condition:
      - condition: numeric_state
        entity_id: sensor.car_battery
        below: 80
    action:
      - service: switch.turn_on
        entity_id: switch.ev_charger
      - delay: "06:00:00"
      - service: switch.turn_off
        entity_id: switch.ev_charger

Závěr

Home Assistant je mocný nástroj pro každého, kdo chce mít plnou kontrolu nad svou chytrou domácností. Ano, má to learning curve, ale výsledek stojí za to. Začněte jednoduchými automatizacemi a postupně rozšiřujte podle potřeb.

Doporučení pro začátek:

  1. Raspberry Pi 4 s Home Assistant OS
  2. Několik Shelly zásuvek/vypínačů
  3. Mobilní aplikace
  4. První jednoduché automatizace

Investice ~5000 Kč vám dá základ, který můžete rozšiřovat roky.

Související články

Reklama