@@ -3620,6 +3620,9 @@ class PowermeterType(Enum):
36203620 PM_TYPE_UNUSED = 0x06
36213621 PM_TYPE_WALLBOX = 0x07
36223622 PM_TYPE_FARM_ADDITIONAL = 0x08
3623+ PM_TYPE_DATA_DISPLAY = 0x09
3624+ PM_TYPE_REGULATION_BYPASS = 0x0A
3625+ PM_TYPE_ADDITIONAL_PRODUCTION_NO_STORAGE = 0x0B
36233626
36243627
36253628class PviType (Enum ):
@@ -3797,13 +3800,20 @@ def getStrPowermeterType(powermetertype: int | str | PowermeterType) -> str:
37973800
37983801 Returns:
37993802 str: The name of the power meter type as a string.
3803+ Returns "PM_TYPE_UNDEFINED" for unknown types.
38003804 """
3801- if isinstance (powermetertype , int ):
3802- powermetertype = PowermeterType (powermetertype )
3803- elif isinstance (powermetertype , str ):
3804- powermetertype = PowermeterType [powermetertype ]
3805+ try :
3806+ if isinstance (powermetertype , int ):
3807+ powermetertype = PowermeterType (powermetertype )
3808+ elif isinstance (powermetertype , str ):
3809+ powermetertype = PowermeterType [powermetertype ]
38053810
3806- return powermetertype .name
3811+ return powermetertype .name
3812+ except (ValueError , KeyError ) as e :
3813+ print (
3814+ f"Warning: Unknown PowermeterType '{ powermetertype } ' encountered. Returning PM_TYPE_UNDEFINED. Error: { e } "
3815+ )
3816+ return PowermeterType .PM_TYPE_UNDEFINED .name
38073817
38083818
38093819def getStrPviType (pvitype : int | str | PviType ) -> str :
@@ -3817,10 +3827,17 @@ def getStrPviType(pvitype: int | str | PviType) -> str:
38173827
38183828 Returns:
38193829 str: The name of the pvi type as a string.
3830+ Returns "PVI_TYPE_UNDEFINED" for unknown types.
38203831 """
3821- if isinstance (pvitype , int ):
3822- pvitype = PviType (pvitype )
3823- elif isinstance (pvitype , str ):
3824- pvitype = PviType [pvitype ]
3832+ try :
3833+ if isinstance (pvitype , int ):
3834+ pvitype = PviType (pvitype )
3835+ elif isinstance (pvitype , str ):
3836+ pvitype = PviType [pvitype ]
38253837
3826- return pvitype .name
3838+ return pvitype .name
3839+ except (ValueError , KeyError ) as e :
3840+ print (
3841+ f"Warning: Unknown PviType '{ pvitype } ' encountered. Returning PVI_TYPE_UNDEFINED. Error: { e } "
3842+ )
3843+ return PviType .PVI_TYPE_UNDEFINED .name
0 commit comments