Skip to content

Commit 3e58098

Browse files
authored
Merge pull request #648 from plugwise/p1-float-typing
Type P1 sensors as float
2 parents bcc498d + 46c74d7 commit 3e58098

37 files changed

+519
-521
lines changed

CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Changelog
22

3-
## Ongoing
3+
## v1.5.1
44

5-
- Fix typing of P1 sensors, energy-device-related improvements.
5+
- Fix typing and rounding of P1 and thermostat sensors, energy-device-related code improvements.
66
- Rename mode to climate_mode.
77

88
## v1.5.0

fixtures/legacy_anna/all_data.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@
5151
"no_frost"
5252
],
5353
"sensors": {
54-
"illuminance": 151,
54+
"illuminance": 150.8,
5555
"setpoint": 20.5,
5656
"temperature": 20.4
5757
},

plugwise/constants.py

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@
123123
# radiator_valve: 'uncorrected_temperature', 'temperature_offset'
124124

125125
DEVICE_MEASUREMENTS: Final[dict[str, DATA | UOM]] = {
126-
"humidity": UOM(PERCENTAGE), # Specific for a Jip
126+
"humidity": UOM(NONE), # Specific for a Jip
127127
"illuminance": UOM(UNIT_LUMEN), # Specific for an Anna
128128
"temperature": UOM(TEMP_CELSIUS), # HA Core thermostat current_temperature
129129
"thermostat": DATA("setpoint", TEMP_CELSIUS), # HA Core thermostat setpoint
@@ -425,52 +425,52 @@ class SmileBinarySensors(TypedDict, total=False):
425425
class SmileSensors(TypedDict, total=False):
426426
"""Smile Sensors class."""
427427

428-
battery: float
428+
battery: int
429429
cooling_activation_outdoor_temperature: float
430430
cooling_deactivation_threshold: float
431431
dhw_temperature: float
432432
domestic_hot_water_setpoint: float
433433
temperature: float
434-
electricity_consumed: int
435-
electricity_consumed_interval:int
434+
electricity_consumed: float
435+
electricity_consumed_interval: float
436436
electricity_consumed_off_peak_cumulative: float
437-
electricity_consumed_off_peak_interval: int
438-
electricity_consumed_off_peak_point: int
437+
electricity_consumed_off_peak_interval: float
438+
electricity_consumed_off_peak_point: float
439439
electricity_consumed_peak_cumulative: float
440-
electricity_consumed_peak_interval: int
441-
electricity_consumed_peak_point: int
442-
electricity_consumed_point: int
443-
electricity_phase_one_consumed: int
444-
electricity_phase_two_consumed: int
445-
electricity_phase_three_consumed: int
446-
electricity_phase_one_produced: int
447-
electricity_phase_two_produced: int
448-
electricity_phase_three_produced: int
449-
electricity_produced: int
450-
electricity_produced_interval: int
440+
electricity_consumed_peak_interval: float
441+
electricity_consumed_peak_point: float
442+
electricity_consumed_point: float
443+
electricity_phase_one_consumed: float
444+
electricity_phase_two_consumed: float
445+
electricity_phase_three_consumed: float
446+
electricity_phase_one_produced: float
447+
electricity_phase_two_produced: float
448+
electricity_phase_three_produced: float
449+
electricity_produced: float
450+
electricity_produced_interval: float
451451
electricity_produced_off_peak_cumulative: float
452-
electricity_produced_off_peak_interval: int
453-
electricity_produced_off_peak_point: int
452+
electricity_produced_off_peak_interval: float
453+
electricity_produced_off_peak_point: float
454454
electricity_produced_peak_cumulative: float
455-
electricity_produced_peak_interval: int
456-
electricity_produced_peak_point: int
457-
electricity_produced_point: int
455+
electricity_produced_peak_interval: float
456+
electricity_produced_peak_point: float
457+
electricity_produced_point: float
458458
gas_consumed_cumulative: float
459459
gas_consumed_interval: float
460460
humidity: float
461461
illuminance: float
462462
intended_boiler_temperature: float
463-
modulation_level: float
463+
modulation_level: int
464464
net_electricity_cumulative: float
465-
net_electricity_point: int
465+
net_electricity_point: float
466466
outdoor_air_temperature: float
467467
outdoor_temperature: float
468468
return_temperature: float
469469
setpoint: float
470470
setpoint_high: float
471471
setpoint_low: float
472472
temperature_difference: float
473-
valve_position: float
473+
valve_position: int
474474
voltage_phase_one: float
475475
voltage_phase_two: float
476476
voltage_phase_three: float

plugwise/util.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -173,10 +173,8 @@ def format_measure(measure: str, unit: str) -> float | int:
173173
result = float(f"{round(float_measure, 1):.1f}")
174174
elif abs(float_measure) < 10:
175175
result = float(f"{round(float_measure, 2):.2f}")
176-
elif abs(float_measure) >= 10 and abs(float_measure) < 100:
176+
elif abs(float_measure) >= 10:
177177
result = float(f"{round(float_measure, 1):.1f}")
178-
elif abs(float_measure) >= 100:
179-
result = int(round(float_measure))
180178

181179
return result
182180

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "plugwise"
7-
version = "1.5.1a3"
7+
version = "1.5.1"
88
license = {file = "LICENSE"}
99
description = "Plugwise Smile (Adam/Anna/P1) and Stretch module for Python 3."
1010
readme = "README.md"

0 commit comments

Comments
 (0)