* 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>
* fix(psram): Init PSRAM before app_main to fix mmu_map
Makes sure that PSRAM is part of the map before app_main is called.
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
The pin remapping functions have to be called as early as possible in
the begin() function, to immediately convert the input parameters to the
GPIO numbers used everywhere in the core.
This issue has always been dormant since the introduction of pin
remapping in 2.x via 9b4622d, but was exposed by the proper pin muxing
support that is present in the 3.x core.
Move the pin remapping function calls earlier in the begin() function to
fix this issue.
* ci(json): Add support for checking sdkconfig before running tests
* docs(ci): Add explanation about requires field in JSON
* fix(json): Ignore comments when searching requirements
* feat(json): Add extended regex support to requires field
* change(json): Move to using requirements in JSON
* fix(json): Fix requirements for touch tests
* refactor(json): Fix formatting of JSON files
* fix(spi): Fix SPI example and JSON
* DNSServer: fix improper startup code in WiFi mode
When running on WiFi-AP mode server's start() method returned true while in fact UDP listening socket was never created
Regression introduced in #8760Closes#10330
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
The digitalPinToInterrupt() macro currently remaps the pin number to the
GPIO number. This is not necessary, as most users will then use the
returned value in attachInterrupt() or other similar API functions,
which already perform the same remapping.
The first half of the macro (the condition) does indeed require the
remapping to ensure the check operates on GPIO numbers.
Fixesespressif/arduino-esp32#10367.
* fix(esp32p4): Add missing touchpad definitions
* fix(esp32p4): Add missing target in SPI example
* fix(esp32p4): Start touch driver fix
* fix(esp32p4): Skip touch examples while it is not implemented
* fix(esp32p4): Add missing analog pin definitions
* refactor(formatting): Fix formatting that was broken in P4 PR
* fix(openthread): Add missing targets to skip
* fix(esp32p4): Skip ethernet sketches
* fix(esp32p4): Disable periman test while touch is not implemented
* fix(esp32p4): Disable touch test while touch is not implemented
* fix(esp32p4): Fix UART test
* fix(esp32p4): Skip Wi-Fi test
* fix(esp32): Skip unsupported example
* fix(esp32p4): Fix skip files
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* Update Matter Light README.md
Update Matter Light README.md
* fix(matter): information in the commentaries from SuGlider
* feat(matter): extended formating
used the same formatting for the whole document and changed a few expresssions.
* fix(matter): missing option idf.py
---------
Co-authored-by: Rodrigo Garcia <rodrigo.garcia@espressif.com>
* feat(matter): partition file for matter
The declaration includes a partition for keys and SSL certificates.
* feat(matter): matter light source code
Adds necessary Matter + Arduino source code that will create a Matter compatible Light.
* feat(matter): adds sdkconfig and CMake files
Adds target sdkconfig files and the CMakeLists.txt in orde to build the application using Arduino+Matter as IDF component
* fix(matter): wrong folder name
* feat(matter): include example into registry
* fix(matter): error with type in wrong place
A declaration was incorrect due to a typo error. Sintax was corrected by deleting `BuiltInLED`.
* feat(matter): add readme documentation
* feat(matter): remove soc with no wifi or no ble
* feat(matter): adjust all sdkconfig files
* feat(matter): improve code and led status
* feat(matter): add button and led gpio with kconfig
* fix(matter): remove commented lines
* fix(matter): remove commented lines
* feat(matter): added a 2.4GHz SSID note
Both the ESP32 device and the Smartphone running the Matter APP shall be in the same WiFi Network in order to achieve a successful commissioning process.
* feat(matter): arduino managed comonent version
Preparing the Arduino Managed Component to use Core version 3.0.5 or higher.
* feat(matter): adds information about google
Goggle Home Assistant requires special configurtation in order to allow the Light to show up in the GHA APP.
* feat(matter): arduino component version
Set final Arduino Managed Component to 3.0.5 necessary because of -DESP32=ESP32, in order to compile the project.
* ci(pre-commit): Apply automatic fixes
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(typo): typo and commentaries
* fix(matter): spell check ignore for CI
* ci(pre-commit): Apply automatic fixes
* fix(matter): spell check ignore for CI
* fix(matter): spell check ignore for CI
* fix(matter): spell check ignore for CI
* ci(pre-commit): Apply automatic fixes
---------
Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
* change(ESP_NOW_Serial): No teardown on retry limit
After max retries is met once the ESP_NOW_Serial_Class performs "end()".
This removes the peer from ESP_NOW.
Further messages to and from ESP_NOW_Serial are not received or sent.
Peer should stay in ESP_NOW to re-establish connection even with data loss.
This change will "retry and drop" the data piece by piece instead of aborting the connection.
* feat(espnow): Add remove on fail parameter
* feat(espnow): By default keep the peer when sending fails
---------
Co-authored-by: Jan Prochazka <90197375+P-R-O-C-H-Y@users.noreply.github.com>
* Fix missing virtual declarations in Stream.h
Fixes some changes made in PR #10328
* Remove the virtual destructor as Print class has one
As pointed out by @JAndrassy
* Fix(NetworkEvents): Don't skip event callbacks in NetworkEvents::removeEvent
Fixes Issue 10318
Includes pull request 10321 that fixes 10316
This change:
* Adds code to find the event callbacks
* Issues error when duplicate callbacks insertion attempts are made
* Issues error when callbacks are not found during removal
* Fix(NetworkEvents): Don't skip event callbacks in NetworkEvents::removeEvent
Fixes Issue 10318
Includes pull request 10321 that fixes 10316
This change:
* Adds code to find the event callbacks
* Issues warning when duplicate callbacks insertion attempts are made
* Issues warning when callbacks are not found during removal
---------
Co-authored-by: Me No Dev <me-no-dev@users.noreply.github.com>
* [WiFiScan] Allow allocation to fail and prevent memory leak
When there are many AP's seen during a scan, the allocation of `_scanResult` may fail.
Thus add `(std::nothrow)` to the `new` call.
Also it is possible the array was still present before allocating a new one.
* [WiFiScan] Use nullptr instead of 0
As suggested by @me-no-dev