* Added function to override payloads for non-conforming devices
* override implementation for Bosch BTH-RA
* unit test including mockup for this device
* Experimental and broken integration of overrideHaConfig
* Not working experiments; mqtt publish debug output
* fixes
* Updates
* fix
---------
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
* fix: OTA loses version info for develco/frient
This fix is not perfect, as it will still print that it got updated from null to null.
We just moved the reconfigure later, which will trigger this https://github.com/Koenkk/zigbee-herdsman-converters/blob/000041cba216822dab151151c493b560678da91a/src/devices/develco.ts#L36
for develco/frient devices that have it in their configure. (Which should be all of them)
Of note though, ZCL marks both dateCode and swBuildId as optional attributes, so Develco/Frient returning UNSUPPORTED_ATTRIBUTE here is not outside of spec. Although I'm not sure there is a cleaner way to do this.
* Update otaUpdate.test.js
* Update otaUpdate.ts
---------
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
'occupancy' matches the zigbee terminology more closely and is more
consistent with other Home Assistant entities of this type.
https://www.home-assistant.io/integrations/binary_sensor/
In general, it looks like 'motion' is more for alarms, and 'occupancy'
for non-alarm situations. Z2M currently makes no distinction between
these concepts, but they could be separated (with a fair amount of work).
* feat: add api for device re-interview
- Adds an API that allows for the re-interview of a device. This can be
useful a device firmware upgrade adds new device endpoints (as is the case
when upgrading an Inovelli VZM31-SN to 2.18). Without the ability to
re-interview, one must remove and re-add the device.
* rename from reinterview to interview
* publish devices after interview.
* only allow device ids or names, not endpoints
* (feat) Expose Custom Clusters in MQTT
- Introducing bridge/definitions
- Updating test case for custom clusters
- Updating new path after ZCL revamp with 0.47.0
This change is needed for nurikk/zigbee2mqtt-frontend#2001
* Fixing test case
* Update lib/model/device.ts
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
* Update test/bridge.test.js
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
* Removing the publishDefinition call from some events. updating tests
---------
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
* Add function resolveEntityByID() function as an improved alternative for parseEntityID()
* Port deviceGroupMembership.ts from parseEntityID() to resolveEntityByID()
* Migrade groups.ts from parseEntityID() to resolveEntityByID()
* Improve test coverage on groups functionality
* Migrate from parseEntityID() to resolveEntityByID() for bridge functionality
* Migrate from parseEntityID() to resolveEntityByID() for bind functionality
* Finally get rid of parseEntityID() function
* Fix linter issues
* Move resolveEntityAndEndpoint() function to zigbee.ts
---------
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>
* Add endpoint matching based on the endpoint names list in the device definition
* Cleanup debug prints
* Correct creating endpoint names list, filter out null elements
* Correct test due to slightly changed behavior
* Fix endpoint name lookup when converter does not provide full name-to-id mapping
* Simplify topic name matching
* Remove obsolete branches, improve code coverage
* Make linter happy
* Make linter happy
* Remove dependency on endpoint names while removing device from all groups
* Get rid of predefined list of endpoints when processing group state update
---------
Co-authored-by: Koen Kanters <koenkanters94@gmail.com>