|
from decimal import Decimal
|
|
from copy import deepcopy
|
|
|
|
from dsmr_parser import obis_references as obis
|
|
from dsmr_parser.parsers import CosemParser, ValueParser, MBusParser, ProfileGenericParser, MaxDemandParser
|
|
from dsmr_parser.value_types import timestamp
|
|
from dsmr_parser.profile_generic_specifications import BUFFER_TYPES, PG_HEAD_PARSERS, PG_UNIDENTIFIED_BUFFERTYPE_PARSERS
|
|
|
|
"""
|
|
dsmr_parser.telegram_specifications
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
This module contains DSMR telegram specifications. Each specifications describes
|
|
how the telegram lines are parsed.
|
|
"""
|
|
|
|
V2_2 = {
|
|
'checksum_support': False,
|
|
'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_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_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.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.MBUS_DEVICE_TYPE,
|
|
'value_parser': CosemParser(ValueParser(int)),
|
|
'value_name': 'MBUS_DEVICE_TYPE'
|
|
},
|
|
{
|
|
'obis_reference': obis.MBUS_EQUIPMENT_IDENTIFIER,
|
|
'value_parser': CosemParser(ValueParser(str)),
|
|
'value_name': 'MBUS_EQUIPMENT_IDENTIFIER'
|
|
},
|
|
{
|
|
'obis_reference': obis.MBUS_VALVE_POSITION,
|
|
'value_parser': CosemParser(ValueParser(int)),
|
|
'value_name': 'MBUS_VALVE_POSITION'
|
|
},
|
|
{
|
|
'obis_reference': obis.MBUS_METER_READING,
|
|
'value_parser': MBusParser(
|
|
ValueParser(timestamp),
|
|
ValueParser(Decimal)
|
|
),
|
|
'value_name': 'MBUS_METER_READING'
|
|
},
|
|
]
|
|
}
|
|
|
|
ALL = (V2_2, V3, V4, V5)
|
|
|
|
BELGIUM_FLUVIUS = {
|
|
'checksum_support': True,
|
|
'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.FUSE_THRESHOLD_L1,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'FUSE_THRESHOLD_L1'
|
|
},
|
|
{
|
|
'obis_reference': obis.TEXT_MESSAGE,
|
|
'value_parser': CosemParser(ValueParser(str)),
|
|
'value_name': 'TEXT_MESSAGE'
|
|
},
|
|
{
|
|
'obis_reference': obis.MBUS_DEVICE_TYPE,
|
|
'value_parser': CosemParser(ValueParser(int)),
|
|
'value_name': 'MBUS_DEVICE_TYPE'
|
|
},
|
|
{
|
|
'obis_reference': obis.MBUS_EQUIPMENT_IDENTIFIER,
|
|
'value_parser': CosemParser(ValueParser(str)),
|
|
'value_name': 'MBUS_EQUIPMENT_IDENTIFIER'
|
|
},
|
|
{
|
|
'obis_reference': obis.MBUS_VALVE_POSITION,
|
|
'value_parser': CosemParser(ValueParser(int)),
|
|
'value_name': 'MBUS_VALVE_POSITION'
|
|
},
|
|
{
|
|
'obis_reference': obis.MBUS_METER_READING,
|
|
'value_parser': MBusParser(
|
|
ValueParser(timestamp),
|
|
ValueParser(Decimal)
|
|
),
|
|
'value_name': 'MBUS_METER_READING'
|
|
},
|
|
]
|
|
}
|
|
|
|
LUXEMBOURG_SMARTY = deepcopy(V5)
|
|
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_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_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.CURRENT_ELECTRICITY_DELIVERY,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'CURRENT_ELECTRICITY_DELIVERY'
|
|
},
|
|
{
|
|
'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'
|
|
},
|
|
]
|
|
}
|
|
|
|
|
|
SAGEMCOM_T210_D_R = {
|
|
"general_global_cipher": True,
|
|
"checksum_support": True,
|
|
'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_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.CURRENT_ELECTRICITY_USAGE,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'CURRENT_ELECTRICITY_USAGE'
|
|
},
|
|
{
|
|
'obis_reference': obis.ELECTRICITY_REACTIVE_EXPORTED_TOTAL,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_REACTIVE_EXPORTED_TOTAL'
|
|
},
|
|
{
|
|
'obis_reference': obis.ELECTRICITY_REACTIVE_EXPORTED_TARIFF_1,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_REACTIVE_EXPORTED_TARIFF_1'
|
|
},
|
|
{
|
|
'obis_reference': obis.ELECTRICITY_REACTIVE_EXPORTED_TARIFF_2,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_REACTIVE_EXPORTED_TARIFF_2'
|
|
},
|
|
{
|
|
'obis_reference': obis.CURRENT_REACTIVE_IMPORTED,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'CURRENT_REACTIVE_IMPORTED'
|
|
},
|
|
{
|
|
'obis_reference': obis.ELECTRICITY_EXPORTED_TOTAL,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_EXPORTED_TOTAL'
|
|
},
|
|
{
|
|
'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.CURRENT_ELECTRICITY_DELIVERY,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'CURRENT_ELECTRICITY_DELIVERY'
|
|
},
|
|
{
|
|
'obis_reference': obis.ELECTRICITY_REACTIVE_IMPORTED_TOTAL,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_REACTIVE_IMPORTED_TOTAL'
|
|
},
|
|
{
|
|
'obis_reference': obis.ELECTRICITY_REACTIVE_IMPORTED_TARIFF_1,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_REACTIVE_IMPORTED_TARIFF_1'
|
|
},
|
|
{
|
|
'obis_reference': obis.ELECTRICITY_REACTIVE_IMPORTED_TARIFF_2,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_REACTIVE_IMPORTED_TARIFF_2'
|
|
},
|
|
{
|
|
'obis_reference': obis.CURRENT_REACTIVE_EXPORTED,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'CURRENT_REACTIVE_EXPORTED'
|
|
}
|
|
]
|
|
}
|
|
AUSTRIA_ENERGIENETZE_STEIERMARK = SAGEMCOM_T210_D_R
|
|
|
|
ISKRA_IE = {
|
|
"checksum_support": False,
|
|
'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 = {
|
|
# Revision: 2023.02.10
|
|
# Based on V5
|
|
# Reference: https://www.eon.hu/content/dam/eon/eon-hungary/documents/Lakossagi/aram/muszaki-ugyek/p1_port%20felhaszn_interfesz_taj_%2020230210.pdf # noqa
|
|
'checksum_support': True,
|
|
'objects': [
|
|
{
|
|
'obis_reference': obis.P1_MESSAGE_TIMESTAMP,
|
|
'value_parser': CosemParser(ValueParser(timestamp)),
|
|
'value_name': 'P1_MESSAGE_TIMESTAMP'
|
|
},
|
|
{
|
|
'obis_reference': obis.LUXEMBOURG_EQUIPMENT_IDENTIFIER,
|
|
'value_parser': CosemParser(ValueParser(str)),
|
|
'value_name': 'COSEM_LOGICAL_DEVICE_NAME'
|
|
},
|
|
{
|
|
'obis_reference': obis.EQUIPMENT_IDENTIFIER_GAS,
|
|
'value_parser': CosemParser(ValueParser(str)),
|
|
'value_name': 'EQUIPMENT_SERIAL_NUMBER'
|
|
},
|
|
{
|
|
'obis_reference': obis.ELECTRICITY_ACTIVE_TARIFF,
|
|
'value_parser': CosemParser(ValueParser(str)),
|
|
'value_name': 'ELECTRICITY_ACTIVE_TARIFF'
|
|
},
|
|
{
|
|
'obis_reference': obis.ACTUAL_SWITCH_POSITION,
|
|
'value_parser': CosemParser(ValueParser(str)),
|
|
'value_name': 'ACTUAL_SWITCH_POSITION'
|
|
# This seems to be wrong in documentation, it's not 0-0:96.50.68, but 0-0:96.3.10
|
|
},
|
|
{
|
|
'obis_reference': obis.ACTUAL_TRESHOLD_ELECTRICITY,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ACTUAL_TRESHOLD_ELECTRICITY'
|
|
},
|
|
{
|
|
'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_USED_TARIFF_3,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_USED_TARIFF_3'
|
|
},
|
|
{
|
|
'obis_reference': obis.ELECTRICITY_USED_TARIFF_4,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_USED_TARIFF_4'
|
|
},
|
|
{
|
|
'obis_reference': obis.ELECTRICITY_EXPORTED_TOTAL,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_EXPORTED_TOTAL'
|
|
},
|
|
{
|
|
'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_DELIVERED_TARIFF_3,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_DELIVERED_TARIFF_3'
|
|
},
|
|
{
|
|
'obis_reference': obis.ELECTRICITY_DELIVERED_TARIFF_4,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_DELIVERED_TARIFF_4'
|
|
},
|
|
{
|
|
'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.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q1,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_REACTIVE_TOTAL_Q1'
|
|
},
|
|
{
|
|
'obis_reference': obis.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q2,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_REACTIVE_TOTAL_Q2'
|
|
},
|
|
{
|
|
'obis_reference': obis.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q3,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_REACTIVE_TOTAL_Q3'
|
|
},
|
|
{
|
|
'obis_reference': obis.EON_HU_ELECTRICITY_REACTIVE_TOTAL_Q4,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_REACTIVE_TOTAL_Q4'
|
|
},
|
|
{
|
|
'obis_reference': obis.EON_HU_ELECTRICITY_COMBINED,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'ELECTRICITY_COMBINED'
|
|
},
|
|
{
|
|
'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'
|
|
# Only with 3 phase meters
|
|
},
|
|
{
|
|
'obis_reference': obis.INSTANTANEOUS_VOLTAGE_L3,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'INSTANTANEOUS_VOLTAGE_L3'
|
|
# Only with 3 phase meters
|
|
},
|
|
{
|
|
'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'
|
|
# Only with 3 phase meters
|
|
},
|
|
{
|
|
'obis_reference': obis.INSTANTANEOUS_CURRENT_L3,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'INSTANTANEOUS_CURRENT_L3'
|
|
# Only with 3 phase meters
|
|
},
|
|
{
|
|
'obis_reference': obis.EON_HU_INSTANTANEOUS_POWER_FACTOR_TOTAL,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'INSTANTANEOUS_POWER_FACTOR_TOTAL'
|
|
},
|
|
{
|
|
'obis_reference': obis.EON_HU_INSTANTANEOUS_POWER_FACTOR_L1,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'INSTANTANEOUS_POWER_FACTOR_L1'
|
|
},
|
|
{
|
|
'obis_reference': obis.EON_HU_INSTANTANEOUS_POWER_FACTOR_L2,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'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': 'INSTANTANEOUS_POWER_FACTOR_L3'
|
|
# Only with 3 phase meters
|
|
},
|
|
{
|
|
'obis_reference': obis.EON_HU_FREQUENCY,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'FREQUENCY'
|
|
},
|
|
{
|
|
'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.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q1,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'INSTANTANEOUS_REACTIVE_POWER_Q1'
|
|
},
|
|
{
|
|
'obis_reference': obis.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q2,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'INSTANTANEOUS_REACTIVE_POWER_Q2'
|
|
},
|
|
{
|
|
'obis_reference': obis.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q3,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'INSTANTANEOUS_REACTIVE_POWER_Q3'
|
|
},
|
|
{
|
|
'obis_reference': obis.EON_HU_INSTANTANEOUS_REACTIVE_POWER_Q4,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'INSTANTANEOUS_REACTIVE_POWER_Q4'
|
|
},
|
|
{
|
|
'obis_reference': obis.FUSE_THRESHOLD_L1,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'FUSE_THRESHOLD_L1'
|
|
},
|
|
{
|
|
'obis_reference': obis.FUSE_THRESHOLD_L2,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'FUSE_THRESHOLD_L2'
|
|
# Only with 3 phase meters
|
|
},
|
|
{
|
|
'obis_reference': obis.FUSE_THRESHOLD_L3,
|
|
'value_parser': CosemParser(ValueParser(Decimal)),
|
|
'value_name': 'FUSE_THRESHOLD_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.
|
|
# {
|
|
# 'obis_reference': obis.BELGIUM_MAXIMUM_DEMAND_13_MONTHS,
|
|
# 'value_parser': NonExistingParser(
|
|
# ValueParser(timestamp),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal),
|
|
# ValueParser(Decimal)
|
|
# ),
|
|
# 'value_name': 'LAST_MONTH_DATA'
|
|
# },
|
|
{
|
|
'obis_reference': obis.TEXT_MESSAGE,
|
|
'value_parser': CosemParser(ValueParser(str)),
|
|
'value_name': 'TEXT_MESSAGE'
|
|
}
|
|
]
|
|
}
|