Zigbee USB dongle – Zigbee2MQTT

Om Zigbee devices te kunnen gebruiken met Home Assistant is het noodzakelijk om een Zigbee gateway te installeren waarmee Zigbee devices hun status kunnen doorgeven aan Home Assistant, al dan niet met behulp van MQTT.

Sonoff heeft een ZB-Bridge (vergelijkbaar met de gateway van o.a. Lidl) waarmee Zigbee naar WiFi overgezet kan worden maar dan ben je dus afhankelijk van je WiFi netwerk. Een alternatief is een USB dongle op de Home Assistant server waardoor Zigbee direct ingelezen kan worden.

Momenteel is een USB dongle met de EFR32MG21 chip het aanbevolen type en Nabu Casa heeft deze beschikbaar als ‘Home Assistant Skyconnect‘. De Skyconnect zal met een firmware upgrade ook het nieuwe Matter (Thread) protocol ondersteunen.

Sonoff heeft dezelfde chip in een USB dongle op hun site staan, de Dongle Plus-E.

.

Om de meeste configuratie instellingen eenvoudig te houden is er de Zigbee2MQTT applicatie die de Zigbee devices met een topic in MQTT publiceert en als sensors in Home Assistant gebruikt kunnen worden.

Zigbee2MQTT kan als add-on in Home Assistant (OS) gebruikt worden of als stand-alone applicatie, eventueel op een andere host. Wat nodig is voor Zigbee2MQTT is in ieder geval:

Bron: https://github.com/Koenkk/zigbee2mqtt

Het meest eenvoudig is om met Home Assistant OS de add-on’s ‘Mosquitto Broker‘ en ‘Zigbee2MQTT‘ te installeren. De Mosquitto Broker is standaard al aanwezig in de repository,

voor Zigbee2MQTT dient de repository ‘https://github.com/zigbee2mqtt/hassio-zigbee2mqtt‘ toegevoegd te worden. De installatie instructies vind je hier.

Eenmaal geïnstalleerd kan Zigbee2MQTT beheerd worden via een web-portal.

Toevoegen van een Zigbee device is eenvoudig: Kies rechtsboven voor “Aanmelden toestaan” en zet het device in pair-modus. Eenmaal gedetecteerd kan de naam aangepast worden en is het device bekend binnen Zigbee2MQTT en (dus) ook als topic in de Mosquitto Broker.

De “Eenvoudige naam” wordt gebruikt als topic, samen met ‘zigbee2mqtt’, bijvoorbeeld de Watermelder1 wordt als topic: “zigbee2mqtt/Watermelder1“.

Binnen Home Assistant worden de devices automatisch via MQTT aangemaakt en zo zijn er bv sensors, binary_sensors, lights, etc voor de Zigbee devices.

Mocht je de status van devices willen aanpassen dan kan dat met een template. Deze kan dan in Home Assistant gebruikt worden als sensor of binairy_sensor waarbij de “water_leak” data de status is. Hieronder een voorbeeld:

Een voorbeeld van een mqtt-configuratie voor Home Assistant:

binary_sensor:
  - name: "Watermelder1"
    unique_id: "Watermelder1"
    state_topic: "zigbee2mqtt/Watermelder1"
    value_template: >-
      {% if value_json.water_leak == true %}
        {{'Water gedetecteerd'}}
      {% else %}
        {{'Droog'}}
      {% endif %}
    device_class: moisture
    qos: 1

De sensor kan hierna gebruikt worden in automatisering(en) en de status kan op een dashboard getoond worden.

Voor de deur-sensor ziet de MQTT code er als volgt uit:

sensor:  
  - name: "DemoDeur"
    unique_id: "DemoDeur"
    state_topic: "zigbee2mqtt/DemoDeur"
    value_template: >-
      {% if value_json.contact == true %}
        {{'Dicht'}}
      {% else %}
        {{'Open'}}
      {% endif %}
    qos: 1

En deze kan dan ook in een dashboard weergegeven worden en uiteraard in een automatisering zoals het alarm_panel opgenomen worden.