Ad rem
Prawie od samego początku w pliku z2s_devices_database.h zdefiniowane są 2 duże tabele:
- Z2S_DEVICES_DESC (4080 B) przechowuje tzw. opisy urządzeń, czyli liczbę i rodzaj klastrów:
Code: Select all
static z2s_device_desc_t Z2S_DEVICES_DESC[] PROGMEM [[maybe_unused]] = {
{ .z2s_device_desc_id = Z2S_DEVICE_DESC_TEMPHUMIDITY_SENSOR, .z2s_device_clusters_count = 3, .z2s_device_clusters =
{ ESP_ZB_ZCL_CLUSTER_ID_POWER_CONFIG,
ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT,
ESP_ZB_ZCL_CLUSTER_ID_REL_HUMIDITY_MEASUREMENT }},
{ .z2s_device_desc_id = Z2S_DEVICE_DESC_TEMPHUMIDITY_SENSOR_1, .z2s_device_clusters_count = 3, .z2s_device_clusters =
{ ESP_ZB_ZCL_CLUSTER_ID_POWER_CONFIG,
ESP_ZB_ZCL_CLUSTER_ID_TEMP_MEASUREMENT,
ESP_ZB_ZCL_CLUSTER_ID_REL_HUMIDITY_MEASUREMENT }}, ......
- Z2S_DEVICES_LIST (34 440 B) zawiera definicje samych urządzeń:
Code: Select all
static z2s_device_entity_t Z2S_DEVICES_LIST[] PROGMEM = {
{ .manufacturer_name = "_TZ3000_akqdg6g7", .model_name = "TS0201",
.z2s_device_desc_id = Z2S_DEVICE_DESC_TEMPHUMIDITY_SENSOR, .z2s_device_endpoints_count = 1},
{ .manufacturer_name = "_TZ3000_dowj6gyi", .model_name = "TS0201",
.z2s_device_desc_id = Z2S_DEVICE_DESC_TEMPHUMIDITY_SENSOR, .z2s_device_endpoints_count = 1},
{ .manufacturer_name = "Xiaomi", .model_name = "LYWSD03MMC-z",
.z2s_device_desc_id = Z2S_DEVICE_DESC_TEMPHUMIDITY_SENSOR_1, .z2s_device_endpoints_count = 1},
Niestety wychodzi na to, że:
Niewinna zmiana z:"You know nothing, Jon Snow"
Code: Select all
static z2s_device_entity_t Z2S_DEVICES_LIST[] PROGMEMCode: Select all
static const z2s_device_entity_t Z2S_DEVICES_LIST[] PROGMEM
