[
  {
    "description": "DevVersionReq",
    "type": "downlink-encode",
    "input": {
      "data": {
        "message_name": "dev_version_req"
      }
    },
    "output": {
      "fPort": 203,
      "bytes": "01"
    }
  },
  {
    "description": "DevVersionAns",
    "type": "uplink",
    "input": {
      "bytes": "01ddccbbaa44332211",
      "recvTime": "2023-02-15T13:58:57.743Z",
      "fPort": 203
    },
    "output": {
      "data": {
        "message_name": "dev_version_ans",
        "HW_version": "0x11223344",
        "FW_version": "0xaabbccdd"
      }
    }
  },
  {
    "description": "Configuration Update Request - Schedule - Transmitter Status - v0",
    "type": "downlink-encode",
    "input": {
      "data": {
        "message_name": "configuration_update_request",
        "message_version": 0,
        "tag": "0xfe2192c9",
        "payload": {
          "type": "schedule",
          "version": 0,
          "command": "replace",
          "timing": 1440,
          "triggered_on_button_press": true,
          "send": true,
          "settings": {
            "type": "transmitter_status",
            "version": 0
          }
        }
      }
    },
    "output": {
      "fPort": 11,
      "bytes": "00fe2192c90020105a00000000000000000000c00000"
    }
  },
  {
    "description": "Configuration Update Request - Schedule - Transmitter Battery - v0",
    "type": "downlink-encode",
    "input": {
      "data": {
        "message_name": "configuration_update_request",
        "message_version": 0,
        "tag": "0x439c60d5",
        "payload": {
          "type": "schedule",
          "version": 0,
          "command": "replace",
          "timing": 1440,
          "triggered_on_button_press": true,
          "send": true,
          "settings": {
            "type": "transmitter_battery",
            "version": 0
          }
        }
      }
    },
    "output": {
      "fPort": 11,
      "bytes": "00439c60d50020105a00000000000000000000c000f0"
    }
  },
  {
    "description": "Configuration Update Request - Schedule - Transmitter Battery - v1",
    "type": "downlink-encode",
    "input": {
      "data": {
        "message_name": "configuration_update_request",
        "message_version": 0,
        "tag": "0x439c60d5",
        "payload": {
          "type": "schedule",
          "version": 0,
          "command": "replace",
          "timing": 1440,
          "triggered_on_button_press": true,
          "send": true,
          "settings": {
            "type": "transmitter_battery",
            "version": 1
          }
        }
      }
    },
    "output": {
      "fPort": 11,
      "bytes": "00439c60d50020105a00000000000000000000c000f1"
    }
  },
  {
    "description": "Configuration Update Request - Transmitter",
    "type": "downlink-encode",
    "input": {
      "data": {
        "message_name": "configuration_update_request",
        "message_version": 0,
        "tag": "0x573889d9",
        "payload": {
          "type": "transmitter",
          "version": 0,
          "allow_deactivation": true,
          "require_sensor_pairing": false,
          "enable_class_b": false,
          "time_synchronization_interval_days": 1,
          "fragmented_uplink_redundancy_percent": 10
        }
      }
    },
    "output": {
      "fPort": 11,
      "bytes": "00573889d900108428"
    }
  },
  {
    "description": "Factory Reset Request",
    "type": "downlink-encode",
    "input": {
      "data": {
        "message_name": "factory_reset_request",
        "message_version": 0,
        "magic_value": 39763
      }
    },
    "output": {
      "fPort": 14,
      "bytes": "209b53"
    }
  },
  {
    "description": "Past Measurement Request",
    "type": "downlink-encode",
    "input": {
      "data": {
        "message_name": "past_measurement_request",
        "message_version": 0,
        "timestamp": "2023-07-31T18:40:00.000Z"
      }
    },
    "output": {
      "fPort": 14,
      "bytes": "0064c80000"
    }
  },
  {
    "description": "Transmitter Battery Reset Request",
    "type": "downlink-encode",
    "input": {
      "data": {
        "message_name": "transmitter_battery_reset_request",
        "message_version": 0,
        "magic_value": 43018
      }
    },
    "output": {
      "fPort": 14,
      "bytes": "30a80a"
    }
  },
  {
    "description": "Fragmented Uplink Start v0",
    "type": "uplink",
    "input": {
      "bytes": "0011200020075BCD15",
      "recvTime": "2023-02-15T13:58:57.743Z",
      "fPort": 12
    },
    "output": {
      "data": {
        "message_name": "fragmented_uplink_start",
        "message_version": 0,
        "fragmented_uplink_fport": 17,
        "fragmented_uplink_size": 8192,
        "fragmented_uplink_fragment_size": 32,
        "fragmented_uplink_crc": 123456789
      }
    }
  },
  {
    "description": "Fragmented Uplink Data v0",
    "type": "uplink",
    "input": {
      "bytes": "100001000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f",
      "recvTime": "2023-02-15T13:58:57.743Z",
      "fPort": 12
    },
    "output": {
      "data": {
        "message_name": "fragmented_uplink_data",
        "message_version": 0,
        "fragmented_uplink_index": 1,
        "fragmented_uplink_data": [
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28,
          29,
          30,
          31,
          0,
          1,
          2,
          3,
          4,
          5,
          6,
          7,
          8,
          9,
          10,
          11,
          12,
          13,
          14,
          15,
          16,
          17,
          18,
          19,
          20,
          21,
          22,
          23,
          24,
          25,
          26,
          27,
          28,
          29,
          30,
          31
        ]
      }
    }
  },
  {
    "description": "Fragmented Uplink Stop v0",
    "type": "downlink-encode",
    "input": {
      "data": {
        "message_name": "fragmented_uplink_stop",
        "message_version": 0
      }
    },
    "output": {
      "fPort": 12,
      "bytes": "20"
    }
  },
  {
    "description": "Configuration Update Answer - Transmitter",
    "type": "uplink",
    "input": {
      "bytes": "00aabbccdd0010",
      "recvTime": "2023-07-31T18:40:00.000Z",
      "fPort": 11
    },
    "output": {
      "data": {
        "message_name": "configuration_update_answer",
        "message_version": 0,
        "tag": "0xaabbccdd",
        "type": "transmitter",
        "status": "success"
      }
    }
  },
  {
    "description": "Factory Reset Answer",
    "type": "uplink",
    "input": {
      "bytes": "20",
      "recvTime": "2023-07-31T18:40:00.000Z",
      "fPort": 14
    },
    "output": {
      "data": {
        "message_name": "factory_reset_answer",
        "message_version": 0
      }
    }
  },
  {
    "description": "Transmitter Battery Reset Answer",
    "type": "uplink",
    "input": {
      "bytes": "30",
      "recvTime": "2023-07-31T18:40:00.000Z",
      "fPort": 14
    },
    "output": {
      "data": {
        "message_name": "transmitter_battery_reset_answer",
        "message_version": 0
      }
    }
  },
  {
    "description": "Transmitter Battery v0",
    "type": "uplink",
    "input": {
      "bytes": "10c81dab653387bc",
      "recvTime": "2023-07-31T18:40:00.000Z",
      "fPort": 14
    },
    "output": {
      "data": {
        "message_name": "transmitter_battery",
        "message_version": 0,
        "transmitter_charge_used": 1038,
        "sensor_charge_used": 3506,
        "transmitter_average_temperature": 19.515625,
        "battery_level": 239
      }
    }
  },
  {
    "description": "Transmitter Battery v1",
    "type": "uplink",
    "input": {
      "bytes": "11c81dab653387bcfff8",
      "recvTime": "2023-07-31T18:40:00.000Z",
      "fPort": 14
    },
    "output": {
      "data": {
        "message_name": "transmitter_battery",
        "message_version": 1,
        "transmitter_charge_used": 1038,
        "sensor_charge_used": 3506,
        "transmitter_average_temperature": 19.515625,
        "battery_level": 239,
        "battery_voltage": 0.007808685302734375
      }
    }
  },
  {
    "description": "Configuration Update Request - TT Alert",
    "type": "downlink-encode",
    "input": {
      "data": {
        "message_name": "configuration_update_request",
        "message_version": 0,
        "tag": "0x0b7c60d3",
        "payload": {
          "version": 0,
          "type": "tt_alert",
          "enable_confirmed_alert": false,
          "alert_0": {
            "selection": "off",
            "threshold": 0,
            "hysteresis": 0
          },
          "alert_1": {
            "selection": "off",
            "threshold": 0,
            "hysteresis": 0
          },
          "alert_2": {
            "selection": "off",
            "threshold": 0,
            "hysteresis": 0
          },
          "alert_3": {
            "selection": "off",
            "threshold": 0,
            "hysteresis": 0
          },
          "alert_4": {
            "selection": "off",
            "threshold": 0,
            "hysteresis": 0
          },
          "alert_5": {
            "selection": "off",
            "threshold": 0,
            "hysteresis": 0
          },
          "alert_6": {
            "selection": "off",
            "threshold": 0,
            "hysteresis": 0
          },
          "alert_7": {
            "selection": "off",
            "threshold": 0,
            "hysteresis": 0
          }
        }
      }
    },
    "output": {
      "fPort": 11,
      "bytes": "000b7c60d30070000000000000000000000000000000000000000000000000000000000000000000000000"
    }
  },
  {
    "description": "Configuration Update Request - Schedule - TT Measurement",
    "type": "downlink-encode",
    "input": {
      "data": {
        "message_name": "configuration_update_request",
        "message_version": 0,
        "tag": "0x37414e5a",
        "payload": {
          "type": "schedule",
          "version": 0,
          "command": "replace",
          "timing": 60,
          "triggered_on_button_press": false,
          "send": true,
          "settings": {
            "type": "tt_measurement",
            "version": 0,
            "channel": "temperature_ambient",
            "enable_confirmed_message": false,
            "send_condition": {
              "value_type": "always",
              "threshold": 0
            }
          }
        }
      }
    },
    "output": {
      "fPort": 11,
      "bytes": "0037414e5a00201003c000000000000000000040010000000000"
    }
  },
  {
    "description": "Configuration Update Request - Schedule - TT Statistics",
    "type": "downlink-encode",
    "input": {
      "data": {
        "message_name": "configuration_update_request",
        "message_version": 0,
        "tag": "0x1e1006c0",
        "payload": {
          "type": "schedule",
          "version": 0,
          "command": "replace",
          "timing": 1440,
          "triggered_on_button_press": false,
          "send": true,
          "settings": {
            "type": "tt_statistics",
            "version": 0,
            "channel": "temperature_ambient"
          }
        }
      }
    },
    "output": {
      "fPort": 11,
      "bytes": "001e1006c00020105a0000000000000000000040011000"
    }
  },
  {
    "description": "Configuration Update Request - TT Sensor Config",
    "type": "downlink-encode",
    "input": {
      "data": {
        "message_name": "configuration_update_request",
        "message_version": 0,
        "tag": "0x0b7c60d3",
        "payload": {
          "version": 0,
          "type": "tt_sensor",
          "element": "PT100_dual"
        }
      }
    },
    "output": {
      "fPort": 11,
      "bytes": "000b7c60d3008001"
    }
  },
  {
    "description": "Configuration Update Request - Schedule - Transmitter Status - v1",
    "type": "downlink-encode",
    "input": {
      "data": {
        "message_name": "configuration_update_request",
        "message_version": 0,
        "tag": "0xfe2192c9",
        "payload": {
          "type": "schedule",
          "version": 0,
          "command": "replace",
          "timing": 1440,
          "triggered_on_button_press": true,
          "send": true,
          "settings": {
            "type": "transmitter_status",
            "version": 1
          }
        }
      }
    },
    "output": {
      "fPort": 11,
      "bytes": "00fe2192c90020105a00000000000000000000c00001"
    }
  },
  {
    "description": "Transmitter Boot",
    "type": "uplink",
    "input": {
      "bytes": "000001",
      "recvTime": "2023-07-31T18:40:00.000Z",
      "fPort": 16
    },
    "output": {
      "data": {
        "message_name": "transmitter_boot",
        "message_version": 0,
        "transmitter_reboot_reason": "configuration_update"
      }
    }
  },
  {
    "description": "Transmitter Deactivated",
    "type": "uplink",
    "input": {
      "bytes": "3000",
      "recvTime": "2023-07-31T18:40:00.000Z",
      "fPort": 16
    },
    "output": {
      "data": {
        "message_name": "transmitter_deactivated",
        "message_version": 0,
        "deactivation_reason": "user_triggered"
      }
    }
  },
  {
    "description": "Transmitter Status - v1",
    "type": "uplink",
    "input": {
      "bytes": "0100a8fe0051",
      "recvTime": "2023-02-15T13:58:57.743Z",
      "fPort": 19
    },
    "output": {
      "data": {
        "message_name": "transmitter_status",
        "message_version": 1,
        "transmitter_temperature": 0,
        "rssi": -88,
        "bist_power_supply": true,
        "bist_configuration": true,
        "bist_sensor_probe_connection": true,
        "bist_sensor_measurement_circuit": true,
        "bist_flash_memory": true,
        "bist_internal_temperature_sensor": true,
        "bist_time_synchronized": true,
        "bist_passed": true,
        "use_case": "TT",
        "protocol_major": 5,
        "protocol_minor": 1
      }
    }
  },
  {
    "description": "Transmitter Status - v0",
    "type": "uplink",
    "input": {
      "bytes": "0000a80007fe",
      "recvTime": "2023-02-15T13:58:57.743Z",
      "fPort": 19
    },
    "output": {
      "data": {
        "message_name": "transmitter_status",
        "message_version": 0,
        "transmitter_temperature": 0,
        "rssi": -88,
        "lora_tx_counter": 7,
        "bist_power_supply": true,
        "bist_configuration": true,
        "bist_sensor_probe_connection": true,
        "bist_sensor_measurement_circuit": true,
        "bist_flash_memory": true,
        "bist_internal_temperature_sensor": true,
        "bist_time_synchronized": true,
        "bist_passed": true
      }
    }
  },
  {
    "description": "Alert",
    "type": "uplink",
    "input": {
      "bytes": "10000000",
      "recvTime": "2023-07-31T11:30:00.000Z",
      "fPort": 19
    },
    "output": {
      "data": {
        "message_name": "alert",
        "message_version": 0,
        "timestamp": "2023-07-31T11:30:00.000Z",
        "sensor_alert_0": false,
        "sensor_alert_1": false,
        "sensor_alert_2": false,
        "sensor_alert_3": false,
        "sensor_alert_4": false,
        "sensor_alert_5": false,
        "sensor_alert_6": false,
        "sensor_alert_7": false
      }
    }
  },
  {
    "description": "Measurement - Ambient",
    "type": "uplink",
    "input": {
      "bytes": "200eb34414600000",
      "recvTime": "2023-07-31T11:30:00.000Z",
      "fPort": 19
    },
    "output": {
      "data": {
        "message_name": "measurement",
        "message_version": 0,
        "timestamp": "2023-07-27T18:47:00.000Z",
        "temperature_ambient_value": 12.375,
        "temperature_ambient_status": "ok"
      }
    }
  },
  {
    "description": "Measurement - Temperature 1",
    "type": "uplink",
    "input": {
      "bytes": "201eb34414600000",
      "recvTime": "2023-07-31T11:30:00.000Z",
      "fPort": 19
    },
    "output": {
      "data": {
        "message_name": "measurement",
        "message_version": 0,
        "timestamp": "2023-07-27T18:47:00.000Z",
        "temperature_1_value": 12.375,
        "temperature_1_status": "ok"
      }
    }
  },
  {
    "description": "Measurement - Temperature 2",
    "type": "uplink",
    "input": {
      "bytes": "202eb34414600000",
      "recvTime": "2023-07-31T11:30:00.000Z",
      "fPort": 19
    },
    "output": {
      "data": {
        "message_name": "measurement",
        "message_version": 0,
        "timestamp": "2023-07-27T18:47:00.000Z",
        "temperature_2_value": 12.375,
        "temperature_2_status": "ok"
      }
    }
  },
  {
    "description": "Measurement - Temperature Delta",
    "type": "uplink",
    "input": {
      "bytes": "203eb34414600000",
      "recvTime": "2023-07-31T11:30:00.000Z",
      "fPort": 19
    },
    "output": {
      "data": {
        "message_name": "measurement",
        "message_version": 0,
        "timestamp": "2023-07-27T18:47:00.000Z",
        "temperature_delta_value": 12.375,
        "temperature_delta_status": "ok"
      }
    }
  },
  {
    "description": "Measurement - Temperature 2",
    "type": "uplink",
    "input": {
      "bytes": "202eb34000000000",
      "recvTime": "2023-07-31T11:30:00.000Z",
      "fPort": 19
    },
    "output": {
      "data": {
        "message_name": "measurement",
        "message_version": 0,
        "timestamp": "2023-07-27T18:47:00.000Z",
        "temperature_2_value": 0,
        "temperature_2_status": "ok"
      }
    }
  },
  {
    "description": "Measurement - Temperature Delta",
    "type": "uplink",
    "input": {
      "bytes": "203eb34c00000000",
      "recvTime": "2023-07-31T11:30:00.000Z",
      "fPort": 19
    },
    "output": {
      "data": {
        "message_name": "measurement",
        "message_version": 0,
        "timestamp": "2023-07-27T18:47:00.000Z",
        "temperature_delta_value": -2,
        "temperature_delta_status": "ok"
      }
    }
  },
  {
    "description": "Measurement - Temperature Delta - Hardware Error",
    "type": "uplink",
    "input": {
      "bytes": "203eb347FC000002",
      "recvTime": "2023-07-31T11:30:00.000Z",
      "fPort": 19
    },
    "output": {
      "data": {
        "message_name": "measurement",
        "message_version": 0,
        "timestamp": "2023-07-27T18:47:00.000Z",
        "temperature_delta_value": null,
        "temperature_delta_status": "hardware_error"
      }
    }
  },
  {
    "description": "Statistics",
    "type": "uplink",
    "input": {
      "bytes": "30000000000000000000",
      "recvTime": "2023-07-31T11:30:00.000Z",
      "fPort": 19
    },
    "output": {
      "data": {
        "message_name": "statistics",
        "message_version": 0,
        "temperature_ambient_min": 0,
        "temperature_ambient_max": 0,
        "temperature_ambient_avg": 0,
        "temperature_ambient_max_timestamp": "2023-07-31T11:30:00.000Z",
        "temperature_ambient_status": "ok"
      }
    }
  }
]