Zigbee2MQTT
Athenalla ei ole omaa Zigbee2MQTT-integraatiota - eikä sitä tarvita. Zigbee2MQTT julkaisee oletuksena Home Assistantin oman MQTT-tunnistuskäytännön, ja Athenan MQTT-integraatio toteuttaa jo saman käytännön (sama, jota Tasmota, Shelly ja ESPHomen oma natiivi MQTT-komponentti puhuvat) - joten jokainen Zigbee- yhdyskäytävä ja -päätelaite, jota Zigbee2MQTT hallitsee, ilmestyy automaattisesti, kun molemmat osoittavat samaan brokeriin, ilman mitään Athena-kohtaista asetusta.
Zigbee2MQTT:n käyttöönotto
Ei paketoitu Athenan mukaan - aja se omana konttinaan sillä koneella, johon Zigbee-koordinaattori
(CC2531/CC2652/ConBee/Sonoff-tikku tms.) on fyysisesti kytketty. Athenan omassa repossa on jo
valmis docker-compose-zigbee2mqtt.yml (ja siihen kuuluvat
.env.zigbee2mqtt.example sekä configuration.yaml.example) - kopioi
kaikki kolme, täytä .env, ja siirry suoraan alla olevaan
configuration.yaml-vaiheeseen. Tai tallenna tämä katkelma omaksi
docker-compose.yml-tiedostoksi uuteen kansioon:
# docker-compose.yml - zigbee2mqtt, erillinen services: zigbee2mqtt: container_name: zigbee2mqtt image: ghcr.io/koenkk/zigbee2mqtt restart: unless-stopped volumes: - ./data:/app/data - /run/udev:/run/udev:ro ports: - '8080:8080' # Zigbee2MQTT:n oma web-käyttöliittymä - laiteparitus, verkkokartta environment: - TZ=Europe/Helsinki devices: # Käytä /dev/serial/by-id/... -polkua (ks. `ls /dev/serial/by-id/`), älä /dev/ttyACM0/ttyUSB0 - # tuo osoite voi vaihtua uudelleenkäynnistysten välillä, jos useampi USB-sarjasovitin on kytkettynä. - '/dev/serial/by-id/<oma-tikkusi>:/dev/ttyACM0'
Luo ennen ensimmäistä käynnistystä ./data/configuration.yaml, joka osoittaa
MQTT-brokeriin ja ottaa käyttöön Home Assistant -tyylisen tunnistuksen - tämä asetus saa laitteet
ilmestymään Athenaan automaattisesti, samaa käytäntöä joka on jo kuvattu
MQTT-sivulla:
# data/configuration.yaml homeassistant: true mqtt: server: 'mqtt://<oma-broker-isäntäsi>:1883' # user/password vain jos brokerisi vaatii tunnistautumisen - Athenan oma docker-compose-mqtt.yml # (ks. Asennus) sallii nimettömän pääsyn oletuksena, joten nämä voi jättää asettamatta.
Aja docker compose up -d (tai docker compose -f
docker-compose-zigbee2mqtt.yml up -d, jos käytät valmista tiedostoa, joka ei tunnistu
automaattisesti samaan tapaan kuin paljas docker-compose.yml), avaa sitten
http://<tuo-isäntä>:8080 paritataksesi Zigbee-laitteet verkkoon. Osoita sama
broker Athenan omaan
MQTT_BROKER_URL-arvoon (ks. Asennus) - jos
ajat jo docker-compose-mqtt.yml-tiedostoa toista MQTT-laitetta varten, Zigbee2MQTT
voi jakaa täsmälleen saman brokerin, toista ei tarvita.
Yllä oleva devices:-kartoitus lukitsee yhden tietyn tikun yhteen kiinteään
kontin puoleiseen laitesolmuun - Docker ratkaisee sen kerran kontin käynnistyessä, joten tikun
irrottaminen (tai vaihtaminen toiseen) ei ole taattu toimimaan ilman
docker compose up -d -komennon ajamista uudelleen. Oikeaa kuumavaihtotukea varten
liitä sen sijaan koko isäntäkoneen /dev ja myönnä asiaankuuluva laiteluokka (sama
kompromissi, joka on dokumentoitu Athenan omassa docker-compose.yml-tiedostossa sen
Zigbee EZSP -liitännälle), ja osoita configuration.yaml:n
serial.port suoraan vakaaseen by-id-polkuun paljaan /dev/ttyACM0:n
sijaan - kun koko isäntäkoneen /dev on näkyvissä, tuo symlinkki (ja mihin
todelliseen laitteeseen se osoittaa kytkennän jälkeen) näkyy myös kontin sisällä:
devices: - /dev:/dev device_cgroup_rules: - 'c 188:* rmw' # ttyUSB* - CP210x/CH340-tyyppiset sovittimet (jotkin CC2531-tikut) - 'c 166:* rmw' # ttyACM* - USB CDC-ACM (CC2652/ConBee/Sonoff-tyyppiset sovittimet)
Mitä ilmestyy
Kaikki, minkä Athenan oma MQTT-integraatio jo tunnistaa: anturit, binäärianturit, kytkimet, valot ja painikkeet, kaikki elävällä tilalla ja ohjauksella soveltuvin osin - katso MQTT täydelle listalle. Tämä on täsmälleen sama polku, jota Zigbee-laitteet kulkevat Home Assistantin omassa Zigbee2MQTT-integraatiossa, joten kaikki, mikä on dokumentoitu toimivaksi siellä MQTT-tunnistuksen kautta, toimii myös täällä.
Haluatko mieluummin oman omalla laitemallilla varustetun Zigbee-integraation Athenassa (liiketunnistus syöttää aluetunnistuksen läsnäoloa automaattisesti, verho-asentoliukusäätimet jne.)? Katso Zigbee (paljas EZSP-koordinaattori, ei erillistä palvelua) tai deCONZ (ConBee/RaspBee-yhdyskäytävä) - molemmat puhuvat suoraan Athenalle MQTT:n sijaan.