{
  "$schema": "https://apidocs.iqrf.org/iqrf-gateway-daemon/latest/com.iqrftech.self-desc/schema/jsonschema/1-0-0#",
  "self": {
    "vendor": "com.iqrftech.self-desc",
    "name": "iqrfSensor_Frc-response",
    "format": "jsonschema",
    "version": "1-0-0"
  },
  "type": "object",
  "properties": {
    "mType": {
      "type": "string",
      "description": "Standard peripheral Sensor - FRC response.",
      "enum": [
        "iqrfSensor_Frc"
      ]
    },
    "data": {
      "type": "object",
      "properties": {
        "msgId": {
          "type": "string",
          "description": "Message identification for binding request with response."
        },
        "timeout": {
          "type": "integer",
          "description": "Timeout to wait for IQRF DPA response."
        },
        "rsp": {
          "type": "object",
          "properties": {
            "nAdr": {
              "type": "integer",
              "description": "Network device address."
            },
            "hwpId": {
              "type": "integer",
              "description": "Hardware profile identification."
            },
            "rCode": {
              "type": "integer",
              "description": "DPA error code."
            },
            "dpaVal": {
              "type": "integer",
              "description": "DPA value."
            },
            "result": {
              "type": "object",
              "properties": {
                "sensors": {
                  "type": "array",
                  "description": "Returns array of objects for every sensor, see its description.",
                  "items": {
                    "oneOf": [
                      {
                        "type": "null"
                      },
                      {
                        "type": "object",
                        "properties": {
                          "id": {
                            "type": "string",
                            "description": "Value type as text id."
                          },
                          "type": {
                            "type": "integer",
                            "description": "Value type of the sensor (quantity)."
                          },
                          "name": {
                            "type": "string",
                            "description": "Name of the sensor (quantity)."
                          },
                          "shortName": {
                            "type": "string",
                            "description": " Short name of the sensor (quantity). Typically it is a symbol used at physics."
                          },
                          "value": {
                            "oneOf": [
                              {
                                "type": "number"
                              },
                              {
                                "type": "null"
                              }
                            ],
                            "description": "Value of the sensor."
                          },
                          "unit": {
                            "type": "string",
                            "description": "Unit of the quantity. Dimensionless quantities has \"\"."
                          },
                          "breakdown": {
                            "type": "array",
                            "description": "Parsed generic types if present in device response.",
                            "items": {
                              "type": "object",
                              "properties": {
                                "type": {
                                  "type": "integer",
                                  "description": "Value type of the sensor (quantity)."
                                },
                                "name": {
                                  "type": "string",
                                  "description": "Name of the sensor (quantity)."
                                },
                                "shortName": {
                                  "type": "string",
                                  "description": " Short name of the sensor (quantity). Typically it is a symbol used at physics."
                                },
                                "value": {
                                  "oneOf": [
                                    {
                                      "type": "number"
                                    },
                                    {
                                      "type": "null"
                                    }
                                  ],
                                  "description": "Value of the sensor."
                                },
                                "unit": {
                                  "type": "string",
                                  "description": "Unit of the quantity. Dimensionless quantities has \"\"."
                                }
                              }
                            }
                          }
                        },
                        "required": [
                          "id",
                          "type",
                          "name",
                          "shortName",
                          "unit"
                        ]
                      },
                      {
                        "type": "object",
                        "properties": {
                          "nAdr": {
                            "type": "integer",
                            "description": "Node address."
                          },
                          "metaData": {
                            "type": "object",
                            "description": "Arbitrary user defined meta data."
                          },
                          "sensor": {
                            "oneOf": [
                              {
                                "type": "null"
                              },
                              {
                                "type": "object",
                                "properties": {
                                  "id": {
                                    "type": "string",
                                    "description": "Value type as text id."
                                  },
                                  "type": {
                                    "type": "integer",
                                    "description": "Value type of the sensor (quantity)."
                                  },
                                  "name": {
                                    "type": "string",
                                    "description": "Name of the sensor (quantity)."
                                  },
                                  "shortName": {
                                    "type": "string",
                                    "description": " Short name of the sensor (quantity). Typically it is a symbol used at physics."
                                  },
                                  "value": {
                                    "oneOf": [
                                      {
                                        "type": "number"
                                      },
                                      {
                                        "type": "null"
                                      }
                                    ],
                                    "description": "Value of the sensor."
                                  },
                                  "unit": {
                                    "type": "string",
                                    "description": "Unit of the quantity. Dimensionless quantities has \"\"."
                                  },
                                  "breakdown": {
                                    "type": "array",
                                    "description": "Parsed generic types if present in device response.",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "type": {
                                          "type": "integer",
                                          "description": "Value type of the sensor (quantity)."
                                        },
                                        "name": {
                                          "type": "string",
                                          "description": "Name of the sensor (quantity)."
                                        },
                                        "shortName": {
                                          "type": "string",
                                          "description": " Short name of the sensor (quantity). Typically it is a symbol used at physics."
                                        },
                                        "value": {
                                          "oneOf": [
                                            {
                                              "type": "number"
                                            },
                                            {
                                              "type": "null"
                                            }
                                          ],
                                          "description": "Value of the sensor."
                                        },
                                        "unit": {
                                          "type": "string",
                                          "description": "Unit of the quantity. Dimensionless quantities has \"\"."
                                        }
                                      }
                                    }
                                  }
                                },
                                "required": [
                                  "id",
                                  "type",
                                  "name",
                                  "shortName",
                                  "unit"
                                ]
                              }
                            ]
                          }
                        },
                        "required": [
                          "nAdr",
                          "sensor"
                        ]
                      }
                    ]
                  }
                }
              },
              "required": [
                "sensors"
              ]
            },
            "errorStr": {
              "type": "string",
              "description": "Error description from JS drivers."
            }
          },
          "required": [
            "nAdr",
            "hwpId",
            "rCode",
            "dpaVal"
          ]
        },
        "raw": {
          "type": "array",
          "description": "Returns array of objects req-cnf-rsp, see its description.",
          "items": {
            "type": "object",
            "properties": {
              "request": {
                "type": "string",
                "description": "Binary buffer with DPA request."
              },
              "requestTs": {
                "type": "string",
                "description": "YYYY-MM-DDTHH:MM:SS.SSS±HH:MM"
              },
              "confirmation": {
                "type": "string",
                "description": "Binary buffer with DPA confirmation."
              },
              "confirmationTs": {
                "type": "string",
                "description": "YYYY-MM-DDTHH:MM:SS.SSS±HH:MM"
              },
              "response": {
                "type": "string",
                "description": "Binary buffer with DPA response."
              },
              "responseTs": {
                "type": "string",
                "description": "YYYY-MM-DDTHH:MM:SS.SSS±HH:MM"
              }
            },
            "required": [
              "request",
              "requestTs",
              "confirmation",
              "confirmationTs",
              "response",
              "responseTs"
            ]
          }
        },
        "insId": {
          "type": "string",
          "description": "IQRF GW daemon instance identification."
        },
        "status": {
          "type": "integer",
          "description": "IQRF GW daemon API (general or mType) status."
        },
        "statusStr": {
          "type": "string",
          "description": "IQRF GW daemon API (general or mType) status in string form."
        }
      },
      "required": [
        "msgId",
        "rsp",
        "status"
      ]
    }
  },
  "required": [
    "mType",
    "data"
  ]
}