Provide same entities for all Enphase_envoy CT types (#124531)

Provide same entities for all Enphase_envoy CT types.
This commit is contained in:
Arie Catsman 2024-09-06 16:56:43 +02:00 committed by GitHub
parent 6b75c86a17
commit 49b07b3749
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 4081 additions and 0 deletions

View File

@ -36,6 +36,7 @@ from homeassistant.components.sensor import (
from homeassistant.const import (
PERCENTAGE,
UnitOfApparentPower,
UnitOfElectricCurrent,
UnitOfElectricPotential,
UnitOfEnergy,
UnitOfFrequency,
@ -295,6 +296,28 @@ CT_NET_CONSUMPTION_SENSORS = (
value_fn=attrgetter("voltage"),
on_phase=None,
),
EnvoyCTSensorEntityDescription(
key="net_ct_current",
translation_key="net_ct_current",
native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.CURRENT,
suggested_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
suggested_display_precision=3,
entity_registry_enabled_default=False,
value_fn=attrgetter("current"),
on_phase=None,
),
EnvoyCTSensorEntityDescription(
key="net_ct_powerfactor",
translation_key="net_ct_powerfactor",
device_class=SensorDeviceClass.POWER_FACTOR,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=2,
entity_registry_enabled_default=False,
value_fn=attrgetter("power_factor"),
on_phase=None,
),
EnvoyCTSensorEntityDescription(
key="net_consumption_ct_metering_status",
translation_key="net_ct_metering_status",
@ -331,6 +354,51 @@ CT_NET_CONSUMPTION_PHASE_SENSORS = {
}
CT_PRODUCTION_SENSORS = (
EnvoyCTSensorEntityDescription(
key="production_ct_frequency",
translation_key="production_ct_frequency",
native_unit_of_measurement=UnitOfFrequency.HERTZ,
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.FREQUENCY,
suggested_display_precision=1,
entity_registry_enabled_default=False,
value_fn=attrgetter("frequency"),
on_phase=None,
),
EnvoyCTSensorEntityDescription(
key="production_ct_voltage",
translation_key="production_ct_voltage",
native_unit_of_measurement=UnitOfElectricPotential.VOLT,
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.VOLTAGE,
suggested_unit_of_measurement=UnitOfElectricPotential.VOLT,
suggested_display_precision=1,
entity_registry_enabled_default=False,
value_fn=attrgetter("voltage"),
on_phase=None,
),
EnvoyCTSensorEntityDescription(
key="production_ct_current",
translation_key="production_ct_current",
native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.CURRENT,
suggested_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
suggested_display_precision=3,
entity_registry_enabled_default=False,
value_fn=attrgetter("current"),
on_phase=None,
),
EnvoyCTSensorEntityDescription(
key="production_ct_powerfactor",
translation_key="production_ct_powerfactor",
device_class=SensorDeviceClass.POWER_FACTOR,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=2,
entity_registry_enabled_default=False,
value_fn=attrgetter("power_factor"),
on_phase=None,
),
EnvoyCTSensorEntityDescription(
key="production_ct_metering_status",
translation_key="production_ct_metering_status",
@ -399,6 +467,17 @@ CT_STORAGE_SENSORS = (
value_fn=attrgetter("active_power"),
on_phase=None,
),
EnvoyCTSensorEntityDescription(
key="storage_ct_frequency",
translation_key="storage_ct_frequency",
native_unit_of_measurement=UnitOfFrequency.HERTZ,
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.FREQUENCY,
suggested_display_precision=1,
entity_registry_enabled_default=False,
value_fn=attrgetter("frequency"),
on_phase=None,
),
EnvoyCTSensorEntityDescription(
key="storage_voltage",
translation_key="storage_ct_voltage",
@ -411,6 +490,28 @@ CT_STORAGE_SENSORS = (
value_fn=attrgetter("voltage"),
on_phase=None,
),
EnvoyCTSensorEntityDescription(
key="storage_ct_current",
translation_key="storage_ct_current",
native_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.CURRENT,
suggested_unit_of_measurement=UnitOfElectricCurrent.AMPERE,
suggested_display_precision=3,
entity_registry_enabled_default=False,
value_fn=attrgetter("current"),
on_phase=None,
),
EnvoyCTSensorEntityDescription(
key="storage_ct_powerfactor",
translation_key="storage_ct_powerfactor",
device_class=SensorDeviceClass.POWER_FACTOR,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=2,
entity_registry_enabled_default=False,
value_fn=attrgetter("power_factor"),
on_phase=None,
),
EnvoyCTSensorEntityDescription(
key="storage_ct_metering_status",
translation_key="storage_ct_metering_status",

View File

@ -180,12 +180,30 @@
"net_ct_voltage": {
"name": "Voltage net consumption CT"
},
"net_ct_current": {
"name": "Net consumption CT current"
},
"net_ct_powerfactor": {
"name": "Powerfactor net consumption CT"
},
"net_ct_metering_status": {
"name": "Metering status net consumption CT"
},
"net_ct_status_flags": {
"name": "Meter status flags active net consumption CT"
},
"production_ct_frequency": {
"name": "Frequency production CT"
},
"production_ct_voltage": {
"name": "Voltage production CT"
},
"production_ct_current": {
"name": "Production CT current"
},
"production_ct_powerfactor": {
"name": "powerfactor production CT"
},
"production_ct_metering_status": {
"name": "Metering status production CT"
},
@ -201,9 +219,18 @@
"battery_discharge": {
"name": "Current battery discharge"
},
"storage_ct_frequency": {
"name": "Frequency storage CT"
},
"storage_ct_voltage": {
"name": "Voltage storage CT"
},
"storage_ct_current": {
"name": "Storage CT current"
},
"storage_ct_powerfactor": {
"name": "Powerfactor storage CT"
},
"storage_ct_metering_status": {
"name": "Metering status storage CT"
},
@ -225,12 +252,30 @@
"net_ct_voltage_phase": {
"name": "Voltage net consumption CT {phase_name}"
},
"net_ct_current_phase": {
"name": "Net consumption CT current {phase_name}"
},
"net_ct_powerfactor_phase": {
"name": "Powerfactor net consumption CT {phase_name}"
},
"net_ct_metering_status_phase": {
"name": "Metering status net consumption CT {phase_name}"
},
"net_ct_status_flags_phase": {
"name": "Meter status flags active net consumption CT {phase_name}"
},
"production_ct_frequency_phase": {
"name": "Frequency production CT {phase_name}"
},
"production_ct_voltage_phase": {
"name": "Voltage production CT {phase_name}"
},
"production_ct_current_phase": {
"name": "Production CT current {phase_name}"
},
"production_ct_powerfactor_phase": {
"name": "Powerfactor production CT {phase_name}"
},
"production_ct_metering_status_phase": {
"name": "Metering status production CT {phase_name}"
},
@ -246,9 +291,18 @@
"battery_discharge_phase": {
"name": "Current battery discharge {phase_name}"
},
"storage_ct_frequency_phase": {
"name": "Frequency storage CT {phase_name}"
},
"storage_ct_voltage_phase": {
"name": "Voltage storage CT {phase_name}"
},
"storage_ct_current_phase": {
"name": "Storage CT current {phase_name}"
},
"storage_ct_powerfactor_phase": {
"name": "Powerfactor storage CT {phase_name}"
},
"storage_ct_metering_status_phase": {
"name": "Metering status storage CT {phase_name}"
},

File diff suppressed because it is too large Load Diff