Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 27 additions & 10 deletions e3dc/_rscpTags.py
Original file line number Diff line number Diff line change
Expand Up @@ -3622,6 +3622,9 @@ class PowermeterType(Enum):
PM_TYPE_UNUSED = 0x06
PM_TYPE_WALLBOX = 0x07
PM_TYPE_FARM_ADDITIONAL = 0x08
PM_TYPE_DATA_DISPLAY = 0x09
PM_TYPE_REGULATION_BYPASS = 0x0A
PM_TYPE_ADDITIONAL_PRODUCTION_NO_STORAGE = 0x0B


class PviType(Enum):
Expand Down Expand Up @@ -3799,13 +3802,20 @@ def getStrPowermeterType(powermetertype: int | str | PowermeterType) -> str:

Returns:
str: The name of the power meter type as a string.
Returns "PM_TYPE_UNDEFINED" for unknown types.
"""
if isinstance(powermetertype, int):
powermetertype = PowermeterType(powermetertype)
elif isinstance(powermetertype, str):
powermetertype = PowermeterType[powermetertype]
try:
if isinstance(powermetertype, int):
powermetertype = PowermeterType(powermetertype)
elif isinstance(powermetertype, str):
powermetertype = PowermeterType[powermetertype]

return powermetertype.name
return powermetertype.name
except (ValueError, KeyError) as e:
print(
f"Warning: Unknown PowermeterType '{powermetertype}' encountered. Returning PM_TYPE_UNDEFINED. Error: {e}"
)
return PowermeterType.PM_TYPE_UNDEFINED.name


def getStrPviType(pvitype: int | str | PviType) -> str:
Expand All @@ -3819,10 +3829,17 @@ def getStrPviType(pvitype: int | str | PviType) -> str:

Returns:
str: The name of the pvi type as a string.
Returns "PVI_TYPE_UNDEFINED" for unknown types.
"""
if isinstance(pvitype, int):
pvitype = PviType(pvitype)
elif isinstance(pvitype, str):
pvitype = PviType[pvitype]
try:
if isinstance(pvitype, int):
pvitype = PviType(pvitype)
elif isinstance(pvitype, str):
pvitype = PviType[pvitype]

return pvitype.name
return pvitype.name
except (ValueError, KeyError) as e:
print(
f"Warning: Unknown PviType '{pvitype}' encountered. Returning PVI_TYPE_UNDEFINED. Error: {e}"
)
return PviType.PVI_TYPE_UNDEFINED.name