DIY Smart Home

Elvárások

  • Legyen egyszerű kezelni
  • Legyen könnyen bővíthető
  • Legyen biztonságos
  • Legyen hibatűrő
  • Legyen kedvező árú
  • Ne legyen ronda :)

Kezelhetöség

Mobilon vagy webes felületen

Bövithetöség

Minden gyártó a saját megoldását használja.

Biztonság

BotNet of Things

2016-ot akár a Botnetek évének is lehetne tekinteni.

Alapértelmezett jelszavak, fix admin felhasználónevek

Hibatürés

Mi van ha porszem kerül a gépezetbe...?

  • Nincs net
  • Elromlik valami...
  • Lassú...

Árazás

occó...

Tervek

  • Ne legyen cloud
  • Egy rendszer kezeljen mindent
  • Legyen redundáns

A terv

A terv, egy részlete

No de mivel?

De én másik mellett döntöttem...

Home Assistant

Jelenleg 684 komponens, rengeteg támogatott eszközzel

Beüzemelés

Általam választott főbb komponensek

MQTT - mosquitto

Sonoff - Tasmota

Kezelöfelület

Tablet felület

Müködés

YAML beállítás

homeassistant:
  name: DEMO
  latitude: !secret home_latitude
  longitude: !secret home_longitude
  elevation: !secret home_elevation
  unit_system: imperial
  time_zone: America/New_York
  customize: !include misc/customize.yaml

frontend:

http:
  api_password: !secret api_password
  ssl_certificate: !secret ssl_certificate
  ssl_key: !secret ssl_key
  base_url: !secret base_url
  server_port: !secret server_port
  cors_allowed_origins:
    - https://google.com
    - https://home-assistant.io
  use_x_forwarded_for: True
  trusted_networks:
    - !secret trusted_ip
  ip_ban_enabled: True
  login_attempts_threshold: 5

updater:

discovery:

media_player:
  - platform: cast
  - platform: kodi
    host: !secret kodi_ip

conversation:

history:

recorder:
  purge_days: 7

logbook:

logger:
  default: info

ifttt:
  key: !secret ifttt_api

sun:

zwave:
  usb_path: /dev/ttyACM0
  config_path: /srv/homeassistant/src/python-openzwave/openzwave/config
  device_config: !include zwave_device_config.yaml

mqtt:
  broker: !secret mqtt_broker_ip
  port: !secret mqtt_port
  client_id: home-assistant-1
  username: !secret mqtt_username
  password: !secret mqtt_password
  discovery: true
  discovery_prefix: homeassistant

octoprint:
  host: !secret octoprint_ip
  api_key: !secret octoprint_api

emulated_hue:
  type: google_home
  listen_port: 80
  host_ip: !secret pi_ip
  expose_by_default: true
  exposed_domains:
    - light
    - switch
    - cover

ecobee:
  api_key: !secret ecobee_api

notify:
  - name: ecobee
    platform: ecobee
  - name: ben
    platform: html5
    gcm_api_key: !secret ben_gcm_api_key
    gcm_sender_id: !secret ben_gcm_sender_id

#### Not in Use Because of HTTPS
##panel_iframe:
##  octoprint:
##    title: 'OctoPrint'
##    url: !secret octoprint_ip_https
##    icon: mdi:printer-3d
##  router:
##    title: 'Router'
##    url: !secret router_ip_https
##    icon: mdi:router-wireless

cover:
  - platform: garadget
    covers:
        !secret garadget_id:
          username:  !secret garadget_username
          password:  !secret garadget_password
          name:  Garage Door
  - platform: mqtt
    state_topic: "bruh/blind1/cover/state"
    command_topic: "bruh/blind1/cover/command"
    name: "blinds1"
    qos: 0
    retain: true
    payload_open: "OPEN"
    payload_close: "CLOSE"
    payload_stop: "STOP"
    state_open: "OPEN"
    state_closed: "CLOSE"
    optimistic: false
    value_template: '{{ value }}'
    tilt_command_topic: "bruh/blind1/cover/tilt"
    tilt_state_topic: "bruh/blind1/cover/tilt-status"
    tilt_min : 0
    tilt_max: 200
    tilt_opened_value : 100
    tilt_closed_value : 0

hdmi_cec:
  platform: media_player
  devices:
    1: TV
    2:
      1: Chromecast
      2: KODI
      3: HA
      4: PC

device_tracker:
  - platform: owntracks
  - platform: locative
  - platform: nmap_tracker
    hosts: !secret nmap_ip

tts:
  - platform: google

###########SENSORS#####
alert: !include_dir_merge_named alerts/
input_boolean: !include misc/input_boolean.yaml
input_select: !include misc/input_select.yaml
input_slider: !include misc/input_slider.yaml
binary_sensor: !include_dir_list binary_sensors/
sensor: !include_dir_list sensors/
light: !include_dir_list lights/
shell_command: !include misc/shell_commands.yaml
switch: !include_dir_list switches/
script: !include_dir_merge_named scripts/
##automation: !include_dir_list automations/
group: !include groups.yaml
weather: !include_dir_list weather/
weblink: !include misc/weblinks.yaml
zone: !include_dir_list zones/
camera: !include_dir_list cameras/

#image_processing:
#  - platform: dlib_face_detect
#    source:
#     - entity_id: camera.octoprint

alarm_control_panel:
  - platform: manual

android_ip_webcam:
  # This should be the ip of your phone
  - host: !secret B6P_ip
    name: B6P
    username: !secret B6P_username
    password: !secret B6P_password

automation: !include automations.yaml
config:

Nem kell megijedni...

# Példa a Philips Hue bekötésére
# a configuration.yaml fájlban

light:
  platform: hue
  host: DEVICE_IP_ADDRESS

Automatizálás

Különböző eszközök között

Egy rövid példa

# Példa egy egyszerű automatizálásra:
# Ha lemegy a nap, felkapcsolja a fényeket

automation:
  alias: Turn on light when sun sets
  initial_state: True
  hide_entity: False
  trigger:
    platform: sun
    event: sunset
  action:
    service: light.turn_on

De van egyszerüvbb mód is...

Hasznos linkek

  • home-assistant.io
  • github.com/arendst/Sonoff-Tasmota
  • mqtt.org
  • mosquitto.org

Próbáld ki!

Wifi: diysmarthome
Jelszó: meetup

HomeAssistant:
homeassistant.local/

Kérdések?

Made with Slides.com