diff --git a/.gitignore b/.gitignore index 91cbd5d..2a2d237 100644 --- a/.gitignore +++ b/.gitignore @@ -62,3 +62,10 @@ bin/mbus-tcp-select-secondary bin/mbus-tcp-application-reset !*.c +# test binaries +test/mbus_parse +test/mbus_parse_hex + +# test cases temp files +test/test-frames/*.xml.new + diff --git a/mbus/mbus-protocol.c b/mbus/mbus-protocol.c index 9fa6681..107e73a 100755 --- a/mbus/mbus-protocol.c +++ b/mbus/mbus-protocol.c @@ -559,9 +559,9 @@ mbus_data_long_decode(unsigned char *int_data, size_t int_data_size, long *value { return -1; } - + neg = int_data[int_data_size-1] & 0x80; - + for (i = int_data_size; i > 0; i--) { if (neg) @@ -857,6 +857,8 @@ mbus_data_product_name(mbus_data_variable_header *header) { manufacturer = (header->manufacturer[1] << 8) + header->manufacturer[0]; + // please keep this list ordered by manufacturer code + if (manufacturer == mbus_manufacturer_id("ABB")) { switch (header->version) @@ -922,7 +924,7 @@ mbus_data_product_name(mbus_data_variable_header *header) { case 0x71: strcpy(buff, "Berg BMB-10S0"); - break; + break; } } } @@ -942,6 +944,9 @@ mbus_data_product_name(mbus_data_variable_header *header) { switch (header->version) { + case 0x02: + strcpy(buff,"Elster TMP-A"); + break; case 0x0A: strcpy(buff,"Elster Falcon"); break; @@ -980,6 +985,15 @@ mbus_data_product_name(mbus_data_variable_header *header) break; } } + else if (manufacturer == mbus_manufacturer_id("EMH")) + { + switch (header->version) + { + case 0x00: + strcpy(buff,"EMH DIZ"); + break; + } + } else if (manufacturer == mbus_manufacturer_id("EMU")) { if (header->medium == MBUS_VARIABLE_DATA_MEDIUM_ELECTRICITY) @@ -1023,6 +1037,18 @@ mbus_data_product_name(mbus_data_variable_header *header) break; } } + else if (manufacturer == mbus_manufacturer_id("KAM")) + { + switch (header->version) + { + case 0x01: + strcpy(buff,"Kamstrup 382 (6850-005)"); + break; + case 0x08: + strcpy(buff,"Kamstrup Multical 601"); + break; + } + } else if (manufacturer == mbus_manufacturer_id("SLB")) { switch (header->version) @@ -1074,6 +1100,27 @@ mbus_data_product_name(mbus_data_variable_header *header) break; } } + else if (manufacturer == mbus_manufacturer_id("LSE")) + { + switch (header->version) + { + case 0x99: + strcpy(buff,"Siemens WFH21"); + break; + } + } + else if (manufacturer == mbus_manufacturer_id("NZR")) + { + switch (header->version) + { + case 0x01: + strcpy(buff,"NZR DHZ 5/63"); + break; + case 0x50: + strcpy(buff,"NZR IC-M2"); + break; + } + } else if (manufacturer == mbus_manufacturer_id("RAM")) { switch (header->version) @@ -1113,33 +1160,16 @@ mbus_data_product_name(mbus_data_variable_header *header) break; } } - else if (manufacturer == mbus_manufacturer_id("SVM")) + else if (manufacturer == mbus_manufacturer_id("SBC")) { - switch (header->version) + switch (header->id_bcd[3]) { - case 0x08: - strcpy(buff,"Elster F2 / Deltamess F2"); + case 0x10: + case 0x19: + strcpy(buff,"Saia-Burgess ALE3"); break; - case 0x09: - strcpy(buff,"Elster F4 / Kamstrup SVM F22"); - break; - } - } - else if (manufacturer == mbus_manufacturer_id("SON")) - { - switch (header->version) - { - case 0x0D: - strcpy(buff,"Sontex Supercal 531"); - break; - } - } - else if (manufacturer == mbus_manufacturer_id("LSE")) - { - switch (header->version) - { - case 0x99: - strcpy(buff,"Siemens WFH21"); + case 0x11: + strcpy(buff,"Saia-Burgess AWD3"); break; } } @@ -1158,6 +1188,15 @@ mbus_data_product_name(mbus_data_variable_header *header) break; } } + else if (manufacturer == mbus_manufacturer_id("SON")) + { + switch (header->version) + { + case 0x0D: + strcpy(buff,"Sontex Supercal 531"); + break; + } + } else if (manufacturer == mbus_manufacturer_id("SPX")) { switch (header->version) @@ -1168,46 +1207,15 @@ mbus_data_product_name(mbus_data_variable_header *header) break; } } - else if (manufacturer == mbus_manufacturer_id("ELS")) + else if (manufacturer == mbus_manufacturer_id("SVM")) { switch (header->version) { - case 0x02: - strcpy(buff,"Elster TMP-A"); - break; - } - } - else if (manufacturer == mbus_manufacturer_id("NZR")) - { - switch (header->version) - { - case 0x01: - strcpy(buff,"NZR DHZ 5/63"); - break; - case 0x50: - strcpy(buff,"NZR IC-M2"); - break; - - } - } - else if (manufacturer == mbus_manufacturer_id("KAM")) - { - switch (header->version) - { - case 0x01: - strcpy(buff,"Kamstrup 382 (6850-005)"); - break; case 0x08: - strcpy(buff,"Kamstrup Multical 601"); + strcpy(buff,"Elster F2 / Deltamess F2"); break; - } - } - else if (manufacturer == mbus_manufacturer_id("EMH")) - { - switch (header->version) - { - case 0x00: - strcpy(buff,"EMH DIZ"); + case 0x09: + strcpy(buff,"Elster F4 / Kamstrup SVM F22"); break; } } @@ -1232,19 +1240,6 @@ mbus_data_product_name(mbus_data_variable_header *header) break; } } - else if (manufacturer == mbus_manufacturer_id("SBC")) - { - switch (header->id_bcd[3]) - { - case 0x10: - case 0x19: - strcpy(buff,"Saia-Burgess ALE3"); - break; - case 0x11: - strcpy(buff,"Saia-Burgess AWD3"); - break; - } - } } @@ -3757,7 +3752,7 @@ mbus_str_xml_encode(unsigned char *dst, const unsigned char *src, size_t max_len { return -1; } - + if (src == NULL) { dst[len] = '\0'; @@ -3897,7 +3892,7 @@ mbus_data_variable_record_xml(mbus_data_record *record, int record_cnt, int fram { len += snprintf(&buff[len], sizeof(buff) - len, " %ld\n", tariff); - len += snprintf(&buff[len], sizeof(buff) - len, " %d\n", + len += snprintf(&buff[len], sizeof(buff) - len, " %d\n", mbus_data_record_device(record)); } @@ -4025,7 +4020,7 @@ mbus_data_fixed_xml(mbus_data_fixed *data) mbus_data_int_decode(data->cnt1_val, 4, &val); } len += snprintf(&buff[len], buff_size - len, " %d\n", val); - + len += snprintf(&buff[len], buff_size - len, " \n\n"); len += snprintf(&buff[len], buff_size - len, " \n"); @@ -4044,7 +4039,7 @@ mbus_data_fixed_xml(mbus_data_fixed *data) mbus_data_int_decode(data->cnt2_val, 4, &val); } len += snprintf(&buff[len], buff_size - len, " %d\n", val); - + len += snprintf(&buff[len], buff_size - len, " \n\n"); len += snprintf(&buff[len], buff_size - len, "\n"); diff --git a/test/test-frames/premature_end_of_data1.hex b/test/error-frames/premature_end_of_data1.hex similarity index 100% rename from test/test-frames/premature_end_of_data1.hex rename to test/error-frames/premature_end_of_data1.hex diff --git a/test/test-frames/premature_end_of_data2.hex b/test/error-frames/premature_end_of_data2.hex similarity index 100% rename from test/test-frames/premature_end_of_data2.hex rename to test/error-frames/premature_end_of_data2.hex diff --git a/test/test-frames/premature_end_of_dif1.hex b/test/error-frames/premature_end_of_dif1.hex similarity index 100% rename from test/test-frames/premature_end_of_dif1.hex rename to test/error-frames/premature_end_of_dif1.hex diff --git a/test/test-frames/premature_end_of_dif2.hex b/test/error-frames/premature_end_of_dif2.hex similarity index 100% rename from test/test-frames/premature_end_of_dif2.hex rename to test/error-frames/premature_end_of_dif2.hex diff --git a/test/test-frames/premature_end_of_var_vif1.hex b/test/error-frames/premature_end_of_var_vif1.hex similarity index 100% rename from test/test-frames/premature_end_of_var_vif1.hex rename to test/error-frames/premature_end_of_var_vif1.hex diff --git a/test/test-frames/premature_end_of_vif1.hex b/test/error-frames/premature_end_of_vif1.hex similarity index 100% rename from test/test-frames/premature_end_of_vif1.hex rename to test/error-frames/premature_end_of_vif1.hex diff --git a/test/test-frames/too_long_var_vif.hex b/test/error-frames/too_long_var_vif.hex similarity index 100% rename from test/test-frames/too_long_var_vif.hex rename to test/error-frames/too_long_var_vif.hex diff --git a/test/test-frames/too_many_dife.hex b/test/error-frames/too_many_dife.hex similarity index 100% rename from test/test-frames/too_many_dife.hex rename to test/error-frames/too_many_dife.hex diff --git a/test/test-frames/too_many_vife.hex b/test/error-frames/too_many_vife.hex similarity index 100% rename from test/test-frames/too_many_vife.hex rename to test/error-frames/too_many_vife.hex diff --git a/test/test-frames/too_short_header.hex b/test/error-frames/too_short_header.hex similarity index 100% rename from test/test-frames/too_short_header.hex rename to test/error-frames/too_short_header.hex diff --git a/test/generate-xml.sh b/test/generate-xml.sh index a0ee783..d03aa1f 100755 --- a/test/generate-xml.sh +++ b/test/generate-xml.sh @@ -3,7 +3,7 @@ # Copyright (C) 2010-2012, Robert Johansson and contributors, Raditex AB # All rights reserved. # -# rSCADA +# rSCADA # http://www.rSCADA.se # info@rscada.se # @@ -33,27 +33,27 @@ if [ ! -d "$directory" ]; then fi for hexfile in "$directory"/*.hex; do - if [ ! -f "$hexfile" ]; then - continue - fi + if [ ! -f "$hexfile" ]; then + continue + fi filename=`basename $hexfile .hex` - + # Parse hex file and write XML in file ./mbus_parse_hex "$hexfile" > "$directory/$filename.xml.new" result=$? - + # Check parsing result if [ $result -ne 0 ]; then echo "Unable to generate XML for $hexfile" rm "$directory/$filename.xml.new" continue fi - + # Compare old XML with new XML and write in file diff -u "$directory/$filename.xml" "$directory/$filename.xml.new" 2> /dev/null > "$directory/$filename.dif" result=$? - + case "$result" in 0) # XML equal -> remove new @@ -65,7 +65,7 @@ for hexfile in "$directory"/*.hex; do cat "$directory/$filename.dif" && rm "$directory/$filename.dif" echo "" ;; - *) + *) # no old -> rename XML echo "Create $filename.xml" mv "$directory/$filename.xml.new" "$directory/$filename.xml" diff --git a/test/test-frames/ACW_Itron-BM-plus-m.hex b/test/test-frames/ACW_Itron-BM-plus-m.hex old mode 100755 new mode 100644 diff --git a/test/test-frames/ACW_Itron-BM-plus-m.xml b/test/test-frames/ACW_Itron-BM-plus-m.xml new file mode 100644 index 0000000..934c907 --- /dev/null +++ b/test/test-frames/ACW_Itron-BM-plus-m.xml @@ -0,0 +1,76 @@ + + + + + 11490378 + ACW + 14 + Itron BM +m + Cold water + 10 + 00 + 0000 + + + + Instantaneous value + 0 + Fabrication number + 11490378 + + + + Instantaneous value + 0 + Volume (m m^3) + 54321 + + + + Instantaneous value + 1 + Time Point (date) + 2000-00-00 + + + + Instantaneous value + 1 + Volume (m m^3) + 0 + + + + Instantaneous value + 0 + Time Point (time & date) + 2014-03-13T11:11:00 + + + + Instantaneous value + 0 + Operating time (days) + 0 + + + + Instantaneous value + 0 + Firmware version + 2 + + + + Instantaneous value + 0 + Software version + 6 + + + + Manufacturer specific + 00 01 75 13 + + + diff --git a/test/test-frames/ACW_Itron-CYBLE-M-Bus-14.hex b/test/test-frames/ACW_Itron-CYBLE-M-Bus-14.hex old mode 100755 new mode 100644 diff --git a/test/test-frames/ACW_Itron-CYBLE-M-Bus-14.xml b/test/test-frames/ACW_Itron-CYBLE-M-Bus-14.xml new file mode 100644 index 0000000..d5ee2c0 --- /dev/null +++ b/test/test-frames/ACW_Itron-CYBLE-M-Bus-14.xml @@ -0,0 +1,69 @@ + + + + + 9011523 + ACW + 20 + Itron CYBLE M-Bus 1.4 + Water + 37 + 00 + 0000 + + + + Instantaneous value + 0 + Fabrication number + 9011523 + + + + Instantaneous value + 0 + cust. ID + 09LA076755 + + + + Instantaneous value + 0 + Time Point (time & date) + 2014-03-13T14:26:00 + + + + Instantaneous value + 0 + bat. time + 2516 + + + + Instantaneous value + 0 + Volume (m m^3) + 31 + + + + Instantaneous value + 0 + Volume (m m^3) + 0 + + + + Instantaneous value + 1 + Volume (m m^3) + 31 + + + + Manufacturer specific + 00 01 1F + + + diff --git a/test/test-frames/EDC.xml b/test/test-frames/EDC.xml new file mode 100644 index 0000000..77bd59b --- /dev/null +++ b/test/test-frames/EDC.xml @@ -0,0 +1,207 @@ + + + + + 11120895 + EDC + 2 + + Heat: Outlet + 23 + 00 + 0000 + + + + Instantaneous value + 0 + 0 + 0 + Energy (kWh) + 35 + + + + Instantaneous value + 0 + 0 + 0 + Energy (kWh) + 465 + + + + Instantaneous value + 0 + 0 + 1 + Energy (kWh) + 0 + + + + Instantaneous value + 0 + 0 + 1 + Energy (kWh) + 0 + + + + Instantaneous value + 0 + 0 + 0 + Flow temperature (deg C) + 0.000000 + + + + Instantaneous value + 0 + 0 + 0 + Return temperature (deg C) + 0.000000 + + + + Instantaneous value + 0 + 0 + 1 + Flow temperature (deg C) + 0.000000 + + + + Instantaneous value + 0 + 0 + 1 + Return temperature (deg C) + 0.000000 + + + + Instantaneous value + 0 + 0 + 0 + Volume flow (m m^3/h) + -0.000000 + + + + Instantaneous value + 0 + 0 + 1 + Volume flow (m m^3/h) + 0.000000 + + + + Maximum value + 0 + 0 + 0 + Volume flow (m m^3/h) + -0.000000 + + + + Maximum value + 0 + 0 + 1 + Volume flow (m m^3/h) + 0.000000 + + + + Instantaneous value + 0 + 0 + 0 + Power (W) + 0.000000 + + + + Instantaneous value + 0 + 0 + 1 + Power (W) + 0.000000 + + + + Maximum value + 0 + 0 + 0 + Power (W) + -1370640613376.000000 + + + + Maximum value + 0 + 0 + 1 + Power (W) + 0.000000 + + + + Instantaneous value + 0 + Time Point (time & date) + 2012-07-10T15:25:00 + + + + Instantaneous value + 0 + 0 + 0 + C + 3571 + + + + Instantaneous value + 0 + 0 + 1 + C + 413 + + + + Instantaneous value + 0 + 0 + 0 + c + 1 + + + + Instantaneous value + 0 + 0 + 1 + c + 1 + + + + Manufacturer specific + + + + diff --git a/test/test-frames/EFE_Engelmann-Elster-SensoStar-2.hex b/test/test-frames/EFE_Engelmann-Elster-SensoStar-2.hex old mode 100755 new mode 100644 diff --git a/test/test-frames/EFE_Engelmann-Elster-SensoStar-2.xml b/test/test-frames/EFE_Engelmann-Elster-SensoStar-2.xml new file mode 100644 index 0000000..b744ab3 --- /dev/null +++ b/test/test-frames/EFE_Engelmann-Elster-SensoStar-2.xml @@ -0,0 +1,204 @@ + + + + + 24083345 + EFE + 0 + Engelmann / Elster SensoStar 2 + Heat: Outlet + 102 + 27 + 0000 + + + + Instantaneous value + 0 + Fabrication number + 24083345 + + + + Instantaneous value + 0 + Time Point (time & date) + 2014-03-12T14:23:00 + + + + Instantaneous value + 0 + Volume (1e-1 m^3) + 0 + + + + Instantaneous value + 1 + Volume (1e-1 m^3) + 0 + + + + Instantaneous value + 2 + 0 + 0 + Volume (1e-1 m^3) + 0 + + + + Instantaneous value + 0 + Energy (kWh) + 0 + + + + Instantaneous value + 1 + Energy (kWh) + 0 + + + + Instantaneous value + 2 + 0 + 0 + Energy (kWh) + 0 + + + + Instantaneous value + 0 + 1 + 0 + Energy (kWh) + 0 + + + + Instantaneous value + 1 + 1 + 0 + Energy (kWh) + 0 + + + + Instantaneous value + 2 + 1 + 0 + Energy (kWh) + 0 + + + + Instantaneous value + 1 + Time Point (date) + 2013-12-31 + + + + Instantaneous value + 0 + Time Point (date) + 2014-12-31 + + + + Instantaneous value + 0 + 2 + 0 + Energy (kWh) + 0 + + + + Instantaneous value + 0 + 3 + 0 + Energy (kWh) + 0 + + + + Instantaneous value + 0 + Volume flow (m m^3/h) + 0 + + + + Maximum value + 0 + Volume flow (m m^3/h) + 25 + + + + Instantaneous value + 0 + Power (W) + 0 + + + + Maximum value + 0 + Power (W) + 11 + + + + Instantaneous value + 0 + Flow temperature (deg C) + 22 + + + + Instantaneous value + 0 + Return temperature (deg C) + 21 + + + + Instantaneous value + 0 + Temperature Difference (1e-2 deg C) + 9 + + + + Instantaneous value + 0 + On time (days) + 524 + + + + Instantaneous value + 0 + Error flags + 0 + + + + Instantaneous value + 0 + Volume (my m^3) + 11 + + + diff --git a/test/test-frames/EFE_Engelmann-WaterStar.hex b/test/test-frames/EFE_Engelmann-WaterStar.hex old mode 100755 new mode 100644 diff --git a/test/test-frames/EFE_Engelmann-WaterStar.xml b/test/test-frames/EFE_Engelmann-WaterStar.xml new file mode 100644 index 0000000..278bbc1 --- /dev/null +++ b/test/test-frames/EFE_Engelmann-WaterStar.xml @@ -0,0 +1,101 @@ + + + + + 4990254 + EFE + 0 + Engelmann WaterStar + Hot water + 12 + 27 + 0000 + + + + Instantaneous value + 0 + Fabrication number + 4990254 + + + + Instantaneous value + 0 + Time Point (time & date) + 2014-03-13T12:10:00 + + + + Instantaneous value + 0 + Volume (m m^3) + 332 + + + + Instantaneous value + 1 + Volume (m m^3) + 331 + + + + Instantaneous value + 2 + 0 + 0 + Volume (m m^3) + 332 + + + + Instantaneous value + 1 + Time Point (date) + 2013-12-31 + + + + Instantaneous value + 0 + Time Point (date) + 2014-12-31 + + + + Instantaneous value + 0 + Volume flow (m m^3/h) + 0 + + + + Maximum value + 0 + Volume flow (m m^3/h) + 2070 + + + + Instantaneous value + 0 + On time (days) + 1191 + + + + Instantaneous value + 0 + Error flags + 0 + + + + Instantaneous value + 0 + Volume (my m^3) + 8 + + + diff --git a/test/test-frames/ELS_Elster-F96-Plus.hex b/test/test-frames/ELS_Elster-F96-Plus.hex old mode 100755 new mode 100644 diff --git a/test/test-frames/ELS_Elster-F96-Plus.xml b/test/test-frames/ELS_Elster-F96-Plus.xml new file mode 100644 index 0000000..41b3e1f --- /dev/null +++ b/test/test-frames/ELS_Elster-F96-Plus.xml @@ -0,0 +1,135 @@ + + + + + 44493951 + ELS + 47 + Elster F96 Plus + Heat: Outlet + 161 + 70 + 0000 + + + + Instantaneous value + 0 + Energy (kWh) + 0 + + + + Instantaneous value + 0 + 1 + 0 + Energy (kWh) + 0 + + + + Instantaneous value + 0 + 2 + 0 + Volume (m m^3) + 0 + + + + Instantaneous value + 0 + Volume (m m^3) + 0 + + + + Value during error state + 0 + Power (W) + 144445223 + + + + Value during error state + 0 + Volume flow (m m^3/h) + 1445223 + + + + Instantaneous value + 0 + Flow temperature (1e-1 deg C) + 227 + + + + Instantaneous value + 0 + Return temperature (1e-1 deg C) + 226 + + + + Instantaneous value + 0 + Temperature Difference (1e-1 deg C) + 1 + + + + Instantaneous value + 0 + Operating time (days) + 730 + + + + Instantaneous value + 0 + Time Point (time & date) + 2014-03-13T13:09:00 + + + + Instantaneous value + 1 + Energy (kWh) + 0 + + + + Instantaneous value + 1 + Volume (m m^3) + 0 + + + + Instantaneous value + 1 + 1 + 0 + Energy (kWh) + 0 + + + + Instantaneous value + 1 + 2 + 0 + Volume (m m^3) + 0 + + + + Instantaneous value + 1 + Time Point (date) + 2013-05-31 + + + diff --git a/test/test-frames/ELV-Elvaco-CMa10.hex b/test/test-frames/ELV-Elvaco-CMa10.hex new file mode 100644 index 0000000..08d3304 --- /dev/null +++ b/test/test-frames/ELV-Elvaco-CMa10.hex @@ -0,0 +1 @@ +68 53 53 68 08 0B 72 61 15 01 24 96 15 16 00 3F 00 00 00 01 FD 1B 02 02 FC 03 48 52 25 74 22 15 22 FC 03 48 52 25 74 24 0D 12 FC 03 48 52 25 74 C3 1C 02 65 2E 08 22 65 5C 05 12 65 A2 0B 01 72 18 42 65 2C 08 82 01 65 1F 08 0C 78 61 15 01 24 03 FD 0F 00 00 04 1F BD 16 diff --git a/test/test-frames/ELV-Elvaco-CMa10.xml b/test/test-frames/ELV-Elvaco-CMa10.xml new file mode 100644 index 0000000..a6f3eb9 --- /dev/null +++ b/test/test-frames/ELV-Elvaco-CMa10.xml @@ -0,0 +1,106 @@ + + + + + 24011561 + ELV + 22 + Elvaco CMa10 + Other + 63 + 00 + 0000 + + + + Instantaneous value + 0 + Digital input (binary) + 2 + + + + Instantaneous value + 0 + 1e-2 %RH + 5410 + + + + Minimum value + 0 + 1e-2 %RH + 3364 + + + + Maximum value + 0 + 1e-2 %RH + 7363 + + + + Instantaneous value + 0 + External temperature (1e-2 deg C) + 2094 + + + + Minimum value + 0 + External temperature (1e-2 deg C) + 1372 + + + + Maximum value + 0 + External temperature (1e-2 deg C) + 2978 + + + + Instantaneous value + 0 + Averaging Duration (hours) + 24 + + + + Instantaneous value + 1 + External temperature (1e-2 deg C) + 2092 + + + + Instantaneous value + 2 + 0 + 0 + External temperature (1e-2 deg C) + 2079 + + + + Instantaneous value + 0 + Fabrication number + 24011561 + + + + Instantaneous value + 0 + Software version + 262144 + + + + More records follow + + + + diff --git a/test/test-frames/EMU_EMU-Professional-375-M-Bus.hex b/test/test-frames/EMU_EMU-Professional-375-M-Bus.hex old mode 100755 new mode 100644 diff --git a/test/test-frames/EMU_EMU-Professional-375-M-Bus.xml b/test/test-frames/EMU_EMU-Professional-375-M-Bus.xml new file mode 100644 index 0000000..8b34fc2 --- /dev/null +++ b/test/test-frames/EMU_EMU-Professional-375-M-Bus.xml @@ -0,0 +1,255 @@ + + + + + 32629 + EMU + 16 + EMU Professional 3/75 M-Bus + Electricity + 2 + 00 + 0000 + + + + Instantaneous value + 0 + Fabrication number + 32629 + + + + Instantaneous value + 0 + 1 + 0 + Energy (Wh) + 1364 + + + + Instantaneous value + 0 + 2 + 0 + Energy (Wh) + 0 + + + + Instantaneous value + 0 + 1 + 2 + Energy (Wh) + 7854 + + + + Instantaneous value + 0 + 2 + 2 + Energy (Wh) + 0 + + + + Instantaneous value + 0 + Power (W) + -2 + + + + Instantaneous value + 0 + Power (W) + 0 + + + + Instantaneous value + 0 + Power (W) + 0 + + + + Instantaneous value + 0 + Power (W) + -2 + + + + Instantaneous value + 0 + 0 + 2 + Power (W) + 14 + + + + Instantaneous value + 0 + 0 + 2 + Power (W) + 0 + + + + Instantaneous value + 0 + 0 + 2 + Power (W) + 0 + + + + Instantaneous value + 0 + 0 + 2 + Power (W) + 14 + + + + Instantaneous value + 0 + 1e-1 V + 2257 + + + + Instantaneous value + 0 + 1e-1 V + 0 + + + + Instantaneous value + 0 + 1e-1 V + 0 + + + + Minimum value + 0 + 1e-1 V + 1874 + + + + Minimum value + 0 + 1e-1 V + 0 + + + + Minimum value + 0 + 1e-1 V + 0 + + + + Maximum value + 0 + 1e-1 V + 2410 + + + + Maximum value + 0 + 1e-1 V + 0 + + + + Maximum value + 0 + 1e-1 V + 0 + + + + Instantaneous value + 0 + m A + -66 + + + + Instantaneous value + 0 + m A + 0 + + + + Instantaneous value + 0 + m A + 0 + + + + Instantaneous value + 0 + m A + -66 + + + + Instantaneous value + 0 + Manufacturer specific + 13 + + + + Instantaneous value + 0 + Manufacturer specific + 0 + + + + Instantaneous value + 0 + Manufacturer specific + 0 + + + + Instantaneous value + 0 + Manufacturer specific + 500 + + + + Instantaneous value + 0 + Unrecognized VIF extension: 0x60 + 56 + + + + Instantaneous value + 0 + Error flags + 0 + + + diff --git a/test/test-frames/Elster-F2.xml b/test/test-frames/Elster-F2.xml index e020ffb..1a1e508 100644 --- a/test/test-frames/Elster-F2.xml +++ b/test/test-frames/Elster-F2.xml @@ -1,10 +1,11 @@ + 802657 SVM 8 - Elster F2 + Elster F2 / Deltamess F2 Heat: Outlet 70 00 diff --git a/test/test-frames/FIN-Finder-7E.23.8.230.0020.hex b/test/test-frames/FIN-Finder-7E.23.8.230.0020.hex new file mode 100644 index 0000000..b423d04 --- /dev/null +++ b/test/test-frames/FIN-Finder-7E.23.8.230.0020.hex @@ -0,0 +1 @@ +68 38 38 68 08 19 72 07 62 00 23 2E 19 23 02 92 00 00 00 8C 10 04 68 28 17 00 8C 11 04 68 28 17 00 02 FD C9 FF 01 E6 00 02 FD DB FF 01 06 00 02 AC FF 01 09 00 82 40 AC FF 01 FD FF 5B 16 diff --git a/test/test-frames/FIN-Finder-7E.23.8.230.0020.xml b/test/test-frames/FIN-Finder-7E.23.8.230.0020.xml new file mode 100644 index 0000000..09425ff --- /dev/null +++ b/test/test-frames/FIN-Finder-7E.23.8.230.0020.xml @@ -0,0 +1,63 @@ + + + + + 23006207 + FIN + 35 + + Electricity + 146 + 00 + 0000 + + + + Instantaneous value + 0 + 1 + 0 + Energy (10 Wh) + 172868 + + + + Instantaneous value + 2 + 1 + 0 + Energy (10 Wh) + 172868 + + + + Instantaneous value + 0 + V + 230 + + + + Instantaneous value + 0 + 1e-1 A + 6 + + + + Instantaneous value + 0 + Power (10 W) + 9 + + + + Instantaneous value + 0 + 0 + 1 + Power (10 W) + -3 + + + diff --git a/test/test-frames/GWF-MTKcoder.hex b/test/test-frames/GWF-MTKcoder.hex new file mode 100644 index 0000000..f35deb0 --- /dev/null +++ b/test/test-frames/GWF-MTKcoder.hex @@ -0,0 +1 @@ +68 1B 1B 68 08 01 72 07 20 18 00 E6 1E 35 07 4C 00 00 00 0C 78 07 20 18 00 0C 16 69 02 00 00 96 16 diff --git a/test/test-frames/GWF-MTKcoder.xml b/test/test-frames/GWF-MTKcoder.xml new file mode 100644 index 0000000..b4ca4e4 --- /dev/null +++ b/test/test-frames/GWF-MTKcoder.xml @@ -0,0 +1,29 @@ + + + + + 182007 + GWF + 53 + + Water + 76 + 00 + 0000 + + + + Instantaneous value + 0 + Fabrication number + 182007 + + + + Instantaneous value + 0 + Volume ( m^3) + 269 + + + diff --git a/test/test-frames/REL-Relay-Padpuls2.hex b/test/test-frames/REL-Relay-Padpuls2.hex new file mode 100644 index 0000000..03bcb0e --- /dev/null +++ b/test/test-frames/REL-Relay-Padpuls2.hex @@ -0,0 +1 @@ +68 2F 2F 68 08 16 72 01 63 21 11 AC 48 41 03 B1 00 00 00 0C 14 81 60 87 02 04 6D A1 15 E9 17 42 6C DF 1C 4C 14 82 73 59 02 42 EC 7E FF 1C 0F C0 01 01 0C BD 16 diff --git a/test/test-frames/REL-Relay-Padpuls2.xml b/test/test-frames/REL-Relay-Padpuls2.xml new file mode 100644 index 0000000..ab29e00 --- /dev/null +++ b/test/test-frames/REL-Relay-Padpuls2.xml @@ -0,0 +1,55 @@ + + + + + 11216301 + REL + 65 + + Gas + 177 + 00 + 0000 + + + + Instantaneous value + 0 + Volume (1e-2 m^3) + 2876081 + + + + Instantaneous value + 0 + Time Point (time & date) + 2000-01-00T00:00:00 + + + + Instantaneous value + 1 + Time Point (date) + 2014-12-31 + + + + Instantaneous value + 1 + Volume (1e-2 m^3) + 2597382 + + + + Instantaneous value + 1 + Time Point (date) + 2015-12-31 + + + + Manufacturer specific + C0 01 01 0C + + + diff --git a/test/test-frames/SBC_Saia-Burgess-ALE3.hex b/test/test-frames/SBC_Saia-Burgess-ALE3.hex old mode 100755 new mode 100644 diff --git a/test/test-frames/SBC_Saia-Burgess-ALE3.xml b/test/test-frames/SBC_Saia-Burgess-ALE3.xml new file mode 100644 index 0000000..55582bb --- /dev/null +++ b/test/test-frames/SBC_Saia-Burgess-ALE3.xml @@ -0,0 +1,171 @@ + + + + + 19000055 + SBC + 22 + Saia-Burgess ALE3 + Electricity + 191 + 00 + 0000 + + + + Instantaneous value + 0 + 1 + 0 + Energy (10 Wh) + 293 + + + + Instantaneous value + 2 + 1 + 0 + Energy (10 Wh) + 293 + + + + Instantaneous value + 0 + 2 + 0 + Energy (10 Wh) + 6 + + + + Instantaneous value + 2 + 2 + 0 + Energy (10 Wh) + 6 + + + + Instantaneous value + 0 + V + 223 + + + + Instantaneous value + 0 + 1e-1 A + 0 + + + + Instantaneous value + 0 + Power (10 W) + 0 + + + + Instantaneous value + 0 + 0 + 1 + Power (10 W) + 0 + + + + Instantaneous value + 0 + V + 0 + + + + Instantaneous value + 0 + 1e-1 A + 0 + + + + Instantaneous value + 0 + Power (10 W) + 0 + + + + Instantaneous value + 0 + 0 + 1 + Power (10 W) + 0 + + + + Instantaneous value + 0 + V + 0 + + + + Instantaneous value + 0 + 1e-1 A + 0 + + + + Instantaneous value + 0 + Power (10 W) + 0 + + + + Instantaneous value + 0 + 0 + 1 + Power (10 W) + 0 + + + + Instantaneous value + 0 + Manufacturer specific + 0 + + + + Instantaneous value + 0 + Power (10 W) + 0 + + + + Instantaneous value + 0 + 0 + 1 + Power (10 W) + 0 + + + + Instantaneous value + 0 + Manufacturer specific + 0 + + + diff --git a/test/test-frames/SEN_Sensus-PolluStat-E.hex b/test/test-frames/SEN_Sensus-PolluStat-E.hex old mode 100755 new mode 100644 diff --git a/test/test-frames/SEN_Sensus-PolluStat-E.xml b/test/test-frames/SEN_Sensus-PolluStat-E.xml new file mode 100644 index 0000000..7241b19 --- /dev/null +++ b/test/test-frames/SEN_Sensus-PolluStat-E.xml @@ -0,0 +1,83 @@ + + + + + 21265095 + SEN + 14 + Sensus PolluStat E + Heat: Outlet + 181 + 10 + 0000 + + + + Instantaneous value + 0 + Energy (kWh) + 0 + + + + Instantaneous value + 0 + Volume (m m^3) + 0 + + + + Instantaneous value + 0 + Volume flow (m m^3/h) + 0 + + + + Instantaneous value + 0 + Power (W) + 0 + + + + Instantaneous value + 0 + Flow temperature (1e-1 deg C) + 201 + + + + Instantaneous value + 0 + Return temperature (1e-1 deg C) + 202 + + + + Instantaneous value + 0 + Temperature Difference (m deg C) + 0 + + + + Instantaneous value + 0 + Fabrication number + 21265095 + + + + Instantaneous value + 0 + Customer location + 21265095 + + + + More records follow + + + + diff --git a/test/test-frames/SEN_Sensus-PolluTherm.hex b/test/test-frames/SEN_Sensus-PolluTherm.hex old mode 100755 new mode 100644 diff --git a/test/test-frames/SEN_Sensus-PolluTherm.xml b/test/test-frames/SEN_Sensus-PolluTherm.xml new file mode 100644 index 0000000..e66df9d --- /dev/null +++ b/test/test-frames/SEN_Sensus-PolluTherm.xml @@ -0,0 +1,78 @@ + + + + + 24351689 + SEN + 11 + Sensus PolluTherm + Heat: Outlet + 84 + 10 + 0000 + + + + Instantaneous value + 0 + Energy (10 kWh) + 0 + + + + Instantaneous value + 0 + Volume (1e-2 m^3) + 0 + + + + Instantaneous value + 0 + Volume flow (1e-2 m^3/h) + 0 + + + + Instantaneous value + 0 + Power (10 W) + 0 + + + + Value during error state + 0 + Flow temperature (1e-1 deg C) + 0 + + + + Value during error state + 0 + Return temperature (1e-1 deg C) + 0 + + + + Value during error state + 0 + Temperature Difference (m deg C) + 0 + + + + Instantaneous value + 0 + Fabrication number + 24351689 + + + + Instantaneous value + 0 + Customer location + 24351689 + + + diff --git a/test/test-frames/SLB_CF-Compact-Integral-MK-MaXX.hex b/test/test-frames/SLB_CF-Compact-Integral-MK-MaXX.hex old mode 100755 new mode 100644 diff --git a/test/test-frames/SLB_CF-Compact-Integral-MK-MaXX.xml b/test/test-frames/SLB_CF-Compact-Integral-MK-MaXX.xml new file mode 100644 index 0000000..0502049 --- /dev/null +++ b/test/test-frames/SLB_CF-Compact-Integral-MK-MaXX.xml @@ -0,0 +1,122 @@ + + + + + 11817314 + SLB + 6 + CF Compact / Integral MK MaXX + Heat: Outlet + 3 + 00 + 0000 + + + + Instantaneous value + 0 + Fabrication number + 11817314 + + + + Instantaneous value + 0 + Energy (kWh) + 0 + + + + Instantaneous value + 0 + Volume (1e-2 m^3) + 2 + + + + Instantaneous value + 0 + Volume flow (m m^3/h) + 0 + + + + Instantaneous value + 0 + Flow temperature (1e-1 deg C) + 218 + + + + Instantaneous value + 0 + Return temperature (1e-1 deg C) + 220 + + + + Instantaneous value + 0 + Temperature Difference (1e-2 deg C) + 1500018 + + + + Value during error state + 0 + Operating time (hours) + 0 + + + + Instantaneous value + 0 + Operating time (days) + 1176 + + + + Instantaneous value + 0 + Time Point (time & date) + 2014-03-13T14:02:00 + + + + Instantaneous value + 0 + 0 + 1 + Volume (1e-2 m^3) + 123 + + + + Instantaneous value + 0 + 0 + 2 + Volume (1e-2 m^3) + 321 + + + + Instantaneous value + 0 + Firmware version + 3 + + + + Instantaneous value + 0 + Software version + 18 + + + + Manufacturer specific + 00 16 + + + diff --git a/test/test-frames/ZRM_Minol-Minocal-C2.hex b/test/test-frames/ZRM_Minol-Minocal-C2.hex old mode 100755 new mode 100644 diff --git a/test/test-frames/ZRM_Minol-Minocal-C2.xml b/test/test-frames/ZRM_Minol-Minocal-C2.xml new file mode 100644 index 0000000..efcad3c --- /dev/null +++ b/test/test-frames/ZRM_Minol-Minocal-C2.xml @@ -0,0 +1,301 @@ + + + + + 31425084 + ZRM + 129 + Minol Minocal C2 + Heat: Outlet + 115 + 27 + 0000 + + + + Instantaneous value + 0 + Energy (kWh) + 3 + + + + Instantaneous value + 0 + Error flags + 0 + + + + Instantaneous value + 8 + 0 + 0 + Time Point (time & date) + 2015-01-01T00:00:00 + + + + Instantaneous value + 8 + 0 + 0 + Energy (kWh) + 3 + + + + Instantaneous value + 10 + 0 + 0 + Energy (kWh) + 3 + + + + Instantaneous value + 0 + Volume (m m^3) + 74 + + + + Instantaneous value + 0 + Volume flow (m m^3/h) + 0 + + + + Maximum value + 1 + Volume flow (m m^3/h) + 43 + + + + Maximum value + 1 + Time Point (time & date) + 2011-09-01T08:30:00 + + + + Instantaneous value + 0 + Power (100 W) + 0 + + + + Maximum value + 2 + 0 + 0 + Power (100 W) + 20 + + + + Maximum value + 2 + 0 + 0 + Time Point (time & date) + 2011-09-01T08:30:00 + + + + Instantaneous value + 0 + Flow temperature (1e-2 deg C) + 2071 + + + + Instantaneous value + 0 + Return temperature (1e-2 deg C) + 2038 + + + + Instantaneous value + 0 + Time Point (time & date) + 2014-03-13T12:45:00 + + + + Instantaneous value + 32 + 0 + 0 + Time Point (date) + 2014-03-01 + + + + Instantaneous value + 32 + 0 + 0 + Energy (kWh) + 3 + + + + Instantaneous value + 33 + 0 + 0 + Time Point (date) + 2014-02-01 + + + + Instantaneous value + 33 + 0 + 0 + Energy (kWh) + 3 + + + + Instantaneous value + 34 + 0 + 0 + Time Point (date) + 2014-01-01 + + + + Instantaneous value + 34 + 0 + 0 + Energy (kWh) + 3 + + + + Instantaneous value + 35 + 0 + 0 + Time Point (date) + 2013-12-01 + + + + Instantaneous value + 35 + 0 + 0 + Energy (kWh) + 3 + + + + Instantaneous value + 36 + 0 + 0 + Time Point (date) + 2013-11-01 + + + + Instantaneous value + 36 + 0 + 0 + Energy (kWh) + 3 + + + + Instantaneous value + 37 + 0 + 0 + Time Point (date) + 2013-10-01 + + + + Instantaneous value + 37 + 0 + 0 + Energy (kWh) + 3 + + + + Instantaneous value + 38 + 0 + 0 + Time Point (date) + 2013-09-01 + + + + Instantaneous value + 38 + 0 + 0 + Energy (kWh) + 3 + + + + Instantaneous value + 39 + 0 + 0 + Time Point (date) + 2013-08-01 + + + + Instantaneous value + 39 + 0 + 0 + Energy (kWh) + 3 + + + + Maximum value + 32 + 0 + 0 + Time Point (date) + 2014-03-01 + + + + Maximum value + 32 + 0 + 0 + Volume flow (m m^3/h) + 0 + + + + Maximum value + 32 + 0 + 0 + Power (100 W) + 0 + + + diff --git a/test/test-frames/abb_f95.xml b/test/test-frames/abb_f95.xml index 7c29d3a..4ddaadf 100644 --- a/test/test-frames/abb_f95.xml +++ b/test/test-frames/abb_f95.xml @@ -1,3 +1,4 @@ + @@ -13,78 +14,95 @@ Instantaneous value + 0 Energy (100 Wh) 0 Instantaneous value + 0 Volume (1e-4 m^3) 742 Value during error state + 0 Power (1e-1 W) 144521543 Value during error state + 0 Volume flow (1e-4 m^3/h) 1521543 Instantaneous value + 0 Flow temperature (1e-1 deg C) 204 Instantaneous value + 0 Return temperature (1e-1 deg C) 204 Instantaneous value + 0 Temperature Difference (1e-1 deg C) 0 Instantaneous value + 0 Time Point (time & date) 2012-01-13T16:34:00 Instantaneous value + 1 Energy (100 Wh) 0 Instantaneous value + 1 Time Point (time & date) 2011-04-30T23:59:00 Instantaneous value + 1 Time Point (time & date) 2012-04-30T23:59:00 Instantaneous value + 2 + 0 + 0 Energy (100 Wh) 0 Instantaneous value + 2 + 0 + 0 Time Point (time & date) 2011-12-31T23:59:00 diff --git a/test/test-frames/allmess_cf50.xml b/test/test-frames/allmess_cf50.xml index 612bdd9..ce72541 100644 --- a/test/test-frames/allmess_cf50.xml +++ b/test/test-frames/allmess_cf50.xml @@ -1,3 +1,4 @@ + diff --git a/test/test-frames/electricity-meter-1.xml b/test/test-frames/electricity-meter-1.xml index 8d25237..5a32f2e 100644 --- a/test/test-frames/electricity-meter-1.xml +++ b/test/test-frames/electricity-meter-1.xml @@ -1,3 +1,4 @@ + diff --git a/test/test-frames/electricity-meter-2.xml b/test/test-frames/electricity-meter-2.xml index 1045933..d5a1c47 100644 --- a/test/test-frames/electricity-meter-2.xml +++ b/test/test-frames/electricity-meter-2.xml @@ -1,3 +1,4 @@ + diff --git a/test/test-frames/els_falcon.xml b/test/test-frames/els_falcon.xml new file mode 100644 index 0000000..ad5a405 --- /dev/null +++ b/test/test-frames/els_falcon.xml @@ -0,0 +1,76 @@ + + + + + 70112345 + ELS + 10 + + Water + 2 + 00 + 0000 + + + + Instantaneous value + 0 + Volume (m m^3) + 1234567 + + + + Instantaneous value + 0 + Time Point (time & date) + 2007-02-06T13:58:00 + + + + Instantaneous value + 1 + Time Point (date) + 2007-01-01 + + + + Instantaneous value + 1 + Volume (m m^3) + 456951 + + + + Instantaneous value + 1 + Time Point (date) + 2008-01-01 + + + + Maximum value + 0 + Volume flow (m m^3/h) + 5945 + + + + Instantaneous value + 1 + Time Point (date) + 2008-01-01 + + + + Instantaneous value + 0 + Volume flow (m m^3/h) + 6137 + + + + Manufacturer specific + 0E 42 20 01 01 01 00 05 08 5E 01 20 3D 12 08 3D 12 08 00 + + + diff --git a/test/test-frames/els_tmpa_telegramm1.xml b/test/test-frames/els_tmpa_telegramm1.xml index 4a22242..697807a 100644 --- a/test/test-frames/els_tmpa_telegramm1.xml +++ b/test/test-frames/els_tmpa_telegramm1.xml @@ -1,3 +1,4 @@ + diff --git a/test/test-frames/elv_temp_humid.xml b/test/test-frames/elv_temp_humid.xml index 6ebb57a..abf07eb 100644 --- a/test/test-frames/elv_temp_humid.xml +++ b/test/test-frames/elv_temp_humid.xml @@ -1,3 +1,4 @@ + diff --git a/test/test-frames/emh_diz.xml b/test/test-frames/emh_diz.xml index 46dc68a..fc83cd6 100644 --- a/test/test-frames/emh_diz.xml +++ b/test/test-frames/emh_diz.xml @@ -1,3 +1,4 @@ + diff --git a/test/test-frames/frame1.xml b/test/test-frames/frame1.xml index 6b7daa7..13d24cd 100644 --- a/test/test-frames/frame1.xml +++ b/test/test-frames/frame1.xml @@ -1,3 +1,4 @@ + diff --git a/test/test-frames/frame2.xml b/test/test-frames/frame2.xml index 2b1211e..a7eaeca 100644 --- a/test/test-frames/frame2.xml +++ b/test/test-frames/frame2.xml @@ -1,3 +1,4 @@ + @@ -13,18 +14,25 @@ Instantaneous value + 0 Volume (m m^3) 12565 Maximum value + 5 + 0 + 0 Volume flow (m m^3/h) 113 Instantaneous value + 0 + 2 + 1 Energy (10 Wh) 21837 diff --git a/test/test-frames/gmc_emmod206.xml b/test/test-frames/gmc_emmod206.xml index ab18ed2..a62b611 100644 --- a/test/test-frames/gmc_emmod206.xml +++ b/test/test-frames/gmc_emmod206.xml @@ -1,3 +1,4 @@ + diff --git a/test/test-frames/kamstrup_multical_601.xml b/test/test-frames/kamstrup_multical_601.xml index 5b74577..8314ced 100644 --- a/test/test-frames/kamstrup_multical_601.xml +++ b/test/test-frames/kamstrup_multical_601.xml @@ -1,3 +1,4 @@ + diff --git a/test/test-frames/manual_frame2.xml b/test/test-frames/manual_frame2.xml index 131dd59..c612475 100644 --- a/test/test-frames/manual_frame2.xml +++ b/test/test-frames/manual_frame2.xml @@ -1,3 +1,4 @@ + diff --git a/test/test-frames/manual_frame3.xml b/test/test-frames/manual_frame3.xml index 34a51b5..a7eaeca 100644 --- a/test/test-frames/manual_frame3.xml +++ b/test/test-frames/manual_frame3.xml @@ -1,3 +1,4 @@ + diff --git a/test/test-frames/manual_frame7.xml b/test/test-frames/manual_frame7.xml index a3c2dad..290bc4e 100644 --- a/test/test-frames/manual_frame7.xml +++ b/test/test-frames/manual_frame7.xml @@ -1,3 +1,4 @@ + diff --git a/test/test-frames/nzr_dhz_5_63.xml b/test/test-frames/nzr_dhz_5_63.xml index 40b91b2..fd056d7 100644 --- a/test/test-frames/nzr_dhz_5_63.xml +++ b/test/test-frames/nzr_dhz_5_63.xml @@ -1,3 +1,4 @@ + diff --git a/test/test-frames/rel_padpuls2.xml b/test/test-frames/rel_padpuls2.xml new file mode 100644 index 0000000..6482285 --- /dev/null +++ b/test/test-frames/rel_padpuls2.xml @@ -0,0 +1,55 @@ + + + + + 4 + REL + 18 + + Other + 1 + 00 + 0000 + + + + Instantaneous value + 0 + Energy (mWh) + 0 + + + + Instantaneous value + 0 + Time Point (time & date) + 2001-09-20T13:16:00 + + + + Instantaneous value + 1 + Time Point (date) + 2000-12-31 + + + + Instantaneous value + 1 + Energy (mWh) + 0 + + + + Instantaneous value + 1 + Time Point (date) + 2001-12-31 + + + + Manufacturer specific + 43 01 01 00 + + + diff --git a/test/test-frames/rel_padpuls3.xml b/test/test-frames/rel_padpuls3.xml new file mode 100644 index 0000000..3b41127 --- /dev/null +++ b/test/test-frames/rel_padpuls3.xml @@ -0,0 +1,55 @@ + + + + + 1030101 + REL + 64 + + Heat Cost Allocator + 30 + 00 + 0000 + + + + Instantaneous value + 0 + Units for H.C.A. + 1987 + + + + Instantaneous value + 0 + Time Point (time & date) + 2000-12-31T10:41:00 + + + + Instantaneous value + 1 + Time Point (date) + 2000-12-31 + + + + Instantaneous value + 1 + Units for H.C.A. + 1302 + + + + Instantaneous value + 1 + Time Point (date) + 2001-12-31 + + + + Manufacturer specific + C0 01 01 0C + + + diff --git a/test/test-frames/svm_f22_telegram1.xml b/test/test-frames/svm_f22_telegram1.xml index 19f4743..93cd0c6 100644 --- a/test/test-frames/svm_f22_telegram1.xml +++ b/test/test-frames/svm_f22_telegram1.xml @@ -1,10 +1,11 @@ + 1006089 SVM 9 - Kamstrup SVM F22 + Elster F4 / Kamstrup SVM F22 Heat: Inlet 148 70 @@ -13,78 +14,97 @@ Instantaneous value + 0 Energy (kWh) 28014 Instantaneous value + 0 Volume (m m^3) 640581 Instantaneous value + 0 + 0 + 1 Volume (m m^3) 640581 Instantaneous value + 0 Flow temperature (deg C) 243 Instantaneous value + 0 Return temperature (deg C) 243 Instantaneous value + 0 Temperature Difference (1e-1 deg C) 0 Instantaneous value + 0 On time (hours) 6370 Instantaneous value + 0 Operating time (hours) 6363 Instantaneous value + 0 Volume flow (m m^3/h) 0 Instantaneous value + 0 Power (10 W) 0 Instantaneous value + 0 Time Point (time & date) 2021-02-08T21:12:00 Instantaneous value + 0 + 0 + 1 Units for H.C.A. 0 Instantaneous value + 0 + 0 + 2 Units for H.C.A. 0 diff --git a/test/test-frames/wmbus-converted.xml b/test/test-frames/wmbus-converted.xml index e7f0686..742426a 100644 --- a/test/test-frames/wmbus-converted.xml +++ b/test/test-frames/wmbus-converted.xml @@ -1,3 +1,4 @@ +