{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "array",
    "items": {
        "title": "Device Command",
        "description": "Schema for a command for a single Device",
        "type": "object",
        "properties": {
            "time": {
                "oneOf": [
                    {
                        "type": "string"
                    },
                    {
                        "type": "number"
                    },
                    {
                        "type": "object",
                        "properties": {
                            "$date": {
                                "type": "string"
                            }
                        },
                        "additionalProperties": false,
                        "required": [
                            "$date"
                        ]
                    }
                ]
            },
            "name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 255
            },
            "payload": {}
        },
        "required": [
            "name"
        ],
        "additionalProperties": false
    }
}