Skip to content

Commit b96124d

Browse files
committed
Add additional sensors
1 parent fa7b644 commit b96124d

File tree

4 files changed

+180
-2
lines changed

4 files changed

+180
-2
lines changed

custom_components/alphaess/const.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@
1616
INVERTER_COUNT = 0
1717
INVERTER_LIST = []
1818

19+
KNOWN_INVERTERS = ["Storion-S5", "SMILE5-INV", "VT1000"] # List of known inverters
20+
1921
# Set blacklist for certain inverters from certain sensors
20-
INVERTER_SETTING_BLACKLIST = [] # Blacklist sensors for setting discharge/charge amount and sending discharge and charge amount
22+
INVERTER_SETTING_BLACKLIST = ["VT1000"] # Blacklist sensors for setting discharge/charge amount and sending discharge and charge amount
2123
LIMITED_INVERTER_SENSOR_LIST = ["Storion-S5"] # Blacklist sensors for showing data relating to getlastpowerdata and other data points
2224

2325
# Inverters who do not support "getlastpowerdata"

custom_components/alphaess/coordinator.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ def __init__(self, hass: HomeAssistant, client: alphaess.alphaess) -> None:
6262
self.hass = hass
6363

6464
# Reduce the throttle count lower due to the reduced API calls it makes
65-
if all(inverter not in self.model_list for inverter in LOWER_INVERTER_API_CALL_LIST) and len(self.model_list) > 0:
65+
if all(inverter not in self.model_list for inverter in LOWER_INVERTER_API_CALL_LIST) and len(
66+
self.model_list) > 0:
6667
self.has_throttle = False
6768
set_throttle_count_lower()
6869

@@ -137,6 +138,7 @@ async def _async_update_data(self):
137138
inverterdata["Total Load"] = await safe_get(_sumdata, "eload")
138139
inverterdata["Total Income"] = await safe_get(_sumdata, "totalIncome")
139140
inverterdata["Total Generation"] = await safe_get(_sumdata, "epvtotal")
141+
inverterdata["moneyType"] = await safe_get(_sumdata, "moneyType")
140142

141143
self_data = {
142144
"Self Consumption": await safe_get(_sumdata, "eselfConsumption"),
@@ -164,6 +166,7 @@ async def _async_update_data(self):
164166
_soc = await safe_get(_powerdata, "soc")
165167
_gridpowerdetails = _powerdata.get("pgridDetail", {})
166168
_pvpowerdetails = _powerdata.get("ppvDetail", {})
169+
_getEVdetails = _powerdata.get("pevDetail", {})
167170

168171
inverterdata["Instantaneous Battery SOC"] = _soc
169172

@@ -179,10 +182,19 @@ async def _async_update_data(self):
179182
inverterdata["Instantaneous PPV2"] = await safe_get(_pvpowerdetails, "ppv2")
180183
inverterdata["Instantaneous PPV3"] = await safe_get(_pvpowerdetails, "ppv3")
181184
inverterdata["Instantaneous PPV4"] = await safe_get(_pvpowerdetails, "ppv4")
185+
inverterdata["pmeterDc"] = await safe_get(_pvpowerdetails, "pmeterDc")
186+
inverterdata["pev"] = await safe_get(_powerdata, "pev")
187+
inverterdata["Electric Vehicle Power One"] = await safe_get(_getEVdetails, "ev1Power")
188+
inverterdata["Electric Vehicle Power Two"] = await safe_get(_getEVdetails, "ev2Power")
189+
inverterdata["Electric Vehicle Power Three"] = await safe_get(_getEVdetails, "ev3Power")
190+
inverterdata["Electric Vehicle Power Four"] = await safe_get(_getEVdetails, "ev4Power")
182191
inverterdata["Instantaneous Grid I/O Total"] = await safe_get(_powerdata, "pgrid")
183192
inverterdata["Instantaneous Grid I/O L1"] = await safe_get(_gridpowerdetails, "pmeterL1")
184193
inverterdata["Instantaneous Grid I/O L2"] = await safe_get(_gridpowerdetails, "pmeterL2")
185194
inverterdata["Instantaneous Grid I/O L3"] = await safe_get(_gridpowerdetails, "pmeterL3")
195+
inverterdata["PrealL1"] = await safe_get(_powerdata, "prealL1")
196+
inverterdata["PrealL2"] = await safe_get(_powerdata, "prealL1")
197+
inverterdata["PrealL3"] = await safe_get(_powerdata, "prealL1")
186198

187199
# Get Charge Config
188200
_charge_config = invertor.get("ChargeConfig", {})

custom_components/alphaess/enums.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,13 @@ class AlphaESSNames(str, Enum):
5151
DischargeTime2 = "Discharge Period 2"
5252
ChargeRange = "Charging Range"
5353
Total_Generation = "Total Generation"
54+
ElectricVehiclePowerOne = "Electric Vehicle Power One"
55+
ElectricVehiclePowerTwo = "Electric Vehicle Power Two"
56+
ElectricVehiclePowerThree = "Electric Vehicle Power Three"
57+
ElectricVehiclePowerFour = "Electric Vehicle Power Four"
58+
pev = "pev"
59+
pmeterDc = "pmeterDc"
60+
PrealL1 = "PrealL1"
61+
PrealL2 = "PrealL2"
62+
PrealL3 = "PrealL3"
63+
moneyType = "moneyType"

custom_components/alphaess/sensorlist.py

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -266,7 +266,80 @@
266266
state_class=None,
267267
entity_category=EntityCategory.DIAGNOSTIC,
268268
icon="mdi:battery-lock-open",
269+
),
270+
AlphaESSSensorDescription(
271+
key=AlphaESSNames.pmeterDc,
272+
name="pmeterDc",
273+
native_unit_of_measurement=UnitOfPower.WATT,
274+
device_class=SensorDeviceClass.POWER,
275+
state_class=SensorStateClass.MEASUREMENT,
276+
icon="mdi:current-dc",
277+
),
278+
AlphaESSSensorDescription(
279+
key=AlphaESSNames.ElectricVehiclePowerOne,
280+
name="Electric Vehicle Power One",
281+
native_unit_of_measurement=UnitOfPower.WATT,
282+
device_class=SensorDeviceClass.POWER,
283+
state_class=SensorStateClass.MEASUREMENT,
284+
icon="mdi:car-electric",
285+
),
286+
AlphaESSSensorDescription(
287+
key=AlphaESSNames.ElectricVehiclePowerTwo,
288+
name="Electric Vehicle Power Two",
289+
native_unit_of_measurement=UnitOfPower.WATT,
290+
device_class=SensorDeviceClass.POWER,
291+
state_class=SensorStateClass.MEASUREMENT,
292+
icon="mdi:car-electric",
293+
),
294+
AlphaESSSensorDescription(
295+
key=AlphaESSNames.ElectricVehiclePowerThree,
296+
name="Electric Vehicle Power Three",
297+
native_unit_of_measurement=UnitOfPower.WATT,
298+
device_class=SensorDeviceClass.POWER,
299+
state_class=SensorStateClass.MEASUREMENT,
300+
icon="mdi:car-electric",
301+
),
302+
AlphaESSSensorDescription(
303+
key=AlphaESSNames.ElectricVehiclePowerFour,
304+
name="Electric Vehicle Power Four",
305+
native_unit_of_measurement=UnitOfPower.WATT,
306+
device_class=SensorDeviceClass.POWER,
307+
state_class=SensorStateClass.MEASUREMENT,
308+
icon="mdi:car-electric",
309+
),
310+
AlphaESSSensorDescription(
311+
key=AlphaESSNames.pev,
312+
name="pev",
313+
native_unit_of_measurement=UnitOfPower.WATT,
314+
device_class=SensorDeviceClass.POWER,
315+
state_class=SensorStateClass.MEASUREMENT,
316+
icon="mdi:flash",
317+
),
318+
AlphaESSSensorDescription(
319+
key=AlphaESSNames.PrealL1,
320+
name="PrealL1",
321+
native_unit_of_measurement=UnitOfPower.WATT,
322+
device_class=SensorDeviceClass.POWER,
323+
state_class=SensorStateClass.MEASUREMENT,
324+
icon="mdi:flash",
325+
),
326+
AlphaESSSensorDescription(
327+
key=AlphaESSNames.PrealL2,
328+
name="PrealL2",
329+
native_unit_of_measurement=UnitOfPower.WATT,
330+
device_class=SensorDeviceClass.POWER,
331+
state_class=SensorStateClass.MEASUREMENT,
332+
icon="mdi:flash",
333+
),
334+
AlphaESSSensorDescription(
335+
key=AlphaESSNames.PrealL3,
336+
name="PrealL3",
337+
native_unit_of_measurement=UnitOfPower.WATT,
338+
device_class=SensorDeviceClass.POWER,
339+
state_class=SensorStateClass.MEASUREMENT,
340+
icon="mdi:flash",
269341
)
342+
270343
]
271344

272345
LIMITED_SENSOR_DESCRIPTIONS: List[AlphaESSSensorDescription] = [
@@ -449,9 +522,90 @@
449522
state_class=None,
450523
entity_category=EntityCategory.DIAGNOSTIC,
451524
icon="mdi:battery-lock-open",
525+
),
526+
AlphaESSSensorDescription(
527+
key=AlphaESSNames.pmeterDc,
528+
name="pmeterDc",
529+
native_unit_of_measurement=UnitOfPower.WATT,
530+
device_class=SensorDeviceClass.POWER,
531+
state_class=SensorStateClass.MEASUREMENT,
532+
icon="mdi:current-dc",
533+
),
534+
AlphaESSSensorDescription(
535+
key=AlphaESSNames.ElectricVehiclePowerOne,
536+
name="Electric Vehicle Power One",
537+
native_unit_of_measurement=UnitOfPower.WATT,
538+
device_class=SensorDeviceClass.POWER,
539+
state_class=SensorStateClass.MEASUREMENT,
540+
icon="mdi:car-electric",
541+
),
542+
AlphaESSSensorDescription(
543+
key=AlphaESSNames.ElectricVehiclePowerTwo,
544+
name="Electric Vehicle Power Two",
545+
native_unit_of_measurement=UnitOfPower.WATT,
546+
device_class=SensorDeviceClass.POWER,
547+
state_class=SensorStateClass.MEASUREMENT,
548+
icon="mdi:car-electric",
549+
),
550+
AlphaESSSensorDescription(
551+
key=AlphaESSNames.ElectricVehiclePowerThree,
552+
name="Electric Vehicle Power Three",
553+
native_unit_of_measurement=UnitOfPower.WATT,
554+
device_class=SensorDeviceClass.POWER,
555+
state_class=SensorStateClass.MEASUREMENT,
556+
icon="mdi:car-electric",
557+
),
558+
AlphaESSSensorDescription(
559+
key=AlphaESSNames.ElectricVehiclePowerFour,
560+
name="Electric Vehicle Power Four",
561+
native_unit_of_measurement=UnitOfPower.WATT,
562+
device_class=SensorDeviceClass.POWER,
563+
state_class=SensorStateClass.MEASUREMENT,
564+
icon="mdi:car-electric",
565+
),
566+
AlphaESSSensorDescription(
567+
key=AlphaESSNames.pev,
568+
name="pev",
569+
native_unit_of_measurement=UnitOfPower.WATT,
570+
device_class=SensorDeviceClass.POWER,
571+
state_class=SensorStateClass.MEASUREMENT,
572+
icon="mdi:flash",
573+
),
574+
AlphaESSSensorDescription(
575+
key=AlphaESSNames.PrealL1,
576+
name="PrealL1",
577+
native_unit_of_measurement=UnitOfPower.WATT,
578+
device_class=SensorDeviceClass.POWER,
579+
state_class=SensorStateClass.MEASUREMENT,
580+
icon="mdi:flash",
581+
),
582+
AlphaESSSensorDescription(
583+
key=AlphaESSNames.PrealL2,
584+
name="PrealL2",
585+
native_unit_of_measurement=UnitOfPower.WATT,
586+
device_class=SensorDeviceClass.POWER,
587+
state_class=SensorStateClass.MEASUREMENT,
588+
icon="mdi:flash",
589+
),
590+
AlphaESSSensorDescription(
591+
key=AlphaESSNames.PrealL3,
592+
name="PrealL3",
593+
native_unit_of_measurement=UnitOfPower.WATT,
594+
device_class=SensorDeviceClass.POWER,
595+
state_class=SensorStateClass.MEASUREMENT,
596+
icon="mdi:flash",
452597
)
453598
]
454599

600+
601+
602+
603+
604+
605+
606+
607+
608+
455609
SUPPORT_DISCHARGE_AND_CHARGE_BUTTON_DESCRIPTIONS: List[AlphaESSButtonDescription] = [
456610
AlphaESSButtonDescription(
457611
key=AlphaESSNames.ButtonDischargeFifteen,

0 commit comments

Comments
 (0)