diff --git a/dsmr_parser/obis_name_mapping.py b/dsmr_parser/obis_name_mapping.py
deleted file mode 100644
index 02984f7..0000000
--- a/dsmr_parser/obis_name_mapping.py
+++ /dev/null
@@ -1,122 +0,0 @@
-from dsmr_parser import obis_references as obis
-
-'''
-dsmr_parser.obis_name_mapping
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-This module contains a mapping of obis references to names.
-'''
-
-EN = {
-    'P1_MESSAGE_HEADER': 'P1_MESSAGE_HEADER',
-    'P1_MESSAGE_TIMESTAMP': 'P1_MESSAGE_TIMESTAMP',
-    'ELECTRICITY_IMPORTED_TOTAL': 'ELECTRICITY_IMPORTED_TOTAL',
-    'ELECTRICITY_REACTIVE_IMPORTED_TOTAL': 'ELECTRICITY_REACTIVE_IMPORTED_TOTAL',
-    'ELECTRICITY_USED_TARIFF_1': 'ELECTRICITY_USED_TARIFF_1',
-    'ELECTRICITY_USED_TARIFF_2': 'ELECTRICITY_USED_TARIFF_2',
-    'ELECTRICITY_EXPORTED_TOTAL': 'ELECTRICITY_EXPORTED_TOTAL',
-    'ELECTRICITY_REACTIVE_EXPORTED_TOTAL': 'ELECTRICITY_REACTIVE_EXPORTED_TOTAL',
-    'ELECTRICITY_DELIVERED_TARIFF_1': 'ELECTRICITY_DELIVERED_TARIFF_1',
-    'ELECTRICITY_DELIVERED_TARIFF_2': 'ELECTRICITY_DELIVERED_TARIFF_2',
-    'ELECTRICITY_ACTIVE_TARIFF': 'ELECTRICITY_ACTIVE_TARIFF',
-    'CURRENT_REACTIVE_EXPORTED': 'CURRENT_REACTIVE_EXPORTED',
-    'ELECTRICITY_REACTIVE_IMPORTED_TARIFF_1': 'ELECTRICITY_REACTIVE_IMPORTED_TARIFF_1',
-    'ELECTRICITY_REACTIVE_IMPORTED_TARIFF_2': 'ELECTRICITY_REACTIVE_IMPORTED_TARIFF_2',
-    'ELECTRICITY_REACTIVE_EXPORTED_TARIFF_1': 'ELECTRICITY_REACTIVE_EXPORTED_TARIFF_1',
-    'ELECTRICITY_REACTIVE_EXPORTED_TARIFF_2': 'ELECTRICITY_REACTIVE_EXPORTED_TARIFF_2',
-    'CURRENT_REACTIVE_IMPORTED': 'CURRENT_REACTIVE_IMPORTED',
-    'EQUIPMENT_IDENTIFIER': 'EQUIPMENT_IDENTIFIER',
-    'CURRENT_ELECTRICITY_USAGE': 'CURRENT_ELECTRICITY_USAGE',
-    'CURRENT_ELECTRICITY_DELIVERY': 'CURRENT_ELECTRICITY_DELIVERY',
-    'LONG_POWER_FAILURE_COUNT': 'LONG_POWER_FAILURE_COUNT',
-    'SHORT_POWER_FAILURE_COUNT': 'SHORT_POWER_FAILURE_COUNT',
-    'POWER_EVENT_FAILURE_LOG': 'POWER_EVENT_FAILURE_LOG',
-    'VOLTAGE_SAG_L1_COUNT': 'VOLTAGE_SAG_L1_COUNT',
-    'VOLTAGE_SAG_L2_COUNT': 'VOLTAGE_SAG_L2_COUNT',
-    'VOLTAGE_SAG_L3_COUNT': 'VOLTAGE_SAG_L3_COUNT',
-    'VOLTAGE_SWELL_L1_COUNT': 'VOLTAGE_SWELL_L1_COUNT',
-    'VOLTAGE_SWELL_L2_COUNT': 'VOLTAGE_SWELL_L2_COUNT',
-    'VOLTAGE_SWELL_L3_COUNT': 'VOLTAGE_SWELL_L3_COUNT',
-    'INSTANTANEOUS_VOLTAGE_L1': 'INSTANTANEOUS_VOLTAGE_L1',
-    'INSTANTANEOUS_VOLTAGE_L2': 'INSTANTANEOUS_VOLTAGE_L2',
-    'INSTANTANEOUS_VOLTAGE_L3': 'INSTANTANEOUS_VOLTAGE_L3',
-    'INSTANTANEOUS_CURRENT_L1': 'INSTANTANEOUS_CURRENT_L1',
-    'INSTANTANEOUS_CURRENT_L2': 'INSTANTANEOUS_CURRENT_L2',
-    'INSTANTANEOUS_CURRENT_L3': 'INSTANTANEOUS_CURRENT_L3',
-    'TEXT_MESSAGE_CODE': 'TEXT_MESSAGE_CODE',
-    'TEXT_MESSAGE': 'TEXT_MESSAGE',
-    'DEVICE_TYPE': 'DEVICE_TYPE',
-    'INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE': 'INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE',
-    'INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE': 'INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE',
-    'INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE': 'INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE',
-    'INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE': 'INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE',
-    'INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE': 'INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE',
-    'INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE': 'INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE',
-    'INSTANTANEOUS_REACTIVE_POWER_L1_POSITIVE': 'INSTANTANEOUS_REACTIVE_POWER_L1_POSITIVE',
-    'INSTANTANEOUS_REACTIVE_POWER_L1_NEGATIVE': 'INSTANTANEOUS_REACTIVE_POWER_L1_NEGATIVE',
-    'INSTANTANEOUS_REACTIVE_POWER_L2_POSITIVE': 'INSTANTANEOUS_REACTIVE_POWER_L2_POSITIVE',
-    'INSTANTANEOUS_REACTIVE_POWER_L2_NEGATIVE': 'INSTANTANEOUS_REACTIVE_POWER_L2_NEGATIVE',
-    'INSTANTANEOUS_REACTIVE_POWER_L3_POSITIVE': 'INSTANTANEOUS_REACTIVE_POWER_L3_POSITIVE',
-    'INSTANTANEOUS_REACTIVE_POWER_L3_NEGATIVE': 'INSTANTANEOUS_REACTIVE_POWER_L3_NEGATIVE',
-    'EQUIPMENT_IDENTIFIER_GAS': 'EQUIPMENT_IDENTIFIER_GAS',
-    'HOURLY_GAS_METER_READING': 'HOURLY_GAS_METER_READING',
-    'GAS_METER_READING': 'GAS_METER_READING',
-    'ACTUAL_TRESHOLD_ELECTRICITY': 'ACTUAL_TRESHOLD_ELECTRICITY',
-    'ACTUAL_SWITCH_POSITION': 'ACTUAL_SWITCH_POSITION',
-    'VALVE_POSITION_GAS': 'VALVE_POSITION_GAS',
-    'BELGIUM_VERSION_INFORMATION': 'BELGIUM_VERSION_INFORMATION',
-    'BELGIUM_EQUIPMENT_IDENTIFIER': 'BELGIUM_EQUIPMENT_IDENTIFIER',
-    'BELGIUM_CURRENT_AVERAGE_DEMAND': 'BELGIUM_CURRENT_AVERAGE_DEMAND',
-    'BELGIUM_MAXIMUM_DEMAND_MONTH': 'BELGIUM_MAXIMUM_DEMAND_MONTH',
-    'BELGIUM_MAXIMUM_DEMAND_13_MONTHS': 'BELGIUM_MAXIMUM_DEMAND_13_MONTHS',
-    'BELGIUM_MAX_POWER_PER_PHASE': 'BELGIUM_MAX_POWER_PER_PHASE',
-    'BELGIUM_MAX_CURRENT_PER_PHASE': 'BELGIUM_MAX_CURRENT_PER_PHASE',
-    'BELGIUM_MBUS1_DEVICE_TYPE': 'BELGIUM_MBUS1_DEVICE_TYPE',
-    'BELGIUM_MBUS1_EQUIPMENT_IDENTIFIER': 'BELGIUM_MBUS1_EQUIPMENT_IDENTIFIER',
-    'BELGIUM_MBUS1_VALVE_POSITION': 'BELGIUM_MBUS1_VALVE_POSITION',
-    'BELGIUM_MBUS1_METER_READING1': 'BELGIUM_MBUS1_METER_READING1',
-    'BELGIUM_MBUS1_METER_READING2': 'BELGIUM_MBUS1_METER_READING2',
-    'BELGIUM_MBUS2_EQUIPMENT_IDENTIFIER': 'BELGIUM_MBUS2_EQUIPMENT_IDENTIFIER',
-    'BELGIUM_MBUS2_VALVE_POSITION': 'BELGIUM_MBUS2_VALVE_POSITION',
-    'BELGIUM_MBUS2_METER_READING1': 'BELGIUM_MBUS2_METER_READING1',
-    'BELGIUM_MBUS2_METER_READING2': 'BELGIUM_MBUS2_METER_READING2',
-    'BELGIUM_MBUS3_EQUIPMENT_IDENTIFIER': 'BELGIUM_MBUS3_EQUIPMENT_IDENTIFIER',
-    'BELGIUM_MBUS3_VALVE_POSITION': 'BELGIUM_MBUS3_VALVE_POSITION',
-    'BELGIUM_MBUS3_METER_READING1': 'BELGIUM_MBUS3_METER_READING1',
-    'BELGIUM_MBUS3_METER_READING2': 'BELGIUM_MBUS3_METER_READING2',
-    'BELGIUM_MBUS4_EQUIPMENT_IDENTIFIER': 'BELGIUM_MBUS4_EQUIPMENT_IDENTIFIER',
-    'BELGIUM_MBUS4_VALVE_POSITION': 'BELGIUM_MBUS4_VALVE_POSITION',
-    'BELGIUM_MBUS4_METER_READING1': 'BELGIUM_MBUS4_METER_READING1',
-    'BELGIUM_MBUS4_METER_READING2': 'BELGIUM_MBUS4_METER_READING2',
-    'LUXEMBOURG_EQUIPMENT_IDENTIFIER': 'LUXEMBOURG_EQUIPMENT_IDENTIFIER',
-    'Q3D_EQUIPMENT_IDENTIFIER': 'Q3D_EQUIPMENT_IDENTIFIER',
-    'Q3D_EQUIPMENT_STATE': 'Q3D_EQUIPMENT_STATE',
-    'Q3D_EQUIPMENT_SERIALNUMBER': 'Q3D_EQUIPMENT_SERIALNUMBER',
-    'BELGIUM_MBUS2_DEVICE_TYPE': 'BELGIUM_MBUS2_DEVICE_TYPE',
-	'EON_HU_COSEM_LOGICAL_DEVICE_NAME': 'EON_HU_COSEM_LOGICAL_DEVICE_NAME',
-	'EON_HU_EQUIPMENT_SERIAL_NUMBER': 'EON_HU_EQUIPMENT_SERIAL_NUMBER',
-    'EON_HU_ELECTRICITY_DELIVERED_TARIFF_3': 'EON_HU_ELECTRICITY_DELIVERED_TARIFF_3',
-    'EON_HU_ELECTRICITY_DELIVERED_TARIFF_4': 'EON_HU_ELECTRICITY_DELIVERED_TARIFF_4',
-    'EON_HU_ELECTRICITY_USED_TARIFF_3': 'EON_HU_ELECTRICITY_USED_TARIFF_3',
-    'EON_HU_ELECTRICITY_USED_TARIFF_4': 'EON_HU_ELECTRICITY_USED_TARIFF_4',
-    'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1': 'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1',
-    'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2': 'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2',
-    'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3': 'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3',
-    'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4': 'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4',
-    'EON_HU_ELECTRICITY_COMBINED': 'EON_HU_ELECTRICITY_COMBINED',
-    'EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL': 'EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL',
-    'EON_HU_INSTANTANEOUS_POWER_FACTOR_L1': 'EON_HU_INSTANTANEOUS_POWER_FACTOR_L1',
-    'EON_HU_INSTANTANEOUS_POWER_FACTOR_L2': 'EON_HU_INSTANTANEOUS_POWER_FACTOR_L2',
-    'EON_HU_INSTANTANEOUS_POWER_FACTOR_L3': 'EON_HU_INSTANTANEOUS_POWER_FACTOR_L3',
-    'EON_HU_FREQUENCY': 'EON_HU_FREQUENCY',
-    'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1': 'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1',
-    'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2': 'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2',
-    'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3': 'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3',
-    'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4': 'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4',
-    'EON_HU_MAX_POWER_ON_L1': 'EON_HU_MAX_POWER_ON_L1',
-    'EON_HU_MAX_POWER_ON_L2': 'EON_HU_MAX_POWER_ON_L2',
-    'EON_HU_MAX_POWER_ON_L3': 'EON_HU_MAX_POWER_ON_L3',
-    'EON_HU_LAST_MONTH_DATA': 'EON_HU_LAST_MONTH_DATA'
-}
-
-REVERSE_EN = dict([(v, k) for k, v in EN.items()])
diff --git a/dsmr_parser/obis_references.py b/dsmr_parser/obis_references.py
index 74084ec..0ca9654 100644
--- a/dsmr_parser/obis_references.py
+++ b/dsmr_parser/obis_references.py
@@ -10,8 +10,12 @@ P1_MESSAGE_HEADER = r'^\d-\d:0\.2\.8.+?\r\n'
 P1_MESSAGE_TIMESTAMP = r'^\d-\d:1\.0\.0.+?\r\n'
 ELECTRICITY_USED_TARIFF_1 = r'^\d-\d:1\.8\.1.+?\r\n'
 ELECTRICITY_USED_TARIFF_2 = r'^\d-\d:1\.8\.2.+?\r\n'
+ELECTRICITY_USED_TARIFF_3 = r'^\d-\d:1\.8\.3.+?\r\n'
+ELECTRICITY_USED_TARIFF_4 = r'^\d-\d:1\.8\.4.+?\r\n'
 ELECTRICITY_DELIVERED_TARIFF_1 = r'^\d-\d:2\.8\.1.+?\r\n'
 ELECTRICITY_DELIVERED_TARIFF_2 = r'^\d-\d:2\.8\.2.+?\r\n'
+ELECTRICITY_DELIVERED_TARIFF_3 = r'^\d-\d:2\.8\.3.+?\r\n'
+ELECTRICITY_DELIVERED_TARIFF_4 = r'^\d-\d:2\.8\.4.+?\r\n'
 CURRENT_REACTIVE_IMPORTED = r'^\d-\d:3\.7\.0.+?\r\n'
 ELECTRICITY_REACTIVE_IMPORTED_TOTAL = r'^\d-\d:3\.8\.0.+?\r\n'
 ELECTRICITY_REACTIVE_IMPORTED_TARIFF_1 = r'^\d-\d:3\.8\.1.+?\r\n'
@@ -124,10 +128,6 @@ Q3D_EQUIPMENT_STATE = r'^\d-\d:96\.5\.5.+?\r\n'  # Device state (hexadecimal)
 Q3D_EQUIPMENT_SERIALNUMBER = r'^\d-\d:96\.1\.255.+?\r\n'  # Device Serialnumber
 
 # EON Hungary
-EON_HU_ELECTRICITY_USED_TARIFF_3 = r'^\d-\d:1\.8\.3.+?\r\n'
-EON_HU_ELECTRICITY_USED_TARIFF_4 = r'^\d-\d:1\.8\.4.+?\r\n'
-EON_HU_ELECTRICITY_DELIVERED_TARIFF_3 = r'^\d-\d:2\.8\.3.+?\r\n'
-EON_HU_ELECTRICITY_DELIVERED_TARIFF_4 = r'^\d-\d:2\.8\.4.+?\r\n'
 EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1 = r'^\d-\d:5\.8\.0.+?\r\n'
 EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2 = r'^\d-\d:6\.8\.0.+?\r\n'
 EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3 = r'^\d-\d:7\.8\.0.+?\r\n'
diff --git a/dsmr_parser/objects.py b/dsmr_parser/objects.py
index 5655d34..456e2d5 100644
--- a/dsmr_parser/objects.py
+++ b/dsmr_parser/objects.py
@@ -2,13 +2,9 @@ from decimal import Decimal
 
 import datetime
 import json
-import sys;
 
 import pytz
 
-from dsmr_parser import obis_name_mapping
-
-
 class Telegram(dict):
     """
     Container for parsed telegram data.
@@ -28,26 +24,21 @@ class Telegram(dict):
         self._mbus_devices = []
         super().__init__(*args, **kwargs)
 
-    def add(self, obis_reference, dsmr_object, obis_name=None):
-        # Update name mapping used to get value by attribute. Example: telegram.P1_MESSAGE_HEADER.
-		# For backwards compatibility
-        if obis_name is not None:
-            obis_name = obis_name_mapping.EN[obis_name]
-        else:
-            obis_name = obis_reference
+    def add(self, obis_reference, dsmr_object, obis_name):
+        # Update name mapping used to get value by attribute. Example: telegram.P1_MESSAGE_HEADER
         setattr(self, obis_name, dsmr_object)
         if obis_name not in self._item_names:  # TODO repeating obis references
             self._item_names.append(obis_name)
 
         # TODO isinstance check: MaxDemandParser (BELGIUM_MAXIMUM_DEMAND_13_MONTHS) returns a list
         if isinstance(dsmr_object, DSMRObject) and dsmr_object.is_mbus_reading:
-            self._add_mbus(obis_reference, dsmr_object)
+            self._add_mbus(obis_reference, dsmr_object, obis_name)
 
         # Fill dict which is only used for backwards compatibility
         if obis_reference not in self:
             self[obis_reference] = dsmr_object
 
-    def _add_mbus(self, obis_reference, dsmr_object):
+    def _add_mbus(self, obis_reference, dsmr_object, obis_name):
         """
         The given DsmrObject is assumed to be Mbus related and will be grouped into a MbusDevice.
         Grouping is done by the DsmrObject channel ID.
@@ -60,7 +51,7 @@ class Telegram(dict):
             mbus_device = MbusDevice(channel_id=channel_id)
             self._mbus_devices.append(mbus_device)
 
-        mbus_device.add(obis_reference, dsmr_object)
+        mbus_device.add(obis_reference, dsmr_object, obis_name)
 
         if not hasattr(self, 'MBUS_DEVICES'):
             setattr(self, 'MBUS_DEVICES', self._mbus_devices)
@@ -336,10 +327,9 @@ class MbusDevice:
         self.channel_id = channel_id
         self._item_names = []
 
-    def add(self, obis_reference, dsmr_object):
+    def add(self, obis_reference, dsmr_object, obis_name):
         # Update name mapping used to get value by attribute. Example: telegram.P1_MESSAGE_HEADER
         # Also keep track of the added names internally
-        obis_name = obis_name_mapping.EN[obis_reference]
         setattr(self, obis_name, dsmr_object)
         self._item_names.append(obis_name)
 
diff --git a/dsmr_parser/telegram_specifications.py b/dsmr_parser/telegram_specifications.py
index d36a3bd..b9ab607 100644
--- a/dsmr_parser/telegram_specifications.py
+++ b/dsmr_parser/telegram_specifications.py
@@ -16,268 +16,963 @@ how the telegram lines are parsed.
 
 V2_2 = {
     'checksum_support': False,
-    'objects': {
-        obis.EQUIPMENT_IDENTIFIER: CosemParser(ValueParser(str)),
-        obis.ELECTRICITY_USED_TARIFF_1: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_USED_TARIFF_2: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_DELIVERED_TARIFF_1: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_DELIVERED_TARIFF_2: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_ACTIVE_TARIFF: CosemParser(ValueParser(str)),
-        obis.CURRENT_ELECTRICITY_USAGE: CosemParser(ValueParser(Decimal)),
-        obis.CURRENT_ELECTRICITY_DELIVERY: CosemParser(ValueParser(Decimal)),
-        obis.ACTUAL_TRESHOLD_ELECTRICITY: CosemParser(ValueParser(Decimal)),
-        obis.ACTUAL_SWITCH_POSITION: CosemParser(ValueParser(str)),
-        obis.TEXT_MESSAGE_CODE: CosemParser(ValueParser(int)),
-        obis.TEXT_MESSAGE: CosemParser(ValueParser(str)),
-        obis.EQUIPMENT_IDENTIFIER_GAS: CosemParser(ValueParser(str)),
-        obis.DEVICE_TYPE: CosemParser(ValueParser(str)),
-        obis.VALVE_POSITION_GAS: CosemParser(ValueParser(str)),
-        obis.GAS_METER_READING: MBusParser(
-            ValueParser(timestamp),
-            ValueParser(str),  # changed to str see issue60
-            ValueParser(int),
-            ValueParser(int),
-            ValueParser(str),  # obis ref
-            ValueParser(str),  # unit, position 5
-            ValueParser(Decimal),  # meter reading, position 6
-        ),
-    }
+    'objects': [
+        {
+            'obis_reference': obis.EQUIPMENT_IDENTIFIER,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'EQUIPMENT_IDENTIFIER'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_USED_TARIFF_1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_USED_TARIFF_1'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_USED_TARIFF_2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_USED_TARIFF_2'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_DELIVERED_TARIFF_1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_DELIVERED_TARIFF_1'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_DELIVERED_TARIFF_2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_DELIVERED_TARIFF_2'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_ACTIVE_TARIFF,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'ELECTRICITY_ACTIVE_TARIFF'
+        },
+        {
+            'obis_reference': obis.CURRENT_ELECTRICITY_USAGE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'CURRENT_ELECTRICITY_USAGE'
+        },
+        {
+            'obis_reference': obis.CURRENT_ELECTRICITY_DELIVERY,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'CURRENT_ELECTRICITY_DELIVERY'
+        },
+        {
+            'obis_reference': obis.ACTUAL_TRESHOLD_ELECTRICITY,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ACTUAL_TRESHOLD_ELECTRICITY'
+        },
+        {
+            'obis_reference': obis.ACTUAL_SWITCH_POSITION,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'ACTUAL_SWITCH_POSITION'
+        },
+        {
+            'obis_reference': obis.TEXT_MESSAGE_CODE,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'TEXT_MESSAGE_CODE'
+        },
+        {
+            'obis_reference': obis.TEXT_MESSAGE,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'TEXT_MESSAGE'
+        },
+        {
+            'obis_reference': obis.EQUIPMENT_IDENTIFIER_GAS,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'EQUIPMENT_IDENTIFIER_GAS'
+        },
+        {
+            'obis_reference': obis.DEVICE_TYPE,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'DEVICE_TYPE'
+        },
+        {
+            'obis_reference': obis.VALVE_POSITION_GAS,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'VALVE_POSITION_GAS'
+        },
+		{
+            'obis_reference': obis.GAS_METER_READING,
+            'value_parser': MBusParser(
+                ValueParser(timestamp),
+                ValueParser(str),  # changed to str see issue60
+                ValueParser(int),
+                ValueParser(int),
+                ValueParser(str),  # obis ref
+                ValueParser(str),  # unit, position 5
+                ValueParser(Decimal),  # meter reading, position 6
+            ),
+            'value_name': 'GAS_METER_READING'
+        },
+    ]
 }
 
 V3 = V2_2
 
 V4 = {
     'checksum_support': True,
-    'objects': {
-        obis.P1_MESSAGE_HEADER: CosemParser(ValueParser(str)),
-        obis.P1_MESSAGE_TIMESTAMP: CosemParser(ValueParser(timestamp)),
-        obis.EQUIPMENT_IDENTIFIER: CosemParser(ValueParser(str)),
-        obis.ELECTRICITY_USED_TARIFF_1: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_USED_TARIFF_2: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_DELIVERED_TARIFF_1: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_DELIVERED_TARIFF_2: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_ACTIVE_TARIFF: CosemParser(ValueParser(str)),
-        obis.CURRENT_ELECTRICITY_USAGE: CosemParser(ValueParser(Decimal)),
-        obis.CURRENT_ELECTRICITY_DELIVERY: CosemParser(ValueParser(Decimal)),
-        obis.SHORT_POWER_FAILURE_COUNT: CosemParser(ValueParser(int)),
-        obis.LONG_POWER_FAILURE_COUNT: CosemParser(ValueParser(int)),
-        obis.POWER_EVENT_FAILURE_LOG:
-            ProfileGenericParser(BUFFER_TYPES,
-                                 PG_HEAD_PARSERS,
-                                 PG_UNIDENTIFIED_BUFFERTYPE_PARSERS),
-        obis.VOLTAGE_SAG_L1_COUNT: CosemParser(ValueParser(int)),
-        obis.VOLTAGE_SAG_L2_COUNT: CosemParser(ValueParser(int)),
-        obis.VOLTAGE_SAG_L3_COUNT: CosemParser(ValueParser(int)),
-        obis.VOLTAGE_SWELL_L1_COUNT: CosemParser(ValueParser(int)),
-        obis.VOLTAGE_SWELL_L2_COUNT: CosemParser(ValueParser(int)),
-        obis.VOLTAGE_SWELL_L3_COUNT: CosemParser(ValueParser(int)),
-        obis.TEXT_MESSAGE_CODE: CosemParser(ValueParser(int)),
-        obis.TEXT_MESSAGE: CosemParser(ValueParser(str)),
-        obis.DEVICE_TYPE: CosemParser(ValueParser(int)),
-        obis.INSTANTANEOUS_CURRENT_L1: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_CURRENT_L2: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_CURRENT_L3: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.EQUIPMENT_IDENTIFIER_GAS: CosemParser(ValueParser(str)),
-        obis.HOURLY_GAS_METER_READING: MBusParser(
-            ValueParser(timestamp),
-            ValueParser(Decimal)
-        )
-    }
+    'objects': [
+        {
+            'obis_reference': obis.P1_MESSAGE_HEADER,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'P1_MESSAGE_HEADER'
+        },
+        {
+            'obis_reference': obis.P1_MESSAGE_TIMESTAMP,
+            'value_parser': CosemParser(ValueParser(timestamp)),
+            'value_name': 'P1_MESSAGE_TIMESTAMP'
+        },
+        {
+            'obis_reference': obis.EQUIPMENT_IDENTIFIER,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'EQUIPMENT_IDENTIFIER'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_USED_TARIFF_1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_USED_TARIFF_1'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_USED_TARIFF_2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_USED_TARIFF_2'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_DELIVERED_TARIFF_1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_DELIVERED_TARIFF_1'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_DELIVERED_TARIFF_2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_DELIVERED_TARIFF_2'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_ACTIVE_TARIFF,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'ELECTRICITY_ACTIVE_TARIFF'
+        },
+        {
+            'obis_reference': obis.CURRENT_ELECTRICITY_USAGE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'CURRENT_ELECTRICITY_USAGE'
+        },
+        {
+            'obis_reference': obis.CURRENT_ELECTRICITY_DELIVERY,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'CURRENT_ELECTRICITY_DELIVERY'
+        },
+        {
+            'obis_reference': obis.SHORT_POWER_FAILURE_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'SHORT_POWER_FAILURE_COUNT'
+        },
+        {
+            'obis_reference': obis.LONG_POWER_FAILURE_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'LONG_POWER_FAILURE_COUNT'
+        },
+        {
+            'obis_reference': obis.POWER_EVENT_FAILURE_LOG,
+            'value_parser': ProfileGenericParser(
+                BUFFER_TYPES,
+                PG_HEAD_PARSERS,
+                PG_UNIDENTIFIED_BUFFERTYPE_PARSERS
+			),
+            'value_name': 'POWER_EVENT_FAILURE_LOG'
+        },
+        {
+            'obis_reference': obis.VOLTAGE_SAG_L1_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'VOLTAGE_SAG_L1_COUNT'
+        },
+        {
+            'obis_reference': obis.VOLTAGE_SAG_L2_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'VOLTAGE_SAG_L2_COUNT'
+        },
+        {
+            'obis_reference': obis.VOLTAGE_SAG_L3_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'VOLTAGE_SAG_L3_COUNT'
+        },
+        {
+            'obis_reference': obis.VOLTAGE_SWELL_L1_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'VOLTAGE_SWELL_L1_COUNT'
+        },
+        {
+            'obis_reference': obis.VOLTAGE_SWELL_L2_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'VOLTAGE_SWELL_L2_COUNT'
+        },
+        {
+            'obis_reference': obis.VOLTAGE_SWELL_L3_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'VOLTAGE_SWELL_L3_COUNT'
+        },
+        {
+            'obis_reference': obis.TEXT_MESSAGE_CODE,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'TEXT_MESSAGE_CODE'
+        },
+        {
+            'obis_reference': obis.TEXT_MESSAGE,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'TEXT_MESSAGE'
+        },
+        {
+            'obis_reference': obis.DEVICE_TYPE,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'DEVICE_TYPE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L1'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L2'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L3,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L3'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.EQUIPMENT_IDENTIFIER_GAS,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'EQUIPMENT_IDENTIFIER_GAS'
+        },
+        {
+            'obis_reference': obis.HOURLY_GAS_METER_READING,
+            'value_parser':  MBusParser(
+                ValueParser(timestamp),
+                ValueParser(Decimal)
+            ),
+            'value_name': 'HOURLY_GAS_METER_READING'
+        },
+    ]
 }
 
 V5 = {
     'checksum_support': True,
-    'objects': {
-        obis.P1_MESSAGE_HEADER: CosemParser(ValueParser(str)),
-        obis.P1_MESSAGE_TIMESTAMP: CosemParser(ValueParser(timestamp)),
-        obis.EQUIPMENT_IDENTIFIER: CosemParser(ValueParser(str)),
-        obis.ELECTRICITY_IMPORTED_TOTAL: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_USED_TARIFF_1: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_USED_TARIFF_2: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_DELIVERED_TARIFF_1: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_DELIVERED_TARIFF_2: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_ACTIVE_TARIFF: CosemParser(ValueParser(str)),
-        obis.CURRENT_ELECTRICITY_USAGE: CosemParser(ValueParser(Decimal)),
-        obis.CURRENT_ELECTRICITY_DELIVERY: CosemParser(ValueParser(Decimal)),
-        obis.LONG_POWER_FAILURE_COUNT: CosemParser(ValueParser(int)),
-        obis.SHORT_POWER_FAILURE_COUNT: CosemParser(ValueParser(int)),
-        obis.POWER_EVENT_FAILURE_LOG:
-            ProfileGenericParser(BUFFER_TYPES,
-                                 PG_HEAD_PARSERS,
-                                 PG_UNIDENTIFIED_BUFFERTYPE_PARSERS),
-        obis.VOLTAGE_SAG_L1_COUNT: CosemParser(ValueParser(int)),
-        obis.VOLTAGE_SAG_L2_COUNT: CosemParser(ValueParser(int)),
-        obis.VOLTAGE_SAG_L3_COUNT: CosemParser(ValueParser(int)),
-        obis.VOLTAGE_SWELL_L1_COUNT: CosemParser(ValueParser(int)),
-        obis.VOLTAGE_SWELL_L2_COUNT: CosemParser(ValueParser(int)),
-        obis.VOLTAGE_SWELL_L3_COUNT: CosemParser(ValueParser(int)),
-        obis.INSTANTANEOUS_VOLTAGE_L1: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_VOLTAGE_L2: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_VOLTAGE_L3: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_CURRENT_L1: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_CURRENT_L2: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_CURRENT_L3: CosemParser(ValueParser(Decimal)),
-        obis.TEXT_MESSAGE: CosemParser(ValueParser(str)),
-        obis.DEVICE_TYPE: CosemParser(ValueParser(int)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.EQUIPMENT_IDENTIFIER_GAS: CosemParser(ValueParser(str)),
-        obis.HOURLY_GAS_METER_READING: MBusParser(
-            ValueParser(timestamp),
-            ValueParser(Decimal)
-        )
-    }
+    'objects': [
+        {
+            'obis_reference': obis.P1_MESSAGE_HEADER,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'P1_MESSAGE_HEADER'
+        },
+        {
+            'obis_reference': obis.P1_MESSAGE_TIMESTAMP,
+            'value_parser': CosemParser(ValueParser(timestamp)),
+            'value_name': 'P1_MESSAGE_TIMESTAMP'
+        },
+        {
+            'obis_reference': obis.EQUIPMENT_IDENTIFIER,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'EQUIPMENT_IDENTIFIER'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_IMPORTED_TOTAL,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_IMPORTED_TOTAL'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_USED_TARIFF_1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_USED_TARIFF_1'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_USED_TARIFF_2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_USED_TARIFF_2'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_DELIVERED_TARIFF_1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_DELIVERED_TARIFF_1'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_DELIVERED_TARIFF_2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_DELIVERED_TARIFF_2'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_ACTIVE_TARIFF,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'ELECTRICITY_ACTIVE_TARIFF'
+        },
+        {
+            'obis_reference': obis.CURRENT_ELECTRICITY_USAGE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'CURRENT_ELECTRICITY_USAGE'
+        },
+        {
+            'obis_reference': obis.CURRENT_ELECTRICITY_DELIVERY,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'CURRENT_ELECTRICITY_DELIVERY'
+        },
+        {
+            'obis_reference': obis.LONG_POWER_FAILURE_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'LONG_POWER_FAILURE_COUNT'
+        },
+        {
+            'obis_reference': obis.SHORT_POWER_FAILURE_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'SHORT_POWER_FAILURE_COUNT'
+        },
+        {
+            'obis_reference': obis.POWER_EVENT_FAILURE_LOG,
+            'value_parser': ProfileGenericParser(
+                BUFFER_TYPES,
+                PG_HEAD_PARSERS,
+                PG_UNIDENTIFIED_BUFFERTYPE_PARSERS
+            ),
+            'value_name': 'POWER_EVENT_FAILURE_LOG'
+        },
+        {
+            'obis_reference': obis.VOLTAGE_SAG_L1_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'VOLTAGE_SAG_L1_COUNT'
+        },
+        {
+            'obis_reference': obis.VOLTAGE_SAG_L2_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'VOLTAGE_SAG_L2_COUNT'
+        },
+        {
+            'obis_reference': obis.VOLTAGE_SAG_L3_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'VOLTAGE_SAG_L3_COUNT'
+        },
+        {
+            'obis_reference': obis.VOLTAGE_SWELL_L1_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'VOLTAGE_SWELL_L1_COUNT'
+        },
+        {
+            'obis_reference': obis.VOLTAGE_SWELL_L2_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'VOLTAGE_SWELL_L2_COUNT'
+        },
+        {
+            'obis_reference': obis.VOLTAGE_SWELL_L3_COUNT,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'VOLTAGE_SWELL_L3_COUNT'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_VOLTAGE_L1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_VOLTAGE_L1'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_VOLTAGE_L2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_VOLTAGE_L2'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_VOLTAGE_L3,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_VOLTAGE_L3'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L1'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L2'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L3,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L3'
+        },
+        {
+            'obis_reference': obis.TEXT_MESSAGE,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'TEXT_MESSAGE'
+        },
+        {
+            'obis_reference': obis.DEVICE_TYPE,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'DEVICE_TYPE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.EQUIPMENT_IDENTIFIER_GAS,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'EQUIPMENT_IDENTIFIER_GAS'
+        },
+        {
+            'obis_reference': obis.HOURLY_GAS_METER_READING,
+            'value_parser':  MBusParser(
+                ValueParser(timestamp),
+                ValueParser(Decimal)
+            ),
+            'value_name': 'HOURLY_GAS_METER_READING'
+        },
+    ]
 }
 
 ALL = (V2_2, V3, V4, V5)
 
 BELGIUM_FLUVIUS = {
     'checksum_support': True,
-    'objects': {
-        obis.BELGIUM_VERSION_INFORMATION: CosemParser(ValueParser(str)),
-        obis.BELGIUM_EQUIPMENT_IDENTIFIER: CosemParser(ValueParser(str)),
-        obis.P1_MESSAGE_TIMESTAMP: CosemParser(ValueParser(timestamp)),
-        obis.ELECTRICITY_USED_TARIFF_1: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_USED_TARIFF_2: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_DELIVERED_TARIFF_1: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_DELIVERED_TARIFF_2: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_ACTIVE_TARIFF: CosemParser(ValueParser(str)),
-        obis.BELGIUM_CURRENT_AVERAGE_DEMAND: CosemParser(ValueParser(Decimal)),
-        obis.BELGIUM_MAXIMUM_DEMAND_MONTH: MBusParser(
-            ValueParser(timestamp),
-            ValueParser(Decimal)
-        ),
-        obis.BELGIUM_MAXIMUM_DEMAND_13_MONTHS: MaxDemandParser(),
-        obis.CURRENT_ELECTRICITY_USAGE: CosemParser(ValueParser(Decimal)),
-        obis.CURRENT_ELECTRICITY_DELIVERY: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_VOLTAGE_L1: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_VOLTAGE_L2: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_VOLTAGE_L3: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_CURRENT_L1: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_CURRENT_L2: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_CURRENT_L3: CosemParser(ValueParser(Decimal)),
-        obis.ACTUAL_SWITCH_POSITION: CosemParser(ValueParser(int)),
-        obis.ACTUAL_TRESHOLD_ELECTRICITY: CosemParser(ValueParser(Decimal)),
-        obis.BELGIUM_MAX_POWER_PER_PHASE: CosemParser(ValueParser(Decimal)),
-        obis.BELGIUM_MAX_CURRENT_PER_PHASE: CosemParser(ValueParser(Decimal)),
-        obis.TEXT_MESSAGE: CosemParser(ValueParser(str)),
-        obis.BELGIUM_MBUS1_DEVICE_TYPE: CosemParser(ValueParser(int)),
-        obis.BELGIUM_MBUS1_EQUIPMENT_IDENTIFIER: CosemParser(ValueParser(str)),
-        obis.BELGIUM_MBUS1_VALVE_POSITION: CosemParser(ValueParser(int)),
-        obis.BELGIUM_MBUS1_METER_READING1: MBusParser(
-            ValueParser(timestamp),
-            ValueParser(Decimal)
-        ),
-        obis.BELGIUM_MBUS1_METER_READING2: MBusParser(
-            ValueParser(timestamp),
-            ValueParser(Decimal)
-        ),
-        obis.BELGIUM_MBUS2_DEVICE_TYPE: CosemParser(ValueParser(int)),
-        obis.BELGIUM_MBUS2_EQUIPMENT_IDENTIFIER: CosemParser(ValueParser(str)),
-        obis.BELGIUM_MBUS2_VALVE_POSITION: CosemParser(ValueParser(int)),
-        obis.BELGIUM_MBUS2_METER_READING1: MBusParser(
-            ValueParser(timestamp),
-            ValueParser(Decimal)
-        ),
-        obis.BELGIUM_MBUS2_METER_READING2: MBusParser(
-            ValueParser(timestamp),
-            ValueParser(Decimal)
-        ),
-        obis.BELGIUM_MBUS3_DEVICE_TYPE: CosemParser(ValueParser(int)),
-        obis.BELGIUM_MBUS3_EQUIPMENT_IDENTIFIER: CosemParser(ValueParser(str)),
-        obis.BELGIUM_MBUS3_VALVE_POSITION: CosemParser(ValueParser(int)),
-        obis.BELGIUM_MBUS3_METER_READING1: MBusParser(
-            ValueParser(timestamp),
-            ValueParser(Decimal)
-        ),
-        obis.BELGIUM_MBUS3_METER_READING2: MBusParser(
-            ValueParser(timestamp),
-            ValueParser(Decimal)
-        ),
-        obis.BELGIUM_MBUS4_DEVICE_TYPE: CosemParser(ValueParser(int)),
-        obis.BELGIUM_MBUS4_EQUIPMENT_IDENTIFIER: CosemParser(ValueParser(str)),
-        obis.BELGIUM_MBUS4_VALVE_POSITION: CosemParser(ValueParser(int)),
-        obis.BELGIUM_MBUS4_METER_READING1: MBusParser(
-            ValueParser(timestamp),
-            ValueParser(Decimal)
-        ),
-        obis.BELGIUM_MBUS4_METER_READING2: MBusParser(
-            ValueParser(timestamp),
-            ValueParser(Decimal)
-        ),
-    }
+    'objects': [
+        {
+            'obis_reference': obis.BELGIUM_VERSION_INFORMATION,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'BELGIUM_VERSION_INFORMATION'
+        },
+        {
+            'obis_reference': obis.BELGIUM_EQUIPMENT_IDENTIFIER,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'BELGIUM_EQUIPMENT_IDENTIFIER'
+        },
+        {
+            'obis_reference': obis.P1_MESSAGE_TIMESTAMP,
+            'value_parser': CosemParser(ValueParser(timestamp)),
+            'value_name': 'P1_MESSAGE_TIMESTAMP'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_USED_TARIFF_1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_USED_TARIFF_1'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_USED_TARIFF_2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_USED_TARIFF_2'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_DELIVERED_TARIFF_1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_DELIVERED_TARIFF_1'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_DELIVERED_TARIFF_2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_DELIVERED_TARIFF_2'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_ACTIVE_TARIFF,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'ELECTRICITY_ACTIVE_TARIFF'
+        },
+        {
+            'obis_reference': obis.BELGIUM_CURRENT_AVERAGE_DEMAND,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'BELGIUM_CURRENT_AVERAGE_DEMAND'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MAXIMUM_DEMAND_MONTH,
+            'value_parser': MBusParser(
+                ValueParser(timestamp),
+                ValueParser(Decimal)
+            ),
+            'value_name': 'BELGIUM_MAXIMUM_DEMAND_MONTH'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MAXIMUM_DEMAND_13_MONTHS,
+            'value_parser': MaxDemandParser(),
+            'value_name': 'BELGIUM_MAXIMUM_DEMAND_13_MONTHS'
+        },
+        {
+            'obis_reference': obis.CURRENT_ELECTRICITY_USAGE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'CURRENT_ELECTRICITY_USAGE'
+        },
+        {
+            'obis_reference': obis.CURRENT_ELECTRICITY_DELIVERY,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'CURRENT_ELECTRICITY_DELIVERY'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_VOLTAGE_L1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_VOLTAGE_L1'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_VOLTAGE_L2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_VOLTAGE_L2'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_VOLTAGE_L3,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_VOLTAGE_L3'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L1'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L2'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L3,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L3'
+        },
+        {
+            'obis_reference': obis.ACTUAL_SWITCH_POSITION,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'ACTUAL_SWITCH_POSITION'
+        },
+        {
+            'obis_reference': obis.ACTUAL_TRESHOLD_ELECTRICITY,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ACTUAL_TRESHOLD_ELECTRICITY'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MAX_POWER_PER_PHASE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'BELGIUM_MAX_POWER_PER_PHASE'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MAX_CURRENT_PER_PHASE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'BELGIUM_MAX_CURRENT_PER_PHASE'
+        },
+        {
+            'obis_reference': obis.TEXT_MESSAGE,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'TEXT_MESSAGE'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS1_DEVICE_TYPE,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'BELGIUM_MBUS1_DEVICE_TYPE'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS1_EQUIPMENT_IDENTIFIER,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'BELGIUM_MBUS1_EQUIPMENT_IDENTIFIER'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS1_VALVE_POSITION,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'BELGIUM_MBUS1_VALVE_POSITION'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS1_METER_READING1,
+            'value_parser': MBusParser(
+                ValueParser(timestamp),
+                ValueParser(Decimal)
+            ),
+            'value_name': 'BELGIUM_MBUS1_METER_READING1'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS1_METER_READING2,
+            'value_parser': MBusParser(
+                ValueParser(timestamp),
+                ValueParser(Decimal)
+            ),
+            'value_name': 'BELGIUM_MBUS1_METER_READING2'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS2_DEVICE_TYPE,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'BELGIUM_MBUS2_DEVICE_TYPE'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS2_EQUIPMENT_IDENTIFIER,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'BELGIUM_MBUS2_EQUIPMENT_IDENTIFIER'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS2_VALVE_POSITION,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'BELGIUM_MBUS2_VALVE_POSITION'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS2_METER_READING1,
+            'value_parser': MBusParser(
+                ValueParser(timestamp),
+                ValueParser(Decimal)
+            ),
+            'value_name': 'BELGIUM_MBUS2_METER_READING1'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS2_METER_READING2,
+            'value_parser': MBusParser(
+                ValueParser(timestamp),
+                ValueParser(Decimal)
+            ),
+            'value_name': 'BELGIUM_MBUS2_METER_READING2'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS3_DEVICE_TYPE,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'BELGIUM_MBUS3_DEVICE_TYPE'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS3_EQUIPMENT_IDENTIFIER,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'BELGIUM_MBUS3_EQUIPMENT_IDENTIFIER'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS3_VALVE_POSITION,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'BELGIUM_MBUS3_VALVE_POSITION'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS3_METER_READING1,
+            'value_parser': MBusParser(
+                ValueParser(timestamp),
+                ValueParser(Decimal)
+            ),
+            'value_name': 'BELGIUM_MBUS3_METER_READING1'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS3_METER_READING2,
+            'value_parser': MBusParser(
+                ValueParser(timestamp),
+                ValueParser(Decimal)
+            ),
+            'value_name': 'BELGIUM_MBUS3_METER_READING2'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS4_DEVICE_TYPE,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'BELGIUM_MBUS4_DEVICE_TYPE'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS4_EQUIPMENT_IDENTIFIER,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'BELGIUM_MBUS4_EQUIPMENT_IDENTIFIER'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS4_VALVE_POSITION,
+            'value_parser': CosemParser(ValueParser(int)),
+            'value_name': 'BELGIUM_MBUS4_VALVE_POSITION'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS4_METER_READING1,
+            'value_parser': MBusParser(
+                ValueParser(timestamp),
+                ValueParser(Decimal)
+            ),
+            'value_name': 'BELGIUM_MBUS4_METER_READING1'
+        },
+        {
+            'obis_reference': obis.BELGIUM_MBUS4_METER_READING2,
+            'value_parser': MBusParser(
+                ValueParser(timestamp),
+                ValueParser(Decimal)
+            ),
+            'value_name': 'BELGIUM_MBUS4_METER_READING2'
+        },
+    ]
 }
 
 LUXEMBOURG_SMARTY = deepcopy(V5)
-LUXEMBOURG_SMARTY['objects'].update({
-    obis.LUXEMBOURG_EQUIPMENT_IDENTIFIER: CosemParser(ValueParser(str)),
-    obis.ELECTRICITY_IMPORTED_TOTAL: CosemParser(ValueParser(Decimal)),
-    obis.ELECTRICITY_EXPORTED_TOTAL: CosemParser(ValueParser(Decimal)),
-})
+LUXEMBOURG_SMARTY['objects'].extend([
+    {
+        'obis_reference': obis.LUXEMBOURG_EQUIPMENT_IDENTIFIER,
+        'value_parser': CosemParser(ValueParser(str)),
+        'value_name': 'LUXEMBOURG_EQUIPMENT_IDENTIFIER'
+    },
+	# This is already presented in V5, with the same data
+    # {
+        # 'obis_reference': obis.ELECTRICITY_IMPORTED_TOTAL,
+        # 'value_parser': CosemParser(ValueParser(Decimal)),
+        # 'value_name': 'ELECTRICITY_IMPORTED_TOTAL'
+    # },
+    {
+        'obis_reference': obis.ELECTRICITY_EXPORTED_TOTAL,
+        'value_parser': CosemParser(ValueParser(Decimal)),
+        'value_name': 'ELECTRICITY_EXPORTED_TOTAL'
+    }
+])
 
 # Source: https://www.energiforetagen.se/globalassets/energiforetagen/det-erbjuder-vi/kurser-och-konferenser/elnat/
 #         branschrekommendation-lokalt-granssnitt-v2_0-201912.pdf
 SWEDEN = {
     'checksum_support': True,
-    'objects': {
-        obis.P1_MESSAGE_HEADER: CosemParser(ValueParser(str)),
-        obis.P1_MESSAGE_TIMESTAMP: CosemParser(ValueParser(timestamp)),
-        obis.ELECTRICITY_IMPORTED_TOTAL: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_EXPORTED_TOTAL: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_REACTIVE_IMPORTED_TOTAL: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_REACTIVE_EXPORTED_TOTAL: CosemParser(ValueParser(Decimal)),
-        obis.CURRENT_ELECTRICITY_USAGE: CosemParser(ValueParser(Decimal)),
-        obis.CURRENT_ELECTRICITY_DELIVERY: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_REACTIVE_POWER_L1_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_REACTIVE_POWER_L1_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_REACTIVE_POWER_L2_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_REACTIVE_POWER_L2_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_REACTIVE_POWER_L3_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_REACTIVE_POWER_L3_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_VOLTAGE_L1: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_VOLTAGE_L2: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_VOLTAGE_L3: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_CURRENT_L1: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_CURRENT_L2: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_CURRENT_L3: CosemParser(ValueParser(Decimal)),
-    }
+    'objects': [
+        {
+            'obis_reference': obis.P1_MESSAGE_HEADER,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'P1_MESSAGE_HEADER'
+        },
+        {
+            'obis_reference': obis.P1_MESSAGE_TIMESTAMP,
+            'value_parser': CosemParser(ValueParser(timestamp)),
+            'value_name': 'P1_MESSAGE_TIMESTAMP'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_IMPORTED_TOTAL,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_IMPORTED_TOTAL'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_EXPORTED_TOTAL,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_EXPORTED_TOTAL'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_REACTIVE_IMPORTED_TOTAL,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_REACTIVE_IMPORTED_TOTAL'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_REACTIVE_EXPORTED_TOTAL,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_REACTIVE_EXPORTED_TOTAL'
+        },
+        {
+            'obis_reference': obis.CURRENT_ELECTRICITY_USAGE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'CURRENT_ELECTRICITY_USAGE'
+        },
+        {
+            'obis_reference': obis.CURRENT_ELECTRICITY_DELIVERY,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'CURRENT_ELECTRICITY_DELIVERY'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_REACTIVE_POWER_L1_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_REACTIVE_POWER_L1_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_REACTIVE_POWER_L1_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_REACTIVE_POWER_L1_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_REACTIVE_POWER_L2_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_REACTIVE_POWER_L2_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_REACTIVE_POWER_L2_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_REACTIVE_POWER_L2_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_REACTIVE_POWER_L3_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_REACTIVE_POWER_L3_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_REACTIVE_POWER_L3_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_REACTIVE_POWER_L3_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_VOLTAGE_L1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_VOLTAGE_L1'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_VOLTAGE_L2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_VOLTAGE_L2'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_VOLTAGE_L3,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_VOLTAGE_L3'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L1'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L2'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L3,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L3'
+        }
+    ]
 }
 
 Q3D = {
     "checksum_support": False,
-    "objects": {
-        obis.Q3D_EQUIPMENT_IDENTIFIER: CosemParser(ValueParser(str)),
-        obis.ELECTRICITY_IMPORTED_TOTAL: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_EXPORTED_TOTAL: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.CURRENT_ELECTRICITY_USAGE: CosemParser(ValueParser(Decimal)),
-        obis.Q3D_EQUIPMENT_STATE: CosemParser(ValueParser(str)),
-        obis.Q3D_EQUIPMENT_SERIALNUMBER: CosemParser(ValueParser(str)),
-    },
+    "objects": [
+        {
+            'obis_reference': obis.Q3D_EQUIPMENT_IDENTIFIER,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'Q3D_EQUIPMENT_IDENTIFIER'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_IMPORTED_TOTAL,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_IMPORTED_TOTAL'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_EXPORTED_TOTAL,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_EXPORTED_TOTAL'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE'
+        },
+        {
+            'obis_reference': obis.CURRENT_ELECTRICITY_USAGE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'CURRENT_ELECTRICITY_USAGE'
+        },
+        {
+            'obis_reference': obis.Q3D_EQUIPMENT_STATE,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'Q3D_EQUIPMENT_STATE'
+        },
+        {
+            'obis_reference': obis.Q3D_EQUIPMENT_SERIALNUMBER,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'Q3D_EQUIPMENT_SERIALNUMBER'
+        },
+    ]
 }
 
 
@@ -381,32 +1076,128 @@ AUSTRIA_ENERGIENETZE_STEIERMARK = SAGEMCOM_T210_D_R
 
 ISKRA_IE = {
     "checksum_support": False,
-    'objects': {
-        obis.EQUIPMENT_IDENTIFIER_GAS: CosemParser(ValueParser(str)),
-        obis.P1_MESSAGE_TIMESTAMP: CosemParser(ValueParser(timestamp)),
-        obis.ELECTRICITY_USED_TARIFF_1: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_USED_TARIFF_2: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_DELIVERED_TARIFF_1: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_DELIVERED_TARIFF_2: CosemParser(ValueParser(Decimal)),
-        obis.ELECTRICITY_ACTIVE_TARIFF: CosemParser(ValueParser(str)),
-        obis.CURRENT_ELECTRICITY_USAGE: CosemParser(ValueParser(Decimal)),
-        obis.CURRENT_ELECTRICITY_DELIVERY: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_VOLTAGE_L1: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_VOLTAGE_L2: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_VOLTAGE_L3: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_CURRENT_L1: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_CURRENT_L2: CosemParser(ValueParser(Decimal)),
-        obis.INSTANTANEOUS_CURRENT_L3: CosemParser(ValueParser(Decimal)),
-        obis.ACTUAL_SWITCH_POSITION: CosemParser(ValueParser(str)),
-        obis.TEXT_MESSAGE: CosemParser(ValueParser(str)),
-        obis.EQUIPMENT_IDENTIFIER: CosemParser(ValueParser(str)),
-    }
+    'objects': [
+        {
+            'obis_reference': obis.EQUIPMENT_IDENTIFIER_GAS,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'EQUIPMENT_IDENTIFIER_GAS'
+        },
+        {
+            'obis_reference': obis.P1_MESSAGE_TIMESTAMP,
+            'value_parser': CosemParser(ValueParser(timestamp)),
+            'value_name': 'P1_MESSAGE_TIMESTAMP'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_USED_TARIFF_1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_USED_TARIFF_1'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_USED_TARIFF_2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_USED_TARIFF_2'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_DELIVERED_TARIFF_1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_DELIVERED_TARIFF_1'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_DELIVERED_TARIFF_2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'ELECTRICITY_DELIVERED_TARIFF_2'
+        },
+        {
+            'obis_reference': obis.ELECTRICITY_ACTIVE_TARIFF,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'ELECTRICITY_ACTIVE_TARIFF'
+        },
+        {
+            'obis_reference': obis.CURRENT_ELECTRICITY_USAGE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'CURRENT_ELECTRICITY_USAGE'
+        },
+        {
+            'obis_reference': obis.CURRENT_ELECTRICITY_DELIVERY,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'CURRENT_ELECTRICITY_DELIVERY'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L1_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L2_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L3_POSITIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L1_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L2_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_ACTIVE_POWER_L3_NEGATIVE'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_VOLTAGE_L1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_VOLTAGE_L1'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_VOLTAGE_L2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_VOLTAGE_L2'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_VOLTAGE_L3,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_VOLTAGE_L3'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L1,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L1'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L2,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L2'
+        },
+        {
+            'obis_reference': obis.INSTANTANEOUS_CURRENT_L3,
+            'value_parser': CosemParser(ValueParser(Decimal)),
+            'value_name': 'INSTANTANEOUS_CURRENT_L3'
+        },
+        {
+            'obis_reference': obis.ACTUAL_SWITCH_POSITION,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'ACTUAL_SWITCH_POSITION'
+        },
+        {
+            'obis_reference': obis.TEXT_MESSAGE,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'TEXT_MESSAGE'
+        },
+        {
+            'obis_reference': obis.EQUIPMENT_IDENTIFIER,
+            'value_parser': CosemParser(ValueParser(str)),
+            'value_name': 'EQUIPMENT_IDENTIFIER'
+        },
+    ]
 }
 
 EON_HUNGARY = {
@@ -423,12 +1214,12 @@ EON_HUNGARY = {
 		{
 			'obis_reference': obis.LUXEMBOURG_EQUIPMENT_IDENTIFIER,
 			'value_parser': CosemParser(ValueParser(str)),
-			'value_name': 'EON_HU_COSEM_LOGICAL_DEVICE_NAME'
+			'value_name': 'COSEM_LOGICAL_DEVICE_NAME'
 		},
 		{
 			'obis_reference': obis.EQUIPMENT_IDENTIFIER_GAS,
 			'value_parser': CosemParser(ValueParser(str)),
-			'value_name': 'EON_HU_EQUIPMENT_SERIAL_NUMBER'
+			'value_name': 'EQUIPMENT_SERIAL_NUMBER'
 		},
 		{
 			'obis_reference': obis.ELECTRICITY_ACTIVE_TARIFF,
@@ -462,14 +1253,14 @@ EON_HUNGARY = {
 			'value_name': 'ELECTRICITY_USED_TARIFF_2'
 		},
 		{
-			'obis_reference': obis.EON_HU_ELECTRICITY_USED_TARIFF_3,
+			'obis_reference': obis.ELECTRICITY_USED_TARIFF_3,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_ELECTRICITY_USED_TARIFF_3'
+			'value_name': 'ELECTRICITY_USED_TARIFF_3'
 		},
 		{
-			'obis_reference': obis.EON_HU_ELECTRICITY_USED_TARIFF_4,
+			'obis_reference': obis.ELECTRICITY_USED_TARIFF_4,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_ELECTRICITY_USED_TARIFF_4'
+			'value_name': 'ELECTRICITY_USED_TARIFF_4'
 		},
 		{
 			'obis_reference': obis.ELECTRICITY_EXPORTED_TOTAL,
@@ -487,14 +1278,14 @@ EON_HUNGARY = {
 			'value_name': 'ELECTRICITY_DELIVERED_TARIFF_2'
 		},
 		{
-			'obis_reference': obis.EON_HU_ELECTRICITY_DELIVERED_TARIFF_3,
+			'obis_reference': obis.ELECTRICITY_DELIVERED_TARIFF_3,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_ELECTRICITY_DELIVERED_TARIFF_3'
+			'value_name': 'ELECTRICITY_DELIVERED_TARIFF_3'
 		},
 		{
-			'obis_reference': obis.EON_HU_ELECTRICITY_DELIVERED_TARIFF_4,
+			'obis_reference': obis.ELECTRICITY_DELIVERED_TARIFF_4,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_ELECTRICITY_DELIVERED_TARIFF_4'
+			'value_name': 'ELECTRICITY_DELIVERED_TARIFF_4'
 		},
 		{
 			'obis_reference': obis.ELECTRICITY_REACTIVE_IMPORTED_TOTAL,
@@ -509,27 +1300,27 @@ EON_HUNGARY = {
 		{
 			'obis_reference': obis.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1'
+			'value_name': 'ELECTRICITY_REACTIVE_TOTAL_Q1'
 		},
 		{
 			'obis_reference': obis.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2'
+			'value_name': 'ELECTRICITY_REACTIVE_TOTAL_Q2'
 		},
 		{
 			'obis_reference': obis.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3'
+			'value_name': 'ELECTRICITY_REACTIVE_TOTAL_Q3'
 		},
 		{
 			'obis_reference': obis.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4'
+			'value_name': 'ELECTRICITY_REACTIVE_TOTAL_Q4'
 		},
 		{
 			'obis_reference': obis.EON_HU_ELECTRICITY_COMBINED,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_ELECTRICITY_COMBINED'
+			'value_name': 'ELECTRICITY_COMBINED'
 		},
 		{
 			'obis_reference': obis.INSTANTANEOUS_VOLTAGE_L1,
@@ -568,29 +1359,29 @@ EON_HUNGARY = {
 		{
 			'obis_reference': obis.EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL'
+			'value_name': 'INSTANTANEOUS_POWER_FACTOR_TOTAL'
 		},
 		{
 			'obis_reference': obis.EON_HU_INSTANTANEOUS_POWER_FACTOR_L1,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_INSTANTANEOUS_POWER_FACTOR_L1'
+			'value_name': 'INSTANTANEOUS_POWER_FACTOR_L1'
 		},
 		{
 			'obis_reference': obis.EON_HU_INSTANTANEOUS_POWER_FACTOR_L2,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_INSTANTANEOUS_POWER_FACTOR_L2'
+			'value_name': 'INSTANTANEOUS_POWER_FACTOR_L2'
 			# Only with 3 phase meters
 		},
 		{
 			'obis_reference': obis.EON_HU_INSTANTANEOUS_POWER_FACTOR_L3,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_INSTANTANEOUS_POWER_FACTOR_L3'
+			'value_name': 'INSTANTANEOUS_POWER_FACTOR_L3'
 			# Only with 3 phase meters
 		},
 		{
 			'obis_reference': obis.EON_HU_FREQUENCY,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_FREQUENCY'
+			'value_name': 'FREQUENCY'
 		},
 		{
 			'obis_reference': obis.CURRENT_ELECTRICITY_USAGE,
@@ -605,38 +1396,38 @@ EON_HUNGARY = {
 		{
 			'obis_reference': obis.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1'
+			'value_name': 'INSTANTANEOUS_REACTIVE_POWER_Q1'
 		},
 		{
 			'obis_reference': obis.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2'
+			'value_name': 'INSTANTANEOUS_REACTIVE_POWER_Q2'
 		},
 		{
 			'obis_reference': obis.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3'
+			'value_name': 'INSTANTANEOUS_REACTIVE_POWER_Q3'
 		},
 		{
 			'obis_reference': obis.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4'
+			'value_name': 'INSTANTANEOUS_REACTIVE_POWER_Q4'
 		},
 		{
 			'obis_reference': obis.BELGIUM_MAX_CURRENT_PER_PHASE,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_MAX_POWER_ON_L1'
+			'value_name': 'MAX_POWER_ON_L1'
 		},
 		{
 			'obis_reference': obis.EON_HU_MAX_POWER_ON_L2,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_MAX_POWER_ON_L2'
+			'value_name': 'MAX_POWER_ON_L2'
 			# Only with 3 phase meters
 		},
 		{
 			'obis_reference': obis.EON_HU_MAX_POWER_ON_L3,
 			'value_parser': CosemParser(ValueParser(Decimal)),
-			'value_name': 'EON_HU_MAX_POWER_ON_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.
@@ -664,7 +1455,7 @@ EON_HUNGARY = {
 				# ValueParser(Decimal),
 				# ValueParser(Decimal)
 			# ),
-			# 'value_name': 'EON_HU_LAST_MONTH_DATA'
+			# 'value_name': 'LAST_MONTH_DATA'
 		# },
 		{
 			'obis_reference': obis.TEXT_MESSAGE,
diff --git a/test/objects/test_mbusdevice.py b/test/objects/test_mbusdevice.py
index b92d4af..3ff9985 100644
--- a/test/objects/test_mbusdevice.py
+++ b/test/objects/test_mbusdevice.py
@@ -12,19 +12,19 @@ class MbusDeviceTest(unittest.TestCase):
     def setUp(self):
         v5_objects = telegram_specifications.V5['objects']
 
-        device_type_parser = v5_objects[obis_references.DEVICE_TYPE]
+        device_type_parser = [object["value_parser"] for object in v5_objects if object["obis_reference"] == obis_references.DEVICE_TYPE][0]
         device_type = device_type_parser.parse('0-2:24.1.0(003)\r\n')
 
-        equipment_parser = v5_objects[obis_references.EQUIPMENT_IDENTIFIER_GAS]
+        equipment_parser = [object["value_parser"] for object in v5_objects if object["obis_reference"] == obis_references.EQUIPMENT_IDENTIFIER_GAS][0]
         equipment = equipment_parser.parse('0-2:96.1.0(4730303339303031393336393930363139)\r\n')
 
-        gas_reading_parser = v5_objects[obis_references.HOURLY_GAS_METER_READING]
+        gas_reading_parser = [object["value_parser"] for object in v5_objects if object["obis_reference"] == obis_references.HOURLY_GAS_METER_READING][0]
         gas_reading = gas_reading_parser.parse('0-2:24.2.1(200426223001S)(00246.138*m3)\r\n')
 
         mbus_device = MbusDevice(channel_id=1)
-        mbus_device.add(obis_references.DEVICE_TYPE, device_type)
-        mbus_device.add(obis_references.EQUIPMENT_IDENTIFIER_GAS, equipment)
-        mbus_device.add(obis_references.HOURLY_GAS_METER_READING, gas_reading)
+        mbus_device.add(obis_references.DEVICE_TYPE, device_type, "DEVICE_TYPE")
+        mbus_device.add(obis_references.EQUIPMENT_IDENTIFIER_GAS, equipment, "EQUIPMENT_IDENTIFIER_GAS")
+        mbus_device.add(obis_references.HOURLY_GAS_METER_READING, gas_reading, "HOURLY_GAS_METER_READING")
 
         self.mbus_device = mbus_device
 
diff --git a/test/objects/test_telegram.py b/test/objects/test_telegram.py
index 17a6891..3f39d4b 100644
--- a/test/objects/test_telegram.py
+++ b/test/objects/test_telegram.py
@@ -4,7 +4,7 @@ import datetime
 import pytz
 
 from dsmr_parser import telegram_specifications, obis_references
-from dsmr_parser import obis_name_mapping
+
 from dsmr_parser.objects import CosemObject
 from dsmr_parser.objects import MBusObject
 from dsmr_parser.objects import ProfileGenericObject
@@ -314,8 +314,8 @@ class TelegramTest(unittest.TestCase):
         self.item_names_tested.append(testitem_name)
 
         # check if all items in telegram V4 specification are covered
-        V4_name_list = [obis_name_mapping.EN[signature] for signature, parser in
-                        telegram_specifications.V4['objects'].items()]
+        V4_name_list = [object["value_name"] for object in
+                        telegram_specifications.V4['objects']]
         V4_name_set = set(V4_name_list)
         item_names_tested_set = set(self.item_names_tested)
 
@@ -329,7 +329,7 @@ class TelegramTest(unittest.TestCase):
             break
 
         # Verify that the iterator works for at least one value
-        self.assertEqual(obis_name, obis_name_mapping.EN[obis_references.P1_MESSAGE_HEADER])
+        self.assertEqual(obis_name, "P1_MESSAGE_HEADER")
         self.assertEqual(dsmr_object.value, '50')
 
     def test_mbus_devices(self):
diff --git a/test/test_parse_v5_eon_hungary.py b/test/test_parse_v5_eon_hungary.py
index acc6ccc..ba93852 100644
--- a/test/test_parse_v5_eon_hungary.py
+++ b/test/test_parse_v5_eon_hungary.py
@@ -30,16 +30,16 @@ class TelegramParserV5EONHUTest(unittest.TestCase):
             pytz.timezone("Europe/Budapest").localize(datetime.datetime(2023, 7, 24, 15, 7, 30))
 
         # EON_HU_COSEM_LOGICAL_DEVICE_NAME (0-0:42.0.0)
-        assert isinstance(telegram.EON_HU_COSEM_LOGICAL_DEVICE_NAME, CosemObject)
-        assert telegram.EON_HU_COSEM_LOGICAL_DEVICE_NAME.unit is None
-        assert isinstance(telegram.EON_HU_COSEM_LOGICAL_DEVICE_NAME.value, str)
-        assert telegram.EON_HU_COSEM_LOGICAL_DEVICE_NAME.value == '53414733303832323030303032313630'
+        assert isinstance(telegram.COSEM_LOGICAL_DEVICE_NAME, CosemObject)
+        assert telegram.COSEM_LOGICAL_DEVICE_NAME.unit is None
+        assert isinstance(telegram.COSEM_LOGICAL_DEVICE_NAME.value, str)
+        assert telegram.COSEM_LOGICAL_DEVICE_NAME.value == '53414733303832323030303032313630'
 
         # EON_HU_EQUIPMENT_SERIAL_NUMBER (0-0:96.1.0)
-        assert isinstance(telegram.EON_HU_EQUIPMENT_SERIAL_NUMBER, CosemObject)
-        assert telegram.EON_HU_EQUIPMENT_SERIAL_NUMBER.unit is None
-        assert isinstance(telegram.EON_HU_EQUIPMENT_SERIAL_NUMBER.value, str)
-        assert telegram.EON_HU_EQUIPMENT_SERIAL_NUMBER.value == '383930303832323030303032313630'
+        assert isinstance(telegram.EQUIPMENT_SERIAL_NUMBER, CosemObject)
+        assert telegram.EQUIPMENT_SERIAL_NUMBER.unit is None
+        assert isinstance(telegram.EQUIPMENT_SERIAL_NUMBER.value, str)
+        assert telegram.EQUIPMENT_SERIAL_NUMBER.value == '383930303832323030303032313630'
 
         # ELECTRICITY_ACTIVE_TARIFF (0-0:96.14.0)
         assert isinstance(telegram.ELECTRICITY_ACTIVE_TARIFF, CosemObject)
@@ -78,16 +78,16 @@ class TelegramParserV5EONHUTest(unittest.TestCase):
         assert telegram.ELECTRICITY_USED_TARIFF_2.value == Decimal('000125.921')
 
         # EON_HU_ELECTRICITY_USED_TARIFF_3 (1-0:1.8.3)
-        assert isinstance(telegram.EON_HU_ELECTRICITY_USED_TARIFF_3, CosemObject)
-        assert telegram.EON_HU_ELECTRICITY_USED_TARIFF_3.unit == 'kWh'
-        assert isinstance(telegram.EON_HU_ELECTRICITY_USED_TARIFF_3.value, Decimal)
-        assert telegram.EON_HU_ELECTRICITY_USED_TARIFF_3.value == Decimal('000000.000')
+        assert isinstance(telegram.ELECTRICITY_USED_TARIFF_3, CosemObject)
+        assert telegram.ELECTRICITY_USED_TARIFF_3.unit == 'kWh'
+        assert isinstance(telegram.ELECTRICITY_USED_TARIFF_3.value, Decimal)
+        assert telegram.ELECTRICITY_USED_TARIFF_3.value == Decimal('000000.000')
 
         # EON_HU_ELECTRICITY_USED_TARIFF_4 (1-0:1.8.4)
-        assert isinstance(telegram.EON_HU_ELECTRICITY_USED_TARIFF_4, CosemObject)
-        assert telegram.EON_HU_ELECTRICITY_USED_TARIFF_4.unit == 'kWh'
-        assert isinstance(telegram.EON_HU_ELECTRICITY_USED_TARIFF_4.value, Decimal)
-        assert telegram.EON_HU_ELECTRICITY_USED_TARIFF_4.value == Decimal('000000.000')
+        assert isinstance(telegram.ELECTRICITY_USED_TARIFF_4, CosemObject)
+        assert telegram.ELECTRICITY_USED_TARIFF_4.unit == 'kWh'
+        assert isinstance(telegram.ELECTRICITY_USED_TARIFF_4.value, Decimal)
+        assert telegram.ELECTRICITY_USED_TARIFF_4.value == Decimal('000000.000')
 
         # ELECTRICITY_EXPORTED_TOTAL (1-0:2.8.0)
         assert isinstance(telegram.ELECTRICITY_EXPORTED_TOTAL, CosemObject)
@@ -108,16 +108,16 @@ class TelegramParserV5EONHUTest(unittest.TestCase):
         assert telegram.ELECTRICITY_DELIVERED_TARIFF_2.value == Decimal('000225.348')
 
         # EON_HU_ELECTRICITY_DELIVERED_TARIFF_3 (1-0:2.8.3)
-        assert isinstance(telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_3, CosemObject)
-        assert telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_3.unit == 'kWh'
-        assert isinstance(telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_3.value, Decimal)
-        assert telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_3.value == Decimal('000000.000')
+        assert isinstance(telegram.ELECTRICITY_DELIVERED_TARIFF_3, CosemObject)
+        assert telegram.ELECTRICITY_DELIVERED_TARIFF_3.unit == 'kWh'
+        assert isinstance(telegram.ELECTRICITY_DELIVERED_TARIFF_3.value, Decimal)
+        assert telegram.ELECTRICITY_DELIVERED_TARIFF_3.value == Decimal('000000.000')
 
         # EON_HU_ELECTRICITY_DELIVERED_TARIFF_4 (1-0:2.8.4)
-        assert isinstance(telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_4, CosemObject)
-        assert telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_4.unit == 'kWh'
-        assert isinstance(telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_4.value, Decimal)
-        assert telegram.EON_HU_ELECTRICITY_DELIVERED_TARIFF_4.value == Decimal('000000.000')
+        assert isinstance(telegram.ELECTRICITY_DELIVERED_TARIFF_4, CosemObject)
+        assert telegram.ELECTRICITY_DELIVERED_TARIFF_4.unit == 'kWh'
+        assert isinstance(telegram.ELECTRICITY_DELIVERED_TARIFF_4.value, Decimal)
+        assert telegram.ELECTRICITY_DELIVERED_TARIFF_4.value == Decimal('000000.000')
 
         # ELECTRICITY_REACTIVE_IMPORTED_TOTAL (1-0:3.8.0)
         assert isinstance(telegram.ELECTRICITY_REACTIVE_IMPORTED_TOTAL, CosemObject)
@@ -132,34 +132,34 @@ class TelegramParserV5EONHUTest(unittest.TestCase):
         assert telegram.ELECTRICITY_REACTIVE_EXPORTED_TOTAL.value == Decimal('000303.131')
 
         # EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1 (1-0:5.8.0)
-        assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1, CosemObject)
-        assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1.unit == 'kvarh'
-        assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1.value, Decimal)
-        assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1.value == Decimal('000000.668')
+        assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q1, CosemObject)
+        assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q1.unit == 'kvarh'
+        assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q1.value, Decimal)
+        assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q1.value == Decimal('000000.668')
 
         # EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2 (1-0:6.8.0)
-        assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2, CosemObject)
-        assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2.unit == 'kvarh'
-        assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2.value, Decimal)
-        assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2.value == Decimal('000000.071')
+        assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q2, CosemObject)
+        assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q2.unit == 'kvarh'
+        assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q2.value, Decimal)
+        assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q2.value == Decimal('000000.071')
 
         # EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3 (1-0:7.8.0)
-        assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3, CosemObject)
-        assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3.unit == 'kvarh'
-        assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3.value, Decimal)
-        assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3.value == Decimal('000160.487')
+        assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q3, CosemObject)
+        assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q3.unit == 'kvarh'
+        assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q3.value, Decimal)
+        assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q3.value == Decimal('000160.487')
 
         # EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4 (1-0:8.8.0)
-        assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4, CosemObject)
-        assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4.unit == 'kvarh'
-        assert isinstance(telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4.value, Decimal)
-        assert telegram.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4.value == Decimal('000143.346')
+        assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q4, CosemObject)
+        assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q4.unit == 'kvarh'
+        assert isinstance(telegram.ELECTRICITY_REACTIVE_TOTAL_Q4.value, Decimal)
+        assert telegram.ELECTRICITY_REACTIVE_TOTAL_Q4.value == Decimal('000143.346')
 
         # EON_HU_ELECTRICITY_COMBINED (1-0:15.8.0)
-        assert isinstance(telegram.EON_HU_ELECTRICITY_COMBINED, CosemObject)
-        assert telegram.EON_HU_ELECTRICITY_COMBINED.unit == 'kWh'
-        assert isinstance(telegram.EON_HU_ELECTRICITY_COMBINED.value, Decimal)
-        assert telegram.EON_HU_ELECTRICITY_COMBINED.value == Decimal('000800.817')
+        assert isinstance(telegram.ELECTRICITY_COMBINED, CosemObject)
+        assert telegram.ELECTRICITY_COMBINED.unit == 'kWh'
+        assert isinstance(telegram.ELECTRICITY_COMBINED.value, Decimal)
+        assert telegram.ELECTRICITY_COMBINED.value == Decimal('000800.817')
 
         # INSTANTANEOUS_VOLTAGE_L2 (1-0:32.7.0)
         assert isinstance(telegram.INSTANTANEOUS_VOLTAGE_L1, CosemObject)
@@ -198,34 +198,34 @@ class TelegramParserV5EONHUTest(unittest.TestCase):
         assert telegram.INSTANTANEOUS_CURRENT_L3.value == Decimal('003')
 
         # EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL (1-0:13.7.0)
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL, CosemObject)
-        assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL.unit is None
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL.value, Decimal)
-        assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL.value == Decimal('4.556')
+        assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_TOTAL, CosemObject)
+        assert telegram.INSTANTANEOUS_POWER_FACTOR_TOTAL.unit is None
+        assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_TOTAL.value, Decimal)
+        assert telegram.INSTANTANEOUS_POWER_FACTOR_TOTAL.value == Decimal('4.556')
 
         # EON_HU_INSTANTANEOUS_POWER_FACTOR_L1 (1-0:33.7.0)
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L1, CosemObject)
-        assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L1.unit is None
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L1.value, Decimal)
-        assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L1.value == Decimal('4.591')
+        assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_L1, CosemObject)
+        assert telegram.INSTANTANEOUS_POWER_FACTOR_L1.unit is None
+        assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_L1.value, Decimal)
+        assert telegram.INSTANTANEOUS_POWER_FACTOR_L1.value == Decimal('4.591')
 
         # EON_HU_INSTANTANEOUS_POWER_FACTOR_L2 (1-0:53.7.0)
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L2, CosemObject)
-        assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L2.unit is None
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L2.value, Decimal)
-        assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L2.value == Decimal('4.542')
+        assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_L2, CosemObject)
+        assert telegram.INSTANTANEOUS_POWER_FACTOR_L2.unit is None
+        assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_L2.value, Decimal)
+        assert telegram.INSTANTANEOUS_POWER_FACTOR_L2.value == Decimal('4.542')
 
         # EON_HU_INSTANTANEOUS_POWER_FACTOR_L3 (1-0:73.7.0)
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L3, CosemObject)
-        assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L3.unit is None
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L3.value, Decimal)
-        assert telegram.EON_HU_INSTANTANEOUS_POWER_FACTOR_L3.value == Decimal('4.552')
+        assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_L3, CosemObject)
+        assert telegram.INSTANTANEOUS_POWER_FACTOR_L3.unit is None
+        assert isinstance(telegram.INSTANTANEOUS_POWER_FACTOR_L3.value, Decimal)
+        assert telegram.INSTANTANEOUS_POWER_FACTOR_L3.value == Decimal('4.552')
 
         # EON_HU_FREQUENCY (1-0:14.7.0)
-        assert isinstance(telegram.EON_HU_FREQUENCY, CosemObject)
-        assert telegram.EON_HU_FREQUENCY.unit == "Hz"
-        assert isinstance(telegram.EON_HU_FREQUENCY.value, Decimal)
-        assert telegram.EON_HU_FREQUENCY.value == Decimal('50.00')
+        assert isinstance(telegram.FREQUENCY, CosemObject)
+        assert telegram.FREQUENCY.unit == "Hz"
+        assert isinstance(telegram.FREQUENCY.value, Decimal)
+        assert telegram.FREQUENCY.value == Decimal('50.00')
 
         # CURRENT_ELECTRICITY_USAGE (1-0:1.7.0)
         assert isinstance(telegram.CURRENT_ELECTRICITY_USAGE, CosemObject)
@@ -240,46 +240,46 @@ class TelegramParserV5EONHUTest(unittest.TestCase):
         assert telegram.CURRENT_ELECTRICITY_DELIVERY.value == Decimal('02.601')
 
         # EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1 (1-0:5.7.0)
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1, CosemObject)
-        assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1.unit == 'kvar'
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1.value, Decimal)
-        assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1.value == Decimal('00.000')
+        assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q1, CosemObject)
+        assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q1.unit == 'kvar'
+        assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q1.value, Decimal)
+        assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q1.value == Decimal('00.000')
 
         # EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2 (1-0:6.7.0)
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2, CosemObject)
-        assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2.unit == 'kvar'
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2.value, Decimal)
-        assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2.value == Decimal('00.000')
+        assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q2, CosemObject)
+        assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q2.unit == 'kvar'
+        assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q2.value, Decimal)
+        assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q2.value == Decimal('00.000')
 
         # EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3 (1-0:7.7.0)
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3, CosemObject)
-        assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3.unit == 'kvar'
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3.value, Decimal)
-        assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3.value == Decimal('00.504')
+        assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q3, CosemObject)
+        assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q3.unit == 'kvar'
+        assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q3.value, Decimal)
+        assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q3.value == Decimal('00.504')
 
         # EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4 (1-0:8.7.0)
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4, CosemObject)
-        assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4.unit == 'kvar'
-        assert isinstance(telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4.value, Decimal)
-        assert telegram.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4.value == Decimal('00.000')
+        assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q4, CosemObject)
+        assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q4.unit == 'kvar'
+        assert isinstance(telegram.INSTANTANEOUS_REACTIVE_POWER_Q4.value, Decimal)
+        assert telegram.INSTANTANEOUS_REACTIVE_POWER_Q4.value == Decimal('00.000')
 
         # EON_HU_MAX_POWER_ON_L1 (1-0:31.4.0)
-        assert isinstance(telegram.EON_HU_MAX_POWER_ON_L1, CosemObject)
-        assert telegram.EON_HU_MAX_POWER_ON_L1.unit == 'A'
-        assert isinstance(telegram.EON_HU_MAX_POWER_ON_L1.value, Decimal)
-        assert telegram.EON_HU_MAX_POWER_ON_L1.value == Decimal('200.00')
+        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.EON_HU_MAX_POWER_ON_L2, CosemObject)
-        assert telegram.EON_HU_MAX_POWER_ON_L2.unit == 'A'
-        assert isinstance(telegram.EON_HU_MAX_POWER_ON_L2.value, Decimal)
-        assert telegram.EON_HU_MAX_POWER_ON_L2.value == Decimal('200.00')
+        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.EON_HU_MAX_POWER_ON_L3, CosemObject)
-        assert telegram.EON_HU_MAX_POWER_ON_L3.unit == 'A'
-        assert isinstance(telegram.EON_HU_MAX_POWER_ON_L3.value, Decimal)
-        assert telegram.EON_HU_MAX_POWER_ON_L3.value == Decimal('200.00')
+        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)