How to read data from 2N SmartCOM (PRO) memory?

AMS (Autonomous Metering System) – protocol M-Bus

AMS (Autonomous Metering System) - protocol IEC 62056-21

Readout data from 2NSmartCOM (PRO):

AT^SCDATA=?

^SCDATA: "MESS_CNT" - number of saved messages in memory

^SCDATA: "GET_SPACE" - available memory in bytes

^SCDATA: "GET_OLDEST" - listing of oldest message

^SCDATA: "GET_FILTERED","0-150" - listing messages by applied filter

^SCDATA: "DEL_OLDEST" - delete oldest message

^SCDATA: "DEL_ALL" - delete all saved messages

OK

 

Command "get_oldest"

at^scdata="get_oldest" - listing oldest message

at^scdata="get_oldest", X - listing X oldest messages

Answer:

^SCDATA:<type_of_record>,<time_stamp>,<sequential_number>,<protocol>,<index>,<error_code>,<device_identification>,<data>

<type of record> - type of record - AMS (Autonomous Metering System) or WMBUS (Wireless M-BUS)

<time_stamp> - time mark (32-bit Unix timestamp)

< sequential_number > - sequential number of saved record (increasing +1)

<protocol> - name of protocol (IEC62056-21", "MBUS", "AIN_DIN", "Unknown")

<index> - index of device from table of devices

<error_code> - number 0 = without error

<device_identification> - only used for IEC 62056-21 (not used in M-Bus and "AIN_DIN")

<data> - raw data


Example:

at^scdata="get_oldest",2

^SCDATA: "AMS",1449585962,4,"MBUS",1,0,"","685E5E680800726817030865329906AF0000000C13022000000B22746404046D0511E81C326C00000C786817030806FD0C0A000100FA010DFD0B05313248465701FD0E004C1374180000426CDF1C0F37FD170000000000000000027A2502027825021F16"

^SCDATA: "WMBUS",1449586020,5,-68,20,"44B409466316140A077A9B0800000C1305000000"

 

Command "del_oldest"

at^scdata="get_oldest" - delete oldest message

at^scdata="get_oldest" - delete X oldest messages

at^scdata="del_all" - delete all saved messages

Command "get_filtered"

Commnad for filtering saved messages. It is possible to use up to 10 conditions in one "get_filtered" command

 

AT^SCDATA="GET_FILTERED",<filter>

General format for <filter> is <condition>;.......;<condition>

Answer is listed only when all conditions are passed

 

General format for <condition> is> <parameter><relation><value><parameter>

 

Available <parameters>:

RECORD_TYPE - Type of record - AMS or WMBUS

TIME - timestamp in unix format - "32-bit Unix timestamp"

TABLE_ID - index of the device in the table

ERROR_CODE - error code

 

Available <relation>:

== - is equal

!= - not equal

> - greather then

>= - greather then or equal

< - is less then

<= - is less then or equal

 

Available <value>:

text string or value

 

Examples:

listing of all Wireless M-BUS messages in memory

AT^SCDATA="GET_FILTERED","RECORD_TYPE==WMBUS"

 

listing of all AMS messages with timestamp from 1388665085 till 1388668685 including

AT^SCDATA="GET_FILTERED","RECORD_TYPE==AMS;TIME>=1388665085;TIME<=1388668685"

 

listing of all AMS messages, which were receive from device 1 and have timestamp newer than 1388665085

AT^SCDATA="GET_FILTERED","RECORD_TYPE==AMS;TIME>1388665085;TABLE_ID==1"

 

listing of all messiges without error (error code is 0)

AT^SCDATA="GET_FILTERED","ERROR_CODE!=0"

 

listing of all AMS messages without error (error code is 0) and and have timestamp newer than 1388668685

AT^SCDATA="GET_FILTERED","ERROR_CODE==0;RECORD_TYPE==AMS;TIME>1388668685"

Was deze pagina nuttig?