ffenix113 / zigbee_home

Project to provide functionality similar to ESPHome but for Zigbee instead of WiFi for nRF52
https://ffenix113.github.io/zigbee_home/
GNU General Public License v3.0
528 stars 10 forks source link

Support for other sensors #17

Open lucaci32u4 opened 9 months ago

lucaci32u4 commented 9 months ago

Hi, I find your project really useful for building custom home automation on zigbee.

I'd like to contribute by implementing more sensor/actuator support. I'm especially interested in rotary encoders as sensors and light outputs. I suppose interrupt support for encoders would be useful, but will this break any other parts of the application?

Any pointers where I should start to look to implement these?

Hedda commented 9 months ago

Could sensor components be ported from ESPHome?

https://esphome.io/

https://github.com/esphome/esphome

Also check out the code for the projects linked in this discussion:

https://github.com/ffenix113/zigbee_home/discussions/15

These DIY device projects use other custom Zigbee firmware with different sensors:

https://github.com/rbaron/b-parasite

https://github.com/diyruz

https://www.tindie.com/stores/diyberk/

https://github.com/mattlokes/zwallremote

https://github.com/MattWestb/DIY-ZigBee-smoke-dektor

https://databyte.ch/project/

https://github.com/pvvx/ZigbeeTLc

https://www.zigbee2mqtt.io/supported-devices/#v=Custom%20devices%20(DiY)

ffenix113 commented 9 months ago

Hello, Thank you for the question and interest in this project!

For now adding new sensors could fall into one of two categories based on the fact if the sensor is supported(or otherwise has drivers) for Zephyr:

In both cases the sensor should also have Zigbee cluster(s) defined, and that could also be something that should be implemented, if necessary cluster is not yet available.

I will add a section on support for new sensors and will update this issue to add a link to it.

Could sensor components be ported from ESPHome?

Not directly, at least. ESPHome uses C++, while currently this project is C. I also have plans to switch to C++ for zigbee_home, but have higher priorities for now. I think that with some compatibility layer from ESPHome it should be doable otherwise.

ffenix113 commented 9 months ago

For near future this will be the doc on supporting new sensors: https://ffenix113.github.io/zigbee_home/sensors/supporting_new_sensors/

It is not complete, as I want to try and describe as much as possible related to supporting sensors, so keep an eye on updates.