1414 CONF_UPDATE_INTERVAL , DEFAULT_UPDATE_INTERVAL ,
1515 CONF_CO2_OFFSET , CONF_PM25_OFFSET , CONF_PM10_OFFSET ,
1616 CONF_NOISE_OFFSET , CONF_TVOC_OFFSET , CONF_TVOC_INDEX_OFFSET ,
17- CONF_POWER_OFF_TIME , CONF_DISPLAY_OFF_TIME , CONF_NIGHT_MODE_START_TIME , CONF_NIGHT_MODE_END_TIME ,
17+ CONF_POWER_OFF_TIME ,
1818 CONF_AUTO_SLIDING_TIME , CONF_SCREENSAVER_TYPE , CONF_TIMEZONE ,
1919 DEFAULT_SENSOR_OFFSET
2020)
@@ -30,6 +30,10 @@ async def async_setup_entry(
3030 model = config_entry .data [CONF_MODEL ]
3131 coordinator = hass .data [DOMAIN ][config_entry .entry_id ]["coordinator" ]
3232 native_temp_unit = hass .config .units .temperature_unit
33+ if native_temp_unit == UnitOfTemperature .FAHRENHEIT :
34+ step = 0.1
35+ else :
36+ step = 1
3337
3438 device_info = {
3539 "identifiers" : {(DOMAIN , mac )},
@@ -39,8 +43,8 @@ async def async_setup_entry(
3943 }
4044
4145 entities = [
42- QingpingCGSxOffsetNumber (coordinator , config_entry , mac , name , "Temp Offset" , CONF_TEMPERATURE_OFFSET , device_info , native_temp_unit ),
43- QingpingCGSxOffsetNumber (coordinator , config_entry , mac , name , "Humidity Offset" , CONF_HUMIDITY_OFFSET , device_info , "%" ),
46+ QingpingCGSxOffsetNumber (coordinator , config_entry , mac , name , "Temp Offset" , CONF_TEMPERATURE_OFFSET , device_info , native_temp_unit , step ),
47+ QingpingCGSxOffsetNumber (coordinator , config_entry , mac , name , "Humidity Offset" , CONF_HUMIDITY_OFFSET , device_info , "%" , step ),
4448 QingpingCGSxUpdateIntervalNumber (coordinator , config_entry , mac , name , device_info ),
4549 QingpingCGSxSensorOffsetNumber (coordinator , config_entry , mac , name , "CO2 Offset" , CONF_CO2_OFFSET , device_info , "ppm" ),
4650 QingpingCGSxSensorOffsetNumber (coordinator , config_entry , mac , name , "PM2.5 Offset" , CONF_PM25_OFFSET , device_info , "µg/m³" ),
@@ -62,7 +66,7 @@ async def async_setup_entry(
6266 QingpingCGSxTimeNumber (coordinator , config_entry , mac , name , "Power Off Time" , CONF_POWER_OFF_TIME , device_info , 0 , 60 , 1 , 30 , "minutes" , NumberMode .SLIDER ),
6367 #QingpingCGSxTimeNumber(coordinator, config_entry, mac, name, "Display Off Time", CONF_DISPLAY_OFF_TIME, device_info, 0, 300, 1, 30, "seconds", NumberMode.SLIDER),
6468 QingpingCGSxTimeNumber (coordinator , config_entry , mac , name , "Auto Sliding Time" , CONF_AUTO_SLIDING_TIME , device_info , 0 , 180 , 5 , 30 , "seconds" , NumberMode .SLIDER ),
65- QingpingCGSxScreensaverTypeNumber (coordinator , config_entry , mac , name , device_info ),
69+ # QingpingCGSxScreensaverTypeNumber(coordinator, config_entry, mac, name, device_info),
6670 QingpingCGSxTimezoneNumber (coordinator , config_entry , mac , name , device_info ),
6771 ])
6872
@@ -71,7 +75,7 @@ async def async_setup_entry(
7175class QingpingCGSxOffsetNumber (CoordinatorEntity , NumberEntity ):
7276 """Representation of a Qingping CGSx offset number input."""
7377
74- def __init__ (self , coordinator , config_entry , mac , name , offset_name , offset_key , device_info , unit_of_measurement ):
78+ def __init__ (self , coordinator , config_entry , mac , name , offset_name , offset_key , device_info , unit_of_measurement , step ):
7579 """Initialize the number entity."""
7680 super ().__init__ (coordinator )
7781 self ._config_entry = config_entry
@@ -82,7 +86,7 @@ def __init__(self, coordinator, config_entry, mac, name, offset_name, offset_key
8286 self ._attr_device_info = device_info
8387 self ._attr_native_min_value = - 10
8488 self ._attr_native_max_value = 10
85- self ._attr_native_step = 1
89+ self ._attr_native_step = step
8690 self ._attr_native_unit_of_measurement = unit_of_measurement
8791 self ._attr_entity_category = EntityCategory .CONFIG
8892 self ._attr_mode = NumberMode .BOX # Use number box instead of slider
0 commit comments