Skip to content

Commit 33ad777

Browse files
cdnninjajoostlek
andauthored
Add temp sensor to vesync humidifers (home-assistant#155637)
Co-authored-by: Joost Lekkerkerker <[email protected]>
1 parent 59a4e4a commit 33ad777

File tree

2 files changed

+64
-0
lines changed

2 files changed

+64
-0
lines changed

homeassistant/components/vesync/sensor.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
UnitOfElectricPotential,
2323
UnitOfEnergy,
2424
UnitOfPower,
25+
UnitOfTemperature,
2526
)
2627
from homeassistant.core import HomeAssistant, callback
2728
from homeassistant.helpers.dispatcher import async_dispatcher_connect
@@ -139,6 +140,15 @@ class VeSyncSensorEntityDescription(SensorEntityDescription):
139140
value_fn=lambda device: device.state.humidity,
140141
exists_fn=is_humidifier,
141142
),
143+
VeSyncSensorEntityDescription(
144+
key="temperature",
145+
device_class=SensorDeviceClass.TEMPERATURE,
146+
native_unit_of_measurement=UnitOfTemperature.FAHRENHEIT,
147+
state_class=SensorStateClass.MEASUREMENT,
148+
value_fn=lambda device: device.state.temperature,
149+
exists_fn=lambda device: is_humidifier(device)
150+
and device.state.temperature is not None,
151+
),
142152
)
143153

144154

tests/components/vesync/snapshots/test_sensor.ambr

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -819,6 +819,44 @@
819819
'unique_id': '6000s-humidity',
820820
'unit_of_measurement': '%',
821821
}),
822+
EntityRegistryEntrySnapshot({
823+
'aliases': set({
824+
}),
825+
'area_id': None,
826+
'capabilities': dict({
827+
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
828+
}),
829+
'config_entry_id': <ANY>,
830+
'config_subentry_id': <ANY>,
831+
'device_class': None,
832+
'device_id': <ANY>,
833+
'disabled_by': None,
834+
'domain': 'sensor',
835+
'entity_category': None,
836+
'entity_id': 'sensor.humidifier_6000s_temperature',
837+
'has_entity_name': True,
838+
'hidden_by': None,
839+
'icon': None,
840+
'id': <ANY>,
841+
'labels': set({
842+
}),
843+
'name': None,
844+
'options': dict({
845+
'sensor': dict({
846+
'suggested_display_precision': 1,
847+
}),
848+
}),
849+
'original_device_class': <SensorDeviceClass.TEMPERATURE: 'temperature'>,
850+
'original_icon': None,
851+
'original_name': 'Temperature',
852+
'platform': 'vesync',
853+
'previous_unique_id': None,
854+
'suggested_object_id': None,
855+
'supported_features': 0,
856+
'translation_key': None,
857+
'unique_id': '6000s-temperature',
858+
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
859+
}),
822860
EntityRegistryEntrySnapshot({
823861
'aliases': set({
824862
}),
@@ -887,6 +925,22 @@
887925
'state': '36',
888926
})
889927
# ---
928+
# name: test_sensor_state[Humidifier 6000s][sensor.humidifier_6000s_temperature]
929+
StateSnapshot({
930+
'attributes': ReadOnlyDict({
931+
'device_class': 'temperature',
932+
'friendly_name': 'Humidifier 6000s Temperature',
933+
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
934+
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
935+
}),
936+
'context': <ANY>,
937+
'entity_id': 'sensor.humidifier_6000s_temperature',
938+
'last_changed': <ANY>,
939+
'last_reported': <ANY>,
940+
'last_updated': <ANY>,
941+
'state': '17.7777777777778',
942+
})
943+
# ---
890944
# name: test_sensor_state[Humidifier 600S][devices]
891945
list([
892946
DeviceRegistryEntrySnapshot({

0 commit comments

Comments
 (0)