Set device_class on temperature sensors R-Z (#52920)

This commit is contained in:
Erik Montnemery 2021-07-12 18:53:52 +02:00 committed by GitHub
parent ad0ccc1b70
commit 1a74fd7a14
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 123 additions and 36 deletions

View file

@ -13,6 +13,7 @@ from homeassistant.components.sensor import PLATFORM_SCHEMA, SensorEntity
from homeassistant.const import (
CONF_IP_ADDRESS,
CONF_NAME,
DEVICE_CLASS_TEMPERATURE,
ELECTRICAL_CURRENT_AMPERE,
ENERGY_WATT_HOUR,
FREQUENCY_HERTZ,
@ -51,6 +52,7 @@ SENSOR_TYPES = {
FREQUENCY_HERTZ,
"mdi:current-ac",
None,
None,
],
"current_power": [
"currentPower",
@ -58,6 +60,7 @@ SENSOR_TYPES = {
POWER_WATT,
"mdi:solar-power",
None,
None,
],
"energy_this_month": [
"energyThisMonth",
@ -65,6 +68,7 @@ SENSOR_TYPES = {
ENERGY_WATT_HOUR,
"mdi:solar-power",
None,
None,
],
"energy_this_year": [
"energyThisYear",
@ -72,6 +76,7 @@ SENSOR_TYPES = {
ENERGY_WATT_HOUR,
"mdi:solar-power",
None,
None,
],
"energy_today": [
"energyToday",
@ -79,13 +84,15 @@ SENSOR_TYPES = {
ENERGY_WATT_HOUR,
"mdi:solar-power",
None,
None,
],
"inverter_temperature": [
"invertertemperature",
"Inverter Temperature",
TEMP_CELSIUS,
"mdi:thermometer",
None,
"operating_mode",
DEVICE_CLASS_TEMPERATURE,
],
"lifetime_energy": [
"energyTotal",
@ -93,6 +100,7 @@ SENSOR_TYPES = {
ENERGY_WATT_HOUR,
"mdi:solar-power",
None,
None,
],
"optimizer_connected": [
"optimizers",
@ -100,6 +108,7 @@ SENSOR_TYPES = {
"optimizers",
"mdi:solar-panel",
"optimizers_connected",
None,
],
"optimizer_current": [
"optimizercurrent",
@ -107,6 +116,7 @@ SENSOR_TYPES = {
ELECTRICAL_CURRENT_AMPERE,
"mdi:solar-panel",
None,
None,
],
"optimizer_power": [
"optimizerpower",
@ -114,6 +124,7 @@ SENSOR_TYPES = {
POWER_WATT,
"mdi:solar-panel",
None,
None,
],
"optimizer_temperature": [
"optimizertemperature",
@ -121,6 +132,7 @@ SENSOR_TYPES = {
TEMP_CELSIUS,
"mdi:solar-panel",
None,
DEVICE_CLASS_TEMPERATURE,
],
"optimizer_voltage": [
"optimizervoltage",
@ -128,6 +140,7 @@ SENSOR_TYPES = {
VOLT,
"mdi:solar-panel",
None,
None,
],
}
@ -170,7 +183,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
TEMP_FAHRENHEIT,
"mdi:thermometer",
"operating_mode",
None,
DEVICE_CLASS_TEMPERATURE,
]
try:
@ -181,6 +194,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
POWER_WATT,
"mdi:arrow-collapse-down",
None,
None,
]
sensors["import_meter_reading"] = [
"totalEnergyimport",
@ -188,6 +202,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
ENERGY_WATT_HOUR,
"mdi:counter",
None,
None,
]
except IndexError:
_LOGGER.debug("Import meter sensors are not created")
@ -200,6 +215,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
POWER_WATT,
"mdi:arrow-expand-up",
None,
None,
]
sensors["export_meter_reading"] = [
"totalEnergyexport",
@ -207,6 +223,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
ENERGY_WATT_HOUR,
"mdi:counter",
None,
None,
]
except IndexError:
_LOGGER.debug("Export meter sensors are not created")
@ -225,6 +242,7 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
sensor_info[2],
sensor_info[3],
sensor_info[4],
sensor_info[5],
)
entities.append(sensor)
@ -234,7 +252,9 @@ def setup_platform(hass, config, add_entities, discovery_info=None):
class SolarEdgeSensor(SensorEntity):
"""Representation of an SolarEdge Monitoring API sensor."""
def __init__(self, platform_name, data, json_key, name, unit, icon, attr):
def __init__(
self, platform_name, data, json_key, name, unit, icon, attr, device_class
):
"""Initialize the sensor."""
self._platform_name = platform_name
self._data = data
@ -245,6 +265,7 @@ class SolarEdgeSensor(SensorEntity):
self._unit_of_measurement = unit
self._icon = icon
self._attr = attr
self._attr_device_class = device_class
@property
def name(self):