@@ -177,7 +177,7 @@ void APB::WebServer::onPostWriteConfig(AsyncWebServerRequest *request) {
177177
178178void APB::WebServer::onGetWiFiStatus (AsyncWebServerRequest *request) {
179179 JsonResponse response (request, 100 );
180- response.document [" wifi" ][" status" ] = WiFiManager::Instance.status (). _to_string ();
180+ response.document [" wifi" ][" status" ] = WiFiManager::Instance.statusAsString ();
181181 response.document [" wifi" ][" essid" ] = WiFiManager::Instance.essid ();
182182 response.document [" wifi" ][" ip" ] = WiFiManager::Instance.ipAddress ();
183183 response.document [" wifi" ][" gateway" ] = WiFiManager::Instance.gateway ();
@@ -206,7 +206,7 @@ void APB::WebServer::onGetHeaters(AsyncWebServerRequest *request) {
206206
207207void APB::WebServer::populateHeatersStatus (JsonArray heatersStatus) {
208208 std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [heatersStatus](Heater &heater) {
209- heatersStatus[heater.index ()][" mode" ] = heater.mode (). _to_string ();
209+ heatersStatus[heater.index ()][" mode" ] = heater.modeAsString (),
210210 heatersStatus[heater.index ()][" duty" ] = heater.duty ();
211211 heatersStatus[heater.index ()][" active" ] = heater.active ();
212212 heatersStatus[heater.index ()][" has_temperature" ] = heater.temperature ().has_value ();
@@ -261,21 +261,21 @@ void APB::WebServer::onGetMetrics(AsyncWebServerRequest *request) {
261261 metricsResponse.gauge (" heater" , heater.duty (), MetricsResponse::Labels ()
262262 .add (" index" , String (heater.index ()).c_str ())
263263 .field (" duty" )
264- .add (" mode" , heater.mode ()._to_string ()), nullptr , index++==0 );
264+ .add (" mode" , heater.modeAsString ().c_str ()), nullptr , index++==0 );
265265 });
266266 std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [index=0 , &metricsResponse](const Heater &heater) mutable {
267267 metricsResponse.gauge (" heater" , heater.active (), MetricsResponse::Labels ()
268268 .add (" index" , String (heater.index ()).c_str ())
269269 .field (" active" )
270- .add (" mode" , heater.mode ()._to_string ()), nullptr , false );
270+ .add (" mode" , heater.modeAsString ().c_str ()), nullptr , false );
271271 });
272272 std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [index=0 , &metricsResponse](const Heater &heater) mutable {
273273 if (heater.temperature ().has_value ()) {
274274 metricsResponse.gauge (" heater" , heater.temperature ().value (), MetricsResponse::Labels ()
275275 .add (" index" , String (heater.index ()).c_str ())
276276 .unit (" °C" )
277277 .field (" temperature" )
278- .add (" mode" , heater.mode ()._to_string ()), nullptr , false );
278+ .add (" mode" , heater.modeAsString ().c_str ()), nullptr , false );
279279 }
280280 });
281281 std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [index=0 , &metricsResponse](const Heater &heater) mutable {
@@ -284,7 +284,7 @@ void APB::WebServer::onGetMetrics(AsyncWebServerRequest *request) {
284284 .add (" index" , String (heater.index ()).c_str ())
285285 .field (" target_temperature" )
286286 .unit (" °C" )
287- .add (" mode" , heater.mode ()._to_string ()), nullptr , false );
287+ .add (" mode" , heater.modeAsString ().c_str ()), nullptr , false );
288288 }
289289 });
290290 std::for_each (Heaters::Instance.begin (), Heaters::Instance.end (), [index=0 , &metricsResponse](const Heater &heater) mutable {
@@ -293,7 +293,7 @@ void APB::WebServer::onGetMetrics(AsyncWebServerRequest *request) {
293293 .add (" index" , String (heater.index ()).c_str ())
294294 .field (" dewpoint_offset" )
295295 .unit (" °C" )
296- .add (" mode" , heater.mode ()._to_string ()), nullptr , false );
296+ .add (" mode" , heater.modeAsString ().c_str ()), nullptr , false );
297297 }
298298 });
299299
@@ -328,15 +328,13 @@ void APB::WebServer::onGetESPInfo(AsyncWebServerRequest *request) {
328328
329329void APB::WebServer::onPostSetHeater (AsyncWebServerRequest *request, JsonVariant &json) {
330330 Validation validation{request, json};
331- std::forward_list<String> valid_modes;
332- std::transform (Heater::Mode::_values ().begin (), Heater::Mode::_values ().end (), std::front_inserter (valid_modes), std::bind (&Heater::Mode::_to_string, _1));
333331 if (validation.required ({" index" , " mode" })
334332 .range (" index" , {0 }, {Heaters::Instance.size ()-1 })
335333 .range (" duty" , {0 }, {1 })
336- .choice (" mode" , valid_modes ).invalid ()) return ;
334+ .choice (" mode" , Heater::validModes () ).invalid ()) return ;
337335 Heater &heater = Heaters::Instance[json[" index" ]];
338- Heater::Mode mode = Heater::Mode::_from_string (json[" mode" ]);
339- if (mode == + Heater::Mode::off) {
336+ Heater::Mode mode = Heater::modeFromString (json[" mode" ]);
337+ if (mode == Heater::Mode::off) {
340338 heater.setDuty (0 );
341339 onGetHeaters (request);
342340 return ;
@@ -347,18 +345,18 @@ void APB::WebServer::onPostSetHeater(AsyncWebServerRequest *request, JsonVariant
347345 static const char *temperatureErrorMessage = " Unable to set target temperature. Heater probably doesn't have a temperature sensor." ;
348346 static const char *dewpointTemperatureErrorMessage = " Unable to set target temperature. Either the heater doesn't have a temperature sensor, or you're missing an ambient sensor." ;
349347
350- if (mode == + Heater::Mode::fixed) {
348+ if (mode == Heater::Mode::fixed) {
351349 heater.setDuty (json[" duty" ]);
352350 }
353- if (mode == + Heater::Mode::dewpoint) {
351+ if (mode == Heater::Mode::dewpoint) {
354352 if (validation.range (" dewpoint_offset" , {-30 }, {30 }).required (" dewpoint_offset" ).invalid ()) return ;
355353 float dewpointOffset = json[" dewpoint_offset" ];
356354 if (!heater.setDewpoint (dewpointOffset, duty)) {
357355 JsonResponse::error (500 , dewpointTemperatureErrorMessage, request);
358356 return ;
359357 }
360358 }
361- if (mode == + Heater::Mode::target_temperature) {
359+ if (mode == Heater::Mode::target_temperature) {
362360 if (validation.range (" target_temperature" , {-50 }, {50 }).required (" target_temperature" ).invalid ()) return ;
363361 float targetTemperature = json[" target_temperature" ];
364362 if (!heater.setTemperature (targetTemperature, duty)) {
0 commit comments