Skip to content

Instantly share code, notes, and snippets.

@bobvanluijt
Created February 6, 2017 21:08
Show Gist options
  • Save bobvanluijt/42878ec04be9f6f08102fbc58635397b to your computer and use it in GitHub Desktop.
Save bobvanluijt/42878ec04be9f6f08102fbc58635397b to your computer and use it in GitHub Desktop.
Weave - devices
{
"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