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.