Identification

APA 80084784 version 32 device cold_water

Records

IndexFunctionStorageDeviceTariffDescriptionExtensionsValue
0 instantaneous 0 0 0 Volume
0.018 m^3
1 instantaneous 0 0 0 Error flags
[false, false, false, false, true, true, false, false, false, false, false, false, true, true, false, false, false, false, false, false, true, true, false, false]
2 instantaneous 1 0 0 Volume
0.018 m^3
3 instantaneous 0 0 0 Volume
{:accumulation_only, :backward_flow}
0.0 m^3

Telegram

Parser Options
length
false
crc
false
key
<<2, 60, 44, 134, 252, 118, 41, 201, 171, 30, 217, 170, 154, 135, 166, 85>>
Application Layer
Elixir.Exmbus.Parser.Apl.FullFrame
records
0.
Elixir.Exmbus.Parser.Apl.DataRecord
data
18
header
Elixir.Exmbus.Parser.Apl.DataRecord.Header
dib
Elixir.Exmbus.Parser.Apl.DataRecord.DataInformationBlock
size
32
device
0
data_type
:int_or_bin
tariff
0
storage
0
function_field
:instantaneous
coding
:type_b
vib
Elixir.Exmbus.Parser.Apl.DataRecord.ValueInformationBlock
table
:main
unit
"m^3"
description
:volume
extensions
coding
nil
multiplier
0.001
dib_bytes
<<4>>
vib_bytes
<<19>>
1.
Elixir.Exmbus.Parser.Apl.DataRecord
data
0.
false
1.
false
2.
false
3.
false
4.
true
5.
true
6.
false
7.
false
8.
false
9.
false
10.
false
11.
false
12.
true
13.
true
14.
false
15.
false
16.
false
17.
false
18.
false
19.
false
20.
true
21.
true
22.
false
23.
false
header
Elixir.Exmbus.Parser.Apl.DataRecord.Header
dib
Elixir.Exmbus.Parser.Apl.DataRecord.DataInformationBlock
size
24
device
0
data_type
:int_or_bin
tariff
0
storage
0
function_field
:instantaneous
coding
:type_d
vib
Elixir.Exmbus.Parser.Apl.DataRecord.ValueInformationBlock
table
:fd
unit
nil
description
:error_flags
extensions
coding
:type_d
multiplier
nil
dib_bytes
<<3>>
vib_bytes
<<253, 23>>
2.
Elixir.Exmbus.Parser.Apl.DataRecord
data
18
header
Elixir.Exmbus.Parser.Apl.DataRecord.Header
dib
Elixir.Exmbus.Parser.Apl.DataRecord.DataInformationBlock
size
32
device
0
data_type
:int_or_bin
tariff
0
storage
1
function_field
:instantaneous
coding
:type_b
vib
Elixir.Exmbus.Parser.Apl.DataRecord.ValueInformationBlock
table
:main
unit
"m^3"
description
:volume
extensions
coding
nil
multiplier
0.001
dib_bytes
<<68>>
vib_bytes
<<19>>
3.
Elixir.Exmbus.Parser.Apl.DataRecord
data
0
header
Elixir.Exmbus.Parser.Apl.DataRecord.Header
dib
Elixir.Exmbus.Parser.Apl.DataRecord.DataInformationBlock
size
32
device
0
data_type
:int_or_bin
tariff
0
storage
0
function_field
:instantaneous
coding
:type_b
vib
Elixir.Exmbus.Parser.Apl.DataRecord.ValueInformationBlock
table
:main
unit
"m^3"
description
:volume
extensions
accumulation_only
:backward_flow
coding
nil
multiplier
0.001
dib_bytes
<<4>>
vib_bytes
<<147, 60>>
manufacturer_bytes
<<>>
Transport Layer
Elixir.Exmbus.Parser.Tpl
header
Elixir.Exmbus.Parser.Tpl.Header.Short
status
Elixir.Exmbus.Parser.Tpl.Status
application_status
:abnormal_condition_or_alarm
low_power
false
manufacturer_status
0
permanent_error
false
temporary_error
false
access_no
201
configuration_field
Elixir.Exmbus.Parser.Tpl.ConfigurationField
mode
5
blocks
2
padding
nil
counter
nil
key_id
nil
key_version
nil
kdf
nil
accessibility
false
bidirectional
false
hop_count
0
content_index
nil
content_of_message
0
repeater_access
0
syncrony
false
frame_type
:full_frame
Authentication & Fragmentation Layer
Elixir.Exmbus.Parser.Afl.None
Extended Link Layer
Elixir.Exmbus.Parser.Ell.None
Data Link Layer
Elixir.Exmbus.Parser.Dll.Wmbus
control
:snd_nr
version
32
device
cold_water
id
22
manufacturer
"APA"
identification_no
"80084784"
Internal Parse Structure
%Exmbus.Parser.Context{
  bin: "",
  opts: %{
    length: false,
    crc: false,
    key: <<2, 60, 44, 134, 252, 118, 41, 201, 171, 30, 217, 170, 154, 135, 166,
      85>>
  },
  handlers: [],
  handler: &Exmbus.Parser.Apl.FullFrame.maybe_expand_compact_profiles/1,
  dll: %Exmbus.Parser.Dll.Wmbus{
    control: :snd_nr,
    manufacturer: "APA",
    identification_no: "80084784",
    version: 32,
    device: %Exmbus.Parser.Tpl.Device{id: 22}
  },
  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: 201,
      status: %Exmbus.Parser.Tpl.Status{
        manufacturer_status: 0,
        temporary_error: false,
        permanent_error: false,
        low_power: false,
        application_status: :abnormal_condition_or_alarm
      },
      configuration_field: %Exmbus.Parser.Tpl.ConfigurationField{
        hop_count: 0,
        repeater_access: 0,
        content_of_message: 0,
        mode: 5,
        syncrony: false,
        accessibility: false,
        bidirectional: false,
        blocks: 2,
        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: <<4>>,
          vib_bytes: <<19>>,
          dib: %Exmbus.Parser.Apl.DataRecord.DataInformationBlock{
            device: 0,
            tariff: 0,
            storage: 0,
            function_field: :instantaneous,
            data_type: :int_or_bin,
            size: 32
          },
          vib: %Exmbus.Parser.Apl.DataRecord.ValueInformationBlock{
            description: :volume,
            multiplier: 0.001,
            unit: "m^3",
            extensions: [],
            coding: nil,
            table: :main
          },
          coding: :type_b
        },
        data: 18
      },
      %Exmbus.Parser.Apl.DataRecord{
        header: %Exmbus.Parser.Apl.DataRecord.Header{
          dib_bytes: <<3>>,
          vib_bytes: <<253, 23>>,
          dib: %Exmbus.Parser.Apl.DataRecord.DataInformationBlock{
            device: 0,
            tariff: 0,
            storage: 0,
            function_field: :instantaneous,
            data_type: :int_or_bin,
            size: 24
          },
          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, true, true, false, false, false,
         false, false, false, true, true, false, false, false, false, false,
         false, true, true, false, false]
      },
      %Exmbus.Parser.Apl.DataRecord{
        header: %Exmbus.Parser.Apl.DataRecord.Header{
          dib_bytes: "D",
          vib_bytes: <<19>>,
          dib: %Exmbus.Parser.Apl.DataRecord.DataInformationBlock{
            device: 0,
            tariff: 0,
            storage: 1,
            function_field: :instantaneous,
            data_type: :int_or_bin,
            size: 32
          },
          vib: %Exmbus.Parser.Apl.DataRecord.ValueInformationBlock{
            description: :volume,
            multiplier: 0.001,
            unit: "m^3",
            extensions: [],
            coding: nil,
            table: :main
          },
          coding: :type_b
        },
        data: 18
      },
      %Exmbus.Parser.Apl.DataRecord{
        header: %Exmbus.Parser.Apl.DataRecord.Header{
          dib_bytes: <<4>>,
          vib_bytes: <<147, 60>>,
          dib: %Exmbus.Parser.Apl.DataRecord.DataInformationBlock{
            device: 0,
            tariff: 0,
            storage: 0,
            function_field: :instantaneous,
            data_type: :int_or_bin,
            size: 32
          },
          vib: %Exmbus.Parser.Apl.DataRecord.ValueInformationBlock{
            description: :volume,
            multiplier: 0.001,
            unit: "m^3",
            extensions: [accumulation_only: :backward_flow],
            coding: nil,
            table: :main
          },
          coding: :type_b
        },
        data: 0
      }
    ],
    manufacturer_bytes: ""
  },
  dib: nil,
  vib: nil,
  private: %{},
  errors: [],
  warnings: []
}