* Initial commit - light bulb + switch working * Add Thermostat + fix enum * Dev update: roles, cb removal, handlers Fixed ep_thermostat to compile successfully Removed cb from all EP, as it have been removed, virtual methods will be used instead. Moved zigbee handlers out of Zigbee_core to Zigbee_handlers for better readability. Fixed zigbeeInit to be bool and return status of initialization for begin function. Updated examples with edited roles and custom method for on_off light * Dev update: implement on/off light and switch methods Implemented basic function calls of switch commands to on/off light: lightToggle, lightOn, lightOff, ... Implemented virtual methods for on/off light that have to be override in user code: setOnOff, sceneControl, setOnOffTime, setOffWaitTime APIs can be changed, still early development. * Dev update: Factory reset, names, multiple EPs Implemented Factory reset of Zigbee device, in order to connect to new network without reflashing/erasing flash Implemented optional setting for Manufacturer and Model names Added option to allow endpoint to have multiple endpoint connected -> switch - 2 lights (tested) Minor sketches update * Dev update: Device ID to string Implemented easy transfer from device it to Device type (0x0000 = ESP_ZB_HA_ON_OFF_SWITCH_DEVICE_ID -> "General On/Off switch". * Implement cmd default response handler * Remove unused _identify_cluster * Dev Update: Color DImmable light + switch implemented Implemeted color dimmable light and color dimmer switch HA devices + examples. Removed unnecessary stored attribute cluster Renamed on/off light and switch examples * Implement Network Scanning Implemented Zigbee network scanning (async) to mostly match WiFi scan APIs. Added Zigbee_Scan_Networks example * Dev Update: Thermostat and Temperature sensor EP Implemeted thermostat and temperature sensor HA devices + examples. Implemented configure report handler. Updated READMEs and description of examples. Minor code updates * fix(): Replace deprecated function * Remove ported IDF examples * Update Zigbee examples with new APIs * Dev Update: Version setting, Thermostat fix, ... Simplified bounded device print as the structure is common for any EP type Allowed setting custom app version for EP, default is 0 Small fixes and code updates * Remove EP template + add lib to CMakeLists * Rename classes to have proper naming * Add check for SOC_IEEE802154_SUPPORTED * Ignore false positive unused variable/function * Fix compilation errors in examples * Fill keyworkds.txt, remove unnecessary defines * Rename methods, variables + make private/protected * Remove unnecesary defaults defines * Remove outdated comments * Update Scan networks Readme * fix(example): Use proper naming of func and variables * Change virtual methods to callbacks (TODO) * Refactor classes methods + implement Identify command * Apply suggestions from code review by @lucasssvaz Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> * Update READMEs + add openNetwork fucntion * Use [[maybe_unused]] instead of #pragma * Use gpio calls for OnOff Light example * ci(pre-commit): Apply automatic fixes * fix(): Codespell issues --------- Co-authored-by: Lucas Saavedra Vaz <32426024+lucasssvaz@users.noreply.github.com> |
||
|---|---|---|
| .github | ||
| cores/esp32 | ||
| docs | ||
| idf_component_examples | ||
| libraries | ||
| package | ||
| tests | ||
| tools | ||
| variants | ||
| .clang-format | ||
| .codespellrc | ||
| .editorconfig | ||
| .flake8 | ||
| .gitignore | ||
| .gitmodules | ||
| .pre-commit-config.yaml | ||
| .prettierignore | ||
| .readthedocs.yaml | ||
| .vale.ini | ||
| boards.txt | ||
| CMakeLists.txt | ||
| CODE_OF_CONDUCT.md | ||
| idf_component.yml | ||
| Kconfig.projbuild | ||
| LICENSE.md | ||
| package.json | ||
| platform.txt | ||
| programmers.txt | ||
| README.md | ||
Arduino core for the ESP32, ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6 and ESP32-H2
Need help or have a question? Join the chat at Gitter or open a new Discussion
Contents
- Development Status
- Development Planning
- Documentation
- Supported Chips
- Decoding exceptions
- Issue/Bug report template
- Contributing
Development Status
Development Planning
Our Development is fully tracked on this public Roadmap 🎉
For even more information you can join our Monthly Community Meetings 🔔.
Documentation
You can use the Arduino-ESP32 Online Documentation to get all information about this project.
Migration guide from version 2.x to 3.x is available here.
APIs compatibility with ESP8266 and Arduino-CORE (Arduino.cc) is explained here.
- Getting Started
- Installing (Windows, Linux and macOS)
- Libraries
- Arduino as an ESP-IDF component
- FAQ
- Troubleshooting
Supported Chips
Here are the ESP32 series supported by the Arduino-ESP32 project:
| SoC | Stable | Development | Datasheet |
|---|---|---|---|
| ESP32 | Yes | Yes | ESP32 |
| ESP32-S2 | Yes | Yes | ESP32-S2 |
| ESP32-C3 | Yes | Yes | ESP32-C3 |
| ESP32-S3 | Yes | Yes | ESP32-S3 |
| ESP32-C6 | Yes | Yes | ESP32-C6 |
| ESP32-H2 | Yes | Yes | ESP32-H2 |
Note
ESP32-C2 is also supported by Arduino-ESP32 but requires rebuilding the static libraries. This is not trivial and requires a good understanding of the ESP-IDF build system. For more information, see the Lib Builder documentation.
For more details visit the supported chips documentation page.
Decoding exceptions
You can use EspExceptionDecoder to get meaningful call trace.
Issue/Bug report template
Before reporting an issue, make sure you've searched for similar one that was already created. Also make sure to go through all the issues labeled as Type: For reference.
Finally, if you are sure no one else had the issue, follow the Issue template or Feature request template while reporting any new Issue.
External libraries compilation test
We have set-up CI testing for external libraries for ESP32 Arduino core. You can check test results in the file LIBRARIES_TEST. For more information and how to add your library to the test see external library testing in the documentation.
Contributing
We welcome contributions to the Arduino ESP32 project!
See contributing in the documentation for more information on how to contribute to the project.
We would like to have this repository in a polite and friendly atmosphere, so please be kind and respectful to others. For more details, look at Code of Conduct.