mirror of
https://github.com/home-assistant/core.git
synced 2025-07-14 00:37:13 +00:00
Add zwave_js sensor humidity device class (#47953)
This commit is contained in:
parent
059e9e8307
commit
40c12997ed
@ -14,7 +14,12 @@ from homeassistant.components.sensor import (
|
|||||||
DOMAIN as SENSOR_DOMAIN,
|
DOMAIN as SENSOR_DOMAIN,
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import DEVICE_CLASS_TEMPERATURE, TEMP_CELSIUS, TEMP_FAHRENHEIT
|
from homeassistant.const import (
|
||||||
|
DEVICE_CLASS_HUMIDITY,
|
||||||
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
|
TEMP_CELSIUS,
|
||||||
|
TEMP_FAHRENHEIT,
|
||||||
|
)
|
||||||
from homeassistant.core import HomeAssistant, callback
|
from homeassistant.core import HomeAssistant, callback
|
||||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||||
|
|
||||||
@ -83,11 +88,12 @@ class ZwaveSensorBase(ZWaveBaseEntity):
|
|||||||
if self.info.primary_value.metadata.unit == "kWh":
|
if self.info.primary_value.metadata.unit == "kWh":
|
||||||
return DEVICE_CLASS_ENERGY
|
return DEVICE_CLASS_ENERGY
|
||||||
return DEVICE_CLASS_POWER
|
return DEVICE_CLASS_POWER
|
||||||
if (
|
if isinstance(self.info.primary_value.property_, str):
|
||||||
isinstance(self.info.primary_value.property_, str)
|
property_lower = self.info.primary_value.property_.lower()
|
||||||
and "temperature" in self.info.primary_value.property_.lower()
|
if "humidity" in property_lower:
|
||||||
):
|
return DEVICE_CLASS_HUMIDITY
|
||||||
return DEVICE_CLASS_TEMPERATURE
|
if "temperature" in property_lower:
|
||||||
|
return DEVICE_CLASS_TEMPERATURE
|
||||||
if self.info.primary_value.metadata.unit == "W":
|
if self.info.primary_value.metadata.unit == "W":
|
||||||
return DEVICE_CLASS_POWER
|
return DEVICE_CLASS_POWER
|
||||||
if self.info.primary_value.metadata.unit == "Lux":
|
if self.info.primary_value.metadata.unit == "Lux":
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
"""Provide common test tools for Z-Wave JS."""
|
"""Provide common test tools for Z-Wave JS."""
|
||||||
AIR_TEMPERATURE_SENSOR = "sensor.multisensor_6_air_temperature"
|
AIR_TEMPERATURE_SENSOR = "sensor.multisensor_6_air_temperature"
|
||||||
|
HUMIDITY_SENSOR = "sensor.multisensor_6_humidity"
|
||||||
ENERGY_SENSOR = "sensor.smart_plug_with_two_usb_ports_value_electric_consumed_2"
|
ENERGY_SENSOR = "sensor.smart_plug_with_two_usb_ports_value_electric_consumed_2"
|
||||||
POWER_SENSOR = "sensor.smart_plug_with_two_usb_ports_value_electric_consumed"
|
POWER_SENSOR = "sensor.smart_plug_with_two_usb_ports_value_electric_consumed"
|
||||||
SWITCH_ENTITY = "switch.smart_plug_with_two_usb_ports"
|
SWITCH_ENTITY = "switch.smart_plug_with_two_usb_ports"
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
"""Test the Z-Wave JS sensor platform."""
|
"""Test the Z-Wave JS sensor platform."""
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
DEVICE_CLASS_ENERGY,
|
DEVICE_CLASS_ENERGY,
|
||||||
|
DEVICE_CLASS_HUMIDITY,
|
||||||
DEVICE_CLASS_POWER,
|
DEVICE_CLASS_POWER,
|
||||||
DEVICE_CLASS_TEMPERATURE,
|
DEVICE_CLASS_TEMPERATURE,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
@ -12,6 +13,7 @@ from homeassistant.helpers import entity_registry as er
|
|||||||
from .common import (
|
from .common import (
|
||||||
AIR_TEMPERATURE_SENSOR,
|
AIR_TEMPERATURE_SENSOR,
|
||||||
ENERGY_SENSOR,
|
ENERGY_SENSOR,
|
||||||
|
HUMIDITY_SENSOR,
|
||||||
NOTIFICATION_MOTION_SENSOR,
|
NOTIFICATION_MOTION_SENSOR,
|
||||||
POWER_SENSOR,
|
POWER_SENSOR,
|
||||||
)
|
)
|
||||||
@ -26,6 +28,13 @@ async def test_numeric_sensor(hass, multisensor_6, integration):
|
|||||||
assert state.attributes["unit_of_measurement"] == TEMP_CELSIUS
|
assert state.attributes["unit_of_measurement"] == TEMP_CELSIUS
|
||||||
assert state.attributes["device_class"] == DEVICE_CLASS_TEMPERATURE
|
assert state.attributes["device_class"] == DEVICE_CLASS_TEMPERATURE
|
||||||
|
|
||||||
|
state = hass.states.get(HUMIDITY_SENSOR)
|
||||||
|
|
||||||
|
assert state
|
||||||
|
assert state.state == "65.0"
|
||||||
|
assert state.attributes["unit_of_measurement"] == "%"
|
||||||
|
assert state.attributes["device_class"] == DEVICE_CLASS_HUMIDITY
|
||||||
|
|
||||||
|
|
||||||
async def test_energy_sensors(hass, hank_binary_switch, integration):
|
async def test_energy_sensors(hass, hank_binary_switch, integration):
|
||||||
"""Test power and energy sensors."""
|
"""Test power and energy sensors."""
|
||||||
|
Loading…
x
Reference in New Issue
Block a user