From df3e064ef30e257f9a5af5073f42a827d6c66bfa Mon Sep 17 00:00:00 2001 From: sivar2311 Date: Wed, 7 Feb 2024 06:35:03 +0100 Subject: [PATCH 01/10] Update to ArduinoJson7 --- src/Capabilities/AirQualitySensor.h | 2 +- src/Capabilities/BrightnessController.h | 2 +- src/Capabilities/ChannelController.h | 2 +- src/Capabilities/ColorController.h | 6 +-- src/Capabilities/ColorTemperatureController.h | 2 +- src/Capabilities/ContactSensor.h | 2 +- src/Capabilities/DoorController.h | 2 +- src/Capabilities/Doorbell.h | 2 +- src/Capabilities/EqualizerController.h | 16 +++--- src/Capabilities/InputController.h | 2 +- src/Capabilities/LockController.h | 2 +- src/Capabilities/MediaController.h | 2 +- src/Capabilities/ModeController.h | 4 +- src/Capabilities/MotionSensor.h | 2 +- src/Capabilities/MuteController.h | 2 +- src/Capabilities/PercentageController.h | 2 +- src/Capabilities/PowerLevelController.h | 2 +- src/Capabilities/PowerSensor.h | 2 +- src/Capabilities/PowerStateController.h | 2 +- src/Capabilities/PushNotification.h | 2 +- src/Capabilities/RangeController.h | 6 +-- src/Capabilities/TemperatureSensor.h | 2 +- src/Capabilities/ThermostatController.h | 4 +- src/Capabilities/ToggleController.h | 2 +- src/Capabilities/VolumeController.h | 2 +- src/SinricPro.h | 52 +++++++++---------- src/SinricProDevice.h | 6 +-- src/SinricProInterface.h | 2 +- src/SinricProSignature.cpp | 2 +- 29 files changed, 69 insertions(+), 69 deletions(-) diff --git a/src/Capabilities/AirQualitySensor.h b/src/Capabilities/AirQualitySensor.h index 1190b799..cda8a556 100644 --- a/src/Capabilities/AirQualitySensor.h +++ b/src/Capabilities/AirQualitySensor.h @@ -44,7 +44,7 @@ bool AirQualitySensor::sendAirQualityEvent(int pm1, int pm2_5, int pm10, Stri if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_AIRQUALITY_airQuality, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_AIRQUALITY_airQuality, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_AIRQUALITY_pm1] = pm1; diff --git a/src/Capabilities/BrightnessController.h b/src/Capabilities/BrightnessController.h index b67f3cb6..8b5f843c 100644 --- a/src/Capabilities/BrightnessController.h +++ b/src/Capabilities/BrightnessController.h @@ -109,7 +109,7 @@ bool BrightnessController::sendBrightnessEvent(int brightness, String cause) if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_BRIGHTNESS_setBrightness, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_BRIGHTNESS_setBrightness, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_BRIGHTNESS_brightness] = brightness; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/ChannelController.h b/src/Capabilities/ChannelController.h index f979cc65..96bafbc2 100644 --- a/src/Capabilities/ChannelController.h +++ b/src/Capabilities/ChannelController.h @@ -143,7 +143,7 @@ bool ChannelController::sendChangeChannelEvent(String channelName, String cau if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_CHANNEL_changeChannel, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_CHANNEL_changeChannel, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_CHANNEL_channel][FSTR_CHANNEL_name] = channelName; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/ColorController.h b/src/Capabilities/ColorController.h index 6bb9637a..9e224d85 100644 --- a/src/Capabilities/ColorController.h +++ b/src/Capabilities/ColorController.h @@ -88,8 +88,8 @@ bool ColorController::sendColorEvent(byte r, byte g, byte b, String cause) { if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_COLOR_setColor, cause.c_str()); - JsonObject event_color = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value].createNestedObject(FSTR_COLOR_color); + JsonDocument eventMessage = device->prepareEvent(FSTR_COLOR_setColor, cause.c_str()); + JsonObject event_color = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value][FSTR_COLOR_color].to(); event_color[FSTR_COLOR_r] = r; event_color[FSTR_COLOR_g] = g; event_color[FSTR_COLOR_b] = b; @@ -108,7 +108,7 @@ bool ColorController::handleColorController(SinricProRequest &request) { g = request.request_value[FSTR_COLOR_color][FSTR_COLOR_g]; b = request.request_value[FSTR_COLOR_color][FSTR_COLOR_b]; success = colorCallback(device->deviceId, r, g, b); - request.response_value.createNestedObject(FSTR_COLOR_color); + request.response_value[FSTR_COLOR_color].to(); request.response_value[FSTR_COLOR_color][FSTR_COLOR_r] = r; request.response_value[FSTR_COLOR_color][FSTR_COLOR_g] = g; request.response_value[FSTR_COLOR_color][FSTR_COLOR_b] = b; diff --git a/src/Capabilities/ColorTemperatureController.h b/src/Capabilities/ColorTemperatureController.h index 84d3c1ea..bfc61d93 100644 --- a/src/Capabilities/ColorTemperatureController.h +++ b/src/Capabilities/ColorTemperatureController.h @@ -141,7 +141,7 @@ bool ColorTemperatureController::sendColorTemperatureEvent(int colorTemperatu if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_COLORTEMPERATURE_setColorTemperature, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_COLORTEMPERATURE_setColorTemperature, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_COLORTEMPERATURE_colorTemperature] = colorTemperature; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/ContactSensor.h b/src/Capabilities/ContactSensor.h index 3daffedb..67c26c10 100644 --- a/src/Capabilities/ContactSensor.h +++ b/src/Capabilities/ContactSensor.h @@ -41,7 +41,7 @@ bool ContactSensor::sendContactEvent(bool detected, String cause) { if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_CONTACT_setContactState, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_CONTACT_setContactState, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_CONTACT_state] = detected ? FSTR_CONTACT_closed : FSTR_CONTACT_open; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/DoorController.h b/src/Capabilities/DoorController.h index 49e4661b..718cc137 100644 --- a/src/Capabilities/DoorController.h +++ b/src/Capabilities/DoorController.h @@ -79,7 +79,7 @@ bool DoorController::sendDoorStateEvent(bool state, String cause) { if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_DOOR_setMode, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_DOOR_setMode, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; state ? event_value[FSTR_DOOR_mode] = FSTR_DOOR_Close : event_value[FSTR_DOOR_mode] = FSTR_DOOR_Open; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/Doorbell.h b/src/Capabilities/Doorbell.h index 0bebfd59..5776be06 100644 --- a/src/Capabilities/Doorbell.h +++ b/src/Capabilities/Doorbell.h @@ -40,7 +40,7 @@ bool Doorbell::sendDoorbellEvent(String cause) { if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_DOORBELL_DoorbellPress, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_DOORBELL_DoorbellPress, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_DOORBELL_state] = FSTR_DOORBELL_pressed; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/EqualizerController.h b/src/Capabilities/EqualizerController.h index 347083b2..32d29ad3 100644 --- a/src/Capabilities/EqualizerController.h +++ b/src/Capabilities/EqualizerController.h @@ -148,10 +148,10 @@ bool EqualizerController::sendBandsEvent(String bands, int level, String caus if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_EQUALIZER_setBands, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_EQUALIZER_setBands, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; JsonArray event_value_bands = event_value.createNestedArray(FSTR_EQUALIZER_bands); - JsonObject event_bands = event_value_bands.createNestedObject(); + JsonObject event_bands = event_value_bands.add(); event_bands[FSTR_EQUALIZER_name] = bands; event_bands[FSTR_EQUALIZER_value] = level; return device->sendEvent(eventMessage); @@ -164,13 +164,13 @@ bool EqualizerController::handleEqualizerController(SinricProRequest &request if (setBandsCallback && request.action == FSTR_EQUALIZER_setBands) { JsonArray bands_array = request.request_value[FSTR_EQUALIZER_bands]; - JsonArray response_value_bands = request.response_value.createNestedArray(FSTR_EQUALIZER_bands); + JsonArray response_value_bands = request.response_value[FSTR_EQUALIZER_bands].to(); for (size_t i = 0; i < bands_array.size(); i++) { int level = bands_array[i][FSTR_EQUALIZER_level] | 0; String bandsName = bands_array[i][FSTR_EQUALIZER_name] | ""; success = setBandsCallback(device->deviceId, bandsName, level); - JsonObject response_value_bands_i = response_value_bands.createNestedObject(); + JsonObject response_value_bands_i = response_value_bands.add(); response_value_bands_i[FSTR_EQUALIZER_name] = bandsName; response_value_bands_i[FSTR_EQUALIZER_level] = level; } @@ -179,7 +179,7 @@ bool EqualizerController::handleEqualizerController(SinricProRequest &request if (adjustBandsCallback && request.action == FSTR_EQUALIZER_adjustBands) { JsonArray bands_array = request.request_value[FSTR_EQUALIZER_bands]; - JsonArray response_value_bands = request.response_value.createNestedArray(FSTR_EQUALIZER_bands); + JsonArray response_value_bands = request.response_value[FSTR_EQUALIZER_bands].to(); for (size_t i = 0; i < bands_array.size(); i++) { int levelDelta = bands_array[i][FSTR_EQUALIZER_levelDelta] | 1; @@ -188,7 +188,7 @@ bool EqualizerController::handleEqualizerController(SinricProRequest &request levelDelta *= -1; String bandsName = bands_array[i][FSTR_EQUALIZER_name] | ""; success = adjustBandsCallback(device->deviceId, bandsName, levelDelta); - JsonObject response_value_bands_i = response_value_bands.createNestedObject(); + JsonObject response_value_bands_i = response_value_bands.add(); response_value_bands_i[FSTR_EQUALIZER_name] = bandsName; response_value_bands_i[FSTR_EQUALIZER_level] = levelDelta; } @@ -197,13 +197,13 @@ bool EqualizerController::handleEqualizerController(SinricProRequest &request if (resetBandsCallback && request.action == FSTR_EQUALIZER_resetBands) { JsonArray bands_array = request.request_value[FSTR_EQUALIZER_bands]; - JsonArray response_value_bands = request.response_value.createNestedArray(FSTR_EQUALIZER_bands); + JsonArray response_value_bands = request.response_value[FSTR_EQUALIZER_bands].to(); for (size_t i = 0; i < bands_array.size(); i++) { int level = 0; String bandsName = bands_array[i][FSTR_EQUALIZER_name] | ""; success = adjustBandsCallback(device->deviceId, bandsName, level); - JsonObject response_value_bands_i = response_value_bands.createNestedObject(); + JsonObject response_value_bands_i = response_value_bands.add(); response_value_bands_i[FSTR_EQUALIZER_name] = bandsName; response_value_bands_i[FSTR_EQUALIZER_level] = level; } diff --git a/src/Capabilities/InputController.h b/src/Capabilities/InputController.h index 6b235201..d2f5e92d 100644 --- a/src/Capabilities/InputController.h +++ b/src/Capabilities/InputController.h @@ -80,7 +80,7 @@ bool InputController::sendSelectInputEvent(String input, String cause) { if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_INPUT_selectInput, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_INPUT_selectInput, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_INPUT_input] = input; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/LockController.h b/src/Capabilities/LockController.h index e05f0763..a2ff1472 100644 --- a/src/Capabilities/LockController.h +++ b/src/Capabilities/LockController.h @@ -89,7 +89,7 @@ bool LockController::sendLockStateEvent(bool state, String cause) { if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_LOCK_setLockState, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_LOCK_setLockState, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; state ? event_value[FSTR_LOCK_state] = FSTR_LOCK_LOCKED : event_value[FSTR_LOCK_state] = FSTR_LOCK_UNLOCKED; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/MediaController.h b/src/Capabilities/MediaController.h index 25f97491..2a3c1f4b 100644 --- a/src/Capabilities/MediaController.h +++ b/src/Capabilities/MediaController.h @@ -80,7 +80,7 @@ bool MediaController::sendMediaControlEvent(String mediaControl, String cause if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_MEDIA_mediaControl, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_MEDIA_mediaControl, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_MEDIA_control] = mediaControl; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/ModeController.h b/src/Capabilities/ModeController.h index c46e437d..9d9b23d0 100644 --- a/src/Capabilities/ModeController.h +++ b/src/Capabilities/ModeController.h @@ -115,7 +115,7 @@ bool ModeController::sendModeEvent(String mode, String cause) { if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_MODE_setMode, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_MODE_setMode, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_MODE_mode] = mode; return device->sendEvent(eventMessage); @@ -138,7 +138,7 @@ bool ModeController::sendModeEvent(String instance, String mode, String cause T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_MODE_setMode, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_MODE_setMode, cause.c_str()); eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_instanceId] = instance; JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_MODE_mode] = mode; diff --git a/src/Capabilities/MotionSensor.h b/src/Capabilities/MotionSensor.h index bd964155..4c8eb960 100644 --- a/src/Capabilities/MotionSensor.h +++ b/src/Capabilities/MotionSensor.h @@ -42,7 +42,7 @@ bool MotionSensor::sendMotionEvent(bool detected, String cause) { if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_MOTION_motion, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_MOTION_motion, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_MOTION_state] = detected ? FSTR_MOTION_detected : FSTR_MOTION_notDetected; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/MuteController.h b/src/Capabilities/MuteController.h index 52704615..b65331f3 100644 --- a/src/Capabilities/MuteController.h +++ b/src/Capabilities/MuteController.h @@ -77,7 +77,7 @@ bool MuteController::sendMuteEvent(bool mute, String cause) { if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_MUTE_setMute, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_MUTE_setMute, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_MUTE_mute] = mute; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/PercentageController.h b/src/Capabilities/PercentageController.h index df9cb6de..550af283 100644 --- a/src/Capabilities/PercentageController.h +++ b/src/Capabilities/PercentageController.h @@ -108,7 +108,7 @@ bool PercentageController::sendSetPercentageEvent(int percentage, String caus if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_PERCENTAGE_setPercentage, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_PERCENTAGE_setPercentage, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_PERCENTAGE_percentage] = percentage; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/PowerLevelController.h b/src/Capabilities/PowerLevelController.h index d4399231..3d3585ea 100644 --- a/src/Capabilities/PowerLevelController.h +++ b/src/Capabilities/PowerLevelController.h @@ -111,7 +111,7 @@ bool PowerLevelController::sendPowerLevelEvent(int powerLevel, String cause) if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_POWERLEVEL_setPowerLevel, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_POWERLEVEL_setPowerLevel, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_POWERLEVEL_powerLevel] = powerLevel; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/PowerSensor.h b/src/Capabilities/PowerSensor.h index 9b3f4a57..f81057fa 100644 --- a/src/Capabilities/PowerSensor.h +++ b/src/Capabilities/PowerSensor.h @@ -55,7 +55,7 @@ bool PowerSensor::sendPowerSensorEvent(float voltage, float current, float po if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_POWERSENSOR_powerUsage, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_POWERSENSOR_powerUsage, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; if (power == -1) power = voltage * current; diff --git a/src/Capabilities/PowerStateController.h b/src/Capabilities/PowerStateController.h index dfe34918..29f1b1e1 100644 --- a/src/Capabilities/PowerStateController.h +++ b/src/Capabilities/PowerStateController.h @@ -81,7 +81,7 @@ bool PowerStateController::sendPowerStateEvent(bool state, String cause) { if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_POWERSTATE_setPowerState, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_POWERSTATE_setPowerState, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_POWERSTATE_state] = state ? FSTR_POWERSTATE_On : FSTR_POWERSTATE_Off; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/PushNotification.h b/src/Capabilities/PushNotification.h index 8f684661..6f124385 100644 --- a/src/Capabilities/PushNotification.h +++ b/src/Capabilities/PushNotification.h @@ -39,7 +39,7 @@ bool PushNotification::sendPushNotification(String notification) { if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_PUSHNOTIFICATION_pushNotification, FSTR_SINRICPRO_ALERT); + JsonDocument eventMessage = device->prepareEvent(FSTR_PUSHNOTIFICATION_pushNotification, FSTR_SINRICPRO_ALERT); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_PUSHNOTIFICATION_alert] = notification; diff --git a/src/Capabilities/RangeController.h b/src/Capabilities/RangeController.h index 89ce11b6..ac7b8b23 100644 --- a/src/Capabilities/RangeController.h +++ b/src/Capabilities/RangeController.h @@ -205,7 +205,7 @@ bool RangeController::sendRangeValueEvent(int rangeValue, String cause) { if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_RANGE_setRangeValue, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_RANGE_setRangeValue, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_RANGE_rangeValue] = rangeValue; return device->sendEvent(eventMessage); @@ -227,7 +227,7 @@ bool RangeController::sendRangeValueEvent(const String& instance, int rangeVa if (event_limiter_generic[instance]) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_RANGE_setRangeValue, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_RANGE_setRangeValue, cause.c_str()); eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_instanceId] = instance; JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; @@ -241,7 +241,7 @@ bool RangeController::sendRangeValueEvent(const String& instance, float range if (event_limiter_generic[instance]) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_RANGE_setRangeValue, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_RANGE_setRangeValue, cause.c_str()); eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_instanceId] = instance; JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; diff --git a/src/Capabilities/TemperatureSensor.h b/src/Capabilities/TemperatureSensor.h index efc4fbe4..7b8251f6 100644 --- a/src/Capabilities/TemperatureSensor.h +++ b/src/Capabilities/TemperatureSensor.h @@ -42,7 +42,7 @@ bool TemperatureSensor::sendTemperatureEvent(float temperature, float humidit if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_TEMPERATURE_currentTemperature, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_TEMPERATURE_currentTemperature, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_TEMPERATURE_humidity] = roundf(humidity * 100) / 100.0; event_value[FSTR_TEMPERATURE_temperature] = roundf(temperature * 10) / 10.0; diff --git a/src/Capabilities/ThermostatController.h b/src/Capabilities/ThermostatController.h index 6ab12a10..c7e8da7a 100644 --- a/src/Capabilities/ThermostatController.h +++ b/src/Capabilities/ThermostatController.h @@ -147,7 +147,7 @@ bool ThermostatController::sendThermostatModeEvent(String thermostatMode, Str if (event_limiter_thermostatMode) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_THERMOSTAT_setThermostatMode, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_THERMOSTAT_setThermostatMode, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_THERMOSTAT_thermostatMode] = thermostatMode; return device->sendEvent(eventMessage); @@ -167,7 +167,7 @@ bool ThermostatController::sendTargetTemperatureEvent(float temperature, Stri if (event_limiter_targetTemperature) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_THERMOSTAT_targetTemperature, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_THERMOSTAT_targetTemperature, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_THERMOSTAT_temperature] = roundf(temperature * 10) / 10.0; return device->sendEvent(eventMessage); diff --git a/src/Capabilities/ToggleController.h b/src/Capabilities/ToggleController.h index 630f3277..ae32d63b 100644 --- a/src/Capabilities/ToggleController.h +++ b/src/Capabilities/ToggleController.h @@ -85,7 +85,7 @@ bool ToggleController::sendToggleStateEvent(const String &instance, bool stat T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_TOGGLE_setToggleState, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_TOGGLE_setToggleState, cause.c_str()); eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_instanceId] = instance; JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_TOGGLE_state] = state ? FSTR_TOGGLE_On : FSTR_TOGGLE_Off; diff --git a/src/Capabilities/VolumeController.h b/src/Capabilities/VolumeController.h index cb40ddbd..a35fffdc 100644 --- a/src/Capabilities/VolumeController.h +++ b/src/Capabilities/VolumeController.h @@ -110,7 +110,7 @@ bool VolumeController::sendVolumeEvent(int volume, String cause) { if (event_limiter) return false; T* device = static_cast(this); - DynamicJsonDocument eventMessage = device->prepareEvent(FSTR_VOLUME_setVolume, cause.c_str()); + JsonDocument eventMessage = device->prepareEvent(FSTR_VOLUME_setVolume, cause.c_str()); JsonObject event_value = eventMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_value]; event_value[FSTR_VOLUME_volume] = volume; return device->sendEvent(eventMessage); diff --git a/src/SinricPro.h b/src/SinricPro.h index bdc5be45..c5c18931 100644 --- a/src/SinricPro.h +++ b/src/SinricPro.h @@ -70,18 +70,18 @@ class SinricProClass : public SinricProInterface { void add(SinricProDeviceInterface& newDevice); void add(SinricProDeviceInterface* newDevice); - DynamicJsonDocument prepareResponse(JsonDocument& requestMessage); - DynamicJsonDocument prepareEvent(String deviceId, const char* action, const char* cause) override; + JsonDocument prepareResponse(JsonDocument& requestMessage); + JsonDocument prepareEvent(String deviceId, const char* action, const char* cause) override; void sendMessage(JsonDocument& jsonMessage) override; private: void handleReceiveQueue(); void handleSendQueue(); - void handleRequest(DynamicJsonDocument& requestMessage, interface_t Interface); - void handleResponse(DynamicJsonDocument& responseMessage); + void handleRequest(JsonDocument& requestMessage, interface_t Interface); + void handleResponse(JsonDocument& responseMessage); - DynamicJsonDocument prepareRequest(String deviceId, const char* action); + JsonDocument prepareRequest(String deviceId, const char* action); void connect(); void disconnect(); @@ -251,23 +251,23 @@ void SinricProClass::handle() { handleSendQueue(); } -DynamicJsonDocument SinricProClass::prepareRequest(String deviceId, const char* action) { - DynamicJsonDocument requestMessage(1024); - JsonObject header = requestMessage.createNestedObject(FSTR_SINRICPRO_header); +JsonDocument SinricProClass::prepareRequest(String deviceId, const char* action) { + JsonDocument requestMessage; + JsonObject header = requestMessage[FSTR_SINRICPRO_header].to(); header[FSTR_SINRICPRO_payloadVersion] = 2; header[FSTR_SINRICPRO_signatureVersion] = 1; - JsonObject payload = requestMessage.createNestedObject(FSTR_SINRICPRO_payload); + JsonObject payload = requestMessage[FSTR_SINRICPRO_payload].to(); payload[FSTR_SINRICPRO_action] = action; payload[FSTR_SINRICPRO_createdAt] = 0; payload[FSTR_SINRICPRO_deviceId] = deviceId; payload[FSTR_SINRICPRO_replyToken] = MessageID().getID(); payload[FSTR_SINRICPRO_type] = FSTR_SINRICPRO_request; - payload.createNestedObject(FSTR_SINRICPRO_value); + payload[FSTR_SINRICPRO_value].to(); return requestMessage; } -void SinricProClass::handleResponse(DynamicJsonDocument& responseMessage) { +void SinricProClass::handleResponse(JsonDocument& responseMessage) { (void)responseMessage; DEBUG_SINRIC("[SinricPro.handleResponse()]:\r\n"); @@ -277,13 +277,13 @@ void SinricProClass::handleResponse(DynamicJsonDocument& responseMessage) { #endif } -void SinricProClass::handleRequest(DynamicJsonDocument& requestMessage, interface_t Interface) { +void SinricProClass::handleRequest(JsonDocument& requestMessage, interface_t Interface) { DEBUG_SINRIC("[SinricPro.handleRequest()]: handling request\r\n"); #ifndef NODEBUG_SINRIC serializeJsonPretty(requestMessage, DEBUG_ESP_PORT); #endif - DynamicJsonDocument responseMessage = prepareResponse(requestMessage); + JsonDocument responseMessage = prepareResponse(requestMessage); // handle devices bool success = false; @@ -325,7 +325,7 @@ void SinricProClass::handleReceiveQueue() { while (receiveQueue.size() > 0) { SinricProMessage* rawMessage = receiveQueue.front(); receiveQueue.pop(); - DynamicJsonDocument jsonMessage(1024); + JsonDocument jsonMessage; deserializeJson(jsonMessage, rawMessage->getMessage()); bool sigMatch = false; @@ -363,7 +363,7 @@ void SinricProClass::handleSendQueue() { SinricProMessage* rawMessage = sendQueue.front(); sendQueue.pop(); - DynamicJsonDocument jsonMessage(1024); + JsonDocument jsonMessage; deserializeJson(jsonMessage, rawMessage->getMessage()); jsonMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_createdAt] = timestamp.getTimestamp(); signMessage(appSecret, jsonMessage); @@ -537,13 +537,13 @@ unsigned long SinricProClass::getTimestamp() { return timestamp.getTimestamp(); } -DynamicJsonDocument SinricProClass::prepareResponse(JsonDocument& requestMessage) { - DynamicJsonDocument responseMessage(1024); - JsonObject header = responseMessage.createNestedObject(FSTR_SINRICPRO_header); +JsonDocument SinricProClass::prepareResponse(JsonDocument& requestMessage) { + JsonDocument responseMessage; + JsonObject header = responseMessage[FSTR_SINRICPRO_header].to(); header[FSTR_SINRICPRO_payloadVersion] = 2; header[FSTR_SINRICPRO_signatureVersion] = 1; - JsonObject payload = responseMessage.createNestedObject(FSTR_SINRICPRO_payload); + JsonObject payload = responseMessage[FSTR_SINRICPRO_payload].to(); payload[FSTR_SINRICPRO_action] = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_action]; payload[FSTR_SINRICPRO_clientId] = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_clientId]; payload[FSTR_SINRICPRO_createdAt] = 0; @@ -553,25 +553,25 @@ DynamicJsonDocument SinricProClass::prepareResponse(JsonDocument& requestMessage payload[FSTR_SINRICPRO_replyToken] = requestMessage[FSTR_SINRICPRO_payload][FSTR_SINRICPRO_replyToken]; payload[FSTR_SINRICPRO_success] = false; payload[FSTR_SINRICPRO_type] = FSTR_SINRICPRO_response; - payload.createNestedObject(FSTR_SINRICPRO_value); + payload[FSTR_SINRICPRO_value].to(); return responseMessage; } -DynamicJsonDocument SinricProClass::prepareEvent(String deviceId, const char* action, const char* cause) { - DynamicJsonDocument eventMessage(1024); - JsonObject header = eventMessage.createNestedObject(FSTR_SINRICPRO_header); +JsonDocument SinricProClass::prepareEvent(String deviceId, const char* action, const char* cause) { + JsonDocument eventMessage; + JsonObject header = eventMessage[FSTR_SINRICPRO_header].to(); header[FSTR_SINRICPRO_payloadVersion] = 2; header[FSTR_SINRICPRO_signatureVersion] = 1; - JsonObject payload = eventMessage.createNestedObject(FSTR_SINRICPRO_payload); + JsonObject payload = eventMessage[FSTR_SINRICPRO_payload].to(); payload[FSTR_SINRICPRO_action] = action; - payload[FSTR_SINRICPRO_cause].createNestedObject(FSTR_SINRICPRO_type); + payload[FSTR_SINRICPRO_cause][FSTR_SINRICPRO_type].to(); payload[FSTR_SINRICPRO_cause][FSTR_SINRICPRO_type] = cause; payload[FSTR_SINRICPRO_createdAt] = 0; payload[FSTR_SINRICPRO_deviceId] = deviceId; payload[FSTR_SINRICPRO_replyToken] = MessageID().getID(); payload[FSTR_SINRICPRO_type] = FSTR_SINRICPRO_event; - payload.createNestedObject(FSTR_SINRICPRO_value); + payload[FSTR_SINRICPRO_value].to(); return eventMessage; } diff --git a/src/SinricProDevice.h b/src/SinricProDevice.h index 4474ca47..04995624 100644 --- a/src/SinricProDevice.h +++ b/src/SinricProDevice.h @@ -34,7 +34,7 @@ class SinricProDevice : public SinricProDeviceInterface { void registerRequestHandler(const SinricProRequestHandler &requestHandler); unsigned long getTimestamp(); virtual bool sendEvent(JsonDocument &event); - virtual DynamicJsonDocument prepareEvent(const char *action, const char *cause); + virtual JsonDocument prepareEvent(const char *action, const char *cause); virtual String getProductType(); virtual void begin(SinricProInterface *eventSender); @@ -68,10 +68,10 @@ bool SinricProDevice::operator==(const String &other) { return other == deviceId; } -DynamicJsonDocument SinricProDevice::prepareEvent(const char* action, const char* cause) { +JsonDocument SinricProDevice::prepareEvent(const char* action, const char* cause) { if (eventSender) return eventSender->prepareEvent(deviceId, action, cause); DEBUG_SINRIC("[SinricProDevice:prepareEvent()]: Device \"%s\" isn't configured correctly! The \'%s\' event will be ignored.\r\n", deviceId.c_str(), action); - return DynamicJsonDocument(1024); + return JsonDocument(); } diff --git a/src/SinricProInterface.h b/src/SinricProInterface.h index 8cad5616..2de9216b 100644 --- a/src/SinricProInterface.h +++ b/src/SinricProInterface.h @@ -17,7 +17,7 @@ class SinricProInterface { friend class SinricProDevice; protected: virtual void sendMessage(JsonDocument& jsonEvent); - virtual DynamicJsonDocument prepareEvent(String deviceId, const char* action, const char* cause); + virtual JsonDocument prepareEvent(String deviceId, const char* action, const char* cause); virtual unsigned long getTimestamp(); virtual bool isConnected(); }; diff --git a/src/SinricProSignature.cpp b/src/SinricProSignature.cpp index 46bf9c21..be8d06d4 100644 --- a/src/SinricProSignature.cpp +++ b/src/SinricProSignature.cpp @@ -71,7 +71,7 @@ String calculateSignature(const char* key, String payload) { } String signMessage(String key, JsonDocument &jsonMessage) { - if (!jsonMessage.containsKey("signature")) jsonMessage.createNestedObject("signature"); + if (!jsonMessage.containsKey("signature")) jsonMessage["signature"].to(); jsonMessage["signature"]["HMAC"] = calculateSignature(key.c_str(), jsonMessage["payload"]); String signedMessageString; serializeJson(jsonMessage, signedMessageString); From 6df997a43cad01de4486954c0debcd2209f186d3 Mon Sep 17 00:00:00 2001 From: sivar2311 Date: Wed, 7 Feb 2024 06:45:41 +0100 Subject: [PATCH 02/10] Bump Version Add ArduinoJson version 7 to dependencies --- library.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/library.json b/library.json index 879ab348..61aa1fcd 100644 --- a/library.json +++ b/library.json @@ -13,7 +13,7 @@ "maintainer": true } ], - "version": "3.0.1", + "version": "3.1.0", "frameworks": "arduino", "platforms": [ "espressif8266", @@ -23,6 +23,7 @@ "dependencies":[ { "name": "ArduinoJson", + "version": "^7.0.3", "platforms":["espressif32","espressif8266"] }, { From d81770ac29d94403281f7bd2c83da4dcb0eef8a9 Mon Sep 17 00:00:00 2001 From: sivar2311 Date: Wed, 7 Feb 2024 06:46:04 +0100 Subject: [PATCH 03/10] Upgrade to Arduino Version 7 --- changelog.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/changelog.md b/changelog.md index 1a0e45af..5f6b3c43 100644 --- a/changelog.md +++ b/changelog.md @@ -1,4 +1,8 @@ # Changelog +## Version 3.1.0 +Upgrade: + - Upgrade to ArduinoJson 7 + ## Version 3.0.1 Fixed: - SinricPro.isConnected() still returns true if the connection was lost From 7d60c50053ea291b06d872cfb1eaf563ffe6864d Mon Sep 17 00:00:00 2001 From: sivar2311 Date: Wed, 7 Feb 2024 06:46:11 +0100 Subject: [PATCH 04/10] Bump Version --- src/SinricProVersion.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/SinricProVersion.h b/src/SinricProVersion.h index 245d51f9..d3925093 100644 --- a/src/SinricProVersion.h +++ b/src/SinricProVersion.h @@ -5,8 +5,8 @@ // Version Configuration #define SINRICPRO_VERSION_MAJOR 3 -#define SINRICPRO_VERSION_MINOR 0 -#define SINRICPRO_VERSION_REVISION 1 +#define SINRICPRO_VERSION_MINOR 1 +#define SINRICPRO_VERSION_REVISION 0 #define SINRICPRO_VERSION STR(SINRICPRO_VERSION_MAJOR) "." STR(SINRICPRO_VERSION_MINOR) "." STR(SINRICPRO_VERSION_REVISION) #define SINRICPRO_VERSION_STR "SinricPro (v" SINRICPRO_VERSION ")" #define SINRICPRO_VERISON_INT SINRICPRO_VERSION_MAJOR * 1000000 + SINRICPRO_VERSION_MINOR * 1000 + SINRICPRO_VERSION_REVISION \ No newline at end of file From 2fbb033f716c7cde76a81f5a7d6a7dd0666b086c Mon Sep 17 00:00:00 2001 From: sivar2311 Date: Wed, 7 Feb 2024 08:52:19 +0100 Subject: [PATCH 05/10] added version numbers to dependencies --- library.json | 1 + 1 file changed, 1 insertion(+) diff --git a/library.json b/library.json index 61aa1fcd..95b67cdc 100644 --- a/library.json +++ b/library.json @@ -28,6 +28,7 @@ }, { "name": "WebSockets", + "version": "^2.4.0", "platforms":["espressif32","espressif8266"] } ], From 960b74f454969f40ff1b4e80110b74a30138f623 Mon Sep 17 00:00:00 2001 From: sivar2311 Date: Wed, 7 Feb 2024 11:24:06 +0100 Subject: [PATCH 06/10] added version numbers to dependencies --- library.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library.properties b/library.properties index b3d7aca1..58caaf7b 100644 --- a/library.properties +++ b/library.properties @@ -9,5 +9,5 @@ url=https://sinricpro.github.io/esp8266-esp32-sdk/index.html architectures=esp8266,esp32,rp2040 repository=https://github.com/sinricpro/esp8266-esp32-sdk.git license=CC-BY-SA -depends=ArduinoJson,WebSockets +depends=ArduinoJson@7.0.3,WebSockets@2.4.0 includes=SinricPro.h From 089168c0de253b21e491a2c98b52f66752b27d0b Mon Sep 17 00:00:00 2001 From: sivar2311 Date: Wed, 7 Feb 2024 12:08:58 +0100 Subject: [PATCH 07/10] Bump version --- library.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library.properties b/library.properties index 58caaf7b..361b3d86 100644 --- a/library.properties +++ b/library.properties @@ -1,5 +1,5 @@ name=SinricPro -version=3.0.1 +version=3.1.0 author=Boris Jaeger maintainer=Boris Jaeger sentence=Library for https://sinric.pro - simple way to connect your device to alexa From bd59c1da5c41e37b148ec6b77273ac2ce7058a23 Mon Sep 17 00:00:00 2001 From: sivar2311 Date: Wed, 7 Feb 2024 16:45:33 +0100 Subject: [PATCH 08/10] updated libraries dependencies --- README.md | 7 +------ library.json | 20 ++++++++++++++------ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 41ad2706..1692de1e 100644 --- a/README.md +++ b/README.md @@ -9,11 +9,6 @@ [![Build](https://github.com/sinricpro/esp8266-esp32-sdk/actions/workflows/build-esp8266-esp32.yml/badge.svg)](https://github.com/sinricpro/esp8266-esp32-sdk/actions/workflows/build-esp8266-esp32.yml) -## Note -1. Use the latest ESP8226/ESP32/RP2040 Arduino Core! -2. Use the latest WebSocktes library! -3. Use the latest ArduinoJson library! - ## Installation ### VS Code & PlatformIO: @@ -35,7 +30,7 @@ --- ## Dependencies -[ArduinoJson](https://github.com/bblanchon/ArduinoJson) by Benoit Blanchon (minimum Version 6.12.0) +[ArduinoJson](https://github.com/bblanchon/ArduinoJson) by Benoit Blanchon (minimum Version 7.0.3) [WebSockets](https://github.com/Links2004/arduinoWebSockets) by Markus Sattler (minimum Version 2.4.0) --- diff --git a/library.json b/library.json index 95b67cdc..b3e0fd93 100644 --- a/library.json +++ b/library.json @@ -20,21 +20,29 @@ "espressif32", "raspberrypi" ], - "dependencies":[ - { + "dependencies": [ + { "name": "ArduinoJson", "version": "^7.0.3", - "platforms":["espressif32","espressif8266"] + "platforms": [ + "espressif32", + "espressif8266", + "raspberrypi" + ] }, { "name": "WebSockets", "version": "^2.4.0", - "platforms":["espressif32","espressif8266"] + "platforms": [ + "espressif32", + "espressif8266", + "raspberrypi" + ] } ], - "examples":[ + "examples": [ "examples/*/*.ino", "examples/*/*/*.ino" ], "license": "CC-BY-SA-4.0" -} +} \ No newline at end of file From 1b7e7938eb81cc3b69975ee27e0b57212c86777c Mon Sep 17 00:00:00 2001 From: sivar2311 Date: Thu, 8 Feb 2024 05:58:04 +0100 Subject: [PATCH 09/10] simplified platformio.ini --- examples/platformio/platformio.ini | 103 ++--------------------------- 1 file changed, 4 insertions(+), 99 deletions(-) diff --git a/examples/platformio/platformio.ini b/examples/platformio/platformio.ini index 683d0e28..ed6a339f 100644 --- a/examples/platformio/platformio.ini +++ b/examples/platformio/platformio.ini @@ -8,28 +8,12 @@ ; Please visit documentation for the other options and examples ; https://docs.platformio.org/page/projectconf.html -[platformio] -; ============================================================ -; chose environment: -; ESP8266 -; ESP32 -; ============================================================ -default_envs = ESP8266 -;default_envs = ESP32 - [env] -; ============================================================ -; Serial configuration -; choose upload speed, serial-monitor speed -; ============================================================ +framework = arduino upload_speed = 921600 -;upload_port = COM11 monitor_speed = 115200 -;monitor_port = COM11 - lib_deps = sinricpro/SinricPro - build_flags = ; set your debug output (default=Serial) -D DEBUG_ESP_PORT=Serial @@ -40,95 +24,16 @@ build_flags = ; comment the following line to enable SinricPro debugging -D NODEBUG_SINRIC - [env:ESP8266] platform = espressif8266 -framework = arduino -; ============================================================ -; Board configuration -; choose your board by uncommenting one of the following lines -; ============================================================ -;board = gen4iod -;board = huzzah -;board = oak -;board = esp_wroom_02 -;board = espduino -;board = espectro -;board = espino -;board = espresso_lite_v1 -;board = espresso_lite_v2 -;board = esp12e -;board = esp01_1m -;board = esp01 -;board = esp07 -;board = esp8285 -;board = heltec_wifi_kit_8 -;board = inventone -;board = nodemcu -board = nodemcuv2 -;board = modwifi -;board = phoenix_v1 -;board = phoenix_v2 -;board = sparkfunBlynk -;board = thing -;board = thingdev -;board = esp210 -;board = espinotee -;board = d1 -;board = d1_mini -;board = d1_mini_lite -;board = d1_mini_pro -;board = wifi_slot -;board = wifiduino -;board = wifinfo -;board = wio_link -;board = wio_node -;board = xinabox_cw01 -;board = esp32doit-devkit-v1 +board = esp12e [env:ESP32] platform = espressif32 framework = arduino -; ============================================================ -; Board configuration -; choose your board by uncommenting one of the following lines -; ============================================================ -;board = esp32cam -;board = alksesp32 -;board = featheresp32 -;board = espea32 -;board = bpi-bit -;board = d-duino-32 -board = esp32doit-devkit-v1 -;board = pocket_32 -;board = fm-devkit -;board = pico32 -;board = esp32-evb -;board = esp32-gateway -;board = esp32-pro -;board = esp32-poe -;board = oroca_edubot -;board = onehorse32dev -;board = lopy -;board = lopy4 -;board = wesp32 -;board = esp32thing -;board = sparkfun_lora_gateway_1-channel -;board = ttgo-lora32-v1 -;board = ttgo-t-beam -;board = turta_iot_node -;board = lolin_d32 -;board = lolin_d32_pro -;board = lolin32 -;board = wemosbat -;board = widora-air -;board = xinabox_cw02 -;board = iotbusio -;board = iotbusproteus -;board = nina_w10 +board = esp32dev -[env:pico] +[env:RP2040] platform = https://github.com/maxgerhardt/platform-raspberrypi.git board = pico -framework = arduino board_build.core = earlephilhower \ No newline at end of file From 2f30a49167c2ad1f7e3b8f3854f5d218e1e48e9b Mon Sep 17 00:00:00 2001 From: sivar2311 Date: Thu, 8 Feb 2024 05:58:28 +0100 Subject: [PATCH 10/10] updated README --- README.md | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 1692de1e..caac34f5 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,8 @@ ### VS Code & PlatformIO: 1. Install [VS Code](https://code.visualstudio.com/) 2. Install [PlatformIO](https://platformio.org/platformio-ide) -3. Install **SinricPro** library by using [Library Manager](https://docs.platformio.org/en/latest/librarymanager/) -4. Use included [platformio.ini](examples/platformio/platformio.ini) file from examples to ensure that all dependent libraries will installed automaticly. +3. Create a new Project +4. Use the [Library Manager](https://docs.platformio.org/en/latest/librarymanager/) to add the library to your project or add `sinricpro/SinricPro` manually to your `lib_deps` in `platformio.ini`. ![sinricpro library manager](https://raw.githubusercontent.com/sinricpro/images/master/platformio-install-sinricpro.png) @@ -30,8 +30,8 @@ --- ## Dependencies -[ArduinoJson](https://github.com/bblanchon/ArduinoJson) by Benoit Blanchon (minimum Version 7.0.3) -[WebSockets](https://github.com/Links2004/arduinoWebSockets) by Markus Sattler (minimum Version 2.4.0) +- [ArduinoJson](https://github.com/bblanchon/ArduinoJson) by Benoit Blanchon (minimum Version 7.0.3) +- [WebSockets](https://github.com/Links2004/arduinoWebSockets) by Markus Sattler (minimum Version 2.4.0) --- @@ -93,10 +93,6 @@ Example ```C++ SinricProSwitch& mySwitch = SinricPro["YOUR-SWITCH-ID-HERE"]; ``` -*Example 2 (alternatively)* -```C++ - SinricProSwitch& mySwitch = SinricPro.add("YOUR-SWITCH-ID-HERE"); -``` --- ## How to retrieve a device for sending an event? @@ -104,17 +100,12 @@ Syntax is ```C++ DeviceType& myDevice = SinricPro[DEVICE_ID]; ``` -Example 1 +Example ```C++ SinricProDoorbell& myDoorbell = SinricPro["YOUR-DOORBELL-ID-HERE"]; myDoorbell.sendDoorbellEvent(); ``` -*Example 2 (alternatively)* -```C++ - SinricPro["YOUR-DOORBELL-ID-HERE"].as().sendDoorbellEvent(); -``` - ## How to send a push notification? ```C++ SinricProSwitch& mySwitch = SinricPro[SWITCH_ID]; @@ -123,7 +114,7 @@ mySwitch.sendPushNotification("Hello SinricPro!"); --- -# Devices +## Devices * Switch * Dimmable Switch * Light