The frame parsed successfully ================================================== What follows is a dump of the parse context in Elixir's notation. Note that the below also contains any encryption key you provided. Identity -------------------------------------------------- DLL: ELS 12345678 version=51 device=gas Frame -------------------------------------------------- ```hex 2E4493157856341233037A2A0020255923C95AAA26D1B2E7493B013EC4A6F6D3529B520EDFF0EA6DEFC99D6D69EBF3 ``` Record Summary -------------------------------------------------- ### Record 1 - function=instantaneous storage=0 device=0 tariff=0 Description: :volume Extensions: [] Value: 28504.27 m^3 ### Record 2 - function=instantaneous storage=0 device=0 tariff=0 Description: :naive_datetime Extensions: [] Value: 2008-05-31T23:50:00 ### Record 3 - function=instantaneous storage=0 device=0 tariff=0 Description: :error_flags Extensions: [] Value: [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false] Parse Context -------------------------------------------------- ```elixir %Exmbus.Parser.Context{ bin: <<>>, opts: %{length: false, crc: false, key: <<0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF, 0x11>>}, handlers: [], handler: &Exmbus.Parser.Apl.FullFrame.maybe_expand_compact_profiles/1, dll: %Exmbus.Parser.Dll.Wmbus{ control: :snd_nr, manufacturer: <<0x45, 0x4C, 0x53>>, identification_no: <<0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38>>, version: 0x33, device: %Exmbus.Parser.Tpl.Device{id: 0x3} }, ell: %Exmbus.Parser.Ell.None{}, afl: %Exmbus.Parser.Afl.None{}, tpl: %Exmbus.Parser.Tpl{ frame_type: :full_frame, header: %Exmbus.Parser.Tpl.Header.Short{ access_no: 0x2A, status: %Exmbus.Parser.Tpl.Status{ manufacturer_status: 0x0, temporary_error: false, permanent_error: false, low_power: false, application_status: :no_error }, configuration_field: %Exmbus.Parser.Tpl.ConfigurationField{ hop_count: 0x0, repeater_access: 0x0, content_of_message: 0x0, mode: 0x5, syncrony: true, accessibility: false, bidirectional: false, blocks: 0x2, padding: nil, content_index: nil, counter: nil, key_version: nil, key_id: nil, kdf: nil } } }, apl: %Exmbus.Parser.Apl.FullFrame{ records: [ %Exmbus.Parser.Apl.DataRecord{ header: %Exmbus.Parser.Apl.DataRecord.Header{ dib_bytes: <<0xC>>, vib_bytes: <<0x14>>, dib: %Exmbus.Parser.Apl.DataRecord.DataInformationBlock{ device: 0x0, tariff: 0x0, storage: 0x0, function_field: :instantaneous, data_type: :bcd, size: 0x20 }, vib: %Exmbus.Parser.Apl.DataRecord.ValueInformationBlock{ description: :volume, multiplier: 0.01, unit: <<0x6D, 0x5E, 0x33>>, extensions: [], coding: nil, table: :main }, coding: :type_a }, data: 0x2B7E7B }, %Exmbus.Parser.Apl.DataRecord{ header: %Exmbus.Parser.Apl.DataRecord.Header{ dib_bytes: <<0x4>>, vib_bytes: <<0x6D>>, dib: %Exmbus.Parser.Apl.DataRecord.DataInformationBlock{ device: 0x0, tariff: 0x0, storage: 0x0, function_field: :instantaneous, data_type: :int_or_bin, size: 0x20 }, vib: %Exmbus.Parser.Apl.DataRecord.ValueInformationBlock{ description: :naive_datetime, multiplier: nil, unit: nil, extensions: [], coding: :type_f, table: :main }, coding: :type_f }, data: ~N[2008-05-31 23:50:00] }, %Exmbus.Parser.Apl.DataRecord{ header: %Exmbus.Parser.Apl.DataRecord.Header{ dib_bytes: <<0x2>>, vib_bytes: <<0xFD, 0x17>>, dib: %Exmbus.Parser.Apl.DataRecord.DataInformationBlock{ device: 0x0, tariff: 0x0, storage: 0x0, function_field: :instantaneous, data_type: :int_or_bin, size: 0x10 }, vib: %Exmbus.Parser.Apl.DataRecord.ValueInformationBlock{ description: :error_flags, multiplier: nil, unit: nil, extensions: [], coding: :type_d, table: :fd }, coding: :type_d }, data: [false, false, false, false, false, false, false, false, false, false, false, false, false, false, false, false] } ], manufacturer_bytes: <<>> }, dib: nil, vib: nil, errors: [], warnings: [] } ```