Created
February 6, 2017 21:08
-
-
Save bobvanluijt/42878ec04be9f6f08102fbc58635397b to your computer and use it in GitHub Desktop.
Weave - devices
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"Device": { | |
"externalTypeName": "clouddevices.Device", | |
"properties": { | |
"certFingerprint": { | |
"description": "The HTTPS certificate fingerprint used to secure communication with device..", | |
"type": "string" | |
}, | |
"channel": { | |
"description": "Device notification channel description.", | |
"properties": { | |
"connectionStatusHint": { | |
"description": "Connection status hint, set by parent device.", | |
"enum": [ | |
"offline", | |
"online", | |
"unknown" | |
], | |
"type": "string" | |
}, | |
"gcmRegistrationId": { | |
"description": "GCM registration ID. Required if device supports GCM delivery channel.", | |
"type": "string" | |
}, | |
"gcmSenderId": { | |
"description": "GCM sender ID. For Chrome apps must be the same as sender ID during registration, usually API project ID.", | |
"type": "string" | |
}, | |
"parentId": { | |
"description": "Parent device ID (aggregator) if it exists.", | |
"type": "string" | |
}, | |
"pubsub": { | |
"properties": { | |
"connectionStatusHint": { | |
"description": "Device's connection status, as set by the pubsub subscriber.", | |
"enum": [ | |
"offline", | |
"online", | |
"unknown" | |
], | |
"type": "string" | |
}, | |
"topic": { | |
"description": "Pubsub topic to publish to with device notifications.", | |
"type": "string" | |
} | |
}, | |
"type": "object" | |
}, | |
"supportedType": { | |
"description": "Channel type supported by device.", | |
"enum": [ | |
"dev_null", | |
"gcm", | |
"gcp", | |
"parent", | |
"pubsub", | |
"pull", | |
"xmpp" | |
], | |
"type": "string" | |
} | |
}, | |
"type": "object" | |
}, | |
"commandDefs": { | |
"additionalProperties": { | |
"$ref": "#/definitions/PackageDef" | |
}, | |
"description": "Description of commands supported by the device. This field is writable only by devices.", | |
"type": "object" | |
}, | |
"components": { | |
"$ref": "#/definitions/JsonObject", | |
"description": "Hierarchical componenet-based modeling of the device." | |
}, | |
"connectionStatus": { | |
"description": "Device connection status.", | |
"type": "string" | |
}, | |
"creationTimeMs": { | |
"description": "Timestamp of creation of this device in milliseconds since epoch UTC.", | |
"format": "int64", | |
"type": "string" | |
}, | |
"description": { | |
"description": "User readable description of this device.", | |
"type": "string" | |
}, | |
"deviceKind": { | |
"description": "Device kind. Deprecated, provide \"modelManifestId\" instead. See list of device kinds values.", | |
"type": "string" | |
}, | |
"deviceLocalId": { | |
"description": "The ID of the device for use on the local network.", | |
"type": "string" | |
}, | |
"id": { | |
"description": "Unique device ID.", | |
"type": "string" | |
}, | |
"invitations": { | |
"description": "List of pending invitations for the currently logged-in user.", | |
"items": { | |
"$ref": "#/definitions/Invitation" | |
}, | |
"type": "array" | |
}, | |
"isEventRecordingDisabled": { | |
"description": "Indicates whether event recording is enabled or disabled for this device.", | |
"type": "boolean" | |
}, | |
"kind": { | |
"default": "weave#device", | |
"description": "Identifies what kind of resource this is. Value: the fixed string \"weave#device\".", | |
"type": "string" | |
}, | |
"lastSeenTimeMs": { | |
"description": "Timestamp of the last request from this device in milliseconds since epoch UTC. Supported only for devices with XMPP channel type.", | |
"format": "int64", | |
"type": "string" | |
}, | |
"lastUpdateTimeMs": { | |
"description": "Timestamp of the last device update in milliseconds since epoch UTC.", | |
"format": "int64", | |
"type": "string" | |
}, | |
"lastUseTimeMs": { | |
"description": "Timestamp of the last device usage in milliseconds since epoch UTC.", | |
"format": "int64", | |
"type": "string" | |
}, | |
"location": { | |
"description": "User readable location of the device (name of the room, office number, building/floor, etc).", | |
"type": "string" | |
}, | |
"modelManifest": { | |
"description": "Device model information provided by the model manifest of this device.", | |
"properties": { | |
"modelName": { | |
"description": "Device model name.", | |
"type": "string" | |
}, | |
"oemName": { | |
"description": "Name of device model manufacturer.", | |
"type": "string" | |
} | |
}, | |
"type": "object" | |
}, | |
"modelManifestId": { | |
"description": "Model manifest ID of this device.", | |
"type": "string" | |
}, | |
"name": { | |
"description": "Name of this device provided by the manufacturer.", | |
"type": "string" | |
}, | |
"owner": { | |
"description": "E-mail address of the device owner.", | |
"type": "string" | |
}, | |
"personalizedInfo": { | |
"description": "Personalized device information for currently logged-in user.", | |
"properties": { | |
"lastUseTimeMs": { | |
"description": "Timestamp of the last device usage by the user in milliseconds since epoch UTC.", | |
"format": "int64", | |
"type": "string" | |
}, | |
"location": { | |
"description": "Personalized device location.", | |
"type": "string" | |
}, | |
"maxRole": { | |
"description": "The maximum role on the device.", | |
"type": "string" | |
}, | |
"name": { | |
"description": "Personalized device display name.", | |
"type": "string" | |
} | |
}, | |
"type": "object" | |
}, | |
"placeId": { | |
"type": "string" | |
}, | |
"placesHints": { | |
"description": "Hints for device's room and place names." | |
}, | |
"placesProposal": { | |
"description": "Weave proposals for device's room and place names." | |
}, | |
"room": { | |
"$ref": "#/definitions/Room" | |
}, | |
"serialNumber": { | |
"description": "Serial number of a device provided by its manufacturer.", | |
"type": "string" | |
}, | |
"state": { | |
"$ref": "#/definitions/JsonObject", | |
"description": "Device state. This field is writable only by devices." | |
}, | |
"stateDefs": { | |
"additionalProperties": { | |
"$ref": "#/definitions/StateDef" | |
}, | |
"description": "Description of the device state. This field is writable only by devices.", | |
"type": "object" | |
}, | |
"tags": { | |
"description": "Custom free-form manufacturer tags.", | |
"items": { | |
"type": "string" | |
}, | |
"type": "array" | |
}, | |
"traits": { | |
"$ref": "#/definitions/JsonObject", | |
"description": "Traits defined for the device." | |
}, | |
"uiDeviceKind": { | |
"description": "Device kind from the model manifest used in UI applications. See list of device kinds values.", | |
"type": "string" | |
} | |
}, | |
"type": "object" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment