All Projects → egermano → Open Home

egermano / Open Home

Licence: apache-2.0
Projeto de automação residencial usando softwares e hardwares open source.

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Open Home

amshan-homeassistant
Home Assistant integrasjon for strømmålere (AMS/HAN/P1). Integrasjonen støter både streaming (serieport/TCP-IP) og MQTT (Tibber Pulse, energyintelligence.se etc)
Stars: ✭ 39 (-4.88%)
Mutual labels:  home-automation, mqtt, home-assistant
Hassio Zigbee2mqtt
Hass.io add-on for zigbee2mqtt
Stars: ✭ 547 (+1234.15%)
Mutual labels:  home-assistant, home-automation, mqtt
M5Stack-Air-Quality-ESPHome
ESPHome configuration for M5Stack's PM2.5 Air Quality Kit with the PMSA003 particulate matter sensor and the SHT20 temperature and humidity sensor
Stars: ✭ 19 (-53.66%)
Mutual labels:  home-automation, mqtt, home-assistant
Home Assistant
Home-Assistant-Config
Stars: ✭ 182 (+343.9%)
Mutual labels:  home-assistant, home-automation, mqtt
Zigbee2mqttassistant
GUI for Zigbee2Mqtt running in docker and HASS.IO
Stars: ✭ 371 (+804.88%)
Mutual labels:  home-assistant, home-automation, mqtt
texecom2mqtt-hassio
Home Assistant add-on. Connect to Texecom Premier Elite alarm panels and publish updates to MQTT. Supports arming/disarming as well as zone updates and alarm events.
Stars: ✭ 15 (-63.41%)
Mutual labels:  home-automation, mqtt, home-assistant
Open Home Automation
Open Home Automation with Home Assistant, ESP8266/ESP32 and MQTT
Stars: ✭ 820 (+1900%)
Mutual labels:  home-assistant, home-automation, mqtt
Android Mqtt Alarm Panel
Android Alarm Panel for Home Assistant and Home Automation Platforms (http://thanksmister.com/android-mqtt-alarm-panel/)
Stars: ✭ 124 (+202.44%)
Mutual labels:  home-assistant, home-automation, mqtt
Harmony Api
🗼 A simple server allowing you to query/control multiple local Harmony Home Hubs over HTTP or MQTT
Stars: ✭ 345 (+741.46%)
Mutual labels:  home-assistant, home-automation, mqtt
Esphome
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Stars: ✭ 4,324 (+10446.34%)
Mutual labels:  home-assistant, home-automation, mqtt
Openmqttgateway
MQTT gateway for ESP8266, ESP32, Sonoff RF Bridge or Arduino with bidirectional 433mhz/315mhz/868mhz, Infrared communications, BLE, Bluetooth, beacons detection, mi flora, mi jia, LYWSD02, LYWSD03MMC, Mi Scale, TPMS, BBQ thermometer compatibility, SMS & LORA.
Stars: ✭ 2,413 (+5785.37%)
Mutual labels:  home-assistant, home-automation, mqtt
Miflora Mqtt Daemon
Linux service to collect and transfer Xiaomi Mi Flora plant sensor data via MQTT to your smart home system, with cluster support 🌱🌼🥀🏡🌳
Stars: ✭ 409 (+897.56%)
Mutual labels:  home-assistant, home-automation, mqtt
Home Assistant Config Fr
🏠Configuration de Home Assistant en français. 👨🏻‍💻 N'hésitez pas à ⭐ mon repo et à copier les bonnes idées ! 🇨🇵
Stars: ✭ 175 (+326.83%)
Mutual labels:  home-assistant, home-automation, mqtt
soma-ctrl
Node util for controlling SOMA smart shade via MQTT or HTTP
Stars: ✭ 19 (-53.66%)
Mutual labels:  home-automation, mqtt, home-assistant
Temper Esp8266
Temper is a compact temperature sensor based on ESP8266 and SHT30 with large 13x7 pixel led display.
Stars: ✭ 155 (+278.05%)
Mutual labels:  home-assistant, home-automation, mqtt
Kmansonoff
Firmware for ESP8266 based itead Sonoff switches for use with HomeAssistant / mqtt
Stars: ✭ 282 (+587.8%)
Mutual labels:  home-assistant, home-automation, mqtt
Loadcelloccupany
Home automation occupancy sensor using load cells
Stars: ✭ 103 (+151.22%)
Mutual labels:  home-assistant, home-automation, mqtt
Itead sonoff
Alternative firmware for Itead Sonoff switches, based on the MQTT protocol and a TLS connection
Stars: ✭ 115 (+180.49%)
Mutual labels:  home-assistant, home-automation, mqtt
Awesome Home Assistant
A curated list of amazingly awesome Home Assistant resources.
Stars: ✭ 3,487 (+8404.88%)
Mutual labels:  home-assistant, home-automation, mqtt
Homeassistant
Home Assistant Configuration Files and Documentation
Stars: ✭ 395 (+863.41%)
Mutual labels:  home-assistant, home-automation, mqtt

Automação residencial com hardware e software open Build Status

Introdução

Esse é um projeto de automação residência que usa, em sua maioria, apenas hardware e software open-source, isso é chamado por OpenHome. Aqui você vai ver como ter uma central que gerencia todos os seus devices, ou coisas, e também como montar, programar e automatizar algumas coisas para a sua casa.

Automação

Automação é um sistema que emprega processos automáticos que comandam e controlam os mecanismos para seu próprio funcionamento. Esta palavra tem origem no grego autómatos que significa mover-se por si ou que se move sozinho.

O objetivo aqui é criar alguns projetinhos de internet das coisas (IoT), e automatizar eles, criar comandos remotos, coletar dados e fazer com que as coisas aprendam a se automatizar.

Instlação do controlador

O projeto inteiro da OpenHome vai ser controlado pelo Home Assistant, uma plataforma de automação residencial open-source feita em Python 3.

Você vai precisar

  • 1 Raspberry Pi ou C.H.I.P
  • Roteador WiFi
  • Um computador com SSH

Home Assistant

É uma plataforma open-source de automação residencial feita em Python 3. Ele vai ser como um sistema operacional para a sua casa.

Se você está usando um Raspberry Pi você pode usar a a instalação completa (All-In-One Installer), as instruções estão aqui. Recentemente eles também lançaram uma imagem para Rpi, se vc quiser saber mais.

Continuando a instalação passo a passo. Antes de mais nada precisamos atualizar o sistema, instalar o Python e todas as dependências.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python-pip python3-dev
sudo pip install --upgrade virtualenv

Depois criamos um novo usuário, hass, ele é quem vai executar o Home Assistant. Essa é uma boa pratica de segurança, para não expor o resto do seu sistema controlando acessos e permissões.

sudo adduser --system hass

Vamos criar uma pasta para a instalação do Home Assistant e mudamos o dono da pasta para o nosso novo usuário.

sudo mkdir /srv/hass
sudo chown hass /srv/hass

Vamos logar com o novo usuário e configurar o ambiente do Python (virtualenv) na pasta que acabamos de criar. Essa é uma boa prática para você não zuar o ambiente de outros aplicativos que já estão rodando no seu computador com as dependências.

sudo su -s /bin/bash hass
virtualenv -p python3 /srv/hass
source /srv/hass/bin/activate

Agora sim vamos a instalação do Home Assistant,

pip3 install --upgrade homeassistant

Por fim vamos executar o Home Assistant,

sudo -u hass -H /srv/hass/bin/hass

Para iniciar o Home Assistant no boot, sempre que seu computador ligar, vamos precisar criar um serviço para o systemd. Mas alguém já fez isso, é só fazer download e instalar o serviço.

sudo wget https://raw.githubusercontent.com/egermano/open-home/master/autostart/systemd/home-assistant.service -O /etc/systemd/system/[email protected]

Como a gente criar um usuário para executar o Home Assistant Vamos precisar fazer uma pequena modificação no serviço. Precisamos subistituir /usr/bin/hass por /srv/hass/bin/hass. A linha que você vai precisar alterar se parece com isso: ExecStart=/srv/hass/bin/hass --runner.

sudo nano /etc/systemd/system/[email protected]

Precisamos reiniciar o nosso serviço no systemd para que ele utilize essas novas configurações.

sudo systemctl --system daemon-reload
sudo systemctl enable [email protected]
sudo systemctl start [email protected]

No futuro, se você precisar atualizar o Home Assistant é só usar esses comandos:

sudo su -s /bin/bash hass
source /srv/hass/bin/activate
pip3 install --upgrade homeassistant

Arquivos importantes:

  • Configuração: /home/hass/.homeassistant/configuration.yaml
  • Logs: /home/hass/.homeassistant/home-assistant.log

A minha configuração completa está disponível aqui.

Referências:

Mosquitto MQTT broker

Para instalar a última versão do Mosquitto, precisamos usar o repositório deles.

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key add mosquitto-repo.gpg.key

Aí tornamos o repositório deles disponível para o apt e atualizamos ele com as novas informações.

cd /etc/apt/sources.list.d/
sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list
sudo apt-get update

Só depois podemos instalar o mosquitto e o cliente dele para testarmos a instalação.

sudo apt-get install mosquitto mosquitto-clients

O protocolo MQTT suporta as funcionalidades de autenticação e ACL para proteger e tornar mais seguro o uso. Para criar e configurar um usuário nós usamos o aplicativo mosquitto_passwd.

Então vamos criar o usuário do Home Assistant.

cd /etc/mosquitto/conf.d/
sudo touch pwfile
sudo mosquitto_passwd pwfile ha

E para configurar as permissões de publishing/subscribing, nos precisamos criar o aclfile, que vai configurar para cada usuário as permissões de tópicos que ele tem acesso.

cd /etc/mosquitto/conf.d/
sudo touch aclfile

Exemplos de ACL:

user ha
topic write sala/luz1/switch
topic write sala/luz2/switch
...
topic read sala/luz1/switch
topic read sala/luz2/switch

Aqui o usuário ha vai poder ler e excrever no tópicos: sala/luz1/switch e sala/luz2/switch.

Recomendo que você coloque mais um nível de segurança no seu mosquitto, TLS, assim além do usuário e senha e o ACL você coloca ele com um certificado de segurança. Veja aqui as instruçõe para fazer isso com o seu.

allow_anonymous false
password_file /etc/mosquitto/conf.d/pwfile
acl_file /etc/mosquitto/conf.d/aclfile
listener 8883 (optional)
cafile /etc/mosquitto/certs/ca.crt (optional)
certfile /etc/mosquitto/certs/raspberrypi.crt
keyfile /etc/mosquitto/certs/raspberrypi.key (optional)

Para configurar o Home Assistant utilizar o protocolo MQTT você só precisa adicionar essas informações na configuração.

mqtt:
  broker: 'localhost' #127.0.0.1
  port: 8883 #1883
  client_id: 'ha'
  username: 'ha'
  password: '[SUA-SENHA]' (optional)
  certificate: '/etc/mosquitto/certs/ca.crt' (optional)

Arquivos importantes:

  • Configuração: /etc/mosquitto/conf.d/mosquitto.conf
  • Logs: /var/log/mosquitto/mosquitto.log

Minha configuração completa está disponível aqui.

Referências:

Essa é a instalação básica do Home Assistant com o Mosquitto. Agora você pode instalar mais componentes, todos os componentes que eu estou usando estão aqui

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].