Commit Graph

326 Commits

Author SHA1 Message Date
Piyush Shah
ef2bc06337 Merge branch 'task/cmd_response' into 'master'
esp_rmaker_core: Add framework for command-response workflow

See merge request app-frameworks/esp-rainmaker!207
2022-07-19 01:47:00 +08:00
Piyush Shah
f838cf5e56 esp_rmaker_console: Add a command to test RainMaker Command-Response module 2022-07-18 15:47:31 +05:30
Piyush Shah
c77d27a32f esp_rmaker_core: Add mqtt based support for command-response 2022-07-18 12:21:59 +05:30
Piyush Shah
9f87e123e7 Merge branch 'task/ota-rollback' into 'master'
ota: Better usage of App rollback feature

See merge request app-frameworks/esp-rainmaker!309
2022-07-14 19:23:26 +08:00
Piyush Shah
ce30575c4b Merge branch 'fix/cpp_support' into 'master'
minor: Fix support for cpp

See merge request app-frameworks/esp-rainmaker!312
2022-07-14 01:07:24 +08:00
Chirag Atal
db2c8d3b58 minor: Fix support for cpp 2022-07-13 12:46:41 -04:00
Piyush Shah
cd173972a7 examples: Enable CONFIG_BOOTLOADER_APP_ROLLBACK_ENABLE in all examples
.. Since this is the recommended setting and well supported by the
RainMaker SDK, to ensure that OTA upgrades do not break the device
and ensure that the MQTT connection works fine with the new firmware.
2022-07-13 21:56:04 +05:30
Piyush Shah
5389ce22cf ota: Better usage of App rollback feature
- Mark new app firmware as valid only if MQTT connection is successful.
- Report OTA success to RainMaker backend only after successful
  connection after booting into new firmware.
- If the new firmware cannot connect to MQTT within specified time
 (Default 90 seconds, configuratble), it will roll back into older
 firmware. Even if the timer logic fails for some reason, a reboot
 will also trigger the rollback.
2022-07-13 21:55:57 +05:30
Piyush Shah
2f0f5e0893 Merge branch 'bugfix/mdns_dep' into 'master'
esp_rainmaker: Add a component manager dependency for mDNS component for idf >= 5.0

See merge request app-frameworks/esp-rainmaker!311
2022-07-12 19:20:08 +08:00
Piyush Shah
a5dbd2d8d9 esp_rainmaker: Add a component manager dependency for mDNS component for idf >= 5.0
Closes: https://github.com/espressif/esp-rainmaker/issues/133
2022-07-12 14:37:36 +05:30
Piyush Shah
6e8c65e8dd Merge branch 'task/idf-v5.0' into 'master'
esp_rmaker_core: Minor changes for compilation with idf v5.0/master

See merge request app-frameworks/esp-rainmaker!310
2022-07-12 12:47:16 +08:00
Piyush Shah
88335d174c esp_rmaker_core: Minor changes for compilation with idf v5.0/master 2022-06-29 23:21:14 +05:30
Piyush Shah
00bcf4c0c3 Merge branch 'task/standard_types' into 'master'
Added definitions for various parameters and UI types.

See merge request app-frameworks/esp-rainmaker!308
2022-06-10 01:02:36 +08:00
sivar2311
07533b82a1 Merge branch 'espressif:master' into master 2022-06-09 09:10:58 +02:00
Piyush Shah
677a244fe1 Merge branch 'task/name_param_cb' into 'master'
esp_param_name: Give an option to handle name param in application callback

See merge request app-frameworks/esp-rainmaker!286
2022-06-07 16:50:24 +08:00
Piyush Shah
891db47d60 Merge branch 'bugfix/example' into 'master'
example_gpio: Update the IO of the gpio example to work on all ESP devkits

See merge request app-frameworks/esp-rainmaker!304
2022-06-07 13:18:49 +08:00
shixinke
082a916720 example: Update IO for all examples to work with all ESP devkits and provide options in menuconfig 2022-06-07 10:47:40 +08:00
Piyush Shah
e02cd57426 Merge branch 'task/claim_ota' into 'master'
claim/ota: Make self claiming and OTA using Topics as defaults

See merge request app-frameworks/esp-rainmaker!301
2022-06-07 02:37:48 +08:00
Piyush Shah
b73f9e1e63 claiming: Make self claiming as the default for esp32s3 and esp32c3
It was already the default for esp32s2. So, only esp32 will have
assisted claiming as default. This change was made because RainMaker
now supports admin roles even for Self Claimed nodes. Please check
CHANGES.md for details
2022-06-06 20:37:17 +05:30
Piyush Shah
ef410e14b0 ota: Make "OTA using Topics" as default and provide a simplified API for that
- OTA using topics is now enabled in all examples
- esp_rmaker_ota_enable_default() is the simplified API that enables
  OTA using Topics with the default server certificates
2022-06-06 20:37:17 +05:30
Piyush Shah
e385522bcb esp_param_name: Give an option to handle name param in application callback 2022-06-06 20:33:28 +05:30
Piyush Shah
d4d2795cd7 Merge branch 'task/ci-supported-idf' into 'master'
gitlab-ci: Compile for all supported ESP IDF versions and targets

See merge request app-frameworks/esp-rainmaker!305
2022-06-06 22:57:57 +08:00
Piyush Shah
42101c0601 gitlab-ci: Compile for all supported esp-idf versions and targets 2022-06-06 18:22:01 +05:30
Piyush Shah
acace3777b Merge branch 'bugfix/idf_build_failures' into 'master'
bugfix: Compilation fixes for different idf versions and targets

See merge request app-frameworks/esp-rainmaker!306
2022-06-06 19:36:24 +08:00
Piyush Shah
cd12423912 bugfix: Compilation fixes for different idf versions and targets 2022-06-06 16:11:36 +05:30
Piyush Shah
a72d640d93 json: Update the json parser and generator submodules
Also remove the logic to upload them to idf component manager, because
that is now managed from idf-extra-components
2022-06-06 16:11:36 +05:30
sivar2311
f1cbb8c412 Added definitions for various parameters and UI types. 2022-05-28 06:41:32 +02:00
Piyush Shah
b4db703281 Merge branch 'task/led_light_server_crt' into 'master'
ssl_server_cert: Use mbedtls certificate bundle for server authentication

See merge request app-frameworks/esp-rainmaker!298
2022-05-09 17:22:17 +08:00
Piyush Shah
93a2b36160 ssl_server_cert: Use mbedtls certificate bundle for server authentication
Instead of using 1 or 2 certificates for server authentication, use a
bundle of commonly used server certificates, so that even if the server
moves to a different signing authority, the device connection is not
affected.

This change has been done for claiming, OTA and MQTT certificates.
2022-05-05 19:06:28 +05:30
Piyush Shah
67cefd68d3 led_light: Use default OTA server certificate
Earlier example used a local certificate just for demo purposes.
However, since the RainMaker OTA server is the default server anyways,
it's better to use that same default certificate.
2022-05-04 18:05:55 +05:30
Piyush Shah
f2a15001a0 Merge branch 'task/prov_improvements' into 'master'
app_wifi: Minor feature additions to provisioning workflow

See merge request app-frameworks/esp-rainmaker!294
2022-04-29 18:53:07 +08:00
Piyush Shah
e1dacc27d7 homekit_switch: Add provisioning timeout support similar to rest of the examples 2022-04-28 20:04:15 +05:30
Piyush Shah
baf1dea322 switch: Add handling of new app wifi events
Also added the call missing for RMaker Common events
2022-04-28 20:04:15 +05:30
Piyush Shah
295b6a3839 rmaker_user_mapping: Fixes for bugs seen during re-provisioning 2022-04-28 20:04:10 +05:30
Piyush Shah
4250addc13 app_wifi: Make provisioning prefix configurable 2022-04-28 17:21:34 +05:30
Piyush Shah
c0af462fee app_wifi: Add an option to reset prov state machine on failure
Earlier, a reset and reboot were required if wrong Wi-Fi credentials
were given during provisioning. With this change, based on some
configured number of reconnection attempts, the firmware will go back into
provisioning mode.
2022-04-28 17:21:34 +05:30
Piyush Shah
d796985bac app_wifi: Minor feature additions to provisioning workflow
- Provide an option of provisioning without PoP pin (use with caution).
- Config option for provisioning timeout (set to 30 min by default).
Useful especially when there is no PoP, and so you want to keep the device
in provisioning mode only for a few minutes after boot up.
2022-04-28 17:21:34 +05:30
Piyush Shah
174a38b56c Merge branch 'task/ota_improvements' into 'master'
ota: Minor improvements

See merge request app-frameworks/esp-rainmaker!295
2022-04-28 17:32:32 +08:00
Piyush Shah
1cd07a0099 ota: Minor improvements
- Expose some internal APIs
    - External OTA callbacks can now call the internal function to manage OTA
    - Applications can explicitly send the OTA fetch publish message to check
    if OTA is available in case of OTA using Topics

- Handle network connectivity loss using keep-alive

- Send "rejected" as OTA status for project/version mismatch, instead of
  "failed".
2022-04-28 14:44:28 +05:30
Piyush Shah
4f1ce2dbd5 Merge branch 'task/new_node_config' into 'master'
esp_rmaker_node_config: Added some new fields

See merge request app-frameworks/esp-rainmaker!297
2022-04-28 16:32:44 +08:00
Piyush Shah
72283a552d esp_rmaker_node_config: Added some new fields
Node info:
- project_name: The name of the project as configured in CMakeLists.txt.
  "model" was earlier being used for this and will continue to be used
  for backward compatibility, but now it would be ok to override model
  using the esp_rmaker_node_add_model() API.
- platformm: Read from CONFIG_IDF_TARGET, tells the platform being used
  (esp32, esp32s2, esp32c3,....)

Device
- model (optional)
2022-04-27 20:20:59 +05:30
Piyush Shah
f57a5ec62d Merge branch 'feature/scenes' into 'master'
esp_rmaker_scenes: Add scenes support.

See merge request app-frameworks/esp-rainmaker!245
2022-03-29 21:48:25 +08:00
Piyush Shah
5af4f64d3c Merge branch 'task/claim_config' into 'master'
claim_configs: Allow choosing between self/assisted claiming for esp32c3 and esp32s3

See merge request app-frameworks/esp-rainmaker!292
2022-03-17 02:13:00 +08:00
Piyush Shah
c445fe49fd claim_configs: Allow choosing between self/assisted claiming for esp32c3 and esp32s3 2022-03-16 23:25:18 +05:30
Piyush Shah
1d7c32552d Merge branch 'task/user_reset' into 'master'
user_node_mapping: Better handling for user reset and mapping state

See merge request app-frameworks/esp-rainmaker!291
2022-03-16 16:53:36 +08:00
Piyush Shah
c1187fed84 user_node_mapping: Better handling for user reset and mapping state
Even when an explicit user reset was triggered by the firmware,
the RMAKER_EVENT_USER_NODE_MAPPING_DONE event was getting generated,
which was misleading and causing issues while integrating other
frameworks. A new event RMAKER_EVENT_USER_NODE_MAPPING_RESET has
been added to distinguish this event.

The esp_rmaker_user_node_mapping_get_state() has also been exposed
for applications to use. Note that the CONFIG_ESP_RMAKER_USER_ID_CHECK
config option should be enabled to get correct state.
2022-03-16 13:10:33 +05:30
Piyush Shah
b4641c8dc1 Merge branch 'bugfix/idf5.x' into 'master'
Fixes for idf v5.0

See merge request app-frameworks/esp-rainmaker!289
2022-03-16 02:19:00 +08:00
Piyush Shah
2a08ed9cfe Fixes for idf v5.0 2022-03-15 20:53:20 +05:30
Chirag Atal
764db8d072 esp_rmaker_scenes: Add scenes support.
This adds a new standard service and its standard params.
The implementation is similar to the schedule structure but without triggers.
2022-03-09 16:16:23 +05:30
Shubham Patil
93cb27833e ci: Stop using make for building examples 2022-03-04 17:46:53 +05:30