JSON fields

pn_dcp

$pn_dcp.types (type: json array)

The array of pn_dcp-type-objects

$pn_dcp.blocks (type: json array)

The array of pn_dcp-block-objects

#pn_dcp-type-object (type: json_map)
{
  "option":     "option-name",      //  predefined-strings
  "suboption":  "suboption-name"    //  predefined-strings
}
#pn_dcp-block-object (type: json_map)

This object type may contain optional fields. The presence of optional fields depends on the value of the option and suboption fields. The special cases are presented below:

  • option=ip; suboption-set: { mac, ip, ip-suite }:

      {
        "option":               "ip",                   //  const value
        "suboption":            "suboption-name",       //
        "mac" :                 "00:00:00:00:00:00",    //  suboption = "mac"
        "ip":                   "127.0.0.1",            //  suboption = "ip"/"ip-suite"
        "subnet_mask":          "127.0.0.1",            //  suboption = "ip"/"ip-suite"
        "standard_gateway":     "127.0.0.1",            //  suboption = "ip"/"ip-suite"
        "dns_server_0":         "127.0.0.1",            //  suboption = "ip-suite"
        "dns_server_1":         "127.0.0.1",            //  suboption = "ip-suite"
        "dns_server_2":         "127.0.0.1",            //  suboption = "ip-suite"
        "dns_server_3":         "127.0.0.1"             //  suboption = "ip-suite"
      }
  • option=dev-properties; suboption-set: { reserved, manuf, station-name, dev-ven, dev-role, dev-options, alias, dev-instance, oem-dev-id }:

      {
        "option":               "dev-properties",       //  const value
        "suboption":            "suboption-name",       //
        "manuf":                "manuf-string",         //  suboption = "manuf"
        "dev_id":               65535,                  //  suboption = "dev-ven"; uint16_t
        "ven_id":               65535,                  //  suboption = "dev-ven"; uint16_t
        "dev_role":             255,                    //  suboption = "dev-role"; uint8_t
        "types":                [],                     //  suboption = "dev-options"; pn_dcp-type-object
        "alias_name":           "alias-name-string",    //  suboption = "alias"
        "dev_instance_high":    255,                    //  suboption = "dev-instance"; uint8_t
        "dev_instance_low":     255,                    //  suboption = "dev-instance"; uint8_t
        "oem_dev_id":           65535,                  //  suboption = "oem-dev-id"; uint16_t
        "oem_ven_id":           65535                   //  suboption = "oem-dev-id"; uint16_t
      }
    types is an array of pn_dcp-type-objects
  • option=dhcp; suboption-set: { host-name, vendor-specific, server-id, param-req-list, class-id, dhcp-client-id, fqdn, uuid, ctrl-dhcp-addr-res }:

      {
        "option":               "dhcp",                 //  const value
        "suboption":            "suboption-name",       //
        "block_info":           65535,                  //  *optional field; uint16_t
        "block_qualifier":      65535,                  //  *optional field; uint16_t
        "client_id":            "client-id-string",     //  suboption = "dhcp-client-id"
        "address_resolution":   255                     //  suboption = "ctrl-dhcp-addr-res"; uint8_t
      }
    client_id-set: { mac, name-of-station, not-defined, arbitrary-string }
  • option=ctrl; suboption-set: { reserved, start-transaction, end-transaction, signal, response, reset-factory-settings, reset-factory }:

      {
        "option":               "ctrl",                 //  const value
        "suboption":            "suboption-name",       //
        "block_qualifier":      65535,                  //  suboption = "signal"; uint16_t
        "signal":               65535,                  //  suboption = "signal"; uint16_t
        "types":                [],                     //  suboption = "signal"; pn_dcp-type-object
        "block_error":          255                     //  suboption = "response"; uint8_t
      }
    block_qualifier exists only for suboptions: { start-transaction, end-transaction, reset-factory-settings, reset-factory, signal }
    types is an array of pn_dcp-type-objects
  • option=dev-initiative; suboption-set: { reserved, dev-initiative }:

      {
        "option":               "dev-initiative",       //  const value
        "suboption":            "suboption-name",       //
        "block_info":           65535,                  //  *optional field; uint16_t
        "block_qualifier":      65535,                  //  *optional field; uint16_t
        "value":                65535                   //  suboption = "dev-initiative"; uint16_t
      }
  • option=all-selector; suboption-set: { reserved, all-selector }:

      {
        "option":               "all-selector",         //  const value
        "suboption":            "suboption-name"        //  reserved/all-selector
      }
Optional fields

block_info exists only for the following cases:

  1. pn_dcp.service_id=hello && pn_dcp.service_type=request

  2. pn_dcp.service_id=identify && (pn_dcp.service_type=response || pn_dcp.service_type=response-service-id-not-supported)

  3. pn_dcp.service_id=get && (pn_dcp.service_type=response || pn_dcp.service_type=response-service-id-not-supported)

block_qualifier exists only when pn_dcp.service_id=set && pn_dcp.service_type=request

pn-io

$pn_io.blocks (type: json array)

The array of pn_io-block-objects

#pn_io-block-object (type: json_map)

This object type may contain optional fields. The presence of optional fields depends on the value of the block_type_id, block_version_low, and block_version_high fields. The special cases are presented below:

  • block_type_id=16(diagnosis_data):

    {
      "block_type_id":              16,
      "block_name":                 "diagnosis_data",   //  const value
      "block_version_low":          255,                //  uint8_t
      "block_version_high":         255,                //  uint8_t
      "api":                        131071,             //  block_version_low = 1
      "slot_number":                65535,              //  uint16_t
      "subslot_number":             65535,              //  uint16_t
      "channel_number":             65535,              //  uint16_t
      "channel_properties":         {},                 //  pn_io-channel_properties-object
      "user_structure_identifier":  "user-id",          //  predefined-strings
      "diagnosis_data":             []                  //  pn_io-diagnosis_data-object
    }
channel_properties is an object of pn_io-channel_properties-object type
diagnosis_data is an array of pn_io-diagnosis_data-objects
  • block_type_id=257(ar_block_req):

    {
      "block_type_id":                          257,
      "block_name":                             "ar_block_req",     //  const value
      "block_version_low":                      255,                //  uint8_t
      "block_version_high":                     255,                //  uint8_t
      "ar_type":                                "ar-type",          //  predefined-strings
      "ar_uuid":                                "ar-uuid",          //  string (uuid)
      "session_key":                            65535,              //  uint16_t
      "cm_initiator_mac_add":                   "mac",              //  string (mac)
      "cm_initator_object_uuid":                "cm-uuid",          //  string (uuid)
      "ar_properties":                          {},                 //  pn_io-ar_properties-object
      "cm_initiator_activity_timeout_factor":   65535,              //  uint16_t
      "initator_udp_rt_port":                   "iana-free-port",   //  predefined-strings
      "station_name":                           "station-name"      //  arbitrary-string
    }
    ar_properties is an object of pn_io-ar_properties-object type
  • block_type_id=33025(ar_block_res):

    {
      "block_type_id":              33025,
      "block_name":                 "ar_block_res",     //  const value
      "block_version_low":          255,                //  uint8_t
      "block_version_high":         255,                //  uint8_t
      "ar_type":                    "ar-type",          //  predefined-strings
      "ar_uuid":                    "ar-uuid",          //  string (uuid)
      "session_key":                65535,              //  uint16_t
      "cm_responder_mac_add":       "mac",              //  string (mac)
      "cm_initator_object_uuid":    "cm-uuid",          //  string (uuid)
      "responder_udp_rt_port":      "iana-free-port"    //  predefined-strings
    }
  • block_type_id=258(iocr_block_req):

    {
      "block_type_id":              258,
      "block_name":                 "iocr_block_req",   //  const value
      "block_version_low":          255,                //  uint8_t
      "block_version_high":         255,                //  uint8_t
      "iocr_type":                  "type",             //  predefined-strings
      "iocr_reference":             65535,              //  uint16_t
      "frame_id":                   65535,              //  uint16_t
      "lt":                         "lt",               //  predefined-strings
      "iocr_properties":            {},                 //  pn_io-iocr_properties-object
      "data_length":                65535,              //  uint16_t
      "send_clock_factor":          65535,              //  uint16_t
      "reduction_ratio":            65535,              //  uint16_t
      "phase":                      65535,              //  uint16_t
      "sequence":                   65535,              //  uint16_t
      "frame_offset":               65536,              //  uint32_t
      "watchdog_timer":             65535,              //  uint16_t
      "data_hold_factor":           65535,              //  uint16_t
      "iocr_tag_header":             {},                //  pn_io-iocr_tag_header-object
      "iocr_multicast_mac_add":     "mac",              //  string (mac)
      "apis":                       []                  //  pn_io-iocr_block_api-object
    }
    iocr_properties is an object of pn_io-iocr_properties-object type
    iocr_tag_header is an object of pn_io-iocr_tag_header-object type
    apis is an array of pn_io-iocr_block_api-objects
  • block_type_id=33026(iocr_block_res):

    {
      "block_type_id":              33026,
      "block_name":                 "iocr_block_res",   //  const value
      "block_version_low":          255,                //  uint8_t
      "block_version_high":         255,                //  uint8_t
      "iocr_type":                  "type",             //  predefined-strings
      "iocr_reference":             65535,              //  uint16_t
      "frame_id":                   65535               //  uint16_t
    }
  • block_type_id=260(expected_submodule_block_req):

    {
      "block_type_id":              260,
      "block_name":                 "expected_submodule_block_req", //  const value
      "block_version_low":          255,                            //  uint8_t
      "block_version_high":         255,                            //  uint8_t
      "apis":                       []                              //  pn_io-api_slot_module-object
    }
    apis is an array of pn_io-api_slot_module-objects
  • block_type_id=259(alarm_cr_block_req):

    {
      "block_type_id":              259,
      "block_name":                 "alarm_cr_block_req",   //  const value
      "block_version_low":          255,                    //  uint8_t
      "block_version_high":         255,                    //  uint8_t
      "cr_type":                    65535                   //  uint16_t
      "lt":                         "lt",                   //  predefined-strings
      "alarm_cr_properties":        {},                     //  pn_io-alarm_cr_properties-object
      "rta_timeout_factor":         65535,                  //  uint16_t
      "rta_retries":                65535,                  //  uint16_t
      "local_alarm_reference":      65535,                  //  uint16_t
      "max_alarm_data_length":      65535,                  //  uint16_t
      "alarm_cr_tag_header_high":   65535,                  //  uint16_t
      "alarm_cr_tag_header_low":    65535                   //  uint16_t
    }
    alarm_cr_properties is an object of pn_io-alarm_cr_properties-object type
  • block_type_id=33027(alarm_cr_block_res):

    {
      "block_type_id":              33027,
      "block_name":                 "alarm_cr_block_res",   //  const value
      "block_version_low":          255,                    //  uint8_t
      "block_version_high":         255,                    //  uint8_t
      "cr_type":                    65535,                  //  uint16_t
      "local_alarm_reference":      65535,                  //  uint16_t
      "max_alarm_data_length":      65535                   //  uint16_t
    }
  • block_type_id=268(rs_info_block):

    {
      "block_type_id":              268,
      "block_name":                 "rs_info_block",        //  const value
      "block_version_low":          255,                    //  uint8_t
      "block_version_high":         255,                    //  uint8_t
      "rs_properties":              {}                      //  pn_io-rs_properties-object
    }
    rs_properties is an object of pn_io-rs_properties-object type
  • block_type_id=261(prm_server_block):

    {
      "block_type_id":                          261,
      "block_name":                             "prm_server_block",     //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "parameter_server_station_name":          "station-name"          //  arbitrary-string
      "cm_initiator_activity_timeout_factor":   65535,                  //  uint16_t
      "parameter_server_object_uuid":           "uuid",                 //  string (uuid)
      "parameter_server_properties":            65536                   //  uint32_t
    }
  • block_type_id=262(mcr_block_req):

    {
      "block_type_id":                          262,
      "block_name":                             "mcr_block_req",        //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "provider_station_name":                  "station-name"          //  arbitrary-string
      "iocr_reference":                         65535,                  //  uint16_t
      "mci_timeout_factor":                     65535,                  //  uint16_t
      "address_resolution_properties":          {}                      //  pn_io-address_resolution_properties-object
    }
    address_resolution_properties is an object of pn_io-address_resolution_properties-object type
  • block_type_id=263(ar_rpc_block_req):

    {
      "block_type_id":                          263,
      "block_name":                             "ar_rpc_block_req",     //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "initiator_rpc_server_port":              65535                   //  uint16_t
    }
  • block_type_id=33031(ar_rpc_block_res):

    {
      "block_type_id":                          33031,
      "block_name":                             "ar_rpc_block_res",     //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "responder_rpc_server_port":              65535                   //  uint16_t
    }
  • block_type_id=265(ir_info_block):

    {
      "block_type_id":                          265,
      "block_name":                             "ir_info_block",        //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "id_data_uuid":                           "uuid",                 //  string (uuid)
      "iocrs":                                  []                      //  pn_io-iocr_subframe_object-object
    }
    iocrs is an array of pn_io-iocr_subframe_object-objects
  • block_type_id=266(sr_info_block):

    {
      "block_type_id":                          266,
      "block_name":                             "sr_info_block",        //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "redundancy_data_hold_factor":            65535,                  //  uint16_t
      "sr_properties":                          {}                      //  pn_io-sr_properties-object
    }
    sr_properties is an object of pn_io-sr_properties-object type
  • block_type_id=267(ar_fsu_block):

    {
      "block_type_id":                          267,
      "block_name":                             "ar_fsu_block",         //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "id_data_uuid":                           "uuid",                 //  string (uuid)
      "blocks":                                 []                      //  pn_io-block-object
    }
  • block_type_id=1537(fs_parameter_block):

    {
      "block_type_id":                          1537,
      "block_name":                             "fs_parameter_block",   //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "fs_parameter_uuid":                      "uuid",                 //  string (uuid)
      "fs_parameter_mode":                      {}                      //  pn_io-fs_parameter_mode_properties-object
    }
    fs_parameter_mode is an object of pn_io-fs_parameter_mode_properties-object type
  • block_type_id=1538(fast_startup_block):

    {
      "block_type_id":                          1538,
      "block_name":                             "fast_startup_block",   //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255                     //  uint8_t
      // Data* section are skipped
    }
  • block_type_id=1536(fs_hello_block):

    {
      "block_type_id":                          1536,
      "block_name":                             "fs_hello_block",       //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "fs_hello_mode":                          3,                      //  2 bits
      "fs_hello_delay":                         65536,                  //  uint32_t
      "fs_hello_retry":                         65536,                  //  uint32_t
      "fs_hello_interval":                      65536                   //  uint32_t
    }
  • block_type_id=264(ar_vendor_block_req):

    {
      "block_type_id":                          264,
      "block_name":                             "ar_vendor_block_req",  //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "api_structure_identifier":               65535,                  //  uint16_t
      "api":                                    65536,                  //  uint32_t
      "expected_extended_identification_info":  {}                      //  *optional field; pn_io-extended_identification_info-object
    }
    expected_extended_identification_info is an object of pn_io-extended_identification_info-object type
    expected_extended_identification_info exists only when: api = 0 and api_structure_identifier = 0x8000
  • block_type_id=33032(ar_vendor_block_res):

    {
      "block_type_id":                          33032,
      "block_name":                             "ar_vendor_block_res",  //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "api_structure_identifier":               65535,                  //  uint16_t
      "api":                                    65536,                  //  uint32_t
      "real_extended_identification_info":      {}                      //  *optional field; pn_io-extended_identification_info-object
    }
    real_extended_identification_info is an object of pn_io-extended_identification_info-object type
    real_extended_identification_info exists only when: api = 0 and api_structure_identifier = 0x8000
  • block_type_id=33030(ar_server_block_res):

    {
      "block_type_id":                          33030,
      "block_name":                             "ar_server_block_res",  //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "cm_responder_station_name":              "station-name",         //  arbitrary-string
    }
Control blocks have the same structures

ControlBlockConnect structure:

  1. block_type_id=280(iod_control_req), block_type_id=33048(iod_control_res);

  2. block_type_id=272(iod_control_req_connection), block_type_id=33040(iod_control_res_connection);

  3. block_type_id=274(iox_control_req_connection), block_type_id=33042(iox_control_res_connection);

  4. block_type_id=278(iox_control_req_companion_connection), block_type_id=33046(iox_control_res_companion_connection);

  5. block_type_id=279(iox_control_req_rtc3_connection), block_type_id=33047(iox_control_res_rtc3_connection);

  6. block_type_id=276(release_block_req), block_type_id=33044(release_block_res);

ControlBlockPlug structure:

  1. block_type_id=273(iod_control_req_plug), block_type_id=33041(iod_control_res_plug`);

  2. block_type_id=275(iox_control_req_plug), block_type_id=33043(iox_control_res_plug).

  • block_type_id=280(iod_control_req):

    {
      "block_type_id":                          280,
      "block_name":                             "iod_control_req",      //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "ar_uuid":                                "ar-uuid",              //  string (uuid)
      "session_key":                            65535,                  //  uint16_t
      "control_command":                        {},                     //  pn_io-control_command_properties-object
      "control_block_properties":               65535                   //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=33048(iod_control_res):

    {
      "block_type_id":                          33048,
      "block_name":                             "iod_control_res",      //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "ar_uuid":                                "ar-uuid",              //  string (uuid)
      "session_key":                            65535,                  //  uint16_t
      "control_command":                        {},                     //  pn_io-control_command_properties-object
      "control_block_properties":               65535                   //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=272(iod_control_req_connection):

    {
      "block_type_id":                  272,
      "block_name":                     "iod_control_req_connection",       //  const value
      "block_version_low":              255,                                //  uint8_t
      "block_version_high":             255,                                //  uint8_t
      "ar_uuid":                        "ar-uuid",                          //  string (uuid)
      "session_key":                    65535,                              //  uint16_t
      "control_command":                {},                                 //  pn_io-control_command_properties-object
      "control_block_properties":       65535                               //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=33040(iod_control_res_connection):

    {
      "block_type_id":                  33040,
      "block_name":                     "iod_control_res_connection",       //  const value
      "block_version_low":              255,                                //  uint8_t
      "block_version_high":             255,                                //  uint8_t
      "ar_uuid":                        "ar-uuid",                          //  string (uuid)
      "session_key":                    65535,                              //  uint16_t
      "control_command":                {},                                 //  pn_io-control_command_properties-object
      "control_block_properties":       65535                               //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=273(iod_control_req_plug):

    {
      "block_type_id":                  273,
      "block_name":                     "iod_control_req_plug",     //  const value
      "block_version_low":              255,                        //  uint8_t
      "block_version_high":             255,                        //  uint8_t
      "ar_uuid":                        "ar-uuid",                  //  string (uuid)
      "session_key":                    65535,                      //  uint16_t
      "alarm_sequence_number":          65535,                      //  uint16_t
      "control_command":                {},                         //  pn_io-control_command_properties-object
      "control_block_properties":       65535                       //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=33041(iod_control_res_plug):

    {
      "block_type_id":                  33041,
      "block_name":                     "iod_control_res_plug",     //  const value
      "block_version_low":              255,                        //  uint8_t
      "block_version_high":             255,                        //  uint8_t
      "ar_uuid":                        "ar-uuid",                  //  string (uuid)
      "session_key":                    65535,                      //  uint16_t
      "alarm_sequence_number":          65535,                      //  uint16_t
      "control_command":                {},                         //  pn_io-control_command_properties-object
      "control_block_properties":       65535                       //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=274(iox_control_req_connection):

    {
      "block_type_id":                  274,
      "block_name":                     "iox_control_req_connection",       //  const value
      "block_version_low":              255,                                //  uint8_t
      "block_version_high":             255,                                //  uint8_t
      "ar_uuid":                        "ar-uuid",                          //  string (uuid)
      "session_key":                    65535,                              //  uint16_t
      "control_command":                {},                                 //  pn_io-control_command_properties-object
      "control_block_properties":       65535                               //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=33042(iox_control_res_connection):

    {
      "block_type_id":                  33042,
      "block_name":                     "iox_control_res_connection",   //  const value
      "block_version_low":              255,                            //  uint8_t
      "block_version_high":             255,                            //  uint8_t
      "ar_uuid":                        "ar-uuid",                      //  string (uuid)
      "session_key":                    65535,                          //  uint16_t
      "control_command":                {},                             //  pn_io-control_command_properties-object
      "control_block_properties":       65535                           //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=278(iox_control_req_companion_connection):

    {
      "block_type_id":                  278,
      "block_name":                     "iox_control_req_companion_connection", //  const value
      "block_version_low":              255,                                    //  uint8_t
      "block_version_high":             255,                                    //  uint8_t
      "ar_uuid":                        "ar-uuid",                              //  string (uuid)
      "session_key":                    65535,                                  //  uint16_t
      "control_command":                {},                                     //  pn_io-control_command_properties-object
      "control_block_properties":       65535                                   //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=33046(iox_control_res_companion_connection):

    {
      "block_type_id":                  33046,
      "block_name":                     "iox_control_res_companion_connection", //  const value
      "block_version_low":              255,                                    //  uint8_t
      "block_version_high":             255,                                    //  uint8_t
      "ar_uuid":                        "ar-uuid",                              //  string (uuid)
      "session_key":                    65535,                                  //  uint16_t
      "control_command":                {},                                     //  pn_io-control_command_properties-object
      "control_block_properties":       65535                                   //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=279(iox_control_req_rtc3_connection):

    {
      "block_type_id":                  279,
      "block_name":                     "iox_control_req_rtc3_connection",  //  const value
      "block_version_low":              255,                                //  uint8_t
      "block_version_high":             255,                                //  uint8_t
      "ar_uuid":                        "ar-uuid",                          //  string (uuid)
      "session_key":                    65535,                              //  uint16_t
      "control_command":                {},                                 //  pn_io-control_command_properties-object
      "control_block_properties":       65535                               //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=33047(iox_control_res_rtc3_connection):

    {
      "block_type_id":                  33047,
      "block_name":                     "iox_control_res_rtc3_connection",  //  const value
      "block_version_low":              255,                                //  uint8_t
      "block_version_high":             255,                                //  uint8_t
      "ar_uuid":                        "ar-uuid",                          //  string (uuid)
      "session_key":                    65535,                              //  uint16_t
      "control_command":                {},                                 //  pn_io-control_command_properties-object
      "control_block_properties":       65535                               //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=275(iox_control_req_plug):

    {
      "block_type_id":                  275,
      "block_name":                     "iox_control_req_plug",     //  const value
      "block_version_low":              255,                        //  uint8_t
      "block_version_high":             255,                        //  uint8_t
      "ar_uuid":                        "ar-uuid",                  //  string (uuid)
      "session_key":                    65535,                      //  uint16_t
      "alarm_sequence_number":          65535,                      //  uint16_t
      "control_command":                {},                         //  pn_io-control_command_properties-object
      "control_block_properties":       65535                       //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=33043(iox_control_res_plug):

    {
      "block_type_id":                  33043,
      "block_name":                     "iox_control_res_plug",     //  const value
      "block_version_low":              255,                        //  uint8_t
      "block_version_high":             255,                        //  uint8_t
      "ar_uuid":                        "ar-uuid",                  //  string (uuid)
      "session_key":                    65535,                      //  uint16_t
      "alarm_sequence_number":          65535,                      //  uint16_t
      "control_command":                {},                         //  pn_io-control_command_properties-object
      "control_block_properties":       65535                       //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=276(release_block_req):

    {
      "block_type_id":                  276,
      "block_name":                     "release_block_req",    //  const value
      "block_version_low":              255,                    //  uint8_t
      "block_version_high":             255,                    //  uint8_t
      "ar_uuid":                        "ar-uuid",              //  string (uuid)
      "session_key":                    65535,                  //  uint16_t
      "control_command":                {},                     //  pn_io-control_command_properties-object
      "control_block_properties":       65535                   //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=33044(release_block_res):

    {
      "block_type_id":                  33044,
      "block_name":                     "release_block_res",    //  const value
      "block_version_low":              255,                    //  uint8_t
      "block_version_high":             255,                    //  uint8_t
      "ar_uuid":                        "ar-uuid",              //  string (uuid)
      "session_key":                    65535,                  //  uint16_t
      "control_command":                {},                     //  pn_io-control_command_properties-object
      "control_block_properties":       65535                   //  uint16_t
    }
    control_command is an object of pn_io-control_command_properties-object type
  • block_type_id=281(submodule_list_block):

    {
      "block_type_id":                  281,
      "block_name":                     "submodule_list_block", //  const value
      "block_version_low":              255,                    //  uint8_t
      "block_version_high":             255,                    //  uint8_t
      "entries":                        [],                     //  pn_io-api_slot_subslot-object
    }
    entries is an array of pn_io-api_slot_subslot-objects
  • block_type_id=8(iod_write_request_header):

    {
      "block_type_id":                  8,
      "block_name":                     "iod_write_request_header", //  const value
      "block_version_low":              255,                        //  uint8_t
      "block_version_high":             255,                        //  uint8_t
      "api":                            65536,                      //  uint32_t
      "slot_number":                    65535,                      //  uint16_t
      "subslot_number":                 65535,                      //  uint16_t
      "ar_uuid":                        "ar-uuid",                  //  string (uuid)
      "seq_number":                     65535,                      //  uint16_t
      "index":                          65535,                      //  uint16_t
      "record_data_length":             65536,                      //  uint32_t
      "is_multiple":                    "false",                    //  string: true/false
      "is_user_specific_data":          "false",                    //  string: true/false
      "record_data":                    []                          //  *optional field
    }
    record_data exists only when is_multiple=false && is_user_specific_data==false. record_data is an array of pn_io-block-objects
  • block_type_id=32776(iod_write_response_header):

    {
      "block_type_id":                  32776,
      "block_name":                     "iod_write_response_header",    //  const value
      "block_version_low":              255,                            //  uint8_t
      "block_version_high":             255,                            //  uint8_t
      "api":                            65536,                          //  uint32_t
      "slot_number":                    65535,                          //  uint16_t
      "subslot_number":                 65535,                          //  uint16_t
      "ar_uuid":                        "ar-uuid",                      //  string (uuid)
      "seq_number":                     65535,                          //  uint16_t
      "index":                          65535,                          //  uint16_t
      "record_data_length":             65536,                          //  uint32_t
      "is_multiple":                    "false",                        //  string: true/false
      "additional_value_1":             65535,                          //  uint16_t
      "additional_value_2":             65535,                          //  uint16_t
      "io_status":                      {}                              //  pn_io-io_status-object
    }
    io_status is an object of pn_io-io_status-object type
  • block_type_id=9(iod_read_request_header):

    {
      "block_type_id":                  9,
      "block_name":                     "iod_read_request_header",  //  const value
      "block_version_low":              255,                        //  uint8_t
      "block_version_high":             255,                        //  uint8_t
      "api":                            65536,                      //  uint32_t
      "slot_number":                    65535,                      //  uint16_t
      "subslot_number":                 65535,                      //  uint16_t
      "ar_uuid":                        "ar-uuid",                  //  string (uuid)
      "seq_number":                     65535,                      //  uint16_t
      "index":                          65535,                      //  uint16_t
      "record_data_length":             65536,                      //  uint32_t
      "target_ar_uuid":                 "uuid"                      //  string (uuid)
    }
    The following block (can be only one instance; so-called - record-data section) of the packet belongs to this header.
  • block_type_id=32777(iod_read_response_header):

    {
      "block_type_id":                  32777,
      "block_name":                     "iod_read_response_header",     //  const value
      "block_version_low":              255,                            //  uint8_t
      "block_version_high":             255,                            //  uint8_t
      "api":                            65536,                          //  uint32_t
      "slot_number":                    65535,                          //  uint16_t
      "subslot_number":                 65535,                          //  uint16_t
      "ar_uuid":                        "ar-uuid",                      //  string (uuid)
      "seq_number":                     65535,                          //  uint16_t
      "index":                          65535,                          //  uint16_t
      "record_data_length":             65536,                          //  uint32_t
      "additional_value_1":             65535,                          //  uint16_t
      "additional_value_2":             65535                           //  uint16_t
    }
  • block_type_id=2560(upload_blob_query):

    {
      "block_type_id":                  2560,
      "block_name":                     "upload_blob_query",            //  const value
      "block_version_low":              255,                            //  uint8_t
      "block_version_high":             255,                            //  uint8_t
      "from_offset_data":               65536                           //  uint32_t
    }
  • block_type_id=2561(upload_blob):

    {
      "block_type_id":                  2561,
      "block_name":                     "upload_blob",          //  const value
      "block_version_low":              255,                    //  uint8_t
      "block_version_high":             255,                    //  uint8_t
      "from_offset_data":               65536,                  //  uint32_t
      "next_offset_data":               65536,                  //  uint32_t
      "total_size":                     65536                   //  uint32_t
    }
  • block_type_id=33028(module_diff_block):

    {
      "block_type_id":                  33028,
      "block_name":                     "module_diff_block",    //  const value
      "block_version_low":              255,                    //  uint8_t
      "block_version_high":             255,                    //  uint8_t
      "apis"                            [],                     //  pn_io-api_module_submodule_state_ident-object
    }
  • block_type_id=20(substitute_value):

    {
      "block_type_id":                  20,
      "block_name":                     "substitute_value",     //  const value
      "block_version_low":              255,                    //  uint8_t
      "block_version_high":             255,                    //  uint8_t
      "substitution_mode"               65535                   //  uint16_t
    }
  • block_type_id=18(expected_identification_data):

    {
      "block_type_id":                  18,
      "block_name":                     "expected_identification_data", //  const value
      "block_version_low":              255,                            //  uint8_t
      "block_version_high":             255,                            //  uint8_t
      "apis"                            []                              //  pn_io-api_module_submodule_ident-object
    }
    block_version_low must be equal 1. Otherwise the packet is malformed.
  • block_type_id=19(real_identification_data):

    {
      "block_type_id":                  19,
      "block_name":                     "real_identification_data",     //  const value
      "block_version_low":              255,                            //  uint8_t
      "block_version_high":             255,                            //  uint8_t
      "apis"                            []                              //  pn_io-api_module_submodule_ident-object
    }
    block_version_low must be equal 1. Otherwise the packet is malformed.
  • block_type_id=21(record_input_data_object_element):

    {
      "block_type_id":                  21,
      "block_name":                     "record_input_data_object_element", //  const value
      "block_version_low":              255,                                //  uint8_t
      "block_version_high":             255,                                //  uint8_t
      "iocs":                           {},                                 //  pn_io-io_xs-object
      "iops":                           {},                                 //  pn_io-io_xs-object
      "length_iops":                    255,                                //  uint8_t
      "length_iocs":                    255,                                //  uint8_t
      "length_data":                    65535                               //  uint16_t
    }
    iocs and iops are objects of pn_io-io_xs-object type
  • block_type_id=22(record_input_data_object_element):

    {
      "block_type_id":                  22,
      "block_name":                     "record_output_data_object_element",    //  const value
      "block_version_low":              255,                                    //  uint8_t
      "block_version_high":             255,                                    //  uint8_t
      "substitute_active_flag":         "operation",                            //  predefined-strings
      "length_iops":                    255,                                    //  uint8_t
      "length_iocs":                    255,                                    //  uint8_t
      "length_data":                    65535,                                   //  uint16_t
      "iocs":                           {},                                     //  pn_io-io_xs-object
      "iops":                           {},                                     //  pn_io-io_xs-object
      "substitute_value":               {}                                      //  pn_io-substitute_value-block
    }
    iocs and iops are objects of pn_io-io_xs-object type
    substitute_value is an object of pn_io-block-object type. An expected value must be of pn_io-substitute_value-block type.
  • block_type_id=25(log_book_data):

    {
      "block_type_id":                  25,
      "block_name":                     "log_book_data",    //  const value
      "block_version_low":              255,                //  uint8_t
      "block_version_high":             255,                //  uint8_t
      "actual_local_time_stamp":        255,                //  *special-case; uint8_t
      "time_time_stamp":                "time-string",      //  *special-case; arbitrary-string
      "entries":                        []                  //  pn_io-log_book_entry_low_0-object/pn_io-log_book_entry_low_1-object
    }
    entries is an array of pn_io-log_book_entry_low_0-objects when block_version_low=0, or an array of pn_io-log_book_entry_low_1-objects when block_version_low=1
    actual_local_time_stamp exists only when block_version_low=0. time_time_stamp exists only when block_version_low=1.
  • block_type_id=26(api_data):

    {
      "block_type_id":                  26,
      "block_name":                     "api_data",         //  const value
      "block_version_low":              255,                //  uint8_t
      "block_version_high":             255,                //  uint8_t
      "apis":                           []                  //  65536 (uint32_t)
    }
    apis is an array of numbers: uint32_t
  • block_type_id=27(srl_data):

    {
      "block_type_id":                  27,
      "block_name":                     "srl_data",     //  const value
      "block_version_low":              255,            //  uint8_t
      "block_version_high":             255,            //  uint8_t
      "redundancy_info":                {},             //  pn_io-redundancy_info-object
    }
    redundancy_info is an object of pn_io-redundancy_info-object type
  • block_type_id=24(ar_data):

    {
      "block_type_id":                  24,
      "block_name":                     "ar_data",      //  const value
      "block_version_low":              255,            //  uint8_t
      "block_version_high":             255,            //  uint8_t
      "ars":                            []              //  pn_io-ar_data_object_low_0-object/pn_io-ar_data_object_low_1-object
    }
    ars is an array of pn_io-ar_data_object_low_0-objects when block_version_low=0, or an array of pn_io-ar_data_object_low_1-objects when block_version_low=1
  • block_type_id=32(im0):

    {
      "block_type_id":              32,
      "block_name":                 "im0",      //  const value
      "block_version_low":          255,        //  uint8_t
      "block_version_high":         255,        //  uint8_t
      "vendor_id_high":             255,        //  uint8_t
      "vendor_id_low":              255,        //  uint8_t
      "order_id":                   "order-id", //  arbitrary-string
      "im_serial_number":           "serial",   //  arbitrary-string
      "im_hardware_revision":       65535,      //  uint16_t
      "im_software_revision":       {},         //  pn_io-im_software_revision-object
      "im_revision_counter":        65535,      //  uint16_t
      "profile_id":                 65535,      //  uint16_t
      "im_profile_specific_type":   "reserved", //  predefined-strings
      "im_version":                 {},         //  pn_io-im_version-object
      "im_supported":               []          //  array of strings
    }
    im_software_revision is an object of pn_io-im_software_revision-object type
    im_version is an object of pn_io-im_version-object type
    im_supported is an array of strings. Set of values: { i&m0, i&m1, …​, i&m15 }
  • block_type_id=33(im1):

    {
      "block_type_id":          33,
      "block_name":             "im1",          //  const value
      "block_version_low":      255,            //  uint8_t
      "block_version_high":     255,            //  uint8_t
      "im_tag_function":        "function",     //  arbitrary-string
      "im_tag_location":        "location"      //  arbitrary-string
    }
  • block_type_id=34(im2):

    {
      "block_type_id":          34,
      "block_name":             "im2",          //  const value
      "block_version_low":      255,            //  uint8_t
      "block_version_high":     255,            //  uint8_t
      "im_date":                "im-date"       //  arbitrary-string
    }
  • block_type_id=35(im3):

    {
      "block_type_id":          35,
      "block_name":             "im3",              //  const value
      "block_version_low":      255,                //  uint8_t
      "block_version_high":     255,                //  uint8_t
      "im_descriptor":          "im-descriptor"     //  arbitrary-string
    }
  • block_type_id=36(im4):

    {
      "block_type_id":          36,
      "block_name":             "im4",              //  const value
      "block_version_low":      255,                //  uint8_t
      "block_version_high":     255,                //  uint8_t
      "im_signature":           "im-signature"       //  arbitrary-string
    }
  • block_type_id=37(im5):

    {
      "block_type_id":          37,
      "block_name":             "im5",      //  const value
      "block_version_low":      255,        //  uint8_t
      "block_version_high":     255,        //  uint8_t
      "entries":                []          //  pn_io-block-object
    }
  • block_type_id=53(asset_management_data):

    {
      "block_type_id":          53,
      "block_name":             "asset_management_data",    //  const value
      "block_version_low":      255,                        //  uint8_t
      "block_version_high":     255,                        //  uint8_t
      "entries":                []                          //  pn_io-block-object
    }
  • block_type_id=521(adjust_domain_boundary):

    {
      "block_type_id":              521,
      "block_name":                 "adjust_domain_boundary",   //  const value
      "block_version_low":          255,                        //  uint8_t
      "block_version_high":         255,                        //  uint8_t
      "domain_boundary_ingress":    "block",                    //  predefined-strings
      "domain_boundary_egress":     "no-block",                 //  predefined-strings
      "adjust_properties":          65535                       //  uint16_t
    }
  • block_type_id=528(adjust_multicast_boundary):

    {
      "block_type_id":              528,
      "block_name":                 "adjust_multicast_boundary",    //  const value
      "block_version_low":          255,                            //  uint8_t
      "block_version_high":         255,                            //  uint8_t
      "multicast_boundary":         65536,                          //  uint32_t
      "adjust_properties":          65535                           //  uint16_t
    }
  • block_type_id=527(pd_port_data_real):

    {
      "slot_number":                65535,          //  uint16_t
      "subslot_number":             65535,          //  uint16_t
      "own_port_name":              "port-name",    //  arbitrary-string
      "peers":                      [],             //  pn_io-pd_port_peer-object
      "mau_type":                   "10g-base-lr",  //  predefined-strings
      "rt_class_3_port_status":     {},             //  pn_io-rt_class_3_port_status-object
      "multicast_boundary":         65536,          //  uint32_t
      "link_state":                 {},             //  pn_io-link_state-object
      "media_type":                 "copper-cable"  //  predefined-strings
    }
    peers is an array of pn_io-pd_port_peer-objects
    mau_type is an object of pn_io-mau_type-object type
    rt_class_3_port_status is an object of pn_io-rt_class_3_port_status-object type
    link_state is an object of pn_io-link_state-object type
  • block_type_id=526(adjust_mau_type):

    {
      "block_type_id":              526,
      "block_name":                 "adjust_mau_type",  //  const value
      "block_version_low":          255,                //  uint8_t
      "block_version_high":         255,                //  uint8_t
      "mau_type":                   "10g-base-lr",      //  predefined-strings
      "adjust_properties":          65535               //  uint16_t
    }
  • block_type_id=524(check_mau_type):

    {
      "block_type_id":              524,
      "block_name":                 "check_mau_type",   //  const value
      "block_version_low":          255,                //  uint8_t
      "block_version_high":         255,                //  uint8_t
      "mau_type":                   "10g-base-lr"       //  predefined-strings
    }
  • block_type_id=551(check_mau_type_extension):

    {
      "block_type_id":              551,
      "block_name":                 "check_mau_type_extension", //  const value
      "block_version_low":          255,                        //  uint8_t
      "block_version_high":         255,                        //  uint8_t
      "mau_type_extension":         "no-sub-mau-type"           //  predefined-strings
    }
  • block_type_id=552(adjust_mau_type_extension):

    {
      "block_type_id":              552,
      "block_name":                 "adjust_mau_type_extension",    //  const value
      "block_version_low":          255,                            //  uint8_t
      "block_version_high":         255,                            //  uint8_t
      "mau_type_extension":         "no-sub-mau-type",              //  predefined-strings
      "adjust_properties":          65535                           //  uint16_t
    }
  • block_type_id=556(pd_port_data_real_extended):

    {
      "block_type_id":          556,
      "block_name":             "pd_port_data_real_extended",   //  const value
      "block_version_low":      255,                            //  uint8_t
      "block_version_high":     255,                            //  uint8_t
      "slot_number":            65535,                          //  uint16_t
      "subslot_number":         65535,                          //  uint16_t
      "blocks":                 []                              //  pn_io-block-object
    }
    blocks is an array of pn_io-block-objects; Expected values: pn_io-own_port-block, pn_io-neighbors-block
  • block_type_id=548(adjust_peer_to_peer_boundary):

    {
      "block_type_id":              548,
      "block_name":                 "adjust_peer_to_peer_boundary", //  const value
      "block_version_low":          255,                            //  uint8_t
      "block_version_high":         255,                            //  uint8_t
      "peer_to_peer_boundary":      {},                             //  pn_io-peer_to_peer_boundary-object
      "adjust_properties":          65535                           //  uint16_t
    }
    peer_to_peer_boundary is an object of pn_io-peer_to_peer_boundary-object type
  • block_type_id=549(adjust_dcp_boundary):

    {
      "block_type_id":              549,
      "block_name":                 "adjust_dcp_boundary",  //  const value
      "block_version_low":          255,                    //  uint8_t
      "block_version_high":         255,                    //  uint8_t
      "dcp_boundary":               {},                     //  pn_io-dcp_boundary-object
      "adjust_properties":          65535                   //  uint16_t
    }
    dcp_boundary is an object of pn_io-dcp_boundary-object type
  • block_type_id=550(adjust_preamble_length):

    {
      "block_type_id":              550,
      "block_name":                 "adjust_preamble_length", //  const value
      "block_version_low":          255,                      //  uint8_t
      "block_version_high":         255,                      //  uint8_t
      "preamble_length":            {},                       //  pn_io-preamble_length-object
      "adjust_properties":          65535                     //  uint16_t
    }
    preamble_length is an object of pn_io-preamble_length-object type
  • block_type_id=514(pd_port_data_adjust):

    {
      "block_type_id":              514,
      "block_name":                 "pd_port_data_adjust",  //  const value
      "block_version_low":          255,                    //  uint8_t
      "block_version_high":         255,                    //  uint8_t
      "slot_number":                65535,                  //  uint16_t
      "subslot_number":             65535,                  //  uint16_t
      "blocks":                     []                      //  pn_io-block-object
    }
  • block_type_id=512(pd_port_data_check):

    {
      "block_type_id":              512,
      "block_name":                 "pd_port_data_check",   //  const value
      "block_version_low":          255,                    //  uint8_t
      "block_version_high":         255,                    //  uint8_t
      "slot_number":                65535,                  //  uint16_t
      "subslot_number":             65535,                  //  uint16_t
      "blocks":                     []                      //  pn_io-block-object
    }
  • block_type_id=517(pd_ir_data):

    {
      "block_type_id":              517,
      "block_name":                 "pd_ir_data",           //  const value
      "block_version_low":          255,                    //  uint8_t
      "block_version_high":         255,                    //  uint8_t
      "slot_number":                65535,                  //  uint16_t
      "subslot_number":             65535                   //  uint16_t
    }
  • block_type_id=518(pd_ir_global_data):

    {
      "block_type_id":              518,
      "block_name":                 "pd_ir_global_data",    //  const value
      "block_version_low":          255,                    //  uint8_t
      "block_version_high":         255,                    //  uint8_t
      "ir_data_uuid":               "uuid",                 //  string (uuid)
      "max_bridge_delay":           65536,                  //  uint32_t
      "ports":                      []                      //  pn_io-pd_ir_global_port_low1-object, pn_io-pd_ir_global_port_low2-object
    }
    ports is an array of pn_io-pd_ir_global_port_low_1-objects when block_version_low=1, and pn_io-pd_ir_global_port_low_2-objects when block_version_low=2
  • block_type_id=520(pd_ir_begin_end_data):

    {
      "block_type_id":              520,
      "block_name":                 "pd_ir_begin_end_data", //  const value
      "block_version_low":          255,                    //  uint8_t
      "block_version_high":         255,                    //  uint8_t
      "start_of_red_frame_id":      65536,                  //  uint32_t
      "end_of_red_frame_id":        65536,                  //  uint32_t
      "ports":                      []                      //  pn_io-pd_ir_begin_end_port-object
    }
    ports is an array of pn_io-pd_ir_begin_end_port-objects
  • block_type_id=515(pd_sync_data):

    {
      "block_type_id":                  515,
      "block_name":                     "pd_sync_data",     //  const value
      "block_version_low":              255,                //  uint8_t
      "block_version_high":             255,                //  uint8_t
      "ptcp_subdomain_uuid":            "uuid",             //  string (uuid)
      "reserved_interval_begin":        65535,              //  uint16_t
      "reserved_interval_end":          65535,              //  uint16_t
      "pll_window":                     65536,              //  uint32_t
      "sync_send_factor":               65536,              //  uint32_t
      "send_clock_factor":              65535,              //  uint16_t
      "ptcp_timeout_factor":            65535,              //  uint16_t
      "ptcp_takeover_timeout_factor":   65535,              //  uint16_t
      "ptcp_master_startup_time":       65535,              //  uint16_t
      "sync_properties":                {},                 //  pn_io-sync_properties-object
      "ptcp_master_priority_1":         {},                 //  pn_io-ptcp_master_priority_1-object
      "ptcp_master_priority_2":         255,                //  uint8_t
      "ptcp_subdomain_name":            "subdomain-name"    //  arbitrary-string
    }
    The block supports only block_version_low=2
    sync_properties is an object of pn_io-sync_properties-object type
    ptcp_master_priority_1 is an object of pn_io-ptcp_master_priority_1-object type
  • block_type_id=557(pd_time_data):

    {
      "block_type_id":              557,
      "block_name":                 "pd_time_data",     //  const value
      "block_version_low":          255,                //  uint8_t
      "block_version_high":         255,                //  uint8_t
      "time_master_priority_1":     255,                //  uint8_t
      "time_master_priority_2":     255,                //  uint8_t
      "time_pll_window":            255                 //  uint8_t
    }
  • block_type_id=562(mrp_instance_data_real_block):

    {
      "block_type_id":              562,
      "block_name":                 "mrp_instance_data_real_block",     //  const value
      "block_version_low":          255,                                //  uint8_t
      "block_version_high":         255,                                //  uint8_t
      "mrp_role":                   "media-redundancy-disabled",        //  predefined-strings
      "mrp_instance",               255,                                //  uint8_t
      "mrp_domain_uuid":            "uuid",                             //  string (uuid)
      "mrp_version":                65535,                              //  uint16_t
      "mrp_domain_name":            "domain-name",                      //  arbitrary-string
      "blocks":                     []                                  //  pn_io-block-object
    }
    mrp_client_params can exist only when role=media-redundancy-client
    mrp_manager_params and mrp_ring_state_data can exist only when role=media-redundancy-manager
  • block_type_id=516(isochronous_mode_data):

    {
      "block_type_id":                          516,
      "block_name":                             "isochronous_mode_data",    //  const value
      "block_version_low":                      255,                        //  uint8_t
      "block_version_high":                     255,                        //  uint8_t
      "slot_number":                            65535,                      //  uint16_t
      "subslot_number":                         65535,                      //  uint16_t
      "controller_application_cycle_factor":    65535,                      //  uint16_t
      "time_data_cycle":                        65535,                      //  uint16_t
      "time_io_input":                          65536,                      //  uint32_t
      "time_io_output":                         65536,                      //  uint32_t
      "time_io_input_valid":                    65536,                      //  uint32_t
      "time_io_output_valid":                   65536                       //  uint32_t
    }
  • block_type_id=534(mrp_manager_params):

    {
      "block_type_id":          534,
      "block_name":             "mrp_manager_params",   //  const value
      "block_version_low":      255,                    //  uint8_t
      "block_version_high":     255,                    //  uint8_t
      "mrp_prio":               65535,                  //  uint16_t
      "mrp_top_chg_t":          65535,                  //  uint16_t
      "mrp_top_nr_max":         65535,                  //  uint16_t
      "mrp_tst_nr_max":         65535,                  //  uint16_t
      "mrp_tst_short_t":        65535,                  //  uint16_t
      "mrp_tst_default_t":      65535,                  //  uint16_t
    }
  • block_type_id=535(mrp_client_params):

    {
      "block_type_id":          535,
      "block_name":             "mrp_client_params",    //  const value
      "block_version_low":      255,                    //  uint8_t
      "block_version_high":     255,                    //  uint8_t
      "mrp_lnk_up_t":           65535,                  //  uint16_t
      "mrp_lnk_down_t":         65535,                  //  uint16_t
      "mrp_lnk_nr_max":         65535                   //  uint16_t
    }
  • block_type_id=537(mrp_ring_state_data):

    {
      "block_type_id":          537,
      "block_name":             "mrp_ring_state_data",  //  const value
      "block_version_low":      255,                    //  uint8_t
      "block_version_high":     255,                    //  uint8_t
      "mrp_ring_state":         "ring-open"             //  predefined-strings
    }
  • block_type_id=608(own_port):

    {
      "block_type_id":          608,
      "block_name":             "own_port",         //  const value
      "block_version_low":      255,                //  uint8_t
      "block_version_high":     255,                //  uint8_t
      "line_delay":             {},                 //  pn_io-line_delay-object
      "media_type":             "copper-cable",     //  predefined-strings
      "multicast_boundary":     65536,              //  uint32_t
      "mau_type":               "10g-base-lr",      //  predefined-strings
      "mau_type_extension":     "no-sub-mau-type",  //  predefined-strings
      "link_state":             {},                 //  pn_io-link_state-object
      "rt_class_3_port_status": {}                  //  pn_io-rt_class_3_port_status-object
    }
    line_delay is an object of pn_io-line_delay-object type
    link_state is an object of pn_io-link_state-object type
    rt_class_3_port_status is an object of pn_io-rt_class_3_port_status-object type
  • block_type_id=609(neighbors):

    {
      "block_type_id":                  609,
      "block_name":                     "neighbors",    //  const value
      "block_version_low":              255,            //  uint8_t
      "block_version_high":             255,            //  uint8_t
      "peers":                          []              //  pn_io-neighbor_peer-object
    }
    peers is an array of pn_io-neighbor_peer-objects
  • block_type_id=1024(multiple_block_header):

    {
      "block_type_id":                  1024,
      "block_name":                     "multiple_block_header",    //  const value
      "block_version_low":              255,                        //  uint8_t
      "block_version_high":             255,                        //  uint8_t
      "api":                            65536,                      //  uint32_t
      "slot_number":                    65535,                      //  uint16_t
      "subslot_number":                 65535,                      //  uint16_t
      "blocks":                         []                          //  pn_io-block-object
    }
    blocks is an array of pn_io-block-objects
  • block_type_id=529(pd_interface_mrp_data_adjust):

    {
      "block_type_id":          529,
      "block_name":             "pd_interface_mrp_data_adjust", //  const value
      "block_version_low":      255,                            //  uint8_t
      "block_version_high":     255,                            //  uint8_t
      "mrp_domain_uuid":        "uuid",                         //  *optional field; string (uuid)
      "mrp_role":               "media-redundancy-disabled",    //  *optional field; predefined-strings
      "mrp_domain_name":        "domain-name",                  //  *optional field; arbitrary-string
      "mrp_entries":            []                              //  *optional field; pn_io-block-object
    }
    mrp_entries exists only when: block_version_low=1
    mrp_domain_uuid, mrp_role, mrp_domain_name exist only when: block_version_low=0
    mrp_entries is an object of pn_io-block-object type. An expected value must be of pn_io-mrp_instance_data_adjust_block-block type
  • block_type_id=561(mrp_instance_data_adjust_block):

    {
      "block_type_id":          561,
      "block_name":             "mrp_instance_data_adjust_block",   //  const value
      "block_version_low":      255,                                //  uint8_t
      "block_version_high":     255,                                //  uint8_t
      "mrp_instance",           255,                                //  uint8_t
      "mrp_domain_uuid":        "uuid",                             //  string (uuid)
      "mrp_role":               "media-redundancy-disabled",        //  predefined-strings
      "mrp_domain_name":        "domain-name"                       //  arbitrary-string
    }
  • block_type_id=531(pd_interface_mrp_data_check):

    {
      "block_type_id":          531,
      "block_name":             "pd_interface_mrp_data_check",  //  const value
      "block_version_low":      255,                            //  uint8_t
      "block_version_high":     255,                            //  uint8_t
      "mrp_domain_uuid":        "uuid",                         //  *optional field; string (uuid)
      "mrp_entries":            []                              //  *optional field; pn_io-block-object
    }
    mrp_domain_uuid exists only when: block_version_low=0
    mrp_entries exists only when: block_version_low=1
    mrp_entries is an object of pn_io-block-object type. An expected value must be of pn_io-mrp_instance_data_check_block-block type
  • block_type_id=530(pd_interface_mrp_data_real):

    {
      "block_type_id":              530,
      "block_name":                 "pd_interface_mrp_data_real",   //  const value
      "block_version_low":          255,                            //  uint8_t
      "block_version_high":         255,                            //  uint8_t
      "mrp_role":                   "media-redundancy-disabled",    //  *optional field; predefined-strings
      "mrp_domain_uuid":            "uuid",                         //  *optional field; string (uuid)
      "mrp_version":                65535,                          //  *optional field; uint16_t
      "mrp_domain_name":            "domain-name",                  //  *optional field; arbitrary-string
      "blocks":                     [],                             //  *optional field; pn_io-block-object
      "mrp_entries":                []                              //  *optional field; pn_io-block-object
    }
    mrp_role, mrp_domain_uuid, mrp_version, mrp_domain_name, blocks exist only when block_version_low=1
    mrp_role exists only when block_version_low=2
    mrp_client_params can exist only when role=media-redundancy-client
    mrp_manager_params and mrp_ring_state_data can exist only when role=media-redundancy-manager or role=media-redundancy-manager-auto
    mrp_entries is an array of pn_io-block-objects; Expected values: pn_io-mrp_instance_data_real_block-block
  • block_type_id=563(mrp_instance_data_check_block):

    {
      "block_type_id":          563,
      "block_name":             "mrp_instance_data_check_block",    //  const value
      "block_version_low":      255,                                //  uint8_t
      "block_version_high":     255,                                //  uint8_t
      "mrp_instance",           255,                                //  uint8_t
      "mrp_domain_uuid":        "uuid",                             //  string (uuid)
      "mrp_check":              {}                                  //  pn_io-mrp_check-object
    }
    mrp_check is an object of pn_io-mrp_check-object type
  • block_type_id=532(pd_port_mrp_data_adjust):

    {
      "block_type_id":          532,
      "block_name":             "pd_port_mrp_data_adjust",  //  const value
      "block_version_low":      255,                        //  uint8_t
      "block_version_high":     255,                        //  uint8_t
      "mrp_instance",           255,                        //  *optional field; uint8_t
      "mrp_domain_uuid":        "uuid"                      //  string (uuid)
    }
    mrp_instance can exists only when block_version_low=1
  • block_type_id=533(pd_port_mrp_data_real):

    {
      "block_type_id":          533,
      "block_name":             "pd_port_mrp_data_real",    //  const value
      "block_version_low":      255,                        //  uint8_t
      "block_version_high":     255,                        //  uint8_t
      "mrp_instance",           255,                        //  *optional field; uint8_t
      "mrp_domain_uuid":        "uuid"                      //  string (uuid)
    }
    mrp_instance can exists only when block_version_low=1
  • block_type_id=546(pd_port_fo_data_adjust):

    {
      "block_type_id":              546,
      "block_name":                 "pd_port_fo_data_adjust",   //  const value
      "block_version_low":          255,                        //  uint8_t
      "block_version_high":         255,                        //  uint8_t
      "fiber_optic_type":           65536,                      //  uint32_t
      "fiber_optic_cable_type":     65536                       //  uint32_t
    }
  • block_type_id=547(pd_port_fo_data_check):

    {
      "block_type_id":                          547,
      "block_name":                             "pd_port_fo_data_check",    //  const value
      "block_version_low":                      255,                        //  uint8_t
      "block_version_high":                     255,                        //  uint8_t
      "maintenance_required_power_budget":      {},                         //  pn_io-fiber_optic_power_budget_type-object
      "maintenance_demanded_power_budget":      {},                         //  pn_io-fiber_optic_power_budget_type-object
      "error_power_budget":                     {},                         //  pn_io-fiber_optic_power_budget_type-object
    }
    maintenance_required_power_budget,maintenance_demanded_power_budget, error_power_budget are objects of pn_io-fiber_optic_power_budget_type-object type
  • block_type_id=560(pd_nc_data_check):

    {
      "block_type_id":                          560,
      "block_name":                             "pd_nc_data_check",     //  const value
      "block_version_low":                      255,                    //  uint8_t
      "block_version_high":                     255,                    //  uint8_t
      "maintenance_required_drop_budget":       {},                     //  pn_io-nc_drop_budget_type-object
      "maintenance_demanded_drop_budget":       {},                     //  pn_io-nc_drop_budget_type-object
      "error_drop_budget":                      {}                      //  pn_io-nc_drop_budget_type-object
    }
    maintenance_required_drop_budget,maintenance_demanded_drop_budget, error_drop_budget are objects of pn_io-nc_drop_budget_type-object type
  • block_type_id=1793(ac_comminication):

    {
      "block_type_id":                          1793,
      "block_name":                             "ac_comminication", //  const value
      "block_version_low":                      255,                //  uint8_t
      "block_version_high":                     255,                //  uint8_t
      "ac_min_device_interval":                 65535,              //  uint16_t
      "ac_communication_properties":            {},                 //  pn_io-ac_communication_properties-object
      "send_clock_factor_array":                []                  //  uint8_t
    }
    ac_communication_properties is an object of pn_io-ac_communication_properties-object type
    send_clock_factor_array is an array of numbers: uint8_t
  • block_type_id=1794(ac_configuration):

    {
      "block_type_id":                  1794,
      "block_name":                     "ac_configuration",     //  const value
      "block_version_low":              255,                    //  uint8_t
      "block_version_high":             255,                    //  uint8_t
      "apis":                           [],                     //  pn_io-ac_configuration_api_object-object
    }
  • block_type_id=1795(ac_isochronous):

    {
      "block_type_id":                  1795,
      "block_name":                     "ac_isochronous",   //  const value
      "block_version_low":              255,                //  uint8_t
      "block_version_high":             255,                //  uint8_t
      "apis":                           [],                 //  pn_io-ac_isochronous_api_object-object
    }
  • block_type_id=519(pd_ir_frame_data):

    {
      "block_type_id":                  519,
      "block_name":                     "pd_ir_frame_data",     //  const value
      "block_version_low":              255,                    //  uint8_t
      "block_version_high":             255,                    //  uint8_t
      "phase":                          65535,                  //  uint16_t
      "frame_id":                       65535,                  //  uint16_t
      "data_length":                    65535,                  //  uint16_t
      "rx_port":                        "local-interface",      //  string
      "ether_type":                     "ieee-802.1as",         //  predefined-strings
      "frame_details":                  {},                     //  pn_io-frame_details-object
      "reduction_ratio":                65535,                  //  uint16_t
      "frame_send_offset":              65536 ,                 //  uint32_t
      "tx_port_groups":                 []                      //  pn_io-tx_port_group-object
    }
    frame_details is an object of pn_io-frame_details-object type
    tx_port_groups is an array of pn_io-tx_port_group_entry-objects
  • block_type_id=554(pd_ir_subframe_data):

    {
      "block_type_id":                  554,
      "block_name":                     "pd_ir_subframe_data",  //  const value
      "block_version_low":              255,                    //  uint8_t
      "block_version_high":             255,                    //  uint8_t
      "subframe_blocks":                []                      //  pn_io-block-object
    }
    subframe_blocks is an array of pn_io-block-objects. Expected values: pn_io-subframe_block-block
  • block_type_id=555(subframe_block):

    {
      "block_type_id":                  555,
      "block_name":                     "subframe_block",   //  const value
      "block_version_low":              255,                //  uint8_t
      "block_version_high":             255,                //  uint8_t
      "frame_id":                       65535,              //  uint16_t
      "sf_io_cr_properties":            {},                 //  pn_io-sf_io_cr_properties-object
      "subframe_data":                  []                  //  pn_io-subframe_data_object-object
    }
    sf_io_cr_properties is an object of pn_io-sf_io_cr_properties-object type
    subframe_data is an array of pn_io-subframe_data_object-objects
  • block_type_id=576(pd_interface_data_real):

    {
      "block_type_id":                  576,
      "block_name":                     "pd_interface_data_real",   //  const value
      "block_version_low":              255,                        //  uint8_t
      "block_version_high":             255,                        //  uint8_t
      "interface_mac_address":          "mac",                      //  string (mac)
      "ip":                             "127.0.0.1",                //  string (ip)
      "subnet_mask":                    "127.0.0.1",                //  string (ip)
      "standard_gateway":               "127.0.0.1"                 //  string (ip)
    }
  • block_type_id=592(pd_interface_adjust):

    {
      "block_type_id":                  592,
      "block_name":                     "pd_interface_adjust",  //  const value
      "block_version_low":              255,                    //  uint8_t
      "block_version_high":             255,                    //  uint8_t
      "multiple_interface_mode":        {}                      //  pn_io-multiple_interface_mode-object
    }
    multiple_interface_mode is an object of pn_io-multiple_interface_mode-object type
  • block_type_id=593(pd_port_statistic):

    {
      "block_type_id":                  593,
      "block_name":                     "pd_port_statistic",    //  const value
      "block_version_low":              255,                    //  uint8_t
      "block_version_high":             255,                    //  uint8_t
      "counter_status":                 {},                     //  *option field; pn_io-counter_status-object
      "if_in_octets":                   65536,                  //  uint32_t
      "if_out_octets":                  65536,                  //  uint32_t
      "if_in_discards":                 65536,                  //  uint32_t
      "if_out_discards":                65536,                  //  uint32_t
      "if_in_errors":                   65536,                  //  uint32_t
      "if_out_errors":                  65536                   //  uint32_t
    }
    counter_status is an object of pn_io-counter_status-object type and exists only when block_version_low=1
  • block_type_id=1025(co_container_content):

    {
      "block_type_id":                  1025,
      "block_name":                     "co_container_content", //  const value
      "block_version_low":              255,                    //  uint8_t
      "block_version_high":             255,                    //  uint8_t
      "api":                            65536,                  //  uint32_t
      "slot_number":                    65535,                  //  uint16_t
      "subslot_number":                 65535,                  //  uint16_t
      "index":                          65535,                  //  uint16_t
      "co_container_block":             []                      //  pn_io-block-object
    }
    co_container_block is an array of pn_io-block-objects. Expected values: RecordDataWrite blocks (without CombinedObjectContainer)
  • block_type_id=2064(pe_entity_filter_data):

    {
      "block_type_id":                  2064,
      "block_name":                     "pe_entity_filter_data",    //  const value
      "block_version_low":              255,                        //  uint8_t
      "block_version_high":             255,                        //  uint8_t
      "apis":                           []                          //  pn_io-pe_entity_filter_data_api_object-object
    }
  • block_type_id=2065(pe_entity_status_data):

    {
      "block_type_id":                  2065,
      "block_name":                     "pe_entity_status_data",    //  const value
      "block_version_low":              255,                        //  uint8_t
      "block_version_high":             255,                        //  uint8_t
      "apis":                           []                          //  pn_io-status_data_api_object-object
    }
  • block_type_id=2304(rs_adjust_observer):

    {
      "block_type_id":                  2304,
      "block_name":                     "rs_adjust_observer",   //  const value
      "block_version_low":              255,                    //  uint8_t
      "block_version_high":             255,                    //  uint8_t
      "entries":                        [],                     //  pn_io-rs_adjust_observer_entry-object
    }
  • block_type_id=2306(rs_ack_event):

    {
      "block_type_id":                  2306,
      "block_name":                     "rs_ack_event", //  const value
      "block_version_low":              255,            //  uint8_t
      "block_version_high":             255,            //  uint8_t
      "rs_specifier":                   {}              //  pn_io-rs_specifier-object
    }
    rs_specifier is an object of pn_io-rs_specifier-object type
  • block_type_id=564(pd_port_mrp_ic_data_adjust):

    {
      "block_type_id":                  564,
      "block_name":                     "pd_port_mrp_ic_data_adjust",   //  const value
      "block_version_low":              255,                            //  uint8_t
      "block_version_high":             255,                            //  uint8_t
      "mrp_ic_role":                    "no-role-assigned",             //  predefined-strings
      "mrp_ic_domain_id":               65535,                          //  uint16_t
      "mrp_ic_domain_name":             "domain-name",                  //  arbitrary-string
      "mrp_ic_mic_params":              {},                             //  *optional field; pn_io-mrp_ic_mic_params-object
      "mrp_ic_mim_params":              {}                              //  *optional field; pn_io-mrp_ic_mim_params-object
    }
    mrp_ic_mic_params is an object of pn_io-mrp_ic_mic_params-object type and exists only when mrp_ic_role=mic
    mrp_ic_mim_params is an object of pn_io-mrp_ic_mim_params-object type and exists only when mrp_ic_role=mim
  • block_type_id=565(pd_port_mrp_ic_data_check):

    {
      "block_type_id":                  565,
      "block_name":                     "pd_port_mrp_ic_data_check",    //  const value
      "block_version_low":              255,                            //  uint8_t
      "block_version_high":             255,                            //  uint8_t
      "mrp_ic_check":                   {}                              //  pn_io-mrp_ic_check-object
    }
    mrp_ic_check is an object of pn_io-mrp_ic_check-object type
  • block_type_id=565(pd_port_mrp_ic_data_real):

    {
      "block_type_id":                  566,
      "block_name":                     "pd_port_mrp_ic_data_real",     //  const value
      "block_version_low":              255,                            //  uint8_t
      "block_version_high":             255,                            //  uint8_t
      "mrp_ic_role":                    "no-role-assigned",             //  predefined-strings
      "mrp_ic_domain_id":               65535,                          //  uint16_t
      "mrp_version":                    65535,                          //  uint16_t
      "mrp_ic_domain_name":             "domain-name",                  //  arbitrary-string
      "mrp_ic_mic_params":              {},                             //  *optional field; pn_io-mrp_ic_mic_params-object
      "mrp_ic_mim_params":              {},                             //  *optional field; pn_io-mrp_ic_mim_params-object
      "mrp_ic_state":                   "mrp-interconnection-open"      //  *optional field; predefined-strings
    }
    mrp_ic_mic_params is an object of pn_io-mrp_ic_mic_params-object type and exists only when mrp_ic_role=mic
    mrp_ic_mim_params is an object of pn_io-mrp_ic_mim_params-object type and exists only when mrp_ic_role=mim
    mrp_ic_state exists only when mrp_ic_role=mim exists only when mrp_ic_role=mim
  • block_type_id=40(im_0_filter_data_submodule):

    {
      "block_type_id":                  40,
      "block_name":                     "im_0_filter_data_submodule",   //  const value
      "block_version_low":              255,                            //  uint8_t
      "block_version_high":             255,                            //  uint8_t
      "apis":                           []                              //  pn_io-filter_data_api_object-object
    }
  • block_type_id=49(im_0_filter_data_module):

    {
      "block_type_id":                  49,
      "block_name":                     "im_0_filter_data_module",      //  const value
      "block_version_low":              255,                            //  uint8_t
      "block_version_high":             255,                            //  uint8_t
      "apis":                           []                              //  pn_io-filter_data_api_object-object
    }
  • block_type_id=50(im_0_filter_data_device):

    {
      "block_type_id":                  50,
      "block_name":                     "im_0_filter_data_device",      //  const value
      "block_version_low":              255,                            //  uint8_t
      "block_version_high":             255,                            //  uint8_t
      "apis":                           []                              //  pn_io-filter_data_api_object-object
    }
  • block_type_id=52(i_m5_data):

    {
      "block_type_id":              52,
      "block_name":                 "i_m5_data",    //  const value
      "block_version_low":          255,            //  uint8_t
      "block_version_high":         255,            //  uint8_t
      "im_annotation":              "annotation",   //  arbitrary-string (max-length=64)
      "im_order_id":                "order-id",     //  arbitrary-string (max-length=64)
      "vendor_id_high":             255,            //  uint8_t
      "vendor_id_low":              255,            //  uint8_t
      "im_serial_number":           "serial",       //  arbitrary-string (max-length=16)
      "im_hardware_revision":       65535,          //  uint16_t
      "im_software_revision":       {}              //  pn_io-im_software_revision-object
    }
    im_software_revision is an object of pn_io-im_software_revision-object type
  • block_type_id=54(asset_management_full_info):

    {
      "block_type_id":              54,
      "block_name":                 "asset_management_full_info",   //  const value
      "block_version_low":          255,                            //  uint8_t
      "block_version_high":         255,                            //  uint8_t
      "im_unique_identifier":       "uuid",                         //  string (uuid)
      "am_location":                {},                             //  pn_io-am_location-object
      "im_annotation":              "annotation",                   //  arbitrary-string (max-length=64)
      "im_order_id":                "order-id",                     //  arbitrary-string (max-length=64)
      "am_software_revision":       "software-revision",            //  arbitrary-string (max-length=64)
      "am_hardware_revision":       "hardware-revision",            //  arbitrary-string (max-length=64)
      "im_serial_number":           "serial",                       //  arbitrary-string (max-length=16)
      "im_software_revision":       {},                             //  pn_io-im_software_revision-object
      "am_device_identification":   {},                             //  pn_io-am_device_identification-object
      "am_type_identification":     "standard-controller",          //  predefined-strings
      "im_hardware_revision":       65535                           //  uint16_t
    }
    am_location is an object of pn_io-am_location-object type
    im_software_revision is an object of pn_io-im_software_revision-object type
    am_device_identification is an object of pn_io-am_device_identification-object type
  • block_type_id=55(asset_management_only_hardware_info):

    {
      "block_type_id":              55,
      "block_name":                 "asset_management_only_hardware_info",  //  const value
      "block_version_low":          255,                                    //  uint8_t
      "block_version_high":         255,                                    //  uint8_t
      "im_unique_identifier":       "uuid",                                 //  string (uuid)
      "am_location":                {},                                     //  pn_io-am_location-object
      "im_annotation":              "annotation",                           //  arbitrary-string (max-length=64)
      "im_order_id":                "order-id",                             //  arbitrary-string (max-length=64)
      "am_hardware_revision":       "hardware-revision",                    //  arbitrary-string (max-length=64)
      "im_serial_number":           "serial",                               //  arbitrary-string (max-length=16)
      "am_device_identification":   {},                                     //  pn_io-am_device_identification-object
      "am_type_identification":     "standard-controller",                  //  predefined-strings
      "im_hardware_revision":       65535                                   //  uint16_t
    }
    am_location is an object of pn_io-am_location-object type
    am_device_identification is an object of pn_io-am_device_identification-object type
  • block_type_id=56(asset_management_only_firmware_info):

    {
      "block_type_id":              56,
      "block_name":                 "asset_management_only_firmware_info",  //  const value
      "block_version_low":          255,                                    //  uint8_t
      "block_version_high":         255,                                    //  uint8_t
      "im_unique_identifier":       "uuid",                                 //  string (uuid)
      "am_location":                {},                                     //  pn_io-am_location-object
      "im_annotation":              "annotation",                           //  arbitrary-string (max-length=64)
      "im_order_id":                "order-id",                             //  arbitrary-string (max-length=64)
      "am_software_revision":       "software-revision",                    //  arbitrary-string (max-length=64)
      "im_serial_number":           "serial",                               //  arbitrary-string (max-length=16)
      "im_software_revision":       {},                                     //  pn_io-im_software_revision-object
      "am_device_identification":   {},                                     //  pn_io-am_device_identification-object
      "am_type_identification":     "standard-controller"                   //  predefined-strings
    }
    am_location is an object of pn_io-am_location-object type
    im_software_revision is an object of pn_io-im_software_revision-object type
    am_device_identification is an object of pn_io-am_device_identification-object type
  • block_type_id=522(check_peers):

    {
      "block_type_id":                  522,
      "block_name":                     "check_peers",  //  const value
      "block_version_low":              255,            //  uint8_t
      "block_version_high":             255,            //  uint8_t
      "peers":                          []              //  pn_io-check_peer-object
    }
    peers is an array of pn_io-check_peer-objects type
  • block_type_id=542(check_sync_difference):

    {
      "block_type_id":          542,
      "block_name":             "check_sync_difference",    //  const value
      "block_version_low":      255,                        //  uint8_t
      "block_version_high":     255,                        //  uint8_t
      "check_sync_mode":        {}                          //  pn_io-check_sync_mode-object
    }
    check_sync_mode is an object of pn_io-check_sync_mode-object type
  • block_type_id=543(check_mau_type_difference):

    {
      "block_type_id":          543,
      "block_name":             "check_mau_type_difference",    //  const value
      "block_version_low":      255,                            //  uint8_t
      "block_version_high":     255,                            //  uint8_t
      "mau_type_mode":          {}                              //  pn_io-mau_type_mode-object
    }
    mau_type_mode is an object of pn_io-mau_type_mode-object type
  • block_type_id=545(fiber_optic_manufacturer_specific):

    {
      "block_type_id":          545,
      "block_name":             "fiber_optic_manufacturer_specific",    //  const value
      "block_version_low":      255,                                    //  uint8_t
      "block_version_high":     255,                                    //  uint8_t
      "vendor_id_low":          255,                                    //  uint8_t
      "vendor_id_high":         255,                                    //  uint8_t
      "vendor_block_type":      65535                                   //  uint16_t
    }
  • block_type_id=552(fiber_optic_diagnosis_info):

    {
      "block_type_id":                  552,
      "block_name":                     "fiber_optic_diagnosis_info",   //  const value
      "block_version_low":              255,                            //  uint8_t
      "block_version_high":             255,                            //  uint8_t
      "fiber_optic_power_budget_real":  {}                              //  pn_io-fiber_optic_power_budget_type-object
    }
    fiber_optic_power_budget_real is an object of pn_io-fiber_optic_power_budget_type-object type
  • block_type_id=32770(alarm_ack_low):

    {
      "block_type_id":                  32770,
      "block_name":                     "alarm_ack_low",    //  const value
      "block_version_low":              255,                //  uint8_t
      "block_version_high":             255,                //  uint8_t
      "api":                            65536,              //  uint32_t
      "alarm_type":                     65535,              //  uint16_t
      "slot_number":                    65535,              //  uint16_t
      "subslot_number":                 65535,              //  uint16_t
      "alarm_specifier":                {},                 //  pn_io-alarm_specifier-object
      "io_status":                      {}                  //  pn_io-io_status-object
    }
    alarm_specifier is an object of pn_io-alarm_specifier-object type
    io_status is an object of pn_io-io_status-object type
  • block_type_id=32769(alarm_ack_high):

    {
      "block_type_id":                  32769,
      "block_name":                     "alarm_ack_high",   //  const value
      "block_version_low":              255,                //  uint8_t
      "block_version_high":             255,                //  uint8_t
      "alarm_type":                     65535,              //  uint16_t
      "api":                            65536,              //  uint32_t
      "slot_number":                    65535,              //  uint16_t
      "subslot_number":                 65535,              //  uint16_t
      "alarm_specifier":                {},                 //  pn_io-alarm_specifier-object
      "io_status":                      {}                  //  pn_io-io_status-object
    }
    alarm_specifier is an object of pn_io-alarm_specifier-object type
    io_status is an object of pn_io-io_status-object type
  • block_type_id=2(alarm_notification_low):

    {
      "block_type_id":                  2,
      "block_name":                     "alarm_notification_low",   //  const value
      "block_version_low":              255,                        //  uint8_t
      "block_version_high":             255,                        //  uint8_t
      "alarm_type":                     65535,                      //  uint16_t
      "api":                            65536,                      //  uint32_t
      "slot_number":                    65535,                      //  uint16_t
      "subslot_number":                 65535,                      //  uint16_t
      "module_ident_number":            65536,                      //  uint32_t
      "submodule_ident_number":         65536,                      //  uint32_t
      "alarm_specifier":                {},                         //  pn_io-alarm_specifier-object
      "user_structure_identifier":      "user-id",                  //  predefined-strings
      "alarm_payload":                  []                          //  pn_io-block-object
    }
    alarm_specifier is an object of pn_io-alarm_specifier-object type
  • block_type_id=1(alarm_notification_high):

    {
      "block_type_id":                  1,
      "block_name":                     "alarm_notification_high",  //  const value
      "block_version_low":              255,                        //  uint8_t
      "block_version_high":             255,                        //  uint8_t
      "alarm_type":                     65535,                      //  uint16_t
      "api":                            65536,                      //  uint32_t
      "slot_number":                    65535,                      //  uint16_t
      "subslot_number":                 65535,                      //  uint16_t
      "module_ident_number":            65536,                      //  uint32_t
      "submodule_ident_number":         65536,                      //  uint32_t
      "alarm_specifier":                {},                         //  pn_io-alarm_specifier-object
      "user_structure_identifier":      "user-id",                  //  predefined-strings
      "alarm_payload":                  []                          //  pn_io-block-object
    }
    alarm_specifier is an object of pn_io-alarm_specifier-object type
  • block_type_id=3840(maintenance_item):

    {
      "block_type_id":                  3840,
      "block_name":                     "maintenance_item",             //  const value
      "maintenance_status":             {}                              //  pn_io-maintenance_status-object
    }
    maintenance_status is an object of pn_io-maintenance_status-object type
  • block_type_id=3841(upload_selected_records):

    {
      "block_type_id":                  3841,
      "block_name":                     "upload_selected_records",      //  const value
      "ur_records":                     []                              //  pn_io-ur_record-object
    }
    ur_records is an array of pn_io-ur_record-objects
  • block_type_id=3843(retrive_selected_records):

    {
      "block_type_id":                  3843,
      "block_name":                     "retrive_selected_records",     //  const value
      "ur_records":                     []                              //  pn_io-ur_record-object
    }
    ur_records is an array of pn_io-ur_record-objects
  • block_type_id=3844(retrive_all_records):

    {
      "block_type_id":                  3844,
      "block_name":                     "retrive_all_records",      //  const value
      "ur_records":                     []                          //  pn_io-ur_record-object
    }
    ur_records is an array of pn_io-ur_record-objects
  • block_type_id=3842(i_parameter_item):

    {
      "block_type_id":                  3842,
      "block_name":                     "i_parameter_item",     //  const value
      "i_par_req_header":               65536,                  //  uint32_t
      "max_segm_size":                  65536,                  //  uint32_t
      "transfer_index":                 65536,                  //  uint32_t
      "total_i_par_size":               65536,                  //  uint32_t
    }
  • block_type_id=3845(pe_alarm_item):

    {
      "block_type_id":                  3845,
      "block_name":                     "pe_alarm_item",        //  const value
      "pe_energy_saving_mode":      "pe-operate"    //  predefined-strings
    }
    $lldp.organization_specific_blocks (type: json array)
#lldp_organization_specific-block-object (type: json_map)

This object type may contain optional fields. The presence of optional fields depends on the value of the organization_specific_oui field. The special cases are presented below:

  • organization_specific_oui=16(profinet):

    {
      "organization_specific_oui":                3791,             //  const value
      "profinet_organization_specific_subtype":   "sub-type-name",  //
    }
    profinet_organization_specific_subtype affects on the structure of the object. The following are presented the special cases of the block structure:
  • organization_specific_oui=16 and profinet_organization_specific_subtype=measured-delay-values (profinet-measured_delay_values-block):

    {
      "organization_specific_oui":                3791,                         //  const value
      "profinet_organization_specific_subtype":   "measured-delay-values",      //  const value
      "ptcp_port_rx_delay_local":                 65536,                        //  uint32_t
      "ptcp_port_rx_delay_remote":                65536,                        //  uint32_t
      "ptcp_port_tx_delay_local":                 65536,                        //  uint32_t
      "ptcp_port_tx_delay_remote":                65536,                        //  uint32_t
      "cable_delay_local":                        65536,                        //  uint32_t
    }
  • organization_specific_oui=16 and profinet_organization_specific_subtype=port-status (profinet-port_status-block):

    {
      "organization_specific_oui":                  3791,               //  const value
      "profinet_organization_specific_subtype":     "port-status",      //  const value
      "rtc2_port_status":                           {},                 //  lldp_organization_specific-profinet-rtc3_port_status-object
      "rtc3_port_status":                           {}                  //  lldp_organization_specific-profinet-rtc3_port_status-object
    }
    rtc2_port_status is an object of lldp_organization_specific-profinet-rtc2_port_status-object type
    rtc3_port_status is an object of lldp_organization_specific-profinet-rtc3_port_status-object type
  • organization_specific_oui=16 and profinet_organization_specific_subtype=alias (profinet-alias-block):

    {
      "organization_specific_oui":                  3791,           //  const value
      "profinet_organization_specific_subtype":     "alias",        //  const value
      "alias_name":                                 "alias-name"    // arbitrary-string
    }
  • organization_specific_oui=16 and profinet_organization_specific_subtype=mrp-port-status (profinet-mrp_port_status-block):

    {
      "organization_specific_oui":                  3791,               //  const value
      "profinet_organization_specific_subtype":     "mrp-port-status",  //  const value
      "mrp_domain_uuid":                            "mrp-domain-uuid",  //  string (uuid)
      "mrrt_port_status":                           {}                  //  lldp_organization_specific-profinet-mrrt_port_status-object
    }
    mrrt_port_status is an object of lldp_organization_specific-profinet-mrrt_port_status-object type
  • organization_specific_oui=16 and profinet_organization_specific_subtype=chassis-mac (profinet-chassis_mac-block):

    {
      "organization_specific_oui":                  3791,           //  const value
      "profinet_organization_specific_subtype":     "chassis-mac",  //  const value
      "mac":                                        "mac"           //  string (mac)
    }
  • organization_specific_oui=16 and profinet_organization_specific_subtype=mau-type-extension (profinet-mau_type_extension-block):

    {
      "organization_specific_oui":                  3791,           //  const value
      "profinet_organization_specific_subtype":     "chassis-mac",  //  const value
      "mau_type_extension":                         65535           //  uint16_t
    }
  • organization_specific_oui=16 and profinet_organization_specific_subtype=mrp-ic-port-status (profinet-mrp_ic_port_status-block):

    {
      "organization_specific_oui":                  3791,                   //  const value
      "profinet_organization_specific_subtype":     "mrp-ic-port-status",   //  const value
      "mrp_ic_domain_id":                           65535,                  //  uint16_t
      "mrp_ic_role":                                "no-role-assigned"      //  predefined-strings
    }
  • organization_specific_oui=32962(ieee-802-1):

    {
      "organization_specific_oui":                  32962,              //  const value
      "ieee_802_1_organization_specific_subtype":   "sub-type-name",    //
    }
    ieee_802_1_organization_specific_subtype affects on the structure of the object. The following are presented the special cases of the block structure:
  • organization_specific_oui=32962 and ieee_802_1_organization_specific_subtype=port-vlan-id (ieee_802_1-port_vlan_id-block):

    {
      "organization_specific_oui":                  32962,              //  const value
      "ieee_802_1_organization_specific_subtype":   "port-vlan-id",     //  const value
      "port_vlan_id":                               65535,              //  uint16_t
    }
  • organization_specific_oui=32962 and ieee_802_1_organization_specific_subtype=port-and-protocol-vlan-id (ieee_802_1-port_and_protocol_vlan_id-block):

    {
      "organization_specific_oui":                  32962,                          //  const value
      "ieee_802_1_organization_specific_subtype":   "port-and-protocol-vlan-id",    //  const value
      "flags":                                      {},                             //  lldp_organization_specific-ieee_802_1-flags-object
      "port_and_protocol_vlan_id":                  65535                           //  uint16_t
    }
  • organization_specific_oui=32962 and ieee_802_1_organization_specific_subtype=vlan-name (ieee_802_1-vlan_name-block):

    {
      "organization_specific_oui":                  32962,              //  const value
      "ieee_802_1_organization_specific_subtype":   "vlan-name",        //  const value
      "vlan_id":                                    65535,              //  uint16_t
      "vlan_name":                                  "vlan-name"         //  arbitrary-string
    }
  • organization_specific_oui=32962 and ieee_802_1_organization_specific_subtype=protocol-identify (ieee_802_1-protocol_identify-block):

    {
      "organization_specific_oui":                  32962,                      //  const value
      "ieee_802_1_organization_specific_subtype":   "protocol-identify",        //  const value
      "protocol_identify":                          "protocol-identify"         //  arbitrary-string
    }
  • organization_specific_oui=4623(ieee-802-3):

    {
      "organization_specific_oui":                  4623,               //  const value
      "ieee_802_3_organization_specific_subtype":   "sub-type-name",    //
    }
    ieee_802_3_organization_specific_subtype affects on the structure of the object. The following are presented the special cases of the block structure:
  • organization_specific_oui=4623 and ieee_802_3_organization_specific_subtype=mac/phy-config/status (ieee_802_3-mac_phy_config_status-block):

    {
      "organization_specific_oui":                      32962,                      //  const value
      "ieee_802_1_organization_specific_subtype":       "mac/phy-config/status",    //  const value
      "auto_negotiation_support_status":                {},                         //  lldp_organization_specific-ieee_802_3-pmd_auto_negotiation_advertised_capability-object
      "pmd_auto_negotiation_advertised_capability":     65535,                      //  uint16_t
      "operational_mau_type":                           65535                       //  uint16_t
    }
    pmd_auto_negotiation_advertised_capability is an object of lldp_organization_specific-ieee_802_3-pmd_auto_negotiation_advertised_capability-object type
  • organization_specific_oui=4623 and ieee_802_3_organization_specific_subtype=power-via-mdi (ieee_802_3-power_via_mdi-block):

    {
      "organization_specific_oui":                      32962,                      //  const value
      "ieee_802_1_organization_specific_subtype":       "power-via-mdi",            //  const value
      "mid_power_support":                              {},                         //  lldp_organization_specific-ieee_802_3-mid_power_support-object
      "pse_power_pair":                                 255,                        //  uint8_t
      "mid_power_class":                                255                         //  uint8_t
    }
  • organization_specific_oui=4623 and ieee_802_3_organization_specific_subtype=like-aggregation (ieee_802_3-like_aggregation-block):

    {
      "organization_specific_oui":                      32962,                      //  const value
      "ieee_802_1_organization_specific_subtype":       "like-aggregation",         //  const value
      "aggregation_status":                             {},                         //  lldp_organization_specific-ieee_802_3-aggregation_status-object
      "aggregated_port_id":                             65536                       //  uint32_t
    }
    aggregation_status is an object of lldp_organization_specific-ieee_802_3-aggregation_status-object type
  • organization_specific_oui=4623 and ieee_802_3_organization_specific_subtype=max-frame-size (ieee_802_3-max-frame-size-block):

    {
      "organization_specific_oui":                      32962,                      //  const value
      "ieee_802_1_organization_specific_subtype":       "max-frame-size",           //  const value
      "maximum_802_3_frame_size":                       65535                       //  uint16_t
    }

== Internal json structures

#pn_io-channel_properties-object (type: json_map)
{
  "type":                       "type",           //  predefined-strings
  "accumulative":               "accumulative",   //  predefined-strings
  "maintenance":                "maintenance",    //  predefined-strings
  "specifier":                  "specifier",      //  predefined-strings
  "direction":                  "direction",      //  predefined-strings
}
#pn_io-ar_properties-object (type: json_map)
{
  "state":                          "state",            //  predefined-strings
  "supervisor_takeover_allowed":    "flag",             //  predefined-strings
  "parameterization_server":        "type",             //  predefined-strings
  "device_access":                  "access",           //  predefined-strings
  "companion_ar":                   "companion",        //  predefined-strings
  "acknowledge_companion_ar":       "ack-companion",    //  predefined-strings
  "startup_mode":                   "mode",             //  predefined-strings
  "combained_object_container":     "coc",              //  predefined-strings
  "pull_module_alarm_allowed":      0                   //  0/1
}
#pn_io-iocr_properties-object (type: json_map)
{
  "rt_class":                       15,             //  4 bits
  "reserved1":                      511,            //  9 bits
  "reserved2":                      2047,           //  11 bits
  "reserved3":                      15              //  8 bits
}
#pn_io-iocr_tag_header-object (type: json_map)
{
  "iocr_vlan_id":                   4095,           //  12 bits
  "reserved":                       1,              //  1 bit
  "io_user_priority":               7               //  3 bits
}
#pn_io-expected_submodule_data_description-object (type: json_map)
{
  "type":                           "input",        //  predefined-strings
  "reserved":                       16383           //  14 bits
}
#pn_io-submodule_properties-object (type: json_map)
{
  "type":                                   "io-controller",    //  predefined-strings
  "shared_input":                           "type",             //  predefined-strings
  "reduce_input_submodule_data_length":     "zero",             //  predefined-strings
  "reduce_output_submodule_data_length":    "zero",             //  predefined-strings
  "discard_ioxs":                           "zero",             //  predefined-strings
  "reserved1":                              3,                  //  2 bits
  "reserved2":                              255                 //  8 bits
}
#pn_io-alarm_cr_properties-object (type: json_map)
{
  "priority":                   "user-priority",    //  predefined-strings
  "transport":                  "data-rta-pdu",     //  predefined-strings
  "reserved1":                  8388607,            //  23 bits
  "reserved2":                  255                 //  8 bits
}
#pn_io-rs_properties-object (type: json_map)
{
  "alarm_transport":            "default",          //  predefined-strings
  "reserved1":                  4194303,            //  22 bits
  "reserved2":                  255                 //  8 bits
}
#pn_io-address_resolution_properties-object (type: json_map)
{
  "protocol":                   "dcp",          //  predefined-strings
  "reserved1":                  31,             //  5 bits
  "reserved2":                  255,            //  8 bits
  "factor":                     65535           //  16 bits
}
#pn_io-sr_properties-object (type: json_map)
{
  "input_valid_on_backup_ar":   0,              //  0/1
  "reserved1":                  0,              //  0/1
  "mode":                       "default",      //  predefined-strings
  "reserved2":                  8191,           //  13 bits
  "reserved3":                  255             //  8 bits
}
#pn_io-fs_parameter_mode_properties-object (type: json_map)
{
  "mode":                       3,              //  2 bits
  "reserved1":                  3FFFFF,         //  22 bits
  "reserved2":                  255             //  8 bits
}
#pn_io-control_command_properties-object (type: json_map)
{
  "prm_end":                    0,              //  0/1
  "applicaton_ready":           0,              //  0/1
  "release":                    0,              //  0/1
  "done":                       0,              //  0/1
  "ready_for_companion":        0,              //  0/1
  "ready_for_rt_class3":        0,              //  0/1
  "prm_begin":                  0,              //  0/1
  "reserved":                   511             //  9 bits
}
#pn_io-io_status-object (type: json_map)
{
  "error_code":                 255,            //  uint8_t
  "error_decode":               255,            //  uint8_t
  "error_code1":                255,            //  uint8_t
  "error_code2":                255             //  uint8_t
}
#pn_io-io_xs-object (type: json_map)
{
  "extension":          0,                      //  0/1
  "reserved":           15,                     //  4 bits
  "instance":           "detected-by-slot",     //  predefined-strings
  "data_state":         "good"                  //  predefined-strings
}
#pn_io-iocr_block_data_object-object (type: json_map)
{
  "slot_number":                    65535,          //  uint16_t
  "subslot_number":                 65535,          //  uint16_t
  "frame_offset":                   65535           //  uint16_t
}
#pn_io-iocr_block_api-object (type: json_map)
{
  "api":                            65536,          //  uint32_t
  "io_data":                        [],             //  pn_io-iocr_block_data_object-object
  "iocs_data":                      []              //  pn_io-iocr_block_data_object-object
}
io_data and iocs_data are arrays of pn_io-iocr_block_data_object-objects
#pn_io-iocr_subframe_object-object (type: json_map)
{
  "iocr_reference":             65535,          //  uint16_t
  "subframe_data":              65536,          //  uint32_t
  "subframe_offset":            65535           //  uint16_t
}
#pn_io-expected_submodule_data-object (type: json_map)
{
  "data_description":           {},             //  pn_io-expected_submodule_data_description-object
  "submodule_data_length":      65535,          //  uint16_t
  "length_iops":                65535,          //  uint16_t
  "length_iocs":                65535           //  uint16_t
}
data_description is an object of pn_io-expected_submodule_data_description-object type
#pn_io-subslot_submodule-object (type: json_map)
{
  "subslot_number":             65535,          //  uint16_t
  "submodule_ident_number":     65536,          //  uint32_t
  "submodule_properties":       {},             //  pn_io-submodule_properties-object
  "data":                       []              //  pn_io-expected_submodule_data-object
}
submodule_properties is an object of pn_io-submodule_properties-object type
#pn_io-api_slot_module-object (type: json_map)
{
  "api":                            65536,          //  uint32_t
  "slot_number":                    65535,          //  uint16_t
  "subslot_number":                 65535,          //  uint16_t
  "module_ident_number":            65536,          //  uint32_t
  "module_properties":              65535,          //  uint16_t
  "submodules":                     []              //  pn_io-subslot_submodule-object
}
submodules is an array of pn_io-subslot_submodule-objects
#pn_io-extended_identification_info-object (type: json_map)
{
  "uuid":                   "uuid",         //  string (uuid)
  "version_high":           255,            //  uint8_t
  "version_low":            255             //  uint8_t
}
#pn_io-api_slot_subslot-object (type: json_map)
{
  "api":                        65536,          //  uint32_t
  "slot_number":                65535,          //  uint16_t
  "subslot_number":             65535           //  uint16_t
}
#pn_io-submodule_state_ident-object (type: json_map)
{
  "subslot_number":             65535,          //  uint16_t
  "submodule_state":            65535,          //  uint16_t
  "submodule_ident_number":     65536           //  uint32_t
}
#pn_io-module_state_ident_submodule-object (type: json_map)
{
  "slot_number":            65535,          //  uint16_t
  "module_state":           65535,          //  uint16_t
  "module_ident_number":    65536,          //  uint32_t
  "submodules":             []              //  pn_io-submodule_state_ident-object
}
submodules is an array of pn_io-submodule_state_ident-objects
#pn_io-api_module_submodule_state_ident-object (type: json_map)
{
  "api":            65536,          //  uint32_t
  "modules":        []              //  pn_io-module_state_ident_submodule-object
}
#pn_io-submodule_ident-object (type: json_map)
{
  "subslot_number":         65535,          //  uint16_t
  "submodule_state":        65535           //  uint16_t
}
#pn_io-module_state_submodule-object (type: json_map)
{
  "slot_number":                65535,          //  uint16_t
  "module_ident_number":        65536,          //  uint32_t
  "submodules":                 []              //  pn_io-submodule_ident-object
}
submodules is an array of pn_io-submodule_ident-objects
#pn_io-api_module_submodule_ident-object (type: json_map)
{
  "api":            65536,          //  uint32_t
  "modules":        []              //  pn_io-module_state_submodule-object
}
modules is an array of pn_io-module_state_submodule-objects
#pn_io-diagnosis_data-object (type: json_map)

This object type may contain optional fields. The presence of optional fields depends on the value of the user_structure_identifier field. The special cases are presented below:

  • user_structure_identifier=channel-diagnosis:

    {
      "channel_number":               65535,    //  uint16_t
      "channel_properties":           {},       //  pn_io-channel_properties-object
      "channel_error_type":           65535     //  uint16_t
    }
  • user_structure_identifier=ext-channel-diagnosis:

    {
      "channel_number":               65535,    //  uint16_t
      "channel_properties":           {},       //  pn_io-channel_properties-object
      "channel_error_type":           65535,    //  uint16_t
      "ext_channel_error_type":       65535,    //  uint16_t
      "ext_channel_add_value":        65536     //  uint32_t
    }
  • user_structure_identifier=qualified-channel-diagnosis:

    {
      "channel_number":               65535,    //  uint16_t
      "channel_properties":           {},       //  pn_io-channel_properties-object
      "channel_error_type":           65535,    //  uint16_t
      "ext_channel_error_type":       65535,    //  uint16_t
      "ext_channel_add_value":        65536,    //  uint32_t
      "qualified_channel_qualifier":  65536     //  uint32_t
    }
channel_properties is an object of pn_io-channel_properties-object type
#pn_io-log_book_entry_low_0-object (type: json_map)
{
  "local_time_stamp":           4294967296,     //  uint64_t
  "ar_uuid":                    "ar-uuid",      //  string (uuid)
  "io_status":                  {},             //  pn_io-io_status-object
  "entry_detail":               65536           //  uint32_t
}
io_status is an object of pn_io-io_status-object type
#pn_io-log_book_entry_low_1-object (type: json_map)
{
  "time_time_stamp":            "time-string",  //  arbitrary-string
  "ar_uuid":                    "ar-uuid",      //  string (uuid)
  "io_status":                  {},             //  pn_io-io_status-object
  "entry_detail":               65536           //  uint32_t
}
io_status is an object of pn_io-io_status-object type
#pn_io-redundancy_info-object (type: json_map)
{
  "end_point_1":            "left",         //  predefined-strings
  "end_point_2":            "right"         //  predefined-strings
}
#pn_io-data_status-object (type: json_map)
{
  "state":                      "iocr-state-is-backup",     //  predefined-strings
  "redundancy":                 "ar-state-is-backup",       //  predefined-strings
  "data_valid":                 "data-item-valid",          //  predefined-strings
  "provider_state":             "run",                      //  predefined-strings
  "station_problem_indicator":  "problem-detected",         //  predefined-strings
  "ignore":                     "evaluate"                  //  predefined-strings
}
#pn_io-transfer_status-object (type: json_map)
{
  "alignment_or_frame_checksum_error":  "false",        //  string: true/false
  "wrong_length_error":                 "false",        //  string: true/false
  "mac_receive_buffer_overflow":        "false",        //  string: true/false
  "rt_class_3_error":                   "false"         //  string: true/false
}
#pn_io-apdu_status-object (type: json_map)
{
  "cycle_counter":          65535,      //  uint16_t
  "data_status":            {},         //  pn_io-data_status-object
  "transfer_status":        {}          //  pn_io-transfer_status-object
}
data_status is an object of pn_io-data_status-object type
transfer_status is an object of pn_io-transfer_status-object type
#pn_io-im_version-object (type: json_map)
{
  "im_version_major":   255,    //  uint8_t
  "im_version_minor":   255     //  uint8_t
}
#pn_io-im_software_revision-object (type: json_map)
{
  "sw_revision_prefix":                         "V",    //  arbitrary-string (1 char: V,R,P,U,T)
  "im_sw_revision_functional_enhancement":      255,    //  uint8_t
  "im_sw_revision_bug_fix":                     255,    //  uint8_t
  "im_sw_revision_internal_change":             255     //  uint8_t
}
#pn_io-line_delay-object (type: json_map)
{
  "value":              2147483647,         //  31 bits
  "format_indicator":   "line-delay"        //  predefined-strings
}
#pn_io-rt_class_3_port_status-object (type: json_map)
{
  "state":              "rt-class3-up",     //  predefined-strings
  "fragmentation":      "on",               //  string: on/off
  "preamble_length":    "seven-octets",     //  predefined-strings
  "optimized":          "default"           //  predefined-strings
}
#pn_io-peer_to_peer_boundary-object (type: json_map)
{
  "lldp_agent": "send-lldp-frames",     //  predefined-strings
  "ptcp_ase":   "send-ptcp-delay-req",  //  predefined-strings
  "time_ase":   "send-path-delay-req"   //  predefined-strings
}
#pn_io-dcp_boundary-object (type: json_map)
{
  "block_ident_frame":   "not-block(01-0e-cf-00-00-00)",  //  predefined-strings
  "block_hello_frame":   "not-block(01-0e-cf-00-00-01)"   //  predefined-strings
}
#pn_io-preamble_length-object (type: json_map)
{
  "length":   "7-octets"     //  predefined-strings
}
#pn_io-ar_data_iocr_object_low_0-object (type: json_map)
{
  "iocr_type":                  "type",                 //  predefined-strings
  "iocr_reference":             65535,                  //  uint16_t
  "frame_id":                   65535,                  //  uint16_t
  "apdu_status":                {},                     //  pn_io-apdu_status-object
  "initator_udp_rt_port":       "iana-defined-port",    //  predefined-strings
  "responder_udp_rt_port":      "iana-defined-port"     //  predefined-strings
}
apdu_status is an object of pn_io-apdu_status-object type
#pn_io-ar_data_iocr_object_low_1-object (type: json_map)
{
  "iocr_properties":    {},         //  pn_io-iocr_properties-object
  "iocr_type":          "type",     //  predefined-strings
  "frame_id":           65535,      //  uint16_t
  "apdu_status":        {}          //  pn_io-apdu_status-object
}
iocr_properties is an object of pn_io-iocr_properties-object type
apdu_status is an object of pn_io-apdu_status-object type
#pn_io-ar_data_object_low_0-object (type: json_map)
{
  "ar_type":                            "ar-type",          //  predefined-strings
  "ar_uuid":                            "ar-uuid",          //  string (uuid)
  "ar_properties":                      {},                 //  pn_io-ar_properties-object
  "cm_initator_object_uuid":            "cm-uuid",          //  string (uuid)
  "cm_initiator_station_name":          "station-name",     //  arbitrary-string
  "iocrs":                              [],                 //  pn_io-ar_data_iocr_object_low_0-object
  "cr_type":                            65535,              //  uint16_t
  "local_alarm_reference":              65535,              //  uint16_t
  "remote_alarm_reference":             65535,              //  uint16_t
  "parameter_server_object_uuid":       "uuid",             //  string (uuid)
  "parameter_server_station_name":      "station-name",     //  arbitrary-string
  "apis":                               []                  //  65536 (uint32_t)
}
apis is an array of numbers: uint32_t
#pn_io-ar_data_object_low_1-object (type: json_map)
{
  "ar_uuid":                        "ar-uuid",              //  string (uuid)
  "cm_initator_object_uuid":        "cm-uuid",              //  string (uuid)
  "cm_initator_object_uuid":        "cm-uuid",              //  string (uuid)
  "parameter_server_object_uuid":   "uuid",                 //  string (uuid)
  "ar_properties":                  {},                     //  pn_io-ar_properties-object
  "ar_type":                        "ar-type",              //  predefined-strings
  "cr_type":                        65535,                  //  uint16_t
  "local_alarm_reference":          65535,                  //  uint16_t
  "remote_alarm_reference":         65535,                  //  uint16_t
  "initator_udp_rt_port":           "iana-defined-port",    //  predefined-strings
  "responder_udp_rt_port":          "iana-defined-port",    //  predefined-strings
  "cm_initiator_station_name":      "station-name",         //  arbitrary-string
  "parameter_server_station_name":  "station-name",         //  arbitrary-string
  "iocrs":                          [],                     //  pn_io-ar_data_iocr_object_low_1-object
  "apis":                           [],                     //  65536 (uint32_t)
  "entries":                        []                      //  pn_io-block-object
}
apis is an array of numbers: uint32_t
#pn_io-pd_port_peer-object (type: json_map)
{
  "peer_port_name":         "port-name",        //  arbitrary-string
  "peer_station_name":      "station-name",     //  arbitrary-string
  "check_line_delay":       {},                 //  pn_io-line_delay-object
  "peer_mac_address":       "mac",              //  string (mac)
}
check_line_delay is an object of pn_io-line_delay-object type
#pn_io-pd_ir_global_port_low_1-object (type: json_map)
{
  "max_port_rx_delay":      65536,              //  uint32_t
  "max_port_tx_delay":      65536               //  uint32_t
}
#pn_io-pd_ir_global_port_low_2-object (type: json_map)
{
  "max_port_rx_delay":      65536,              //  uint32_t
  "max_port_tx_delay":      65536,              //  uint32_t
  "max_line_rx_delay":      65536,              //  uint32_t
  "yellow_time":            65536               //  uint32_t
}
#pn_io-phase_assignment-object (type: json_map)
{
  "assigned_value_for_reserved_begin":      15,         //  4 bits
  "assigned_value_for_orange_begin":        15,         //  4 bits
  "assigned_value_for_reserved_end":        255         //  4 bits
}
#pn_io-begin_end_assignment-object (type: json_map)
{
  "red_orange_period_begin":    65536,              //  uint32_t
  "orange_period_begin":        65536,              //  uint32_t
  "green_period_begin":         65536               //  uint32_t
}
#pn_io-pd_ir_begin_end_port_assignment-object (type: json_map)
{
  "tx_begin_end_assignment":        {},     //  pn_io-begin_end_assignment-object
  "rx_begin_end_assignment":        {}      //  pn_io-begin_end_assignment-object
}
tx_begin_end_assignment and rx_begin_end_assignment are objects of pn_io-begin_end_assignment-object type
#pn_io-pd_ir_begin_end_port_phase-object (type: json_map)
{
  "tx_phase_assignment":        {},     //  pn_io-phase_assignment-object
  "rx_phase_assignment":        {}      //  pn_io-phase_assignment-object
}
tx_phase_assignment and rx_phase_assignment are objects of pn_io-phase_assignment-object type
#pn_io-pd_ir_begin_end_port-object (type: json_map)
{
  "assignments":            [],         //  pn_io-pd_ir_begin_end_port_assignment-object
  "phases":                 []          //  pn_io-pd_ir_begin_end_port_phase-object
}
#pn_io-sync_properties-object (type: json_map)
{
  "role":      "external-sync",     //  predefined-strings
  "id":        31                   //  5 bits
}
#pn_io-ptcp_master_priority_1-object (type: json_map)
{
  "priority":       "sync-slave",   //  predefined-strings
  "level":          7,              //  3 bits
  "active":         "false"         //  string: true/false
}
#pn_io-neighbor_peer-object (type: json_map)
{
  "line_delay":             {},                 //  pn_io-line_delay-object
  "mau_type":               "10g-base-lr",      //  predefined-strings
  "mau_type_extension":     "no-sub-mau-type",  //  predefined-strings
  "peer_mac_address":       "mac",              //  string (mac)
  "peer_port_name":         "port-name",        //  arbitrary-string
  "peer_station_name":      "station-name"      //  arbitrary-string
}
#pn_io-mrp_check-object (type: json_map)
{
  "media_redundancy_manager":   "off",  //  predefined-strings
  "mrp_domain_uuid":            "on"    //  predefined-strings
}
#pn_io-fiber_optic_power_budget_type-object (type: json_map)
{
  "value":          2147483647,     //  31 bits
  "check_enable":   "on"            //  predefined-strings
}
#pn_io-nc_drop_budget_type-object (type: json_map)
{
  "value":          2147483647,     //  31 bits
  "check_enable":   "on"            //  predefined-strings
}
#pn_io-ac_communication_properties-object (type: json_map)
{
  "dfp":            "supported",                    //  predefined-strings
  "rtc3":           "pd-ir-frame-data-local-info",  //  predefined-strings
  "rtc_udp":        "supported"                     //  predefined-strings
}
#pn_io-ac_isochronous_api_object-object (type: json_map)
{
  "api":               131071,  //  uint32_t
  "slot_number":       65535,   //  uint16_t
  "subslot_number":    65535,   //  uint16_t
  "time_io_base":      65536,   //  uint32_t
  "time_io_input":     65536,   //  uint32_t
  "time_io_output":    65536    //  uint32_t
}
#pn_io-ac_configuration_api_object-object (type: json_map)
{
  "api":                            131071,                 //  uint32_t
  "slot_number":                    65535,                  //  uint16_t
  "subslot_number":                 65535,                  //  uint16_t
  "module_ident_number":            65536,                  //  uint32_t
  "submodule_ident_number":         65536,                  //  uint32_t
  "submodule_input_data_length":    65536,                  //  uint32_t
  "submodule_output_data_length":   65536                   //  uint32_t
}
#pn_io-frame_details-object (type: json_map)
{
  "forwarding_mode":            "no-sync-frame",                //  predefined-strings
  "meaning_frame_send_offset":  "time-for-transmitting-frame",  //  predefined-strings
  "media_redundancy_watchdog":  "enable"                        //  predefined-strings
}
#pn_io-tx_port_group_entry-object (type: json_map)
{
  "tx_port_group_entry":        255     //  uint8_t
}
#pn_io-sf_io_cr_properties-object (type: json_map)
{
  "distributed_watch_dog_factor":           15,     //  4 bits
  "restart_factor_for_distributed_wd":      15,     //  4 bits
  "dfp_mode":                               15,     //  4 bits
  "dfp_direction":                          0,      //  1 bit
  "dfp_redundant_path_layout":              0,      //  1 bit
  "sf_cr_c_16":                             0       //  1 bit
}
#pn_io-subframe_data_object-object (type: json_map)
{
  "position":           64,     //  6 bits
  "data_length":        255     //  8 bits
}
#pn_io-multiple_interface_mode-object (type: json_map)
{
  "name_of_device":     0       //  1 bit
}
#pn_io-filter_data_submodule_object-object (type: json_map)
{
  "subslot_number":             65535,          //  uint16_t
  "submodule_ident_number":     65536           //  uint32_t
}
#pn_io-filter_data_module_object-object (type: json_map)
{
  "slot_number":                    65535,          //  uint16_t
  "module_ident_number":            65536,          //  uint32_t
  "submodules":                     []              //  pn_io-filter_data_submodule_object-object
}
submodules is an array of pn_io-filter_data_submodule_object-objects
#pn_io-filter_data_api_object-object (type: json_map)
{
  "api":            65536,      //  uint32_t
  "modules":        []          //  pn_io-filter_data_module_object-object
}
#pn_io-status_data_submodule_object-object (type: json_map)
{
  "subslot_number":             65535,          //  uint16_t
  "pe_energy_saving_mode":      "pe-operate"    //  predefined-strings
}
#pn_io-status_data_module_object-object (type: json_map)
{
  "slot_number":                    65535,          //  uint16_t
  "module_ident_number":            65536,          //  uint32_t
  "submodules":                     []              //  pn_io-status_data_submodule_object-object
}
submodules is an array of pn_io-status_data_submodule_object-objects
#pn_io-status_data_api_object-object (type: json_map)
{
  "api":            65536,      //  uint32_t
  "modules":        []          //  pn_io-status_data_module_object-object
}
#pn_io-counter_status-object (type: json_map)
{
  "if_in_octets":       "content-valid",    //  predefined-strings
  "if_out_octets":      "content-invalid",  //  predefined-strings
  "if_in_discards":     "content-valid",    //  predefined-strings
  "if_out_discards":    "content-invalid",  //  predefined-strings
  "if_in_errors":       "content-valid",    //  predefined-strings
  "if_out_errors":      "content-invalid"   //  predefined-strings
}
#pn_io-rs_adjust_specifier-object (type: json_map)
{
  "incident":           "rising-edge",  //  predefined-strings
  "reserved":           63              //  6 bits
}
#pn_io-rs_adjust_observer_entry-object (type: json_map)
{
  "rs_block_type":              "time-status-observer", //  predefined-strings
  "block_version_low":          255,                    //  uint8_t
  "block_version_high":         255,                    //  uint8_t
  "channel_number":             65535,                  //  *optional field; uint16_t
  "rs_max_scan_delay":          65535,                  //  *optional field; uint16_t
  "rs_adjust_specifier":        {}                      //  *optional field; pn_io-rs_adjust_specifier-object
}
Optional fields exist only when rs_block_type=digital-input-observer(adjust)
rs_adjust_specifier is an object of pn_io-rs_adjust_specifier-object type
#pn_io-rs_specifier-object (type: json_map)
{
  "sequence_number":    2047,       //  11 bits
  "specifier":          "appears"   //  predefined-strings
}
#pn_io-mrp_ic_mic_params-object (type: json_map)
{
  "mrp_ic_top_chg_t":               65535,      //  uint16_t
  "mrp_ic_top_nr_max":              65535,      //  uint16_t
  "mrp_ic_start_delay":             65535,      //  uint16_t
  "mrp_ic_link_status_nr_max":      65535,      //  uint16_t
  "mrp_ic_link_status_change_t":    65535       //  uint16_t
}
#pn_io-mrp_ic_mim_params-object (type: json_map)
{
  "mrp_ic_lnk_up_t":        65535,      //  uint16_t
  "mrp_ic_lnk_down_t":      65535,      //  uint16_t
  "mrp_ic_lnk_nr_max":      65535,      //  uint16_t
  "mrp_ic_start_delay":     65535       //  uint16_t
}
#pn_io-mrp_ic_check-object (type: json_map)
{
  "mim":                "off",      //  predefined-strings
  "mrp_ic_domain_id":   "off",      //  predefined-strings
  "reserved1":          4194303,    //  22 bits
  "reserved1":          255         //  8 bits
}
#pn_io-check_peer-object (type: json_map)
{
  "peer_port_name":     "port-name",        //  arbitrary-string
  "peer_station_name":  "station-name"      //  predefined-strings
}
#pn_io-am_location-object (type: json_map)
{
  "structure":                  "twelve-level-tree-format",     //  predefined-strings
  "level_0":                    1023,                           //  *optional field; 10 bits
  "level_1":                    1023,                           //  *optional field; 10 bits
  "level_2":                    1023,                           //  *optional field; 10 bits
  "level_3":                    1023,                           //  *optional field; 10 bits
  "level_4":                    1023,                           //  *optional field; 10 bits
  "level_5":                    1023,                           //  *optional field; 10 bits
  "level_6":                    1023,                           //  *optional field; 10 bits
  "level_7":                    1023,                           //  *optional field; 10 bits
  "level_8":                    1023,                           //  *optional field; 10 bits
  "level_9":                    1023,                           //  *optional field; 10 bits
  "level_10":                   1023,                           //  *optional field; 10 bits
  "level_11":                   1023,                           //  *optional field; 10 bits
  "begin_slot_number":          65535,                          //  *optional field; uint16_t
  "begin_subslot_number":       65535,                          //  *optional field; uint16_t
  "begin_end_slot_number":      65535,                          //  *optional field; uint16_t
  "begin_end_subslot_number":   65535                           //  *optional field; uint16_t
}
level_0-level_11 exists only when structure=twelve-level-tree-format
begin_slot_number, begin_subslot_number, begin_end_slot_number, begin_end_subslot_number exist only when structure=slot-and-subslot-number-format
#pn_io-am_device_identification-object (type: json_map)
{
  "device_sub_id":      65535,              //  16 bits
  "device_id":          65535,              //  16 bits
  "vendor_id":          65535,              //  16 bits
  "device_sub_id":      65535,              //  16 bits
  "organization":       "iec-61158-type-6"  //  predefined-strings
}
level_0-level_11 exists only when structure=twelve-level-tree-format
begin_slot_number, begin_subslot_number, begin_end_slot_number, begin_end_subslot_number exist only when structure=slot-and-subslot-number-format
#pn_io-check_sync_mode-object (type: json_map)
{
  "cable_delay":      "on",   //  string: on/off
  "sync_master":      "off"   //  string: on/off
}
#pn_io-mau_type_mode-object (type: json_map)
{
  "check":      "off"   //  string: on/off
}
#pn_io-alarm_specifier-object (type: json_map)
{
  "sequence_number":                    1023,                   //  10 bits
  "channel_diagnosis":                  "at-least-one",         //  predefined-strings
  "manufacturer_specific_diagnosis":    "no",                   //  predefined-strings
  "submodule_diagnosis_state":          "fault-exist",          //  predefined-strings
  "submodule_diagnosis_state":          "fault-free"            //  predefined-strings
}
#pn_io-maintenance_status-object (type: json_map)
{
  "maintenance_required":                   "required",         //  predefined-strings
  "maintenance_demanded":                   "no-demanded",      //  predefined-strings
  "qualifiers":                             []                  //  array of predefined strings
}
qualifiers contains 29 elements (info/no-info); The first element corresponds to Qualifier_3, the second to Qualifier_4, etc.
#pn_io-ur_record-object (type: json_map)
{
  "ur_record_index":                        65536,          //  uint32_t
  "ur_record_length":                       65536           //  uint32_t
}

lldp

#lldp_organization_specific-profinet-rtc2_port_status-object (type: json_map)
{
  "state":      "rtc2-run/reserved"     //  predefined-strings
}
#lldp_organization_specific-profinet-rtc3_port_status-object (type: json_map)
{
  "state":                          "rtc3-run",             //  predefined-strings
  "fragmentation":                  "off",                  //  on/off
  "preamble_length":                "seven-octet",          //  predefined-strings
  "optimized":                      "off",                  //  on/off
}
#lldp_organization_specific-profinet-mrrt_port_status-object (type: json_map)
{
  "state":                          "off",                  //  predefined-strings
}
#lldp_organization_specific-profinet-lldp_length_of_period-object (type: json_map)
{
  "length":                                     2147483647,     //  31 bits
  "valid":                                      "valid"         //  valid/invalid
}
#lldp_organization_specific-profinet-lldp_red_orange_period_begin-object (type: json_map)
{
  "offset":                                     2147483647,     //  31 bits
  "valid":                                      "valid"         //  valid/invalid
}
#lldp_organization_specific-profinet-lldp_orange_period_begin-object (type: json_map)
{
  "offset":                                     2147483647,     //  31 bits
  "valid":                                      "invalid"       //  predefined-strings
}
#lldp_organization_specific-profinet-lldp_green_period_begin-object (type: json_map)
{
  "offset":                                     2147483647,     //  31 bits
  "valid":                                      "invalid"       //  valid/invalid
}
#lldp_organization_specific-ieee_802_1-flags-object (type: json_map)
{
  "port_and_protocol_vlan_supported":           "supported",    //  supported/not-supported
  "port_and_protocol_vlan_enabled":             "enabled"       //  enabled/not-enabled
}
#lldp_organization_specific-ieee_802_3-pmd_auto_negotiation_advertised_capability-object (type: json_map)
{
  "auto_negotiation_support":           "supported",    //  supported/not-supported
  "auto_negotiation_status":            "enabled"       //  enabled/not-enabled
}
#lldp_organization_specific-ieee_802_3-mid_power_support-object (type: json_map)
{
  "port_class_property":            "supported",                        //  pse/pd
  "pse_mdi_power_support":          "supported",                        //  supported/not-supported
  "pse_mdi_power_state":            "enabled",                          //  enabled/disabled
  "pse_pairs_control_ability":      "pair-selection-can-be-controlled"  //  predefined-strings
}
#lldp_organization_specific-ieee_802_3-aggregation_status-object (type: json_map)
{
  "aggregation_capability":         "capable-of-being-aggregated",          //  predefined-strings
  "aggregation_status":             "currently-in-aggregation"              //  predefined-strings
}

IEC-104

$iec104.data (type: json_map)
{
  "io:": "information-objects",          // array of information objects
  "ios": "number-of-information-objects" // uint8_t
}

The ios field contains the number of elements in the io array.

#iec104_data-type-information-object (type: json_map)
{
    "ioa":     "information-object-address",    // integer
    "ie":      "information-elements",          // array of information-element
    "ies":     "number-of-information-elements" // uint8_t
}

The ies field contains the number of elements in the ie array.

#iec104_data-type-information-element (type: json_map)
{
    "type":    "information-element-type",    // predefined-strings
    ...                                       // type-specific keys
}

The type field is present in all information-element objects. The other keys in an information-element object depend on the value of the type field, as detailed below.

information-element-type is one of SIQ, DIQ, BSI, QDS, VTI, NVA, SVA, R32_IEEE_STD_754, BCR, CP24Time2A, CP56Time2A, SEP, QDP, CP16Time2A, OCI, SCD, SCO, DCO, RCO, QOS, COI, QOI, QCC, FBP, QRP, QPM, QPA, FRQ, SRQ, SCQ, LSQ, AFQ, NOF, NOS, LOF, LOS, CHS, SOF, TSC, segment.

#iec104_data-type-information-element-siq (type: json_map)
{
    "type":        "SIQ",    // string
    "invalid":     true,     // boolean
    "non-topical": true,     // boolean
    "substituted": true,     // boolean
    "blocked":     true,     // boolean
    "status":      "status"  // predefined-strings
}

status is one of "off", "on".

#iec104_data-type-information-element-diq (type: json_map)
{
    "type":        "DIQ",   // predefined-strings
    "invalid":     true,    // boolean
    "non-topical": true,    // boolean
    "substituted": true,    // boolean
    "blocked":     true,    // boolean
    "status":      "status" // predefined-strings
}

status is one of "0 (indeterminate or intermediate state)", "1 (off)", "2 (on)", "3 (indeterminate)", "<N> (unknown/invalid)", where N is in the range 4..255. Only the first four values are valid according to the IEC 60870-5 standard.

#iec104_data-type-information-element-bsi (type: json_map)
{
    "type":        "BSI",      // predefined-strings
    "bitstring":   "bitstring" // string
}

bistring is a string sequence of 1 and 0, with each 1 corresponding to a bit set to 1, and each 0 corresponding to a bit set to 0. The leftmost bit is the highest-numbered bit.

#iec104_data-type-information-element-qds (type: json_map)
{
    "type":        "QDS", // predefined-strings
    "invalid":     true,  // boolean
    "not-topical": true,  // boolean
    "substituted": true,  // boolean
    "blocked":     true,  // boolean
    "overflow":    true   // boolean
}
#iec104_data-type-information-element-vti (type: json_map)
{
    "type":        "VTI", // predefined-strings
    "transient":   true,  // boolean
    "value":       255    // int8_t
}
#iec104_data-type-information-element-nva (type: json_map)
{
    "type":        "NVA", // predefined-strings
    "value":       32768  // int16_t
}
#iec104_data-type-information-element-sva (type: json_map)
{
    "type":        "SVA", // predefined-strings
    "value":       32768  // int16_t
}
#iec104_data-type-information-element-r32 (type: json_map)
{
    "type":        "R32", // predefined-strings
    "value":       0.0    // float
}
#iec104_data-type-information-element-bcr (type: json_map)
{
    "type":             "BCR", // predefined-strings
    "invalid":          true,  // boolean
    "counter-adjusted": true,  // boolean
    "carry":            true,  // boolean
    "sequence-number":  255    // uint8_t
}
#iec104_data-type-information-element-cp24time2a (type: json_map)
{
    "type":         "CP24Time2A", // predefined-strings
    "milliseconds": 59999,        // uint16_t
    "minutes":      59            // uint8_t
}

The IEC 60870-5 standard prescribes a valid range of 0..59999 for the milliseconds field, 0..59 for the minutes field.

#iec104_data-type-information-element-cp56time2a (type: json_map)
{
    "type":        "CP56Time2A", // predefined-strings
    "milliseconds": 59999,       // uint16_t
    "minutes":      59,          // uint8_t
    "hours":        23,          // uint8_t
    "day-of-week":  6,           // uint8_t
    "day-of-month": 31,          // uint8_t
    "month":        12,          // uint8_t
    "year":         99           // uint8_t
}

The IEC 60870-5 standard prescribes a valid range of 0..59999 for the milliseconds field, 0..59 for the minutes field, 0..23 for the hours field, 0..6 for the day-of-week field, 0..31 for the day-of-month field, 1..12 for the month field, and 0..99 for the year field.

#iec104_data-type-information-element-sep (type: json_map)
{
    "type":                 "SEP",        // predefined-strings
    "invalid":              true,         // boolean
    "not-topical":          true,         // boolean
    "substituted":          true,         // boolean
    "blocked":              true,         // boolean
    "elapsed-time-invalid": true,         // boolean
    "event-state":          "event-state" // predefined-strings
}

event-state is one of "0 (indeterminate)", "1 (off)", "2 (on)", "3 (indeterminate)", or "<N> (unknown/invalid)", where N is in the range 4..255. Only the first four values are valid according to the IEC 60870-5 standard.

`#iec104_data-type-information-element-qdp (type: json_map)
{
    "type":                 "QDP", // predefined-strings
    "invalid":              true,  // boolean
    "not-topical":          true,  // boolean
    "substituted":          true,  // boolean
    "blocked":              true,  // boolean
    "elapsed-time-invalid": true   // boolean
}
#iec104_data-type-information-element-cp16time2a (type: json_map)
{
    "type":        "CP16Time2A", // predefined-strings
    "milliseconds": 65535,       // uint16_t
}

The valid range for the milliseconds field is 0..59999.

#iec104_data-type-information-element-oci (type: json_map)
{
    "type": "OCI", // predefined-strings
    "GC":   true,  // boolean
    "cl3":  true,  // boolean
    "cl2":  true,  // boolean
    "cl1":  true   // boolean
}
#iec104_data-type-information-element-scd (type: json_map)
{
    "type":   "SCD",       // predefined-strings
    "status": "bitstring", // string
    "change": "bitstring"  // string
}

The status and change fields correspond to the analogous IEC 60870-5 bitstrings. Each one is a string sequence of 1 and 0, with each 1 corresponding to a bit set to 1, and each 0 corresponding to a bit set to 0. The leftmost bit is the highest-numbered bit.

#iec104_data-type-information-element-sco (type: json_map)
{
    "type":             "SCO",        // predefined-strings
    "select/execute":   1,            // integer
    "quc":              "quc-string", // predefined-strings
    "scs":              1             // integer
}

The quc field is one of "0 (no additional definition)", "1 (short pulse duration)", "2 (long duration pulse)", "3 (persistent output)", or "<N> (unknown/invalid)", where N is in the range 4..255. Only the first four values are valid according to the IEC 60870-5 standard.

#iec104_data-type-information-element-dco (type: json_map)
{
    "type":             "DCO",        // predefined-strings
    "select/execute":   1,            // integer
    "quc":              "quc-string", // predefined-strings
    "dcs":              "dcs-string"  // predefined-strings
}

The quc field is one of "0 (no additional definition)", "1 (short pulse duration)", "2 (long duration pulse)", "3 (persistent output)", or "<N> (unknown/invalid)", where N is in the range 4..255. Only the first four values are valid according to the IEC 60870-5 standard.

The dcs field is one of "0 (not permitted)", "1 (command OFF)", "2 (command ON)", "3 (not permitted)", or "<N> (unknown/invalid)", where N is in the range 4..255. Only the first four values are valid according to the IEC 60870-5 standard.

#iec104_data-type-information-element-rco (type: json_map)
{
    "type":             "RCO",        // predefined-strings
    "select/execute":   1,            // integer
    "quc":              "quc-string", // predefined-strings
    "rcs":              "rcs-string"  // predefined-strings
}

The quc field is one of "0 (no additional definition)", "1 (short pulse duration)", "2 (long duration pulse)", "3 (persistent output)", or "<N> (unknown/invalid)", where N is in the range 4..255. Only the first four values are valid according to the IEC 60870-5 standard.

The rcs field is one of "0 (not permitted)", "1 (next step LOWER)", "2 (next step HIGHER)", "3 (not permitted)", or "<N> (unknown/invalid)", where N is in the range 4..255. Only the first four values are valid according to the IEC 60870-5 standard.

#iec104_data-type-information-element-coi (type: json_map)
{
    "type":        "COI",             // predefined-strings
    "bsi":         "bsi-string",      // predefined-strings
    "qualifier":   "qualifier-string" // predefined-strings
}

The bsi field is one of "0 (initialization with unchanged local parameters)" or "1 (initialization after changed local parameters)".

The qualifier field is one of "0 (local power switch on)", "1 (local manual reset)", "2 (remote reset)", "<N> (unknown, reserved)" or "`<M> (unknown, private)", where N is 3..31 and M is 32..127. Only the first three values are standardized as part of the IEC 60870-5 standard.

#iec104_data-type-information-element-qoi (type: json_map)
{
    "type":        "QOI",             // predefined-strings
    "qualifier":   "qualifier-string" // predefined-strings
}

The qualifier field is one of the following: "0 (invalid: unused)", "20 (station interrogation - global)", "<N> (interrogation of group <G>" where N is in the range 21..36 and G is in the range 1..16 such that <N> = <G> + 20, <N> (reserved) where N is in the range 1..19 or in the range 37..63, or "<N> (private)", where N is in the range 64..255.

#iec104_data-type-information-element-qcc (type: json_map)
{
    "type":    "QCC",           // predefined-strings
    "freeze":  "freeze-string", // predefined-strings
    "request": "request-string" // predefined-strings
}

The freeze field is one of "0 (read without freeze/reset)", "1 (freeze without reset)", "2 (freeze with reset)""3 (reset)", or "<N> (unknown/invalid)", where N is in the range 4..255. Only the first four values are valid according to the IEC 60870-5 standard.

The request field is one of 0 (unused/invalid), "<N> (request counter group <G>" where N is in the range 1..4 and G is in the range 1..4 such that <G>=<N>, "5 (general request counter)", " <N> (reserved)" or "<M> (private)" where N is in the range 6..31 and M is in the range 32..63.

#iec104_data-type-information-element-fbp (type: json_map)
{
    "type":         "FBP", // predefined-strings
    "test-pattern": 65535, // uint16_t
}
#iec104_data-type-information-element-qrp (type: json_map)
{
    "type":        "QRP",             // predefined-strings
    "qualifier":   "qualifier-string" // predefined-strings
}

The qualifier field is one of "0 (unused/invalid)", "1 (general reset of process)", "2 (clear time tagged information from event buffer)", "<N> (unknown/reserved)" where N is in the range 3..126, or "<N> (private)" where N is in the range 127..255.

#iec104_data-type-information-element-qpm (type: json_map)
{
    "type": "QPM",        // predefined-strings
    "pop":  "pop-string", // predefined-strings
    "lpc":  true,         // bool
    "kpa":  "kpa-string"  // predefined-strings
}

The pop field is one of "1 (not in operation)" or "0 (in operation)".

The lpc field is one of "0 (unused/invalid)", "1 (threshold value)", "2 (smoothing factor)", "3 (low limit for transmission of measured values)", "4 (high limit for transmission of measured values)", "<N> (unknown/reserved)" where N is in the range 5..31 or "<N> (private)" where N is in the range 32..63.

#iec104_data-type-information-element-qpa (type: json_map)
{
    "type":        "QPA",             // predefined-strings
    "qualifier":   "qualifier-string" // predefined-strings
}

The qualifier field is one of <N> (unused/invalid) where N is in the range 0..2, "3 (activation of cyclic transmission of object)", "<N> (unknown/reserved)" where N is in the range 4..127, or "<N> (private)", where N is in the range 128..255.

#iec104_data-type-information-element-frq (type: json_map)
{
    "type":                 "FRQ",                  // predefined-strings
    "bsi-non-confirmation": true,                   // boolean
    "qualifier-code":       "qualifier-code-string" // predefined-strings
}

The qualifier-code field is one of "0 (default)", "<N> (unknown/reserved)" where N is in the range 1..63, or "<N> (private)" where N is in the range 64..255.

#iec104_data-type-information-element-srq (type: json_map)
{
    "type":           "SRQ",                  // predefined-strings
    "bsi-not-ready":  true,                   // boolean
    "qualifier-code": "qualifier-code-string" // predefined-strings
}

The qualifier-code field is one of "0 (default)", "<N> (unknown/reserved)" where N is in the range 1..63, or "<N> (private)" where N is in the range 64..255.

#iec104_data-type-information-element-scq (type: json_map)
{
    "type":           "SCQ",                   // predefined-strings
    "selection-code": "selection-code-string", // predefined-strings
    "fault-code":     "fault-code-string"      // predefined-strings
}

The selection-code field is one of "0 (default)", "1 (select file)", "2 (request file)", "3 (deactivate file)", "4 (delete file)", "5 (select section)", "6 (request section)", "7 (deactivate section)", or "<N> (unknown/reserved)" where N is in the range 8..10, or "<N> (private)" where N is in the range 11..15.

The fault-code field is one of "0 (default)", "1 (requested memory space not available)", "2 (checksum failed)", "3 (unexpected communication service)", "4 (unexpected name of file)", "5 (unexpected name of section)", "<N> (unknown/reserved)" where N is in the range 6..10, or "<N> (private)" where N is in the range 11..15.

#iec104_data-type-information-element-lsq (type: json_map)
{
    "type":           "LSQ",                   // predefined-strings
    "selection-code": "selection-code-string"  // predefined-strings
}

The selection-code field is one of "0 (invalid/not used)", "1 (file transfer without deactivation)", "2 (file transfer with deactivation)", "3 (section transfer without deactivation)", "4 (section transfer with deactivation)", "<N> (unknown/reserved)" where N is in the range 5..127, or "<N> (private)" where N is in the range 128..255.

#iec104_data-type-information-element-afq (type: json_map)
{
    "type":           "AFQ",                   // predefined-strings
    "selection-code": "selection-code-string", // predefined-strings
    "fault-code":     "fault-code-string"      // predefined-strings
}

The selection-code field is one of "0 (default)", "1 (select file)", "2 (request file)", "3 (deactivate file)", "4 (delete file)", "5 (select section)", "6 (request section)", "7 (deactivate section)", "<N> (unknown/reserved)" where N is in the range 8..10, or "<N> (private)" where N is in the range 11..15.

The fault-code field is one of "0 (default)", "1 (requested memory space not available)", "2 (checksum failed)", "3 (unexpected communication service)", "4 (unexpected name of file)", "5 (unexpected name of section)", "<N> (unknown/reserved)" where N is in the range 6..10, or "<N> (private)" where N is in the range 11..15.

#iec104_data-type-information-element-nof (type: json_map)
{
    "type":         "NOF", // predefined-strings
    "name-of-file": 65535  // uint16_t
}
#iec104_data-type-information-element-nos (type: json_map)
{
    "type":            "NOS", // predefined-strings
    "name-of-section": 255    // uint8_t
}
#iec104_data-type-information-element-lof (type: json_map)
{
    "type":           "LOF",     // predefined-strings
    "length-of-file": 4294967296 // uint32_t
}
#iec104_data-type-information-element-los (type: json_map)
{
    "type":              "LOS", // predefined-strings
    "length-of-segment": 255    // uint8_t
}
#iec104_data-type-information-element-chs (type: json_map)
{
    "type":        "CHS", // predefined-strings
    "checksum":    255,   // uint8_t
}
#iec104_data-type-information-element-sof (type: json_map)
{
    "type":        "SOF",                // predefined-strings
    "file-active": "file-active-string", // predefined-strings
    "file-origin": "file-origin-string", // predefined-strings
    "file-status": 255                   // uint8_t
}

The file-active field is either "0 (file waits for transfer)" or "1 (transfer of this file is active)".

The file-origin field is either "0 (name defines file)" or "1 (name defines directory)".

#iec104_data-type-information-element-tsc (type: json_map)
{
    "type":     "TSC", // predefined-strings
    "sequence": 255    // uint8_t
}
#iec104_data-type-segment (type: json_map)

Data transfer payloads are output per-segment in the following format:

{
    "segment": "contents-hex-string" // hex-string
}

The segment field contains the hex dump of the segment contents. Bytes are zero-padded and no whitespace is used.