DSMR.Telegram (DSMR v1.0.0)

View Source

Summary

Functions

Converts a Telegram struct back to its string representation.

Types

obis_t()

obj_t()

@type obj_t() :: {obis_t(), value_t() | [value_t()]}

t()

@type t() :: %DSMR.Telegram{
  actual_switch_position: String.t(),
  actual_threshold_electricity: DSMR.Measurement.t(),
  checksum: String.t(),
  currently_delivered_l1: DSMR.Measurement.t(),
  currently_delivered_l2: DSMR.Measurement.t(),
  currently_delivered_l3: DSMR.Measurement.t(),
  currently_returned_l1: DSMR.Measurement.t(),
  currently_returned_l2: DSMR.Measurement.t(),
  currently_returned_l3: DSMR.Measurement.t(),
  electricity_currently_delivered: DSMR.Measurement.t(),
  electricity_currently_returned: DSMR.Measurement.t(),
  electricity_delivered_1: DSMR.Measurement.t(),
  electricity_delivered_2: DSMR.Measurement.t(),
  electricity_returned_1: DSMR.Measurement.t(),
  electricity_returned_2: DSMR.Measurement.t(),
  electricity_tariff_indicator: String.t(),
  equipment_id: String.t(),
  header: String.t(),
  mbus_devices: [DSMR.MBusDevice.t()],
  measured_at: DSMR.Timestamp.t(),
  phase_power_current_l1: DSMR.Measurement.t(),
  phase_power_current_l2: DSMR.Measurement.t(),
  phase_power_current_l3: DSMR.Measurement.t(),
  power_failures_count: String.t(),
  power_failures_log: [{DSMR.Timestamp.t(), DSMR.Measurement.t()}],
  power_failures_long_count: String.t(),
  text_message: String.t(),
  text_message_code: String.t(),
  unknown_fields: [unknown_field_t()],
  version: String.t(),
  voltage_l1: DSMR.Measurement.t(),
  voltage_l2: DSMR.Measurement.t(),
  voltage_l3: DSMR.Measurement.t(),
  voltage_sags_l1_count: String.t(),
  voltage_sags_l2_count: String.t(),
  voltage_sags_l3_count: String.t(),
  voltage_swells_l1_count: String.t(),
  voltage_swells_l2_count: String.t(),
  voltage_swells_l3_count: String.t()
}

unknown_field_t()

@type unknown_field_t() :: {obis_t(), value_t() | [value_t()]}

value_t()

@type value_t() :: String.t() | obis_t() | DSMR.Timestamp.t() | DSMR.Measurement.t()

Functions

to_string(telegram)

@spec to_string(t()) :: String.t()

Converts a Telegram struct back to its string representation.

Examples

iex> telegram = %DSMR.Telegram{
...>   header: "ISk5\\2MT382-1000",
...>   checksum: "5106",
...>   version: "50"
...> }
iex> DSMR.Telegram.to_string(telegram)
"/ISk5\\2MT382-1000\r\n\r\n1-3:0.2.8(50)\r\n!5106\r\n"