Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
projects:internetofthings:homeassistant [2017/09/23 08:38] – [hass] scipio | projects:internetofthings:homeassistant [2022/07/08 10:19] (current) – daniel | ||
---|---|---|---|
Line 27: | Line 27: | ||
<code bash> | <code bash> | ||
- | apt install python3 python3-venv incron mc | + | sudo apt install python3 python3-venv incron mc python3-dev libffi-dev libssl-dev |
- | python3 -m venv ~/lib | + | python3 -m venv ~/venv |
- | . ~/lib/ | + | . ~/venv/ |
- | echo " | + | echo " |
- | pip install -U pip | + | pip install -U pip wheel |
pip install homeassistant | pip install homeassistant | ||
</ | </ | ||
service | service | ||
- | <file txt / | + | <file txt / |
[Unit] | [Unit] | ||
- | Description=Home Assistant | + | Description=homeassistant |
After=network.target | After=network.target | ||
Line 44: | Line 44: | ||
Type=simple | Type=simple | ||
User=pi | User=pi | ||
- | ExecStart=/ | + | ExecStart=/ |
[Install] | [Install] | ||
Line 53: | Line 53: | ||
<code bash> | <code bash> | ||
systemctl daemon-reload | systemctl daemon-reload | ||
- | systemctl enable | + | systemctl enable |
</ | </ | ||
Line 62: | Line 62: | ||
git clone https:// | git clone https:// | ||
</ | </ | ||
- | |||
==== z-wave ==== | ==== z-wave ==== | ||
- | <file txt / | + | Installazione ZWave su raspberry pi |
- | SUBSYSTEM==" | + | |
- | </ | + | |
- | <code bash> | + | < |
- | sudo apt install cython3 libudev-dev python3-sphinx python3-setuptools | + | |
- | </code> | + | |
- | <code bash> | + | opzionale, rimuovere docker se si hanno installazioni vecchie: |
- | . ~/ | + | sudo apt-get purge -y docker-engine docker docker.io docker-ce docker-ce-cli |
- | pip install cython | + | sudo apt-get autoremove -y --purge docker-engine docker docker.io docker-ce |
- | </ | + | |
- | as normal user (no root) | ||
- | <code bash> | ||
- | . ~/ | ||
- | cd ~/ | ||
- | git clone --depth 1 https:// | ||
- | cd python-openzwave | ||
- | make build | ||
- | make install | ||
- | </ | ||
- | <code bash> | + | sudo apt update |
- | sudo apt install | + | sudo apt install |
- | cd ~/ | + | sudo apt install ca-certificates curl gnupg lsb-release |
- | git clone --depth 1 https://github.com/OpenZWave/open-zwave-control-panel.git | + | |
- | cd open-zwave-control-panel/ | + | sudo mkdir -p / |
- | # patch Makefile: see below | + | |
- | ln -s ~/lib/lib/python3.4/site-packages/libopenzwave-0.3.1-py3.4-linux-armv7l.egg/config | + | curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor |
- | make | + | |
+ | echo "deb [arch=$(dpkg | ||
+ | |||
+ | sudo apt-get update | ||
+ | sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin | ||
+ | (se ci sono errori dpkg, riprovare dopo un reboot) | ||
+ | |||
+ | sudo systemctl enable docker | ||
+ | sudo systemctl start docker | ||
+ | |||
+ | ls /dev/ | ||
+ | copiare il nome della chiavetta usb (es usb-0658_0200-if00) | ||
+ | |||
+ | mkdir zwave | ||
+ | cd zwave | ||
+ | wget https://raw.githubusercontent.com/ | ||
+ | nano docker-compose.yml | ||
+ | incollare il nome della chiavetta al posto di " | ||
+ | salvare | ||
+ | |||
+ | sudo docker compose up -d | ||
</ | </ | ||
- | patch Makefile | + | Visitare http:// |
+ | |||
+ | Andare sulle settings dal menu laterale | ||
+ | |||
+ | **Sezione Zwave** | ||
+ | |||
+ | serial port: lasciare /dev/zwave (la mappatura viene fatta dal docker compose) | ||
+ | |||
+ | generare tutte e 4 le chiavi, S2 e S0, premendo sui pulsanti con le frecce circolari | ||
+ | |||
+ | **Sezione general** | ||
+ | |||
+ | enable log | ||
+ | |||
+ | scorrere in basso | ||
+ | |||
+ | abilitare " | ||
+ | |||
+ | **Sezione Home Assistant** | ||
+ | |||
+ | Abilitare WS server | ||
+ | |||
+ | **Salvare** | ||
+ | |||
+ | Dall' | ||
+ | |||
+ | Inserire come url: | ||
< | < | ||
- | --- Makefile.orig 2017-01-05 08:32: | + | ws://localhost:3000 |
- | +++ Makefile 2017-01-05 08: | + | |
- | @@ -21,7 +21,7 @@ | + | |
- | | + | |
- | | + | |
- | + | ||
- | -OPENZWAVE := ../open-zwave/ | + | |
- | +OPENZWAVE := ../ | + | |
- | | + | |
- | + | ||
- | | + | |
- | @@ -34,15 +34,15 @@ | + | |
- | + | ||
- | # for Linux uncomment out next three lines | + | |
- | | + | |
- | -#LIBUSB := -ludev | + | |
- | -#LIBS := $(LIBZWAVE) $(GNUTLS) $(LIBMICROHTTPD) -pthread $(LIBUSB) -lresolv | + | |
- | +LIBUSB := -ludev | + | |
- | +LIBS := $(LIBZWAVE) $(GNUTLS) $(LIBMICROHTTPD) -pthread $(LIBUSB) -lresolv | + | |
- | + | ||
- | # for Mac OS X comment out above 2 lines and uncomment next 5 lines | + | |
- | #ARCH := -arch i386 -arch x86_64 | + | |
- | # | + | |
- | # | + | |
- | -LIBUSB := -framework IOKit -framework CoreFoundation | + | |
- | -LIBS := $(LIBZWAVE) $(GNUTLS) $(LIBMICROHTTPD) -pthread $(LIBUSB) $(ARCH) -lresolv | + | |
- | +#LIBUSB := -framework IOKit -framework CoreFoundation | + | |
- | +#LIBS := $(LIBZWAVE) $(GNUTLS) $(LIBMICROHTTPD) -pthread $(LIBUSB) $(ARCH) -lresolv | + | |
- | + | ||
- | | + | |
- | | + | |
</ | </ | ||
+ | Ora homeassistant è pronto per cercare nuovi dispositivi zwave, dalla schermata di configurazione dell' | ||
- | === z-wave panel control === | ||
- | <code bash> | + | ==== configurazioni z-wave vecchie ==== |
- | sudo systemctl stop home-assistant | + | |
- | cd ~/ | + | |
- | ./ozwcp -p 8888 | + | |
- | </ | + | |
- | open http://pi:8888 and initialize | + | TKB Home TZ10.XX |
- | <code bash> | + | <file txt / |
- | CTRL+C | + | SUBSYSTEM==" |
- | sudo systemctl start home-assistant | + | </ |
+ | |||
+ | Add to ~/ | ||
+ | near < | ||
+ | < | ||
+ | <Product type=" | ||
</ | </ | ||
+ | wenzhou/ | ||
+ | < | ||
+ | <?xml version=" | ||
+ | <Product xmlns=' | ||
+ | < | ||
+ | < | ||
+ | <!-- This thermostat' | ||
+ | < | ||
+ | <Value type=" | ||
+ | </ | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
===== reverse proxy ===== | ===== reverse proxy ===== | ||
Line 384: | Line 398: | ||
<code bash> | <code bash> | ||
sudo apt install incron | sudo apt install incron | ||
+ | </ | ||
+ | |||
+ | <code bash> | ||
+ | echo hass > / | ||
</ | </ | ||
Line 390: | Line 408: | ||
/ | / | ||
</ | </ | ||
+ | |||
+ | ===== grafana ===== | ||
+ | |||
+ | < | ||
+ | digraph G { | ||
+ | |||
+ | graph [rankdir = " | ||
+ | node [fontsize = " | ||
+ | edge [weight=1.0 | ||
+ | |||
+ | hass -> influxdb -> grafana -> browser | ||
+ | |||
+ | |||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | Add influxdb datasource{{ : | ||
+ | |||
+ | |||
+ | ===== alexa ===== | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | Modificare https:// | ||
+ | |||
+ | haaska.py gira come servizio sui lambda server amazon. Anziché leggere la configurazione (ad esempio bearer_token) da file, | ||
+ | prevedere una chiamata ad un web service esterno (ad esempio https:// | ||
+ | |||
+ | Sniffare i metodi: | ||
+ | * def get(self, endpoint): | ||
+ | * def post(self, endpoint, data, wait=False): |