@@ -2389,13 +2389,13 @@ bool Thermostat::set_roominfluence(const char * value, const int8_t id) {
2389
2389
void Thermostat::register_device_values () {
2390
2390
// Common for all thermostats
2391
2391
register_device_value (TAG_THERMOSTAT_DATA, &id_, DeviceValueType::UINT, nullptr , FL_ (ID), DeviceValueUOM::NONE);
2392
- register_device_value (TAG_THERMOSTAT_DATA, &errorCode_, DeviceValueType::STRING, nullptr , FL_ (errorCode), DeviceValueUOM::TEXT );
2393
- register_device_value (TAG_THERMOSTAT_DATA, &lastCode_, DeviceValueType::STRING, nullptr , FL_ (lastCode), DeviceValueUOM::TEXT );
2392
+ register_device_value (TAG_THERMOSTAT_DATA, &errorCode_, DeviceValueType::STRING, nullptr , FL_ (errorCode), DeviceValueUOM::NONE );
2393
+ register_device_value (TAG_THERMOSTAT_DATA, &lastCode_, DeviceValueType::STRING, nullptr , FL_ (lastCode), DeviceValueUOM::NONE );
2394
2394
2395
2395
switch (this ->model ()) {
2396
2396
case EMS_DEVICE_FLAG_RC100:
2397
2397
case EMS_DEVICE_FLAG_RC300:
2398
- register_device_value (TAG_THERMOSTAT_DATA, &dateTime_, DeviceValueType::STRING, nullptr , FL_ (dateTime), DeviceValueUOM::TEXT , MAKE_CF_CB (set_datetime));
2398
+ register_device_value (TAG_THERMOSTAT_DATA, &dateTime_, DeviceValueType::STRING, nullptr , FL_ (dateTime), DeviceValueUOM::NONE , MAKE_CF_CB (set_datetime));
2399
2399
register_device_value (TAG_THERMOSTAT_DATA, &floordrystatus_, DeviceValueType::ENUM, FL_ (enum_floordrystatus), FL_ (floordrystatus), DeviceValueUOM::LIST);
2400
2400
register_device_value (TAG_THERMOSTAT_DATA, &dampedoutdoortemp2_, DeviceValueType::SHORT, FL_ (div10), FL_ (dampedoutdoortemp), DeviceValueUOM::DEGREES);
2401
2401
register_device_value (TAG_THERMOSTAT_DATA, &floordrytemp_, DeviceValueType::UINT, nullptr , FL_ (floordrytemp), DeviceValueUOM::DEGREES);
@@ -2432,10 +2432,10 @@ void Thermostat::register_device_values() {
2432
2432
break ;
2433
2433
case EMS_DEVICE_FLAG_RC20_N:
2434
2434
case EMS_DEVICE_FLAG_RC20:
2435
- register_device_value (TAG_THERMOSTAT_DATA, &dateTime_, DeviceValueType::STRING, nullptr , FL_ (dateTime), DeviceValueUOM::TEXT ); // can't set datetime
2435
+ register_device_value (TAG_THERMOSTAT_DATA, &dateTime_, DeviceValueType::STRING, nullptr , FL_ (dateTime), DeviceValueUOM::NONE ); // can't set datetime
2436
2436
break ;
2437
2437
case EMS_DEVICE_FLAG_RC30_N:
2438
- register_device_value (TAG_THERMOSTAT_DATA, &dateTime_, DeviceValueType::STRING, nullptr , FL_ (dateTime), DeviceValueUOM::TEXT ); // can't set datetime
2438
+ register_device_value (TAG_THERMOSTAT_DATA, &dateTime_, DeviceValueType::STRING, nullptr , FL_ (dateTime), DeviceValueUOM::NONE ); // can't set datetime
2439
2439
register_device_value (TAG_THERMOSTAT_DATA, &ibaMainDisplay_, DeviceValueType::ENUM, FL_ (enum_ibaMainDisplay), FL_ (ibaMainDisplay), DeviceValueUOM::LIST);
2440
2440
register_device_value (TAG_THERMOSTAT_DATA, &ibaLanguage_, DeviceValueType::ENUM, FL_ (enum_ibaLanguage), FL_ (ibaLanguage), DeviceValueUOM::LIST);
2441
2441
register_device_value (TAG_THERMOSTAT_DATA,
@@ -2471,7 +2471,7 @@ void Thermostat::register_device_values() {
2471
2471
TAG_THERMOSTAT_DATA, &wwCircMode_, DeviceValueType::ENUM, FL_ (enum_wwCircMode2), FL_ (wwCircMode), DeviceValueUOM::LIST, MAKE_CF_CB (set_wwcircmode));
2472
2472
break ;
2473
2473
case EMS_DEVICE_FLAG_RC35:
2474
- register_device_value (TAG_THERMOSTAT_DATA, &dateTime_, DeviceValueType::STRING, nullptr , FL_ (dateTime), DeviceValueUOM::TEXT , MAKE_CF_CB (set_datetime));
2474
+ register_device_value (TAG_THERMOSTAT_DATA, &dateTime_, DeviceValueType::STRING, nullptr , FL_ (dateTime), DeviceValueUOM::NONE , MAKE_CF_CB (set_datetime));
2475
2475
register_device_value (TAG_THERMOSTAT_DATA,
2476
2476
&ibaCalIntTemperature_,
2477
2477
DeviceValueType::INT,
@@ -2527,14 +2527,14 @@ void Thermostat::register_device_values() {
2527
2527
TAG_THERMOSTAT_DATA, &wwOneTimeKey_, DeviceValueType::BOOL, nullptr , FL_ (wwOneTimeKey), DeviceValueUOM::BOOLEAN, MAKE_CF_CB (set_wwOneTimeKey));
2528
2528
break ;
2529
2529
case EMS_DEVICE_FLAG_JUNKERS:
2530
- register_device_value (TAG_THERMOSTAT_DATA, &dateTime_, DeviceValueType::STRING, nullptr , FL_ (dateTime), DeviceValueUOM::TEXT , MAKE_CF_CB (set_datetime));
2530
+ register_device_value (TAG_THERMOSTAT_DATA, &dateTime_, DeviceValueType::STRING, nullptr , FL_ (dateTime), DeviceValueUOM::NONE , MAKE_CF_CB (set_datetime));
2531
2531
break ;
2532
2532
case EMS_DEVICE_FLAG_EASY:
2533
2533
// Easy TC100 have no date/time, see issue #100, not sure about CT200, so leave it.
2534
- register_device_value (TAG_THERMOSTAT_DATA, &dateTime_, DeviceValueType::STRING, nullptr , FL_ (dateTime), DeviceValueUOM::TEXT ); // can't set datetime
2534
+ register_device_value (TAG_THERMOSTAT_DATA, &dateTime_, DeviceValueType::STRING, nullptr , FL_ (dateTime), DeviceValueUOM::NONE ); // can't set datetime
2535
2535
break ;
2536
2536
default :
2537
- register_device_value (TAG_THERMOSTAT_DATA, &dateTime_, DeviceValueType::STRING, nullptr , FL_ (dateTime), DeviceValueUOM::TEXT ); // can't set datetime
2537
+ register_device_value (TAG_THERMOSTAT_DATA, &dateTime_, DeviceValueType::STRING, nullptr , FL_ (dateTime), DeviceValueUOM::NONE ); // can't set datetime
2538
2538
break ;
2539
2539
}
2540
2540
}
@@ -2572,6 +2572,8 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
2572
2572
MAKE_CF_CB (set_temp),
2573
2573
5 ,
2574
2574
29 );
2575
+
2576
+ // we add an extra key called "temp" which is identical to "seltemp". This is just for prettyness in the payload and makes it easier for consumers to understand
2575
2577
register_device_value (
2576
2578
tag, &hc->setpoint_roomTemp , DeviceValueType::SHORT, setpoint_temp_divider, FL_ (temp), DeviceValueUOM::DEGREES, MAKE_CF_CB (set_temp), 5 , 29 );
2577
2579
}
@@ -2625,7 +2627,7 @@ void Thermostat::register_device_values_hc(std::shared_ptr<Thermostat::HeatingCi
2625
2627
register_device_value (tag, &hc->program , DeviceValueType::UINT, nullptr , FL_ (program), DeviceValueUOM::NUM, MAKE_CF_CB (set_program));
2626
2628
register_device_value (tag, &hc->tempautotemp , DeviceValueType::UINT, FL_ (div2), FL_ (tempautotemp), DeviceValueUOM::DEGREES, MAKE_CF_CB (set_tempautotemp));
2627
2629
register_device_value (
2628
- tag, &hc->fastHeatupFactor , DeviceValueType::UINT, nullptr , FL_ (fastheatupfactor), DeviceValueUOM::NUM , MAKE_CF_CB (set_fastheatupfactor));
2630
+ tag, &hc->fastHeatupFactor , DeviceValueType::UINT, nullptr , FL_ (fastheatupfactor), DeviceValueUOM::PERCENT , MAKE_CF_CB (set_fastheatupfactor));
2629
2631
break ;
2630
2632
case EMS_DEVICE_FLAG_CRF:
2631
2633
register_device_value (tag, &hc->mode , DeviceValueType::ENUM, FL_ (enum_mode5), FL_ (mode), DeviceValueUOM::LIST);
0 commit comments