File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -61,6 +61,10 @@ bool SettingController<T>::handleSettingController(SinricProRequest &request) {
6161 settingValue = valueVariant.as <float >();
6262 } else if (valueVariant.is <int >()) {
6363 settingValue = valueVariant.as <int >();
64+ } else if (valueVariant.is <JsonObject>()) {
65+ String jsonString;
66+ serializeJson (valueVariant, jsonString);
67+ settingValue = jsonString;
6468 } else if (valueVariant.is <const char *>()) {
6569 settingValue = String (valueVariant.as <const char *>());
6670 }
@@ -69,7 +73,9 @@ bool SettingController<T>::handleSettingController(SinricProRequest &request) {
6973
7074 request.response_value [FSTR_SETTING_id] = settingId;
7175
72- if (std::holds_alternative<int >(settingValue)) {
76+ if (valueVariant.is <JsonObject>()) {
77+ request.response_value [FSTR_SETTINGS_value] = valueVariant;
78+ } else if (std::holds_alternative<int >(settingValue)) {
7379 request.response_value [FSTR_SETTING_value] = std::get<int >(settingValue);
7480 } else if (std::holds_alternative<float >(settingValue)) {
7581 request.response_value [FSTR_SETTING_value] = std::get<float >(settingValue);
Original file line number Diff line number Diff line change @@ -88,6 +88,10 @@ bool SinricProModuleCommandHandler::handleRequest(SinricProRequest &request) {
8888 settingValue = valueVariant.as <float >();
8989 } else if (valueVariant.is <int >()) {
9090 settingValue = valueVariant.as <int >();
91+ } else if (valueVariant.is <JsonObject>()) {
92+ String jsonString;
93+ serializeJson (valueVariant, jsonString);
94+ settingValue = jsonString;
9195 } else if (valueVariant.is <const char *>()) {
9296 settingValue = String (valueVariant.as <const char *>());
9397 }
@@ -96,7 +100,9 @@ bool SinricProModuleCommandHandler::handleRequest(SinricProRequest &request) {
96100
97101 request.response_value [FSTR_SETTINGS_id] = id;
98102
99- if (std::holds_alternative<int >(settingValue)) {
103+ if (valueVariant.is <JsonObject>()) {
104+ request.response_value [FSTR_SETTINGS_value] = valueVariant;
105+ } else if (std::holds_alternative<int >(settingValue)) {
100106 request.response_value [FSTR_SETTINGS_value] = std::get<int >(settingValue);
101107 } else if (std::holds_alternative<float >(settingValue)) {
102108 request.response_value [FSTR_SETTINGS_value] = std::get<float >(settingValue);
You can’t perform that action at this time.
0 commit comments