arduino-esp32 icon indicating copy to clipboard operation
arduino-esp32 copied to clipboard

More Zigbee examples for ESP32-C6

Open jorisvervuurt opened this issue 10 months ago • 32 comments

Related area

Zigbee

Hardware specification

ESP32-C6

Is your feature request related to a problem?

There is just two (pretty much hidden - not visible in Arduino IDE examples list) examples regarding Zigbee on the ESP32-C6. I would like some more examples, especially for a temperature, humidity, pressure and CO2 sensor.

Describe the solution you'd like

There is just two (pretty much hidden - not visible in Arduino IDE examples list) examples regarding Zigbee on the ESP32-C6. I would like some more examples, especially for a temperature, humidity, pressure and CO2 sensor.

Describe alternatives you've considered

No response

Additional context

No response

I have checked existing list of Feature requests and the Contribution Guide

  • [X] I confirm I have checked existing list of Feature requests and Contribution Guide.

jorisvervuurt avatar Apr 10 '24 18:04 jorisvervuurt

@P-R-O-C-H-Y - PTAL, Thanks! That may be a nice new task.

SuGlider avatar Apr 11 '24 12:04 SuGlider

Nice one. :) Looking forward to it.

jorisvervuurt avatar Apr 11 '24 15:04 jorisvervuurt

A scanner would be an extremely useful example

lbernstone avatar Apr 11 '24 23:04 lbernstone

For those looking for the link: https://github.com/espressif/arduino-esp32/tree/master/libraries/ESP32/examples/Zigbee

lboue avatar Apr 15 '24 05:04 lboue

Zigbee examples got updated to work with latest esp-zigbee-sdk. Also 2 new examples have been added to work together:

  • Temperature sensor (End device)
  • Thermostat (Coordinator)

Everything mentioned is included in the latest release 3.0.0-rc3. I appreciate any feedback or suggestions on what we can improve or add next time :)

P-R-O-C-H-Y avatar May 16 '24 06:05 P-R-O-C-H-Y

Zigbee examples got updated to work with latest esp-zigbee-sdk. Also 2 new examples have been added to work together:

* Temperature sensor (End device)

* Thermostat (Coordinator)

Everything mentioned is included in the latest release 3.0.0-rc3. I appreciate any feedback or suggestions on what we can improve or add next time :)

Great! I would consider smart metering and motion detection amazing examples. Thank you for your work!

mothergooose avatar May 18 '24 19:05 mothergooose

Zigbee examples got updated to work with latest esp-zigbee-sdk. Also 2 new examples have been added to work together:

For reference; here are the links:

https://github.com/espressif/arduino-esp32/tree/master/libraries/ESP32/examples/Zigbee

Synchronized from esp-zigbee-sdk examples:

https://github.com/espressif/esp-zigbee-sdk/tree/main/examples/

PS: Also see related discussion here:

https://github.com/espressif/esp-zigbee-sdk/issues/228

Hedda avatar May 31 '24 07:05 Hedda

@P-R-O-C-H-Y maybe a good idea to add a few more simple "Zigbee HA" profiles (ZHA profile specs) from the esp-zigbee-sdk?

https://github.com/espressif/esp-zigbee-sdk/tree/main/examples/esp_zigbee_HA_sample

Hedda avatar May 31 '24 09:05 Hedda

@P-R-O-C-H-Y maybe a good idea to add a few more simple "Zigbee HA" profiles (ZHA profile specs) from the esp-zigbee-sdk?

https://github.com/espressif/esp-zigbee-sdk/tree/main/examples/esp_zigbee_HA_sample

@Hedda I think there is no need to port more IDF zigbee-sdk examples, anyone can easily port them as you can use the 4 examples I ported as a reference. There is no much to change in the example. It's just about adding setup() and loop() and handle buttons, leds, sensors in the Arduino way. I think it's better to spent more energy on the wrapper, than porting new examples, which will be probably removed when wrapper is done :) Let me know your opinion.

But also if anyone does port any new example from zigbee-sdk, I will be really happy to see a PR adding it to the repo :)

P-R-O-C-H-Y avatar May 31 '24 09:05 P-R-O-C-H-Y

Hi @P-R-O-C-H-Y Thanks for the effort so far.

I am really looking forward to a wrapper that makes this easier to use as to be fair I'm so confused on what needs setting where as I'd like to extend the temp sensor example to include luminosity but have no idea how to start/where to add it into the existing cluster.

Do we have any ideas when the wrapper will be available for testing?

Thanks in advance!

elgerg avatar Aug 06 '24 15:08 elgerg

think it's better to spent more energy on the wrapper, than porting new examples, which will be probably removed when wrapper is done :) Let me know your opinion.

What is the status of that wrapper and can we follow the development of it anywhere?

Hedda avatar Aug 06 '24 16:08 Hedda

Hi, thank you all for the interest for the wrapper. If you want, you can follow my dev branch in my fork. Its still in early stages, but if you have any suggestions, feel free to open comment here on open an issue in my fork :). Any help or suggestions are welcome.

I have not done much on Zigbee wrapper for last month, as there was a lot of other higher priority tasks, but I am now starting to do some progress again :). I have no estimated time for now, when it should be in some "almost done" stage.

P-R-O-C-H-Y avatar Aug 07 '24 11:08 P-R-O-C-H-Y

@Hedda Update pushed to the branch. You can test the on_off light (ED) + switch(Coordinator). Very simple sketches now :)

P-R-O-C-H-Y avatar Aug 09 '24 14:08 P-R-O-C-H-Y

@Hedda Update pushed to the branch. You can test the on_off light (ED) + switch(Coordinator). Very simple sketches now :)

Oh my! This looks amazing, super simple easy enough for anyone to use!

Thanks for the effort :)

elgerg avatar Aug 09 '24 15:08 elgerg

One thing I did notice.. how do you set the Manufacturer and model name?

IE

/* Attribute values in ZCL string format
 * The string should be started with the length of its own.
 */
#define MANUFACTURER_NAME \
  "\x0B"                  \
  "ESPRESSIF"
#define MODEL_IDENTIFIER "\x09" CONFIG_IDF_TARGET

elgerg avatar Aug 09 '24 15:08 elgerg

One thing I did notice.. how do you set the Manufacturer and model name?

IE

/* Attribute values in ZCL string format
 * The string should be started with the length of its own.
 */
#define MANUFACTURER_NAME \
  "\x0B"                  \
  "ESPRESSIF"
#define MODEL_IDENTIFIER "\x09" CONFIG_IDF_TARGET

I am not at this moment, that's something I still need to implement :) I have opened a feature request to have a tracker for Zigbee Wrapper #10135 to not have multiple issues opened.

Feel free to add any requests or questions there :)

P-R-O-C-H-Y avatar Aug 09 '24 16:08 P-R-O-C-H-Y

A scanner would be an extremely useful example

@lbernstone @lboue Zigbee network scan have been implemented in the dev branch.

P-R-O-C-H-Y avatar Aug 16 '24 12:08 P-R-O-C-H-Y

A scanner would be an extremely useful example

@lbernstone @lboue Zigbee network scan have been implemented in the dev branch.

Thanks, I'll try it as soon as I can.

lboue avatar Aug 16 '24 12:08 lboue