Library implementing Zigpy quirks for ZHA in Home Assistant
Project description
ZHA Device Handlers For Home Assistant
ZHA Device Handlers are custom quirks implementations for Zigpy, the library that provides the Zigbee support for the ZHA component in Home Assistant.
ZHA device handlers bridge the functionality gap created when manufacturers deviate from the ZCL specification, handling deviations and exceptions by parsing custom messages to and from Zigbee devices. Zigbee devices that deviate from or do not fully conform to the standard specifications set by the Zigbee Alliance may require the development of custom ZHA Device Handlers (ZHA custom quirks handler implementation) to for all their functions to work properly with the ZHA component in Home Assistant.
Custom quirks implementations for zigpy implemented as ZHA Device Handlers are a similar concept to that of Hub-connected Device Handlers for the SmartThings Classics platform as well that of Zigbee-Shepherd Converters as used by Zigbee2mqtt, meaning they are virtual representation of a physical device that expose additional functionality that is not provided out-of-the-box by the existing integration between these platforms. See Device Specifics for details.
Contributing
Currently Supported Devices:
CentraLite
- Contact Sensor: CentraLite 3300-S
- Motion Sensor: CentraLite 3305-S
- Dimmer Switch: CentraLite 3130
- Water Sensor: CentraLite 3315-S
- Contact Sensor: CentraLite 3320-L
- Motion Sensor: CentraLite 3325-S
- Motion Sensor: CentraLite 3326-L
- Contact Sensor: CentraLite 3321-S
- Temperature / Humidity Sensor: CentraLite 3310-S
- Smart Button: CentraLite 3460-L
- Thermostat: CentraLite 3157100
Xiaomi Aqara
- Cube: lumi.sensor_cube.aqgl01
- Button: lumi.sensor_switch.aq2
- Vibration Sensor: lumi.vibration.aq1
- Contact Sensor: lumi.sensor_magnet.aq2
- Motion Sensor: lumi.sensor_motion.aq2
- Temperature / Humidity Sensor: lumi.weather
- Water Leak: lumi.sensor_wleak.aq1
Osram
SmartThings
- Arrival Sensor: tagv4
- Motion Sensor: MotionV4
- Multi Sensor: MultiV4
Keen Home
- Temperature / Humidity / Pressure Sensor: LUMI RS-THP-MP-1.0
Lutron
- Connected Bulb Remote: Lutron LZL4BWHL01 Remote
WAXMANN
- Water Sensor: leakSMART Water Sensor V2
Digi
- XBee Series 2: xbee
- XBee Series 3: xbee3
Yale
Configuration:
- Update Home Assistant to 0.85.1 or a later version.
NOTE: Some devices will need to be unpaired and repaired in order to see sensor values populate in Home Assistant.
Device Specifics:
Centralite
- All supported devices report battery level
- Dimmer Switch publishes events to Home Assistant
- Dimmer Switch temperature sensor is removed because it is non functional
- 3321-S reports acceleration
- 3310-S reports humidity
Osram
- Dimmer Switch publishes events to Home Assistant and reports battery level
- Dimmer Switch temperature sensor is removed because it is non functional
Xiaomi Aqara
- All supported devices report battery level
- All supported devices report temperature but I am unsure if it is correct or accurate
- Vibration sensor exposes a binary sensor in Home Assistant that reports current vibration state
- Vibration sensor sends
tilt
anddrop
events to Home Assistant - Cube sends the following events:
flip (90 and 180 degrees)
,rotate_left
,rotate_right
,knock
,drop
,slide
andshake
- Motion sensor exposes binary sensors for motion and occupancy.
- Button sends events to Home Assistant
SmartThings
- All supported devices report battery level
- tagV4 exposed as a device tracker in Home Assistant. The current implementation will use batteries rapidly
- MultiV4 reports acceleration
Lutron
- Connected bulb remote publishes events to Home Assistant
WAXMANN
- leakSMART water sensor is exposed as a binary_sensor with DEVICE_CLASS_MOISTURE
Digi XBee
- Some functionality requires a coordinator device to be XBee as well
- GPIO pins are exposed to Home Assistant as switches
- Outgoing UART data can be sent with
zha.issue_zigbee_cluster_command
service - Incoming UART data will generate
zha_event
event.
For example, the following script replies with an Assistant
string to the device once it receives a Home
string from it (replace ieee with your actual endpoint device ieee):
automation:
- alias: XBee UART Test
trigger:
platform: event
event_type: zha_event
event_data:
device_ieee: 00:13:a2:00:12:34:56:78
command: receive_data
args: Home
action:
service: zha.issue_zigbee_cluster_command
data:
ieee: 00:13:a2:00:12:34:56:78
endpoint_id: 232
cluster_id: 17
cluster_type: in
command: 0
command_type: server
args: Assistant
Yale
- All supported devices report battery level
Thanks
- Special thanks to damarco for the majority of the device tracker code
- Special thanks to Yoda-x for the Xioami attribute parsing code
- Special thanks to damarco and Adminiuga for allowing me to bounce ideas off of them and for listening to me ramble
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file zha-quirks-0.0.21.tar.gz
.
File metadata
- Download URL: zha-quirks-0.0.21.tar.gz
- Upload date:
- Size: 28.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cde8477cbb9aa954c1d13ba0eaaacf6cd192da4fc6759dc2ade14868a8cd865 |
|
MD5 | 620c6bca9d2a282a5d63e9158916ac75 |
|
BLAKE2b-256 | 1602464f16654717136dde962751bd907244a743d5b206e4b1d54bfa4e87a220 |
File details
Details for the file zha_quirks-0.0.21-py3-none-any.whl
.
File metadata
- Download URL: zha_quirks-0.0.21-py3-none-any.whl
- Upload date:
- Size: 76.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6206bb44e8f0023c07b4e96d5adcd211be8ec551cf750e7a5108dda14f2c15e |
|
MD5 | 19fb21564e291724a00d38c0a1bbd44c |
|
BLAKE2b-256 | 4d290ed5a1034be57f9b6253765af98495a76c651164601f3bde4c8306e915b5 |