harpi
Toto je starší verze dokumentu!
HA Raspberry PI
- na čistý raspberry PI OS (bez desktopu) nainstalovat docker
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
- kontejnery mám propojeny přes vlastní network, protože default bridge, který by jinak stačil, neposkytuje preklad názvu kontejnerů na jejich IP adresu (viz komunikace_mezi_kontejnery)
Kontejner s HA
- data ve složce /home/pi/homeassistant
- DBus je potřeba pro bluetooth integraci
- je potřeba mít nainstalován BlueZ viz https://www.home-assistant.io/integrations/bluetooth
- doporučuje se používat dbus-broker místo dbus-daemon
apt install dbus-broker systemctl enable dbus-broker.service --now systemctl disable dbus.service
- po spuštění na
http://<host>:8123
pi@harpi:~ $ cat /home/pi/homeassistant/homeassistant.service [Unit] Description=Home Assistant Container After=docker.service Requires=docker.service [Service] Restart=always ExecStart=/usr/bin/docker run \ --rm \ --name homeassistant \ -e TZ=Europe/Prague \ -v /home/pi/homeassistant/config:/config \ -v /run/dbus:/run/dbus:ro \ -p 8123:8123 \ --network my-net \ ghcr.io/home-assistant/raspberrypi4-64-homeassistant:stable ExecStop=/usr/bin/docker stop homeassistant [Install] WantedBy=multi-user.target
- bacha.. musí být kvalitní napájení nebo se celé pi po spuštění HA zasekne :D
- instalace HACS
docker exec -it homeassistant /bin/bash
wget -O - https://get.hacs.xyz | bash -
- dříve se přidávalo přes configuration.yaml, teď už je to asi přes integraci (křičelo to, že to nemám přidávat ručně do yaml)
- v HACS jsem našel Local Tuya, ale není tam Tuya Local :D musí se přidat vlastní repo nebo kliknout na link v https://github.com/make-all/tuya-local
Bluetooth
Funguje správně?
- v journalctl home assistenta nebo ve web UI - system - logs je error:
2025-01-17 10:18:08.734 WARNING (MainThread) [bluetooth_auto_recovery.recover] Getting Bluetooth adapter failed hci0 [D8:3A:DD:96:0B:D9] because the system cannot create a bluetooth socket: Unable to open PF_BLUETOOTH socket 2025-01-17 10:18:08.735 WARNING (MainThread) [bluetooth_auto_recovery.recover] Could not find adapter with mac address D8:3A:DD:96:0B:D9 or hci0 2025-01-17 10:18:08.735 WARNING (MainThread) [bluetooth_auto_recovery.recover] Closing Bluetooth adapter hci0 [D8:3A:DD:96:0B:D9] failed: 'NoneType' object has no attribute 'detach'
- vypadá to, že v dockeru není přímý přístup k Bluetooth HW (přes ten PF_BLUETOOTH). Funguje pouze přístup přes dbus a nejde s tím nic udělat.
- HA (userspace) pry komunikuze s BlueZ pres dbus
- PF_BLUETOOTH je pro primy pristup k BT zarizeni, do kernelu
- primy pristup muze byt potreba napriklad pro reset zarizeni nebo urcite BLE skeny
- v HA bluetooth_auto_recovery.recover, coz je py skript, nejspis pybluez
- takhle jde ověřit, že PF_BLUETOOTH nefunguje
docker exec -it homeassistant /bin/bash hciconfig Can't open HCI socket.: Address family not supported by protocol python3 -c "import socket; socket.socket(socket.AF_BLUETOOTH, socket.SOCK_RAW, socket.BTPROTO_HCI)"
- takhle lze ověřit, že bluetooth přes D-BUS funguje
docker exec -it homeassistant /bin/bash bluetoothctl list Unable to open mgmt_socket Controller D8:3A:DD:96:0B:D9 harpi [default]
proč to píše to „Unable to open mgmt_socket“?
- přidání –privileged nepomohlo
- přes výpis /dev lze ověřit, že privilged zpřístupnil vše včetně /dev/ttyACM0
- když ale zapnu v kontejneru nebo na hostovi scan, tak se to v HA zobrazí :D
- nejspíš ta hláška souvisí s PF_BLUETOOTH?
bluetoothctl scan on
- ale i tak to funguje divně :D
- doporučuje se používat spíš Bluetooth proxy přes ESP Home
Kontejner s MQTT
mkdir -p /home/pi/mosquitto/config /home/pi/mosquitto/data /home/pi/mosquitto/log
vim /home/pi/mosquitto/config/mosquitto.conf persistence true persistence_location /mosquitto/data/ log_dest file /mosquitto/log/mosquitto.log listener 1883 allow_anonymous false password_file /mosquitto/config/passwordfile
docker run -it --rm -v /home/pi/mosquitto/config:/mosquitto/config eclipse-mosquitto mosquitto_passwd -c /mosquitto/config/passwordfile z2m
pi@harpi:~ $ cat mosquitto/mosquitto.service [Unit] Description=Mosquitto MQTT Broker Container After=docker.service Requires=docker.service [Service] Restart=always ExecStart=/usr/bin/docker run \ --rm \ --name mosquitto \ -v /home/pi/mosquitto/config:/mosquitto/config \ -v /home/pi/mosquitto/data:/mosquitto/data \ -v /home/pi/mosquitto/log:/mosquitto/log \ --network my-net \ eclipse-mosquitto ExecStop=/usr/bin/docker stop mosquitto [Install] WantedBy=multi-user.target
Kontejner s Zigbee2mqtt
- data ve složce /home/pi/zigbee2mqtt
- je třeba zjistit path k USB adaptéru a doplnit do docker
cat /home/pi/zigbee2mqtt/zigbee2mqtt.service [Unit] Description=Zigbee2MQTT Container After=docker.service Requires=docker.service [Service] Restart=always ExecStart=/usr/bin/docker run \ --rm \ --name zigbee2mqtt \ --device=/dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20230221110549-if00:/dev/ttyACM0 \ -v /home/pi/zigbee2mqtt/data:/app/data \ -v /run/udev:/run/udev:ro \ -e TZ=Europe/Prague \ -p 8080:8080 \ --network my-net \ koenkk/zigbee2mqtt ExecStop=/usr/bin/docker stop zigbee2mqtt [Install] WantedBy=multi-user.target
configuration.yaml
- je třeba nastavit device
- mám adaptér Sonoff ZBDongle-E V2, měl jsem firmware EZSP 6.4.x
- ale EZSP prý končí a nahrazuje ho ember
- do konfigurace jsem tedy přidal typ ember a musel jsem i boudrate
- naflashoval jsem ncp-uart-hw-v7.4.4.0-zbdonglee-230400.gbl přes universal-silabs-flasher
serial: port: /dev/ttyACM0 adapter: ember baudrate: 230400
- Zigbee síť se inicializuje automaticky
- je třeba nastavit parametry MQTT serveru v configu
- přidat
user:apassword:
TODO
- ze tuya integrace nenajdou zařízení skenem, protože kontejner je v jiné síti
- zapsat, kde je jaká konfigurace HA
- hlavně ten .storage a že to jde klidně copy pastnout
harpi.1745193728.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
