Changes since 3.0.0.
Fixed
- Handle plain-text MQTT state payloads such as
ONandOFFwithout crashing HomeKit conversion (#162). - Use the current Zigbee2MQTT Permit Join request API to start and stop pairing (#163).
- Forward Zigbee2MQTT
tampervalues to the HomeKit occupancy sensor while preserving output when the field is absent (#166). - Preserve cached device properties when MQTT sends a partial state update (#169).
- Refresh device and group inventories from retained MQTT topics when requested in the editor (#170).
- Reject blank group names and trim surrounding whitespace (#171).
- Normalize dynamic color command payloads while keeping already wrapped payloads intact (#168).
Added and improved
- Generate clearer default labels for Out nodes from the selected action, device, and endpoint, while preserving custom names (#164).
- Add the Zigbee2MQTT blind
tiltcommand with numeric payload conversion (#165). - Offer device-specific writable exposes in the Out node command menu, including enum and binary values and fractional numeric payloads (#167).
- Route Out-node commands using a full
msg.topicdevice/setor endpoint/<endpoint>/settopic, while retaining device-only routing (#172).
Documentation and locales
- Add complete editor translations for Russian, Spanish, German, and Simplified Chinese, and complete and align the Slovak translations across all five nodes (#173).
- Clarify Out-node
msg.topicrouting and multiple-device controls, add missing labels, and fix the Get node's malformed translation reference. The English README was reviewed and remains current (#172, #173).
Tests
- Add regression coverage for the fixes and output-node features above. The existing CI workflow runs the test suite and npm package-content check on Node.js 22 and 24.