- Added .devcontainer configuration for development environment. - Created .gitignore to exclude unnecessary files. - Configured C/C++ properties for ESP-IDF in VSCode. - Set up launch configurations for debugging. - Defined project settings for ESP-IDF in VSCode. - Created CMakeLists.txt for project build configuration. - Added README.md with project overview and usage instructions. - Established dependencies for Zigbee libraries in dependencies.lock. - Implemented main application logic in esp_zb_switch.c and esp_zb_switch.h. - Developed switch driver functionality in switch_driver.c and switch_driver.h. - Configured partition table in partitions.csv for NVS and application storage. - Set default SDK configuration in sdkconfig.defaults for project settings.
45 lines
2.2 KiB
C
45 lines
2.2 KiB
C
/*
|
|
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
|
|
*
|
|
* SPDX-License-Identifier: LicenseRef-Included
|
|
*
|
|
* Zigbee HA_on_off_switch Example
|
|
*
|
|
* This example code is in the Public Domain (or CC0 licensed, at your option.)
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, this
|
|
* software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
|
* CONDITIONS OF ANY KIND, either express or implied.
|
|
*/
|
|
#include "esp_zigbee_core.h"
|
|
#include "switch_driver.h"
|
|
|
|
/* Zigbee configuration */
|
|
#define MAX_CHILDREN 10 /* the max amount of connected devices */
|
|
#define INSTALLCODE_POLICY_ENABLE false /* enable the install code policy for security */
|
|
#define HA_ONOFF_SWITCH_ENDPOINT 1 /* esp light switch device endpoint */
|
|
#define ESP_ZB_PRIMARY_CHANNEL_MASK (1l << 20) /* Zigbee primary channel mask - Channel 20 for ZHA */
|
|
|
|
/* Basic manufacturer information */
|
|
#define ESP_MANUFACTURER_NAME "\x09""ESPRESSIF" /* Customized manufacturer name */
|
|
#define ESP_MODEL_IDENTIFIER "\x07"CONFIG_IDF_TARGET /* Customized model identifier */
|
|
|
|
#define ESP_ZB_ZR_CONFIG() \
|
|
{ \
|
|
.esp_zb_role = ESP_ZB_DEVICE_TYPE_ROUTER, \
|
|
.install_code_policy = INSTALLCODE_POLICY_ENABLE, \
|
|
.nwk_cfg.zczr_cfg = { \
|
|
.max_children = 0, \
|
|
}, \
|
|
}
|
|
|
|
#define ESP_ZB_DEFAULT_RADIO_CONFIG() \
|
|
{ \
|
|
.radio_mode = ZB_RADIO_MODE_NATIVE, \
|
|
}
|
|
|
|
#define ESP_ZB_DEFAULT_HOST_CONFIG() \
|
|
{ \
|
|
.host_connection_mode = ZB_HOST_CONNECTION_MODE_NONE, \
|
|
}
|