mirror of
https://github.com/home-assistant/core.git
synced 2025-07-25 14:17:45 +00:00
Add DC voltage and current to Kostal inverter (#54878)
This commit is contained in:
parent
0c1c1f7845
commit
1f5720199c
@ -10,8 +10,12 @@ from homeassistant.const import (
|
||||
ATTR_ICON,
|
||||
ATTR_UNIT_OF_MEASUREMENT,
|
||||
DEVICE_CLASS_BATTERY,
|
||||
DEVICE_CLASS_CURRENT,
|
||||
DEVICE_CLASS_ENERGY,
|
||||
DEVICE_CLASS_POWER,
|
||||
DEVICE_CLASS_VOLTAGE,
|
||||
ELECTRIC_CURRENT_AMPERE,
|
||||
ELECTRIC_POTENTIAL_VOLT,
|
||||
ENERGY_KILO_WATT_HOUR,
|
||||
PERCENTAGE,
|
||||
POWER_WATT,
|
||||
@ -135,6 +139,28 @@ SENSOR_PROCESS_DATA = [
|
||||
},
|
||||
"format_round",
|
||||
),
|
||||
(
|
||||
"devices:local:pv1",
|
||||
"U",
|
||||
"DC1 Voltage",
|
||||
{
|
||||
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_POTENTIAL_VOLT,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_VOLTAGE,
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
},
|
||||
"format_round",
|
||||
),
|
||||
(
|
||||
"devices:local:pv1",
|
||||
"I",
|
||||
"DC1 Current",
|
||||
{
|
||||
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_CURRENT,
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
},
|
||||
"format_float",
|
||||
),
|
||||
(
|
||||
"devices:local:pv2",
|
||||
"P",
|
||||
@ -146,6 +172,28 @@ SENSOR_PROCESS_DATA = [
|
||||
},
|
||||
"format_round",
|
||||
),
|
||||
(
|
||||
"devices:local:pv2",
|
||||
"U",
|
||||
"DC2 Voltage",
|
||||
{
|
||||
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_POTENTIAL_VOLT,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_VOLTAGE,
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
},
|
||||
"format_round",
|
||||
),
|
||||
(
|
||||
"devices:local:pv2",
|
||||
"I",
|
||||
"DC2 Current",
|
||||
{
|
||||
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_CURRENT,
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
},
|
||||
"format_float",
|
||||
),
|
||||
(
|
||||
"devices:local:pv3",
|
||||
"P",
|
||||
@ -157,6 +205,28 @@ SENSOR_PROCESS_DATA = [
|
||||
},
|
||||
"format_round",
|
||||
),
|
||||
(
|
||||
"devices:local:pv3",
|
||||
"U",
|
||||
"DC3 Voltage",
|
||||
{
|
||||
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_POTENTIAL_VOLT,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_VOLTAGE,
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
},
|
||||
"format_round",
|
||||
),
|
||||
(
|
||||
"devices:local:pv3",
|
||||
"I",
|
||||
"DC3 Current",
|
||||
{
|
||||
ATTR_UNIT_OF_MEASUREMENT: ELECTRIC_CURRENT_AMPERE,
|
||||
ATTR_DEVICE_CLASS: DEVICE_CLASS_CURRENT,
|
||||
ATTR_STATE_CLASS: STATE_CLASS_MEASUREMENT,
|
||||
},
|
||||
"format_float",
|
||||
),
|
||||
(
|
||||
"devices:local",
|
||||
"PV2Bat_P",
|
||||
|
@ -231,6 +231,14 @@ class PlenticoreDataFormatter:
|
||||
except (TypeError, ValueError):
|
||||
return state
|
||||
|
||||
@staticmethod
|
||||
def format_float(state: str) -> int | str:
|
||||
"""Return the given state value as float rounded to three decimal places."""
|
||||
try:
|
||||
return round(float(state), 3)
|
||||
except (TypeError, ValueError):
|
||||
return state
|
||||
|
||||
@staticmethod
|
||||
def format_energy(state: str) -> float | str:
|
||||
"""Return the given state value as energy value, scaled to kWh."""
|
||||
|
Loading…
x
Reference in New Issue
Block a user