Zigbee Freezer Monitor

This file wasn’t there yesterday :slight_smile:

Has anyone managed to compile it to work? I have been trying for a few days for the esp32-c6-N8 devkit and each time the device falls into a boot loop. Once in the monitor, I managed to see that during Zigbee initialization there is an ‘unknown device type’ message

What device type are you compiling for? Did you set it in menu config and then check the config file to make sure it actually got set? Did you confirm that it matches the device type in main.h?

i use this device : ESP32-C6-DevKitC-1 - ESP32-C6 - — esp-dev-kits latest documentation
in esp-idf i have configured to esp32-c6 board

inside menu i chage only ==> zigbee===> end device

And that’s your problem. Main.h is set to router, esp_zha_freezer_mon/main/main.h at 5f8b8a063e23cd4536eb5e2af640eab6d9a02582 · prairiesnpr/esp_zha_freezer_mon · GitHub

"I haven’t changed anything now, I compiled it, and for the first time, it started. I’m running tests without the thermometer connected. Should I be able to see the device in ZHA without it? Because, for now, it’s not showing up. I also checked under Z2M.

I think you should get a binary sensor and four temp sensors even if it doesn’t find them. It’s been a bit since I built it, so that my not be 100% accurate.

Wait, what do you mean see a device? This will attempt to pair as soon as you provide power, you need to put ZHA in permit joining and then you will see it join and create the entities.

Exactly, I see in the logs that it cannot find the temperature sensor, but it does not register via Zigbee, neither to ZHA nor to Z2M

What do you see in the logs, something like network steering failed?

--- esp-idf-monitor 1.5.0 on com16 115200
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H
SPIWP:0xee
mode:DIO, clock div:2
load:0x40875730,len:0x16bc
load:0x4086c110,len:0xdf4
load:0x4086e610,len:0x305c
entry 0x4086c11a
D (145) cpu_start: calling init function: 0x4206cba6
--- 0x4206cba6: _GLOBAL__sub_I__ZN17__eh_globals_init7_S_initE at /builds/idf/crosstool-NG/.build/riscv32-esp-elf/build/build-cc-gcc-final/riscv32-esp-elf/rv32imac_zicsr_zifencei/ilp32/no-rtti/libstdc++-v3/include/riscv32-esp-elf/bits/gthr-default.h:721
 (inlined by) __eh_globals_init::__eh_globals_init() at /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/libstdc++-v3/libsupc++/eh_globals.cc:105
 (inlined by) __static_initialization_and_destruction_0 at /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/libstdc++-v3/libsupc++/eh_globals.cc:126
 (inlined by) _GLOBAL__sub_I__ZN17__eh_globals_init7_S_initE at /builds/idf/crosstool-NG/.build/riscv32-esp-elf/src/gcc/libstdc++-v3/libsupc++/eh_globals.cc:162

D (145) cpu_start: calling init function: 0x42067198
--- 0x42067198: _GLOBAL__sub_I__ZN3nvs4PageC2Ev at C:/Espressif/frameworks/esp-idf-v5.4/components/nvs_flash/src/nvs_page.cpp:1158

D (146) cpu_start: calling init function: 0x40808f0c
--- 0x40808f0c: enable_timer_group0_for_calibration at C:/Espressif/frameworks/esp-idf-v5.4/components/esp_hw_support/port/esp32c6/rtc_time.c:277

D (146) cpu_start: calling init function: 0x4080a904
--- 0x4080a904: tlsf_set_rom_patches at C:/Espressif/frameworks/esp-idf-v5.4/components/esp_rom/patches/esp_rom_tlsf.c:172

D (147) cpu_start: calling init function: 0x42001798
--- 0x42001798: esp_reset_reason_init at C:/Espressif/frameworks/esp-idf-v5.4/components/esp_system/port/soc/esp32c6/reset_reason.c:72

D (148) esp_apptrace_uart: esp_apptrace_uart_hw_get - 0
I (148) coexist: coex firmware version: 49a8cdc
I (148) coexist: coexist rom version 5b8dcfa
I (149) main_task: Started on CPU0
I (149) main_task: Calling app_main()
I (149) phy_init: phy_version 320,348a293,Sep  3 2024,16:33:12
D (149) phy_init: loading PHY init data from application binary
D (149) nvs: nvs_open_from_partition phy 0
D (149) nvs: nvs_get cal_version 4
D (149) nvs: nvs_get_str_or_blob cal_mac
D (149) nvs: nvs_get_str_or_blob cal_data
D (159) nvs: nvs_close 1
I (189) phy: libbtbb version: 04952fd, Sep  3 2024, 16:33:30
I (209) main_task: Returned from app_main()
I (219) ESP_ZB_TEMP_SENSOR: ZDO signal: ZDO Config Ready (0x17), status: ESP_FAIL
I (219) ESP_ZB_TEMP_SENSOR: Initialize Zigbee stack
I (219) ESP_ZB_TEMP_SENSOR: ZDO signal: NWK Permit Join (0x36), status: ESP_OK
D (219) rmt: new bytes encoder @0x4082da10
D (219) rmt: new copy encoder @0x4082dfa4
D (219) rmt: new group(0) at 0x4082d840, occupy=fffffff0
D (229) rmt: group clock resolution:80000000
D (229) rmt: new rx channel(0,0) at 0x4082da40, gpio=7, res=1000000Hz, hw_mem_base=0x60006580, ping_pong_size=24
D (229) rmt: group clock resolution:80000000
D (229) rmt: new tx channel(0,0) at 0x4082d8ac, gpio=7, res=1000000Hz, hw_mem_base=0x60006400, dma_mem_base=0x0, dma_nodes=0x0, ping_pong_size=24, queue_depth=4
I (229) ESP_ZB_DS18B20_SENSOR: Device iterator created, start searching...
W (229) 1-wire.device: reset bus failed: no devices found
I (229) ESP_ZB_DS18B20_SENSOR: Searching done, 0 DS18B20 device(s) found
I (229) ESP_ZB_TEMP_SENSOR: One Wire Count: 0
I (229) ESP_ZB_NVS: Ep 0
I (229) ESP_ZB_NVS: Getting ep0
D (229) nvs: nvs_open_from_partition onewire_storage 1
D (229) nvs: nvs_get ep0 8
E (229) ESP_ZB_NVS: Error (ESP_ERR_NVS_NOT_FOUND) reading!
D (229) nvs: nvs_close 2
I (229) ESP_ZB_TEMP_SENSOR: Err Result 4354, address: 0000000000000000
I (229) ESP_ZB_NVS: Ep 1
I (239) ESP_ZB_NVS: Getting ep1
D (239) nvs: nvs_open_from_partition onewire_storage 1
D (239) nvs: nvs_get ep1 8

If that’s it, then I lied and you need to add a sensor it’s not starting network steering.

Do I need just one or all four? Please explain where to change the number of sensors.

Edit the constant in main.h, you can set it to 1.