{ "@id": "urn:YOUR_COMPANY_NAME_HERE:sample_device:1", "@type": "CapabilityModel", "displayName": "Environment Sensor Capability Model", "implements": [ { "@type": "InterfaceInstance", "name": "deviceinfo", "schema": { "@id": "urn:azureiot:DeviceManagement:DeviceInformation:1", "@type": "Interface", "displayName": "Device Information", "@context": "http://azureiot.com/v1/contexts/IoTModel.json", "contents": [ { "@type": "Property", "name": "manufacturer", "displayName": "Manufacturer", "schema": "string", "comment": "Company name of the device manufacturer. This could be the same as the name of the original equipment manufacturer (OEM). Ex. Contoso." }, { "@type": "Property", "name": "model", "displayName": "Device model", "schema": "string", "comment": "Device model name or ID. Ex. Surface Book 2." }, { "@type": "Property", "name": "swVersion", "displayName": "Software version", "schema": "string", "comment": "Version of the software on your device. This could be the version of your firmware. Ex. 1.3.45" }, { "@type": "Property", "name": "osName", "displayName": "Operating system name", "schema": "string", "comment": "Name of the operating system on the device. Ex. Windows 10 IoT Core." }, { "@type": "Property", "name": "processorArchitecture", "displayName": "Processor architecture", "schema": "string", "comment": "Architecture of the processor on the device. Ex. x64 or ARM." }, { "@type": "Property", "name": "processorManufacturer", "displayName": "Processor manufacturer", "schema": "string", "comment": "Name of the manufacturer of the processor on the device. Ex. Intel." }, { "@type": "Property", "name": "totalStorage", "displayName": "Total storage", "schema": "long", "displayUnit": "kilobytes", "comment": "Total available storage on the device in kilobytes. Ex. 2048000 kilobytes." }, { "@type": "Property", "name": "totalMemory", "displayName": "Total memory", "schema": "long", "displayUnit": "kilobytes", "comment": "Total available memory on the device in kilobytes. Ex. 256000 kilobytes." } ] } }, { "@type": "InterfaceInstance", "name": "sensor", "schema": { "@id": "urn::EnvironmentalSensor:1", "@type": "Interface", "displayName": "Environmental Sensor", "@context": "http://azureiot.com/v1/contexts/IoTModel.json", "contents": [ { "@type": "Property", "displayName": "Device State", "description": "The state of the device. Two states online/offline are available.", "name": "state", "schema": "boolean" }, { "@type": "Property", "displayName": "Customer Name", "description": "The name of the customer currently operating the device.", "name": "name", "schema": "string", "writable": true }, { "@type": "Property", "displayName": "Brightness Level", "description": "The brightness level for the light on the device. Can be specified as 1 (high), 2 (medium), 3 (low)", "name": "brightness", "writable": true, "schema": "long" }, { "@type": [ "Telemetry", "SemanticType/Temperature" ], "description": "Current temperature on the device", "displayName": "Temperature", "name": "temp", "schema": "double", "unit": "Units/Temperature/fahrenheit" }, { "@type": [ "Telemetry", "SemanticType/Humidity" ], "description": "Current humidity on the device", "displayName": "Humidity", "name": "humid", "schema": "double", "unit": "Units/Humidity/percent" }, { "@type": "Command", "description": "This command will begin blinking the LED for given time interval.", "name": "blink", "commandType": "synchronous", "request": { "name": "interval", "schema": "long" }, "response": { "name": "blinkResponse", "schema": { "@type": "Object", "fields": [ { "name": "description", "schema": "string" } ] } } }, { "@type": "Command", "name": "turnon", "comment": "This Commands will turn-on the LED light on the device.", "commandType": "synchronous" }, { "@type": "Command", "name": "turnoff", "comment": "This Commands will turn-off the LED light on the device.", "commandType": "synchronous" }, { "@type": "Command", "name": "rundiagnostics", "comment": "This command initiates a diagnostics run. This will take time and is implemented as an asynchronous command", "commandType": "asynchronous" } ] } } ], "@context": "http://azureiot.com/v1/contexts/IoTModel.json" }