mirror of
https://github.com/home-assistant/core.git
synced 2025-07-21 12:17:07 +00:00
Add some missing sensors for Shelly integration (#39651)
This commit is contained in:
parent
a096c20930
commit
0b7576b634
@ -4,6 +4,7 @@ import aioshelly
|
|||||||
from homeassistant.components import sensor
|
from homeassistant.components import sensor
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
CONCENTRATION_PARTS_PER_MILLION,
|
CONCENTRATION_PARTS_PER_MILLION,
|
||||||
|
DEGREE,
|
||||||
ELECTRICAL_CURRENT_AMPERE,
|
ELECTRICAL_CURRENT_AMPERE,
|
||||||
ENERGY_KILO_WATT_HOUR,
|
ENERGY_KILO_WATT_HOUR,
|
||||||
POWER_WATT,
|
POWER_WATT,
|
||||||
@ -26,8 +27,11 @@ SENSORS = {
|
|||||||
"energyReturned": [ENERGY_KILO_WATT_HOUR, sensor.DEVICE_CLASS_ENERGY],
|
"energyReturned": [ENERGY_KILO_WATT_HOUR, sensor.DEVICE_CLASS_ENERGY],
|
||||||
"extTemp": [None, sensor.DEVICE_CLASS_TEMPERATURE],
|
"extTemp": [None, sensor.DEVICE_CLASS_TEMPERATURE],
|
||||||
"humidity": [UNIT_PERCENTAGE, sensor.DEVICE_CLASS_HUMIDITY],
|
"humidity": [UNIT_PERCENTAGE, sensor.DEVICE_CLASS_HUMIDITY],
|
||||||
|
"luminosity": ["lx", sensor.DEVICE_CLASS_ILLUMINANCE],
|
||||||
"overpowerValue": [POWER_WATT, sensor.DEVICE_CLASS_POWER],
|
"overpowerValue": [POWER_WATT, sensor.DEVICE_CLASS_POWER],
|
||||||
"power": [POWER_WATT, sensor.DEVICE_CLASS_POWER],
|
"power": [POWER_WATT, sensor.DEVICE_CLASS_POWER],
|
||||||
|
"powerFactor": [UNIT_PERCENTAGE, sensor.DEVICE_CLASS_POWER_FACTOR],
|
||||||
|
"tilt": [DEGREE, None],
|
||||||
"voltage": [VOLT, sensor.DEVICE_CLASS_VOLTAGE],
|
"voltage": [VOLT, sensor.DEVICE_CLASS_VOLTAGE],
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,6 +97,8 @@ class ShellySensor(ShellyBlockEntity, Entity):
|
|||||||
if value is None:
|
if value is None:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
if self.attribute in ["luminosity", "tilt"]:
|
||||||
|
return round(value)
|
||||||
if self.attribute in [
|
if self.attribute in [
|
||||||
"deviceTemp",
|
"deviceTemp",
|
||||||
"extTemp",
|
"extTemp",
|
||||||
@ -101,6 +107,8 @@ class ShellySensor(ShellyBlockEntity, Entity):
|
|||||||
"power",
|
"power",
|
||||||
]:
|
]:
|
||||||
return round(value, 1)
|
return round(value, 1)
|
||||||
|
if self.attribute == "powerFactor":
|
||||||
|
return round(value * 100, 1)
|
||||||
# Energy unit change from Wmin or Wh to kWh
|
# Energy unit change from Wmin or Wh to kWh
|
||||||
if self.info.get(aioshelly.BLOCK_VALUE_UNIT) == "Wmin":
|
if self.info.get(aioshelly.BLOCK_VALUE_UNIT) == "Wmin":
|
||||||
return round(value / 60 / 1000, 2)
|
return round(value / 60 / 1000, 2)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user