diff --git a/dsmr_parser/obis_references.py b/dsmr_parser/obis_references.py index 83d3b8b..0ca9654 100644 --- a/dsmr_parser/obis_references.py +++ b/dsmr_parser/obis_references.py @@ -43,9 +43,6 @@ INSTANTANEOUS_CURRENT_L1 = r'^\d-\d:31\.7\.0.+?\r\n' INSTANTANEOUS_CURRENT_L2 = r'^\d-\d:51\.7\.0.+?\r\n' INSTANTANEOUS_CURRENT_L3 = r'^\d-\d:71\.7\.0.+?\r\n' -FUSE_THRESHOLD_L1 = r'^\d-\d:31\.4\.0.+?\r\n' # Applicable when current limitation is active -FUSE_THRESHOLD_L2 = r'^\d-\d:51\.4\.0.+?\r\n' # Applicable when current limitation is active -FUSE_THRESHOLD_L3 = r'^\d-\d:71\.4\.0.+?\r\n' # Applicable when current limitation is active TEXT_MESSAGE_CODE = r'^\d-\d:96\.13\.1.+?\r\n' TEXT_MESSAGE = r'^\d-\d:96\.13\.0.+?\r\n' DEVICE_TYPE = r'^\d-\d:24\.1\.0.+?\r\n' @@ -92,6 +89,7 @@ BELGIUM_MAXIMUM_DEMAND_MONTH = r'^\d-\d:1\.6\.0.+?\r\n' BELGIUM_MAXIMUM_DEMAND_13_MONTHS = r'^\d-\d:98\.1\.0.+?\r\n' BELGIUM_MAX_POWER_PER_PHASE = r'^\d-\d:17\.0\.0.+?\r\n' # Applicable when power limitation is active +BELGIUM_MAX_CURRENT_PER_PHASE = r'^\d-\d:31\.4\.0.+?\r\n' # Applicable when current limitation is active # Multiple 'slaves' can be linked to the main device. # Mostly MBUS1 = GAS METER with values on 24.2.3 @@ -144,3 +142,5 @@ EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2 = r'^\d-\d:6\.7\.0.+?\r\n' EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3 = r'^\d-\d:7\.7\.0.+?\r\n' EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4 = r'^\d-\d:8\.7\.0.+?\r\n' +EON_HU_MAX_POWER_ON_L2 = r'^\d-\d:51\.4\.0.+?\r\n' +EON_HU_MAX_POWER_ON_L3 = r'^\d-\d:71\.4\.0.+?\r\n' diff --git a/dsmr_parser/telegram_specifications.py b/dsmr_parser/telegram_specifications.py index ee54b0a..65ede2f 100644 --- a/dsmr_parser/telegram_specifications.py +++ b/dsmr_parser/telegram_specifications.py @@ -630,9 +630,9 @@ 'value_name': 'BELGIUM_MAX_POWER_PER_PHASE' }, { - 'obis_reference': obis.FUSE_THRESHOLD_L1, + 'obis_reference': obis.BELGIUM_MAX_CURRENT_PER_PHASE, 'value_parser': CosemParser(ValueParser(Decimal)), - 'value_name': 'FUSE_THRESHOLD_L1' + 'value_name': 'BELGIUM_MAX_CURRENT_PER_PHASE' }, { 'obis_reference': obis.TEXT_MESSAGE, @@ -1414,20 +1414,20 @@ 'value_name': 'INSTANTANEOUS_REACTIVE_POWER_Q4' }, { - 'obis_reference': obis.FUSE_THRESHOLD_L1, + 'obis_reference': obis.BELGIUM_MAX_CURRENT_PER_PHASE, 'value_parser': CosemParser(ValueParser(Decimal)), - 'value_name': 'FUSE_THRESHOLD_L1' + 'value_name': 'MAX_POWER_ON_L1' }, { - 'obis_reference': obis.FUSE_THRESHOLD_L2, + 'obis_reference': obis.EON_HU_MAX_POWER_ON_L2, 'value_parser': CosemParser(ValueParser(Decimal)), - 'value_name': 'FUSE_THRESHOLD_L2' + 'value_name': 'MAX_POWER_ON_L2' # Only with 3 phase meters }, { - 'obis_reference': obis.FUSE_THRESHOLD_L3, + 'obis_reference': obis.EON_HU_MAX_POWER_ON_L3, 'value_parser': CosemParser(ValueParser(Decimal)), - 'value_name': 'FUSE_THRESHOLD_L3' + 'value_name': 'MAX_POWER_ON_L3' # Only with 3 phase meters }, # I'm not sure which datas does this line containes. It should be the data of last minute of last month. diff --git a/test/test_parse_fluvius.py b/test/test_parse_fluvius.py index b44ced0..09a8bd4 100644 --- a/test/test_parse_fluvius.py +++ b/test/test_parse_fluvius.py @@ -217,11 +217,11 @@ def test_parse(self): assert isinstance(result.BELGIUM_MAX_POWER_PER_PHASE.value, Decimal) assert result.BELGIUM_MAX_POWER_PER_PHASE.value == Decimal('999.9') - # FUSE_THRESHOLD_L1 (1-0:31.4.0) - assert isinstance(result.FUSE_THRESHOLD_L1, CosemObject) - assert result.FUSE_THRESHOLD_L1.unit == 'A' - assert isinstance(result.FUSE_THRESHOLD_L1.value, Decimal) - assert result.FUSE_THRESHOLD_L1.value == Decimal('999') + # BELGIUM_MAX_POWER_PER_PHASE (1-0:31.4.0) + assert isinstance(result.BELGIUM_MAX_CURRENT_PER_PHASE, CosemObject) + assert result.BELGIUM_MAX_CURRENT_PER_PHASE.unit == 'A' + assert isinstance(result.BELGIUM_MAX_CURRENT_PER_PHASE.value, Decimal) + assert result.BELGIUM_MAX_CURRENT_PER_PHASE.value == Decimal('999') # TEXT_MESSAGE (0-0:96.13.0) assert isinstance(result.TEXT_MESSAGE, CosemObject) diff --git a/test/test_parse_v5_eon_hungary.py b/test/test_parse_v5_eon_hungary.py index 0862de9..08dd6e1 100644 --- a/test/test_parse_v5_eon_hungary.py +++ b/test/test_parse_v5_eon_hungary.py @@ -263,23 +263,23 @@ def test_parse(self): assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q4.value, Decimal) assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q4.value == Decimal('00.000') - # FUSE_THRESHOLD_L1 (1-0:31.4.0) - assert isinstance(telegram.FUSE_THRESHOLD_L1, CosemObject) - assert telegram.FUSE_THRESHOLD_L1.unit == 'A' - assert isinstance(telegram.FUSE_THRESHOLD_L1.value, Decimal) - assert telegram.FUSE_THRESHOLD_L1.value == Decimal('200.00') - - # FUSE_THRESHOLD_L2 (1-0:31.4.0) - assert isinstance(telegram.FUSE_THRESHOLD_L2, CosemObject) - assert telegram.FUSE_THRESHOLD_L2.unit == 'A' - assert isinstance(telegram.FUSE_THRESHOLD_L2.value, Decimal) - assert telegram.FUSE_THRESHOLD_L2.value == Decimal('200.00') - - # FUSE_THRESHOLD_L3 (1-0:31.4.0) - assert isinstance(telegram.FUSE_THRESHOLD_L3, CosemObject) - assert telegram.FUSE_THRESHOLD_L3.unit == 'A' - assert isinstance(telegram.FUSE_THRESHOLD_L3.value, Decimal) - assert telegram.FUSE_THRESHOLD_L3.value == Decimal('200.00') + # EON_HU_MAX_POWER_ON_L1 (1-0:31.4.0) + assert isinstance(telegram.MAX_POWER_ON_L1, CosemObject) + assert telegram.MAX_POWER_ON_L1.unit == 'A' + assert isinstance(telegram.MAX_POWER_ON_L1.value, Decimal) + assert telegram.MAX_POWER_ON_L1.value == Decimal('200.00') + + # EON_HU_MAX_POWER_ON_L2 (1-0:31.4.0) + assert isinstance(telegram.MAX_POWER_ON_L2, CosemObject) + assert telegram.MAX_POWER_ON_L2.unit == 'A' + assert isinstance(telegram.MAX_POWER_ON_L2.value, Decimal) + assert telegram.MAX_POWER_ON_L2.value == Decimal('200.00') + + # EON_HU_MAX_POWER_ON_L3 (1-0:31.4.0) + assert isinstance(telegram.MAX_POWER_ON_L3, CosemObject) + assert telegram.MAX_POWER_ON_L3.unit == 'A' + assert isinstance(telegram.MAX_POWER_ON_L3.value, Decimal) + assert telegram.MAX_POWER_ON_L3.value == Decimal('200.00') # TEXT_MESSAGE (0-0:96.13.0) assert isinstance(telegram.TEXT_MESSAGE, CosemObject)