diff --git a/test/test-frames/amt_calec_mb.hex b/test/test-frames/amt_calec_mb.hex
new file mode 100644
index 0000000..942b40d
--- /dev/null
+++ b/test/test-frames/amt_calec_mb.hex
@@ -0,0 +1 @@
+68 38 38 68 08 C8 72 09 31 54 03 B4 05 B0 04 C9 10 FF FF 03 22 9A 00 00 05 2E A0 C8 51 46 05 3E B4 E3 D7 42 05 5B 90 D3 07 43 05 5F 0E AA E7 41 05 63 9C BC D5 42 04 6D 10 09 05 C5 77 16
diff --git a/test/test-frames/amt_calec_mb.norm.xml b/test/test-frames/amt_calec_mb.norm.xml
new file mode 100644
index 0000000..4eef3de
--- /dev/null
+++ b/test/test-frames/amt_calec_mb.norm.xml
@@ -0,0 +1,71 @@
+
+
+
+
+ 3543109
+ AMT
+ 176
+ Aquametro CALEC MB
+ Heat: Outlet
+ 201
+ 10
+ FFFF
+
+
+
+ Instantaneous value
+ 0
+ s
+ On time
+ 554400.000000
+
+
+
+ Instantaneous value
+ 0
+ W
+ Power
+ 13426156.250000
+
+
+
+ Instantaneous value
+ 0
+ m^3/h
+ Volume flow
+ 107.944733
+
+
+
+ Instantaneous value
+ 0
+ °C
+ Flow temperature
+ 135.826416
+
+
+
+ Instantaneous value
+ 0
+ °C
+ Return temperature
+ 28.958035
+
+
+
+ Instantaneous value
+ 0
+ K
+ Temperature difference
+ 106.868378
+
+
+
+ Instantaneous value
+ 0
+ -
+ Time point (date & time)
+ 2096-05-05T09:16:00Z
+
+
+
diff --git a/test/test-frames/amt_calec_mb.xml b/test/test-frames/amt_calec_mb.xml
new file mode 100644
index 0000000..6e4ab73
--- /dev/null
+++ b/test/test-frames/amt_calec_mb.xml
@@ -0,0 +1,64 @@
+
+
+
+
+ 3543109
+ AMT
+ 176
+ Aquametro CALEC MB
+ Heat: Outlet
+ 201
+ 10
+ FFFF
+
+
+
+ Instantaneous value
+ 0
+ On time (hours)
+ 154
+
+
+
+ Instantaneous value
+ 0
+ Power (kW)
+ 13426.156250
+
+
+
+ Instantaneous value
+ 0
+ Volume flow ( m^3/h)
+ 107.944733
+
+
+
+ Instantaneous value
+ 0
+ Flow temperature (deg C)
+ 135.826416
+
+
+
+ Instantaneous value
+ 0
+ Return temperature (deg C)
+ 28.958035
+
+
+
+ Instantaneous value
+ 0
+ Temperature Difference ( deg C)
+ 106.868378
+
+
+
+ Instantaneous value
+ 0
+ Time Point (time & date)
+ 2096-05-05T09:16:00
+
+
+
diff --git a/test/test-frames/eastron_sdm630.hex b/test/test-frames/eastron_sdm630.hex
new file mode 100644
index 0000000..5666f2e
--- /dev/null
+++ b/test/test-frames/eastron_sdm630.hex
@@ -0,0 +1 @@
+68 90 90 68 08 0A 72 78 65 34 21 24 40 01 02 55 00 00 00 0B FD 47 56 34 12 0B FD 47 56 34 12 0B FD 47 56 34 12 0B FD 47 56 34 12 0B FD 47 56 34 12 0B FD 47 56 34 12 0B FD 59 56 34 12 0B FD 59 56 34 12 0B FD 59 56 34 12 0B FD 59 56 34 12 0B 2A 56 34 12 0B 2A 56 34 12 0B 2A 56 34 12 0B 2A 56 34 12 0B FD 3A 56 34 12 0B FD 3A 56 34 12 0B FD 3A 56 34 12 0B FD 3A 56 34 12 0A FD 3A 00 05 0A FD 3A 05 00 0A FD 3A 05 00 0A FD 3A 05 00 0A FD 3A 50 00 4D 16
diff --git a/test/test-frames/eastron_sdm630.norm.xml b/test/test-frames/eastron_sdm630.norm.xml
new file mode 100644
index 0000000..f3fbbeb
--- /dev/null
+++ b/test/test-frames/eastron_sdm630.norm.xml
@@ -0,0 +1,199 @@
+
+
+
+
+ 21346578
+ PAD
+ 1
+
+ Electricity
+ 85
+ 00
+ 0000
+
+
+
+ Instantaneous value
+ 0
+ V
+ Voltage
+ 1234.560000
+
+
+
+ Instantaneous value
+ 0
+ V
+ Voltage
+ 1234.560000
+
+
+
+ Instantaneous value
+ 0
+ V
+ Voltage
+ 1234.560000
+
+
+
+ Instantaneous value
+ 0
+ V
+ Voltage
+ 1234.560000
+
+
+
+ Instantaneous value
+ 0
+ V
+ Voltage
+ 1234.560000
+
+
+
+ Instantaneous value
+ 0
+ V
+ Voltage
+ 1234.560000
+
+
+
+ Instantaneous value
+ 0
+ A
+ Current
+ 123.456000
+
+
+
+ Instantaneous value
+ 0
+ A
+ Current
+ 123.456000
+
+
+
+ Instantaneous value
+ 0
+ A
+ Current
+ 123.456000
+
+
+
+ Instantaneous value
+ 0
+ A
+ Current
+ 123.456000
+
+
+
+ Instantaneous value
+ 0
+ W
+ Power
+ 12345.600000
+
+
+
+ Instantaneous value
+ 0
+ W
+ Power
+ 12345.600000
+
+
+
+ Instantaneous value
+ 0
+ W
+ Power
+ 12345.600000
+
+
+
+ Instantaneous value
+ 0
+ W
+ Power
+ 12345.600000
+
+
+
+ Instantaneous value
+ 0
+
+ Dimensionless
+ 123456.000000
+
+
+
+ Instantaneous value
+ 0
+
+ Dimensionless
+ 123456.000000
+
+
+
+ Instantaneous value
+ 0
+
+ Dimensionless
+ 123456.000000
+
+
+
+ Instantaneous value
+ 0
+
+ Dimensionless
+ 123456.000000
+
+
+
+ Instantaneous value
+ 0
+
+ Dimensionless
+ 500.000000
+
+
+
+ Instantaneous value
+ 0
+
+ Dimensionless
+ 5.000000
+
+
+
+ Instantaneous value
+ 0
+
+ Dimensionless
+ 5.000000
+
+
+
+ Instantaneous value
+ 0
+
+ Dimensionless
+ 5.000000
+
+
+
+ Instantaneous value
+ 0
+
+ Dimensionless
+ 50.000000
+
+
+
diff --git a/test/test-frames/eastron_sdm630.xml b/test/test-frames/eastron_sdm630.xml
new file mode 100644
index 0000000..2de4352
--- /dev/null
+++ b/test/test-frames/eastron_sdm630.xml
@@ -0,0 +1,176 @@
+
+
+
+
+ 21346578
+ PAD
+ 1
+
+ Electricity
+ 85
+ 00
+ 0000
+
+
+
+ Instantaneous value
+ 0
+ 1e-2 V
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ 1e-2 V
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ 1e-2 V
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ 1e-2 V
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ 1e-2 V
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ 1e-2 V
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ m A
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ m A
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ m A
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ m A
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ Power (1e-1 W)
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ Power (1e-1 W)
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ Power (1e-1 W)
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ Power (1e-1 W)
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ dimensionless / no VIF
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ dimensionless / no VIF
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ dimensionless / no VIF
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ dimensionless / no VIF
+ 123456
+
+
+
+ Instantaneous value
+ 0
+ dimensionless / no VIF
+ 500
+
+
+
+ Instantaneous value
+ 0
+ dimensionless / no VIF
+ 5
+
+
+
+ Instantaneous value
+ 0
+ dimensionless / no VIF
+ 5
+
+
+
+ Instantaneous value
+ 0
+ dimensionless / no VIF
+ 5
+
+
+
+ Instantaneous value
+ 0
+ dimensionless / no VIF
+ 50
+
+
+
diff --git a/test/test-frames/sen_pollucom_e.hex b/test/test-frames/sen_pollucom_e.hex
new file mode 100644
index 0000000..76f0a87
--- /dev/null
+++ b/test/test-frames/sen_pollucom_e.hex
@@ -0,0 +1 @@
+68 42 42 68 08 00 72 45 00 94 63 AE 4C 08 04 F9 00 00 00 0C 06 19 90 01 00 0C 13 19 11 62 01 0C 3B 00 00 00 00 0C 2B 00 00 00 00 02 5A 67 01 02 5E E9 00 03 60 46 31 00 0C 78 45 00 94 63 0C FD 10 45 00 94 63 1F B6 16
diff --git a/test/test-frames/sen_pollucom_e.norm.xml b/test/test-frames/sen_pollucom_e.norm.xml
new file mode 100644
index 0000000..1c79a73
--- /dev/null
+++ b/test/test-frames/sen_pollucom_e.norm.xml
@@ -0,0 +1,95 @@
+
+
+
+
+ 63940045
+ SEN
+ 8
+ Sensus PolluCom E
+ Heat: Outlet
+ 249
+ 00
+ 0000
+
+
+
+ Instantaneous value
+ 0
+ Wh
+ Energy
+ 19019000.000000
+
+
+
+ Instantaneous value
+ 0
+ m^3
+ Volume
+ 1621.119000
+
+
+
+ Instantaneous value
+ 0
+ m^3/h
+ Volume flow
+ 0.000000
+
+
+
+ Instantaneous value
+ 0
+ W
+ Power
+ 0.000000
+
+
+
+ Instantaneous value
+ 0
+ °C
+ Flow temperature
+ 35.900000
+
+
+
+ Instantaneous value
+ 0
+ °C
+ Return temperature
+ 23.300000
+
+
+
+ Instantaneous value
+ 0
+ K
+ Temperature difference
+ 12.614000
+
+
+
+ Instantaneous value
+ 0
+
+ Fabrication No
+ 63940045.000000
+
+
+
+ Instantaneous value
+ 0
+
+ Customer location
+ 63940045.000000
+
+
+
+ More records follow
+ 0
+
+
+
+
+
+
diff --git a/test/test-frames/sen_pollucom_e.xml b/test/test-frames/sen_pollucom_e.xml
new file mode 100644
index 0000000..1c3653b
--- /dev/null
+++ b/test/test-frames/sen_pollucom_e.xml
@@ -0,0 +1,83 @@
+
+
+
+
+ 63940045
+ SEN
+ 8
+ Sensus PolluCom E
+ Heat: Outlet
+ 249
+ 00
+ 0000
+
+
+
+ Instantaneous value
+ 0
+ Energy (kWh)
+ 19019
+
+
+
+ Instantaneous value
+ 0
+ Volume (m m^3)
+ 1621119
+
+
+
+ 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)
+ 359
+
+
+
+ Instantaneous value
+ 0
+ Return temperature (1e-1 deg C)
+ 233
+
+
+
+ Instantaneous value
+ 0
+ Temperature Difference (m deg C)
+ 12614
+
+
+
+ Instantaneous value
+ 0
+ Fabrication number
+ 63940045
+
+
+
+ Instantaneous value
+ 0
+ Customer location
+ 63940045
+
+
+
+ More records follow
+
+
+
+
diff --git a/test/test-frames/tecson.hex b/test/test-frames/tecson.hex
new file mode 100644
index 0000000..2f08226
--- /dev/null
+++ b/test/test-frames/tecson.hex
@@ -0,0 +1 @@
+68 1B 1B 68 08 00 72 12 34 56 78 A3 50 10 01 01 00 00 00 01 67 09 0A 14 60 45 92 10 14 88 13 18 16
diff --git a/test/test-frames/tecson.norm.xml b/test/test-frames/tecson.norm.xml
new file mode 100644
index 0000000..3d04e66
--- /dev/null
+++ b/test/test-frames/tecson.norm.xml
@@ -0,0 +1,41 @@
+
+
+
+
+ 78563412
+ TEC
+ 16
+
+ Oil
+ 1
+ 00
+ 0000
+
+
+
+ Instantaneous value
+ 0
+ °C
+ External temperature
+ 9.000000
+
+
+
+ Instantaneous value
+ 0
+ m^3
+ Volume
+ 45.600000
+
+
+
+ Maximum value
+ 0
+ 1
+ 0
+ m^3
+ Volume
+ 50.000000
+
+
+
diff --git a/test/test-frames/tecson.xml b/test/test-frames/tecson.xml
new file mode 100644
index 0000000..201cdfd
--- /dev/null
+++ b/test/test-frames/tecson.xml
@@ -0,0 +1,38 @@
+
+
+
+
+ 78563412
+ TEC
+ 16
+
+ Oil
+ 1
+ 00
+ 0000
+
+
+
+ Instantaneous value
+ 0
+ External temperature ( deg C)
+ 9
+
+
+
+ Instantaneous value
+ 0
+ Volume (1e-2 m^3)
+ 4560
+
+
+
+ Maximum value
+ 0
+ 1
+ 0
+ Volume (1e-2 m^3)
+ 5000
+
+
+