# This JSON is tied with BMC's PDRs. Each entry is used to identify a group of
# composite sensors.
{
  "sensorPDRs": [
    {
      # StateSensorPDR
      # Each sensor in each group of composite sensors has a separate entry and the
      # supported event states, up to eight.
      # The "dbus" section contains information about the corresponding D-Bus
      # property for the sensor and "property_values" are the D-Bus property values
      # for each corresponding entry in the "states".
      "pdrType": 4,
      "entries": [
        {
          "type": 5,
          "instance": 0,
          "container": 0,
          "sensors": [
            {
              "set": {
                "id": 1,
                "size": 1,
                "states": [
                  0,
                  5
                ]
              },
              "dbus": {
                "path": "/foo/bar",
                "interface": "xyz.openbmc_project.Foo.Bar",
                "property_name": "propertyName",
                "property_type": "string",
                "property_values": [
                  "xyz.openbmc_project.Foo.Bar.V0",
                  "xyz.openbmc_project.Foo.Bar.V5"
                ]
              }
            },
            {
              "set": {
                "id": 2,
                "size": 1,
                "states": [
                  2,
                  3
                ]
              },
              "dbus": {
                "path": "/foo/bar",
                "interface": "xyz.openbmc_project.Foo.Bar",
                "property_name": "propertyName",
                "property_type": "string",
                "property_values": [
                  "xyz.openbmc_project.Foo.Bar.V2",
                  "xyz.openbmc_project.Foo.Bar.V3"
                ]
              }
            }
          ]
        }
      ]
    }
  ]
}