Hello all! I tried to look up something, but most of the post are old that’s why i decided to create a new one.
Recently i bought ESP32-C6-WROOM1-N8 boards and from what i understand they have zigbee support.
Did someone managed to connect the new esp32-c6 board with zigbee2mqtt and report sensor data?
What firmware are you running on the esp32-c6
Not exactly out of the box, but i manage to send data to z2m (at least for BME280)
Kudos to GitHub - luar123/esphome_zb_sensor: Example of a zigbee sensor in esphome
Here is my example ESPHome Yaml
esphome:
name: zb-sensor
platformio_options:
platform: https://github.com/luar123/platform-espressif32H2/archive/refs/tags/v6.5.1.zip
includes:
- esphome_zb.h
- esp_zb_light.c
- esp_zb_light.h
esp32:
board: esp32-c6-devkitc-1
variant: esp32c6
flash_size: 8MB
partitions: partitions_zb.csv
framework:
type: esp-idf
version: 5.1.2
platform_version: 6.5.0
source: https://github.com/tasmota/esp-idf/releases/download/v5.1.3.240313/esp-idf-v5.1.3.zip
sdkconfig_options:
CONFIG_ESPTOOLPY_FLASHSIZE_8MB: y
CONFIG_ZB_ENABLED: y
CONFIG_ZB_ZED: y
CONFIG_ZB_RADIO_NATIVE: y
ZB_ED_ROLE: y
external_components:
- source: github://pr#6323
components: [ logger ]
logger:
i2c:
- id: bus_a
sda: 21
scl: 22
scan: true
sensor:
- platform: bme280_i2c
i2c_id: bus_a
temperature:
name: "Temperature"
id: bme280_temperature
oversampling: 16x
on_value:
then:
- lambda: |-
int16_t value = (int16_t)(x*100);
reportAttribute(ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT, ESP_ZB_ZCL_ATTR_TEMP_MEASUREMENT_VALUE_ID, &value);
humidity:
name: "Humidity"
id: "bme280_humidity"
on_value:
then:
- lambda: |-
int16_t value = (int16_t)(x*100);
reportAttribute(ESP_ZB_ZCL_CLUSTER_ID_REL_HUMIDITY_MEASUREMENT, ESP_ZB_ZCL_ATTR_REL_HUMIDITY_MEASUREMENT_VALUE_ID, &value);
address: 0x76
update_interval: 60s
custom_component:
- lambda: |-
auto my_zb = new esphomeZB();
return {my_zb};
components:
- id: zb
for me it throws an error
INFO Reading configuration config/c6-test.yaml...
WARNING The selected ESP-IDF framework version is not the recommended one. If there are connectivity or build issues please remove the manual version.
Failed config
esp32: [source config/c6-test.yaml:11]
board: esp32-c6-devkitc-1
variant: esp32c6
flash_size: 8MB
Could not find file 'config/partitions_zb.csv'. Please make sure it exists (full path: /home/username/config/partitions_zb.csv).
partitions: partitions_zb.csv
framework:
type: esp-idf
version: 5.1.2
platform_version: 6.5.0
source: |-
https://github.com/tasmota/esp-idf/releases/download/v5.1.3.240313/esp-idf-v5.1.3.zip
sdkconfig_options:
CONFIG_ESPTOOLPY_FLASHSIZE_8MB: y
CONFIG_ZB_ENABLED: y
CONFIG_ZB_ZED: y
CONFIG_ZB_RADIO_NATIVE: y
ZB_ED_ROLE: y
Create the missing file config/partitions_zb.csv
it should contain:
otadata, data, ota, , 0x2000,
phy_init, data, phy, , 0x1000,
app0, app, ota_0, , 0x1B0000,
app1, app, ota_1, , 0x1B0000,
nvs, data, nvs, , 0x6D000,
zb_storage, data, fat, , 16K,
zb_fct, data, fat, , 1K,
Hi folks,
I just ordered my C6. Few days before it arrives…
In the meantime, can someone please dumb it down for me? I want to flash it with whatever is needed in order to convert it into a Zigbee gateway so I can connect some push-buttons to control stuff in Home Assistant.
So what am I actually suppose to flash it with?
Thanks
It is not a zigbee gateway (whatever that is), it creates a zigbee end point.
The firmware is given in post 3. You flash it with esphome.io
Hi. I’m getting a long way through the process, but then failing here:
Compiling .pioenvs\zb-sensor\src\esphome\components\sensor\filter.o
src/esp_zb_light.c:43:10: fatal error: ha/esp_zigbee_ha_standard.h: No such file or directory
43 | #include "ha/esp_zigbee_ha_standard.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
*** [.pioenvs\zb-sensor\src\esp_zb_light.o] Error 1
I’m not sure where that header file is meant to come from and where I can get it.
Grateful for any assistance.
P.S. I have deactivated the logger - running like this: esphome run --no-logs zb_sensor.yaml