# Zigbee — Zigbee2MQTT + ZHA + HA Connect ZBT-2

## Overview

Zigbee is the primary short-range wireless protocol for sensors and smart plugs. The home uses a single **HA Connect ZBT-2** USB stick as the Zigbee coordinator, running **Zigbee2MQTT** (the primary active stack). ZHA is also installed but is **disabled by the user** to avoid coordinator conflicts.

## Hardware

| Component | Details |
|---|---|
| Coordinator | Home Assistant Connect ZBT-2 (Nabu Casa) |
| IEEE Address | `44:e2:f8:ff:fe:8c:7d:98` |
| Firmware | EmberZNet Zigbee 7.5.1.0 |
| Active Stack | Zigbee2MQTT 2.12.0 |
| Disabled Stack | ZHA (disabled_by: user) |

## Zigbee2MQTT

**Add-on version:** 2.12.0-1 | **Bridge device:** `723747744690709ec853190a975e567b`

Zigbee2MQTT communicates via the **Mosquitto MQTT broker** add-on. All Zigbee device data flows through MQTT topics.

### Zigbee2MQTT Devices

| Device | Manufacturer | Model | Area |
|---|---|---|---|
| Zigbee2MQTT Bridge | Zigbee2MQTT | Bridge | (system) |
| Bedroom Gen1 Soil Sensor | Third Reality | Smart Soil Moisture Sensor | (unassigned) |
| Living Room Gen1 Soil Sensor | Third Reality | Smart Soil Moisture Sensor | (unassigned) |
| Media Room Gen1 Soil Sensor | Third Reality | Smart Soil Moisture Sensor | (unassigned) |
| Outdoor1 Gen2 Soil Sensor | Third Reality | Smart Soil Moisture Sensor Gen2 | (unassigned) |
| Outdoor2 Gen2 Soil Sensor | Third Reality | Smart Soil Moisture Sensor Gen2 | (unassigned) |
| Outdoor3 Gen2 Soil Sensor | Third Reality | Smart Soil Moisture Sensor Gen2 | (unassigned) |
| Generic Gen2 Soil Sensor | Third Reality | Smart Soil Moisture Sensor Gen2 | (unassigned) |
| Living Room 4 Button Switch | Tuya | Wireless 4-button switch | Living Room |
| Christmas Lights Living Room | Third Reality | Zigbee/BLE smart plug | (unassigned) |
| Upstairs Hallway Switch | Third Reality | Zigbee/BLE smart plug | (unassigned) |

**Bridge entities:**
- `switch.zigbee2mqtt_bridge_permit_join` — enable Zigbee device pairing
- `binary_sensor.zigbee2mqtt_bridge_connection_state`
- `sensor.zigbee2mqtt_bridge_signal_level` (Bar Shelves sensor)

### Soil Sensors

Third Reality soil moisture sensors are the backbone of the **Plants dashboard**. They report temperature, humidity, and soil moisture levels.

| Sensor | Generation | IEEE |
|---|---|---|
| Bedroom Gen1 | Gen1 (3RSM0147Z) | `0xffffb40e0605ce4d` |
| Living Room Gen1 | Gen1 (3RSM0147Z) | `0xffffb40e0605cc50` |
| Media Room Gen1 | Gen1 (3RSM0147Z) | `0xffffb40e0605e062` |
| Outdoor1 Gen2 | Gen2 | `0x7c3e82d6dc780000` |
| Outdoor2 Gen2 | Gen2 | `0x7c3e82d6f52a0000` |
| Outdoor3 Gen2 | Gen2 | `0x7c3e82d716ef0000` |
| Generic Gen2 | Gen2 | `0x7c3e82d6f3ff0000` |

> These sensors also have ZHA registrations (Soil Sensor 1, 2, 3) — this is because the same coordinator serves both Zigbee2MQTT and ZHA paths, but ZHA is disabled. The ZHA sensor entities may appear but are likely inactive.

## ZHA (Disabled)

ZHA is configured but **disabled by the user** (`disabled_by: user`). The original entry `01KGV9QD6568DF9P3S4JQE53X8` (HA Connect ZBT-1) is not loaded.

A second ZHA entry for the ZBT-2 (`homeassistant_connect_zbt2` hardware integration) is loaded but only provides the hardware device — Zigbee traffic goes through Zigbee2MQTT.

## Notes / Gotchas

- Do not enable ZHA while Zigbee2MQTT is active — both cannot share the same coordinator simultaneously.
- The `permit_join` switch should be turned off when not actively pairing devices (security best practice).
- Third Reality Gen1 soil sensors (3RSM0147Z) appear in both ZHA device registry (paired historically) and Zigbee2MQTT — the active entities are the Zigbee2MQTT ones.
- Upstairs Hallway Switch (Third Reality Zigbee plug) acts as a Zigbee mesh router, extending coverage to the 3rd floor.
- Christmas Lights Living Room (Third Reality plug) is seasonal and may be physically disconnected.

## Last Updated

2026-06-24