backwards compatibility changes
This commit is contained in:
parent
516968f2ee
commit
a4ec55b5ec
@ -93,30 +93,30 @@ EN = {
|
|||||||
'Q3D_EQUIPMENT_STATE': 'Q3D_EQUIPMENT_STATE',
|
'Q3D_EQUIPMENT_STATE': 'Q3D_EQUIPMENT_STATE',
|
||||||
'Q3D_EQUIPMENT_SERIALNUMBER': 'Q3D_EQUIPMENT_SERIALNUMBER',
|
'Q3D_EQUIPMENT_SERIALNUMBER': 'Q3D_EQUIPMENT_SERIALNUMBER',
|
||||||
'BELGIUM_MBUS2_DEVICE_TYPE': 'BELGIUM_MBUS2_DEVICE_TYPE',
|
'BELGIUM_MBUS2_DEVICE_TYPE': 'BELGIUM_MBUS2_DEVICE_TYPE',
|
||||||
'EON_HU_COSEM_LOGICAL_DEVICE_NAME': 'COSEM_LOGICAL_DEVICE_NAME',
|
'EON_HU_COSEM_LOGICAL_DEVICE_NAME': 'EON_HU_COSEM_LOGICAL_DEVICE_NAME',
|
||||||
'EON_HU_EQUIPMENT_SERIAL_NUMBER': 'EQUIPMENT_SERIAL_NUMBER',
|
'EON_HU_EQUIPMENT_SERIAL_NUMBER': 'EON_HU_EQUIPMENT_SERIAL_NUMBER',
|
||||||
'EON_HU_ELECTRICITY_DELIVERED_TARIFF_3': 'ELECTRICITY_DELIVERED_TARIFF_3',
|
'EON_HU_ELECTRICITY_DELIVERED_TARIFF_3': 'EON_HU_ELECTRICITY_DELIVERED_TARIFF_3',
|
||||||
'EON_HU_ELECTRICITY_DELIVERED_TARIFF_4': 'ELECTRICITY_DELIVERED_TARIFF_4',
|
'EON_HU_ELECTRICITY_DELIVERED_TARIFF_4': 'EON_HU_ELECTRICITY_DELIVERED_TARIFF_4',
|
||||||
'EON_HU_ELECTRICITY_USED_TARIFF_3': 'ELECTRICITY_USED_TARIFF_3',
|
'EON_HU_ELECTRICITY_USED_TARIFF_3': 'EON_HU_ELECTRICITY_USED_TARIFF_3',
|
||||||
'EON_HU_ELECTRICITY_USED_TARIFF_4': 'ELECTRICITY_USED_TARIFF_4',
|
'EON_HU_ELECTRICITY_USED_TARIFF_4': 'EON_HU_ELECTRICITY_USED_TARIFF_4',
|
||||||
'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1': 'ELECTRICITY_REACTIVE_TOTAL_Q1',
|
'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1': 'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1',
|
||||||
'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2': 'ELECTRICITY_REACTIVE_TOTAL_Q2',
|
'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2': 'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2',
|
||||||
'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3': 'ELECTRICITY_REACTIVE_TOTAL_Q3',
|
'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3': 'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3',
|
||||||
'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4': 'ELECTRICITY_REACTIVE_TOTAL_Q4',
|
'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4': 'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4',
|
||||||
'EON_HU_ELECTRICITY_COMBINED': 'ELECTRICITY_COMBINED',
|
'EON_HU_ELECTRICITY_COMBINED': 'EON_HU_ELECTRICITY_COMBINED',
|
||||||
'EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL': 'INSTANTANEOUS_POWER_FACTOR_TOTAL',
|
'EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL': 'EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL',
|
||||||
'EON_HU_INSTANTANEOUS_POWER_FACTOR_L1': 'INSTANTANEOUS_POWER_FACTOR_L1',
|
'EON_HU_INSTANTANEOUS_POWER_FACTOR_L1': 'EON_HU_INSTANTANEOUS_POWER_FACTOR_L1',
|
||||||
'EON_HU_INSTANTANEOUS_POWER_FACTOR_L2': 'INSTANTANEOUS_POWER_FACTOR_L2',
|
'EON_HU_INSTANTANEOUS_POWER_FACTOR_L2': 'EON_HU_INSTANTANEOUS_POWER_FACTOR_L2',
|
||||||
'EON_HU_INSTANTANEOUS_POWER_FACTOR_L3': 'INSTANTANEOUS_POWER_FACTOR_L3',
|
'EON_HU_INSTANTANEOUS_POWER_FACTOR_L3': 'EON_HU_INSTANTANEOUS_POWER_FACTOR_L3',
|
||||||
'EON_HU_FREQUENCY': 'FREQUENCY',
|
'EON_HU_FREQUENCY': 'EON_HU_FREQUENCY',
|
||||||
'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1': 'INSTANTANEOUS_REACTIVE_POWER_Q1',
|
'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1': 'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1',
|
||||||
'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2': 'INSTANTANEOUS_REACTIVE_POWER_Q2',
|
'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2': 'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2',
|
||||||
'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3': 'INSTANTANEOUS_REACTIVE_POWER_Q3',
|
'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3': 'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3',
|
||||||
'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4': 'INSTANTANEOUS_REACTIVE_POWER_Q4',
|
'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4': 'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4',
|
||||||
'EON_HU_MAX_POWER_ON_L1': 'MAX_POWER_ON_L1',
|
'EON_HU_MAX_POWER_ON_L1': 'EON_HU_MAX_POWER_ON_L1',
|
||||||
'EON_HU_MAX_POWER_ON_L2': 'MAX_POWER_ON_L2',
|
'EON_HU_MAX_POWER_ON_L2': 'EON_HU_MAX_POWER_ON_L2',
|
||||||
'EON_HU_MAX_POWER_ON_L3': 'MAX_POWER_ON_L3',
|
'EON_HU_MAX_POWER_ON_L3': 'EON_HU_MAX_POWER_ON_L3',
|
||||||
'EON_HU_LAST_MONTH_DATA': 'LAST_MONTH_DATA'
|
'EON_HU_LAST_MONTH_DATA': 'EON_HU_LAST_MONTH_DATA'
|
||||||
}
|
}
|
||||||
|
|
||||||
REVERSE_EN = dict([(v, k) for k, v in EN.items()])
|
REVERSE_EN = dict([(v, k) for k, v in EN.items()])
|
||||||
|
@ -2,6 +2,7 @@ from decimal import Decimal
|
|||||||
|
|
||||||
import datetime
|
import datetime
|
||||||
import json
|
import json
|
||||||
|
import sys;
|
||||||
|
|
||||||
import pytz
|
import pytz
|
||||||
|
|
||||||
@ -27,9 +28,13 @@ class Telegram(dict):
|
|||||||
self._mbus_devices = []
|
self._mbus_devices = []
|
||||||
super().__init__(*args, **kwargs)
|
super().__init__(*args, **kwargs)
|
||||||
|
|
||||||
def add(self, obis_reference, dsmr_object):
|
def add(self, obis_reference, dsmr_object, obis_name=None):
|
||||||
# Update name mapping used to get value by attribute. Example: telegram.P1_MESSAGE_HEADER
|
# Update name mapping used to get value by attribute. Example: telegram.P1_MESSAGE_HEADER.
|
||||||
obis_name = obis_name_mapping.EN[obis_reference]
|
# For backwards compatibility
|
||||||
|
if obis_name is not None:
|
||||||
|
obis_name = obis_name_mapping.EN[obis_name]
|
||||||
|
else:
|
||||||
|
obis_name = obis_reference
|
||||||
setattr(self, obis_name, dsmr_object)
|
setattr(self, obis_name, dsmr_object)
|
||||||
if obis_name not in self._item_names: # TODO repeating obis references
|
if obis_name not in self._item_names: # TODO repeating obis references
|
||||||
self._item_names.append(obis_name)
|
self._item_names.append(obis_name)
|
||||||
|
@ -102,7 +102,7 @@ class TelegramParser(object):
|
|||||||
logger.error("Unexpected {}: {}".format(type(err), err))
|
logger.error("Unexpected {}: {}".format(type(err), err))
|
||||||
raise
|
raise
|
||||||
else:
|
else:
|
||||||
telegram.add(obis_reference=object["value_name"], dsmr_object=dsmr_object)
|
telegram.add(obis_reference=object["obis_reference"], dsmr_object=dsmr_object, obis_name=object["value_name"])
|
||||||
|
|
||||||
return telegram
|
return telegram
|
||||||
|
|
||||||
|
@ -29,17 +29,17 @@ class TelegramParserV5EONHUTest(unittest.TestCase):
|
|||||||
assert telegram.P1_MESSAGE_TIMESTAMP.value == \
|
assert telegram.P1_MESSAGE_TIMESTAMP.value == \
|
||||||
pytz.timezone("Europe/Budapest").localize(datetime.datetime(2023, 7, 24, 15, 7, 30))
|
pytz.timezone("Europe/Budapest").localize(datetime.datetime(2023, 7, 24, 15, 7, 30))
|
||||||
|
|
||||||
# COSEM_LOGICAL_DEVICE_NAME (0-0:42.0.0)
|
# EON_HU_COSEM_LOGICAL_DEVICE_NAME (0-0:42.0.0)
|
||||||
assert isinstance(telegram.COSEM_LOGICAL_DEVICE_NAME, CosemObject)
|
assert isinstance(telegram.EON_HU_COSEM_LOGICAL_DEVICE_NAME, CosemObject)
|
||||||
assert telegram.COSEM_LOGICAL_DEVICE_NAME.unit is None
|
assert telegram.EON_HU_COSEM_LOGICAL_DEVICE_NAME.unit is None
|
||||||
assert isinstance(telegram.COSEM_LOGICAL_DEVICE_NAME.value, str)
|
assert isinstance(telegram.EON_HU_COSEM_LOGICAL_DEVICE_NAME.value, str)
|
||||||
assert telegram.COSEM_LOGICAL_DEVICE_NAME.value == '53414733303832323030303032313630'
|
assert telegram.EON_HU_COSEM_LOGICAL_DEVICE_NAME.value == '53414733303832323030303032313630'
|
||||||
|
|
||||||
# EQUIPMENT_SERIAL_NUMBER (0-0:96.1.0)
|
# EON_HU_EQUIPMENT_SERIAL_NUMBER (0-0:96.1.0)
|
||||||
assert isinstance(telegram.EQUIPMENT_SERIAL_NUMBER, CosemObject)
|
assert isinstance(telegram.EON_HU_EQUIPMENT_SERIAL_NUMBER, CosemObject)
|
||||||
assert telegram.EQUIPMENT_SERIAL_NUMBER.unit is None
|
assert telegram.EON_HU_EQUIPMENT_SERIAL_NUMBER.unit is None
|
||||||
assert isinstance(telegram.EQUIPMENT_SERIAL_NUMBER.value, str)
|
assert isinstance(telegram.EON_HU_EQUIPMENT_SERIAL_NUMBER.value, str)
|
||||||
assert telegram.EQUIPMENT_SERIAL_NUMBER.value == '383930303832323030303032313630'
|
assert telegram.EON_HU_EQUIPMENT_SERIAL_NUMBER.value == '383930303832323030303032313630'
|
||||||
|
|
||||||
# ELECTRICITY_ACTIVE_TARIFF (0-0:96.14.0)
|
# ELECTRICITY_ACTIVE_TARIFF (0-0:96.14.0)
|
||||||
assert isinstance(telegram.ELECTRICITY_ACTIVE_TARIFF, CosemObject)
|
assert isinstance(telegram.ELECTRICITY_ACTIVE_TARIFF, CosemObject)
|
||||||
@ -77,17 +77,17 @@ class TelegramParserV5EONHUTest(unittest.TestCase):
|
|||||||
assert isinstance(telegram.ELECTRICITY_USED_TARIFF_2.value, Decimal)
|
assert isinstance(telegram.ELECTRICITY_USED_TARIFF_2.value, Decimal)
|
||||||
assert telegram.ELECTRICITY_USED_TARIFF_2.value == Decimal('000125.921')
|
assert telegram.ELECTRICITY_USED_TARIFF_2.value == Decimal('000125.921')
|
||||||
|
|
||||||
# ELECTRICITY_USED_TARIFF_3 (1-0:1.8.3)
|
# EON_HU_ELECTRICITY_USED_TARIFF_3 (1-0:1.8.3)
|
||||||
assert isinstance(telegram.ELECTRICITY_USED_TARIFF_3, CosemObject)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_USED_TARIFF_3, CosemObject)
|
||||||
assert telegram.ELECTRICITY_USED_TARIFF_3.unit == 'kWh'
|
assert telegram.EON_HU_ELECTRICITY_USED_TARIFF_3.unit == 'kWh'
|
||||||
assert isinstance(telegram.ELECTRICITY_USED_TARIFF_3.value, Decimal)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_USED_TARIFF_3.value, Decimal)
|
||||||
assert telegram.ELECTRICITY_USED_TARIFF_3.value == Decimal('000000.000')
|
assert telegram.EON_HU_ELECTRICITY_USED_TARIFF_3.value == Decimal('000000.000')
|
||||||
|
|
||||||
# ELECTRICITY_USED_TARIFF_4 (1-0:1.8.4)
|
# EON_HU_ELECTRICITY_USED_TARIFF_4 (1-0:1.8.4)
|
||||||
assert isinstance(telegram.ELECTRICITY_USED_TARIFF_4, CosemObject)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_USED_TARIFF_4, CosemObject)
|
||||||
assert telegram.ELECTRICITY_USED_TARIFF_4.unit == 'kWh'
|
assert telegram.EON_HU_ELECTRICITY_USED_TARIFF_4.unit == 'kWh'
|
||||||
assert isinstance(telegram.ELECTRICITY_USED_TARIFF_4.value, Decimal)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_USED_TARIFF_4.value, Decimal)
|
||||||
assert telegram.ELECTRICITY_USED_TARIFF_4.value == Decimal('000000.000')
|
assert telegram.EON_HU_ELECTRICITY_USED_TARIFF_4.value == Decimal('000000.000')
|
||||||
|
|
||||||
# ELECTRICITY_EXPORTED_TOTAL (1-0:2.8.0)
|
# ELECTRICITY_EXPORTED_TOTAL (1-0:2.8.0)
|
||||||
assert isinstance(telegram.ELECTRICITY_EXPORTED_TOTAL, CosemObject)
|
assert isinstance(telegram.ELECTRICITY_EXPORTED_TOTAL, CosemObject)
|
||||||
@ -107,17 +107,17 @@ class TelegramParserV5EONHUTest(unittest.TestCase):
|
|||||||
assert isinstance(telegram.ELECTRICITY_DELIVERED_TARIFF_2.value, Decimal)
|
assert isinstance(telegram.ELECTRICITY_DELIVERED_TARIFF_2.value, Decimal)
|
||||||
assert telegram.ELECTRICITY_DELIVERED_TARIFF_2.value == Decimal('000225.348')
|
assert telegram.ELECTRICITY_DELIVERED_TARIFF_2.value == Decimal('000225.348')
|
||||||
|
|
||||||
# ELECTRICITY_DELIVERED_TARIFF_3 (1-0:2.8.3)
|
# EON_HU_ELECTRICITY_DELIVERED_TARIFF_3 (1-0:2.8.3)
|
||||||
assert isinstance(telegram.ELECTRICITY_DELIVERED_TARIFF_3, CosemObject)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_3, CosemObject)
|
||||||
assert telegram.ELECTRICITY_DELIVERED_TARIFF_3.unit == 'kWh'
|
assert telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_3.unit == 'kWh'
|
||||||
assert isinstance(telegram.ELECTRICITY_DELIVERED_TARIFF_3.value, Decimal)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_3.value, Decimal)
|
||||||
assert telegram.ELECTRICITY_DELIVERED_TARIFF_3.value == Decimal('000000.000')
|
assert telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_3.value == Decimal('000000.000')
|
||||||
|
|
||||||
# ELECTRICITY_DELIVERED_TARIFF_4 (1-0:2.8.4)
|
# EON_HU_ELECTRICITY_DELIVERED_TARIFF_4 (1-0:2.8.4)
|
||||||
assert isinstance(telegram.ELECTRICITY_DELIVERED_TARIFF_4, CosemObject)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_4, CosemObject)
|
||||||
assert telegram.ELECTRICITY_DELIVERED_TARIFF_4.unit == 'kWh'
|
assert telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_4.unit == 'kWh'
|
||||||
assert isinstance(telegram.ELECTRICITY_DELIVERED_TARIFF_4.value, Decimal)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_4.value, Decimal)
|
||||||
assert telegram.ELECTRICITY_DELIVERED_TARIFF_4.value == Decimal('000000.000')
|
assert telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_4.value == Decimal('000000.000')
|
||||||
|
|
||||||
# ELECTRICITY_REACTIVE_IMPORTED_TOTAL (1-0:3.8.0)
|
# ELECTRICITY_REACTIVE_IMPORTED_TOTAL (1-0:3.8.0)
|
||||||
assert isinstance(telegram.ELECTRICITY_REACTIVE_IMPORTED_TOTAL, CosemObject)
|
assert isinstance(telegram.ELECTRICITY_REACTIVE_IMPORTED_TOTAL, CosemObject)
|
||||||
@ -131,35 +131,35 @@ class TelegramParserV5EONHUTest(unittest.TestCase):
|
|||||||
assert isinstance(telegram.ELECTRICITY_REACTIVE_EXPORTED_TOTAL.value, Decimal)
|
assert isinstance(telegram.ELECTRICITY_REACTIVE_EXPORTED_TOTAL.value, Decimal)
|
||||||
assert telegram.ELECTRICITY_REACTIVE_EXPORTED_TOTAL.value == Decimal('000303.131')
|
assert telegram.ELECTRICITY_REACTIVE_EXPORTED_TOTAL.value == Decimal('000303.131')
|
||||||
|
|
||||||
# ELECTRICITY_REACTIVE_TOTAL_Q1 (1-0:5.8.0)
|
# EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1 (1-0:5.8.0)
|
||||||
assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q1, CosemObject)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1, CosemObject)
|
||||||
assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q1.unit == 'kvarh'
|
assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1.unit == 'kvarh'
|
||||||
assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q1.value, Decimal)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1.value, Decimal)
|
||||||
assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q1.value == Decimal('000000.668')
|
assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1.value == Decimal('000000.668')
|
||||||
|
|
||||||
# ELECTRICITY_REACTIVE_TOTAL_Q2 (1-0:6.8.0)
|
# EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2 (1-0:6.8.0)
|
||||||
assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q2, CosemObject)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2, CosemObject)
|
||||||
assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q2.unit == 'kvarh'
|
assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2.unit == 'kvarh'
|
||||||
assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q2.value, Decimal)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2.value, Decimal)
|
||||||
assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q2.value == Decimal('000000.071')
|
assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2.value == Decimal('000000.071')
|
||||||
|
|
||||||
# ELECTRICITY_REACTIVE_TOTAL_Q3 (1-0:7.8.0)
|
# EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3 (1-0:7.8.0)
|
||||||
assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q3, CosemObject)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3, CosemObject)
|
||||||
assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q3.unit == 'kvarh'
|
assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3.unit == 'kvarh'
|
||||||
assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q3.value, Decimal)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3.value, Decimal)
|
||||||
assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q3.value == Decimal('000160.487')
|
assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3.value == Decimal('000160.487')
|
||||||
|
|
||||||
# ELECTRICITY_REACTIVE_TOTAL_Q4 (1-0:8.8.0)
|
# EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4 (1-0:8.8.0)
|
||||||
assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q4, CosemObject)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4, CosemObject)
|
||||||
assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q4.unit == 'kvarh'
|
assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4.unit == 'kvarh'
|
||||||
assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q4.value, Decimal)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4.value, Decimal)
|
||||||
assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q4.value == Decimal('000143.346')
|
assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4.value == Decimal('000143.346')
|
||||||
|
|
||||||
# ELECTRICITY_COMBINED (1-0:15.8.0)
|
# EON_HU_ELECTRICITY_COMBINED (1-0:15.8.0)
|
||||||
assert isinstance(telegram.ELECTRICITY_COMBINED, CosemObject)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_COMBINED, CosemObject)
|
||||||
assert telegram.ELECTRICITY_COMBINED.unit == 'kWh'
|
assert telegram.EON_HU_ELECTRICITY_COMBINED.unit == 'kWh'
|
||||||
assert isinstance(telegram.ELECTRICITY_COMBINED.value, Decimal)
|
assert isinstance(telegram.EON_HU_ELECTRICITY_COMBINED.value, Decimal)
|
||||||
assert telegram.ELECTRICITY_COMBINED.value == Decimal('000800.817')
|
assert telegram.EON_HU_ELECTRICITY_COMBINED.value == Decimal('000800.817')
|
||||||
|
|
||||||
# INSTANTANEOUS_VOLTAGE_L2 (1-0:32.7.0)
|
# INSTANTANEOUS_VOLTAGE_L2 (1-0:32.7.0)
|
||||||
assert isinstance(telegram.INSTANTANEOUS_VOLTAGE_L1, CosemObject)
|
assert isinstance(telegram.INSTANTANEOUS_VOLTAGE_L1, CosemObject)
|
||||||
@ -197,35 +197,35 @@ class TelegramParserV5EONHUTest(unittest.TestCase):
|
|||||||
assert isinstance(telegram.INSTANTANEOUS_CURRENT_L3.value, Decimal)
|
assert isinstance(telegram.INSTANTANEOUS_CURRENT_L3.value, Decimal)
|
||||||
assert telegram.INSTANTANEOUS_CURRENT_L3.value == Decimal('003')
|
assert telegram.INSTANTANEOUS_CURRENT_L3.value == Decimal('003')
|
||||||
|
|
||||||
# INSTANTANEOUS_POWER_FACTOR_TOTAL (1-0:13.7.0)
|
# EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL (1-0:13.7.0)
|
||||||
assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_TOTAL, CosemObject)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL, CosemObject)
|
||||||
assert telegram.INSTANTANEOUS_POWER_FACTOR_TOTAL.unit is None
|
assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL.unit is None
|
||||||
assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_TOTAL.value, Decimal)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL.value, Decimal)
|
||||||
assert telegram.INSTANTANEOUS_POWER_FACTOR_TOTAL.value == Decimal('4.556')
|
assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL.value == Decimal('4.556')
|
||||||
|
|
||||||
# INSTANTANEOUS_POWER_FACTOR_L1 (1-0:33.7.0)
|
# EON_HU_INSTANTANEOUS_POWER_FACTOR_L1 (1-0:33.7.0)
|
||||||
assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_L1, CosemObject)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L1, CosemObject)
|
||||||
assert telegram.INSTANTANEOUS_POWER_FACTOR_L1.unit is None
|
assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L1.unit is None
|
||||||
assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_L1.value, Decimal)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L1.value, Decimal)
|
||||||
assert telegram.INSTANTANEOUS_POWER_FACTOR_L1.value == Decimal('4.591')
|
assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L1.value == Decimal('4.591')
|
||||||
|
|
||||||
# INSTANTANEOUS_POWER_FACTOR_L2 (1-0:53.7.0)
|
# EON_HU_INSTANTANEOUS_POWER_FACTOR_L2 (1-0:53.7.0)
|
||||||
assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_L2, CosemObject)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L2, CosemObject)
|
||||||
assert telegram.INSTANTANEOUS_POWER_FACTOR_L2.unit is None
|
assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L2.unit is None
|
||||||
assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_L2.value, Decimal)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L2.value, Decimal)
|
||||||
assert telegram.INSTANTANEOUS_POWER_FACTOR_L2.value == Decimal('4.542')
|
assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L2.value == Decimal('4.542')
|
||||||
|
|
||||||
# INSTANTANEOUS_POWER_FACTOR_L3 (1-0:73.7.0)
|
# EON_HU_INSTANTANEOUS_POWER_FACTOR_L3 (1-0:73.7.0)
|
||||||
assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_L3, CosemObject)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L3, CosemObject)
|
||||||
assert telegram.INSTANTANEOUS_POWER_FACTOR_L3.unit is None
|
assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L3.unit is None
|
||||||
assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_L3.value, Decimal)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L3.value, Decimal)
|
||||||
assert telegram.INSTANTANEOUS_POWER_FACTOR_L3.value == Decimal('4.552')
|
assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L3.value == Decimal('4.552')
|
||||||
|
|
||||||
# FREQUENCY (1-0:14.7.0)
|
# EON_HU_FREQUENCY (1-0:14.7.0)
|
||||||
assert isinstance(telegram.FREQUENCY, CosemObject)
|
assert isinstance(telegram.EON_HU_FREQUENCY, CosemObject)
|
||||||
assert telegram.FREQUENCY.unit == "Hz"
|
assert telegram.EON_HU_FREQUENCY.unit == "Hz"
|
||||||
assert isinstance(telegram.FREQUENCY.value, Decimal)
|
assert isinstance(telegram.EON_HU_FREQUENCY.value, Decimal)
|
||||||
assert telegram.FREQUENCY.value == Decimal('50.00')
|
assert telegram.EON_HU_FREQUENCY.value == Decimal('50.00')
|
||||||
|
|
||||||
# CURRENT_ELECTRICITY_USAGE (1-0:1.7.0)
|
# CURRENT_ELECTRICITY_USAGE (1-0:1.7.0)
|
||||||
assert isinstance(telegram.CURRENT_ELECTRICITY_USAGE, CosemObject)
|
assert isinstance(telegram.CURRENT_ELECTRICITY_USAGE, CosemObject)
|
||||||
@ -239,47 +239,47 @@ class TelegramParserV5EONHUTest(unittest.TestCase):
|
|||||||
assert isinstance(telegram.CURRENT_ELECTRICITY_DELIVERY.value, Decimal)
|
assert isinstance(telegram.CURRENT_ELECTRICITY_DELIVERY.value, Decimal)
|
||||||
assert telegram.CURRENT_ELECTRICITY_DELIVERY.value == Decimal('02.601')
|
assert telegram.CURRENT_ELECTRICITY_DELIVERY.value == Decimal('02.601')
|
||||||
|
|
||||||
# INSTANTANEOUS_REACTIVE_POWER_Q1 (1-0:5.7.0)
|
# EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1 (1-0:5.7.0)
|
||||||
assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q1, CosemObject)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1, CosemObject)
|
||||||
assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q1.unit == 'kvar'
|
assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1.unit == 'kvar'
|
||||||
assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q1.value, Decimal)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1.value, Decimal)
|
||||||
assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q1.value == Decimal('00.000')
|
assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1.value == Decimal('00.000')
|
||||||
|
|
||||||
# INSTANTANEOUS_REACTIVE_POWER_Q2 (1-0:6.7.0)
|
# EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2 (1-0:6.7.0)
|
||||||
assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q2, CosemObject)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2, CosemObject)
|
||||||
assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q2.unit == 'kvar'
|
assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2.unit == 'kvar'
|
||||||
assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q2.value, Decimal)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2.value, Decimal)
|
||||||
assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q2.value == Decimal('00.000')
|
assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2.value == Decimal('00.000')
|
||||||
|
|
||||||
# INSTANTANEOUS_REACTIVE_POWER_Q3 (1-0:7.7.0)
|
# EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3 (1-0:7.7.0)
|
||||||
assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q3, CosemObject)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3, CosemObject)
|
||||||
assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q3.unit == 'kvar'
|
assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3.unit == 'kvar'
|
||||||
assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q3.value, Decimal)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3.value, Decimal)
|
||||||
assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q3.value == Decimal('00.504')
|
assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3.value == Decimal('00.504')
|
||||||
|
|
||||||
# INSTANTANEOUS_REACTIVE_POWER_Q4 (1-0:8.7.0)
|
# EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4 (1-0:8.7.0)
|
||||||
assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q4, CosemObject)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4, CosemObject)
|
||||||
assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q4.unit == 'kvar'
|
assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4.unit == 'kvar'
|
||||||
assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q4.value, Decimal)
|
assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4.value, Decimal)
|
||||||
assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q4.value == Decimal('00.000')
|
assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4.value == Decimal('00.000')
|
||||||
|
|
||||||
# MAX_POWER_ON_L1 (1-0:31.4.0)
|
# EON_HU_MAX_POWER_ON_L1 (1-0:31.4.0)
|
||||||
assert isinstance(telegram.MAX_POWER_ON_L1, CosemObject)
|
assert isinstance(telegram.EON_HU_MAX_POWER_ON_L1, CosemObject)
|
||||||
assert telegram.MAX_POWER_ON_L1.unit == 'A'
|
assert telegram.EON_HU_MAX_POWER_ON_L1.unit == 'A'
|
||||||
assert isinstance(telegram.MAX_POWER_ON_L1.value, Decimal)
|
assert isinstance(telegram.EON_HU_MAX_POWER_ON_L1.value, Decimal)
|
||||||
assert telegram.MAX_POWER_ON_L1.value == Decimal('200.00')
|
assert telegram.EON_HU_MAX_POWER_ON_L1.value == Decimal('200.00')
|
||||||
|
|
||||||
# MAX_POWER_ON_L2 (1-0:31.4.0)
|
# EON_HU_MAX_POWER_ON_L2 (1-0:31.4.0)
|
||||||
assert isinstance(telegram.MAX_POWER_ON_L2, CosemObject)
|
assert isinstance(telegram.EON_HU_MAX_POWER_ON_L2, CosemObject)
|
||||||
assert telegram.MAX_POWER_ON_L2.unit == 'A'
|
assert telegram.EON_HU_MAX_POWER_ON_L2.unit == 'A'
|
||||||
assert isinstance(telegram.MAX_POWER_ON_L2.value, Decimal)
|
assert isinstance(telegram.EON_HU_MAX_POWER_ON_L2.value, Decimal)
|
||||||
assert telegram.MAX_POWER_ON_L2.value == Decimal('200.00')
|
assert telegram.EON_HU_MAX_POWER_ON_L2.value == Decimal('200.00')
|
||||||
|
|
||||||
# MAX_POWER_ON_L3 (1-0:31.4.0)
|
# EON_HU_MAX_POWER_ON_L3 (1-0:31.4.0)
|
||||||
assert isinstance(telegram.MAX_POWER_ON_L3, CosemObject)
|
assert isinstance(telegram.EON_HU_MAX_POWER_ON_L3, CosemObject)
|
||||||
assert telegram.MAX_POWER_ON_L3.unit == 'A'
|
assert telegram.EON_HU_MAX_POWER_ON_L3.unit == 'A'
|
||||||
assert isinstance(telegram.MAX_POWER_ON_L3.value, Decimal)
|
assert isinstance(telegram.EON_HU_MAX_POWER_ON_L3.value, Decimal)
|
||||||
assert telegram.MAX_POWER_ON_L3.value == Decimal('200.00')
|
assert telegram.EON_HU_MAX_POWER_ON_L3.value == Decimal('200.00')
|
||||||
|
|
||||||
# TEXT_MESSAGE (0-0:96.13.0)
|
# TEXT_MESSAGE (0-0:96.13.0)
|
||||||
assert isinstance(telegram.TEXT_MESSAGE, CosemObject)
|
assert isinstance(telegram.TEXT_MESSAGE, CosemObject)
|
||||||
|
Loading…
Reference in New Issue
Block a user