HomeKit has its own logic for network provisioning, including support
for Apple WAC and so, uses its own app_network component.
Recent restructuring pulled in the common rmaker_app_network component
instead.
- Add set-param command to set device parameter values, invoke respective callbacks and report to cloud
Usage: set-param <device_name> <param_name> <value>
- Add update-param command to just report param value to cloud, without invoking callbacks
Usage: update-param <device_name> <param_name> <value>
- Add get-param command to get device parameter values
Usage: get-param <device_name> <param_name>
- Support all parameter types: boolean, integer, float, string
This enables easy interaction with ESP RainMaker devices through console interface.
If network connection fails even once, the firmware reports so to
clients (like phone apps) and the clients declare failure and abort
immediately, even if the firmware eventually connects. With this
change, a failure will be reported only after a few retries (whise
number is configurable)
- Use led_indicator component from component manager for ws2812 and RGB
LEDs
- Add other components from examples/common via idf_component.yml
instead of adding as EXTRA_COMPONENT_DIRS in CMakeLists.txt
- Two APIs added: get_aws_region and get_security_token
- Useful, if an application needs to get credentials for a role
- Also, added the facility to set MQTT_CRED_HOST
data-model-provider changes moved few macros around,
so builds are failing on main branch.
Add the include directory into cmake file and include the required
header file at required source files.
Adds support for triggering parameter updates through the command-response
framework using the special command id 1. The feature is controlled by the new
CONFIG_ESP_RMAKER_PARAM_CMD_RESP_ENABLE option and is enabled by default
when command-response is enabled.
The status and updated params are returned in the response data
Sample command payload: {"params":{"Light":{"Power":false}}}
Sample response payload: {"status":"success","params":{"Light":{"Power":false}}}
This will also update the values in the params DB returned via the
regular get params APIs like GET /user/nodes/params
Can be enabled using CONFIG_ESP_RMAKER_SCHEDULE_ENABLE_DAYLIGHT, which
depends on CONFIG_ESP_SCHEDULE_ENABLE_DAYLIGHT=y.
These can be more reliable compared to the cloud driven daylight
automations as the calculations happen locally on the device and
schedules can take effect even when the device is offline.
This also supports offset so that you can schedule actions before/after
sunrise/sunset.
Together, these have a binary size impact of about 12,250 bytes.
CONFIG_ESP_SCHEDULE_ENABLE_DAYLIGHT contributes 11,500 bytes
CONFIG_ESP_RMAKER_SCHEDULE_ENABLE_DAYLIGHT contributes additional 750
bytes.
- Three options to chose from 0 (POP_TYPE_MAC), 1 (POP_TYPE_RANDOM) and 2 (POP_TYPE_NONE)
- CUSTOM_POP option is not provided, because it needs additional API call to set custom pop value