Drivers

Consumes driver package (.zip) that contains driver and profile definitions. The layout of the compressed ZIP package should reflect the following structure and files definitions.

config.yaml fingerprints.yaml (Optional, should not be included in packages for Drivers that don’t define fingerprints) src/ (init.lua, ...) profiles/ ({ Profile Name }.yaml, { Other Profile Name }.yaml)

post/drivers/package

Request

Request body

string binary required

Response

Retrieved driver

driverIdstring ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$ required

The ID of the Sprocket driver

namestring ^[a-zA-Z0-9 _\/\\-()\[\]{}\.]{1,50}$ required

The name of the driver

packageKeystring required

A user scoped package key that's used to lookup the respective driver record

versionstring

The version of the driver revision being returned

Example response

{
  "driverId": "9314a926-528c-403f-ae56-4b0d059381dd",
  "name": "Generic Button",
  "packageKey": "smartthings.zigbee.bulb-rgbw",
  "fingerprints": [
    {
      "id": "smartthings.motion-v4",
      "deviceLabel": "Motion Sensor",
      "zigbeeGeneric": {
        "clusters": {
          "client": [
            25
          ],
          "server": [
            1280
          ]
        },
        "deviceIdentifiers": [
          257
        ],
        "zigbeeProfiles": [
          260
        ]
      },
      "zigbeeManfacturer": {
        "manufacturer": "SmartThings",
        "model": "motionv4"
      },
      "zwaveManufacturer": {
        "manufacturerId": 134,
        "productId": 12336,
        "productType": 17488
      },
      "zwaveGeneric": {
        "genericType": 6,
        "specificType": [
          6
        ],
        "commandClasses": {
          "either": [
            25
          ],
          "controlled": [
            25
          ],
          "supported": [
            25
          ]
        }
      }
    }
  ]
}

Changes