{
	"pluginAlias": "EleroStick",
	"pluginType": "platform",
	"singular": false,
	"headerDisplay": "Define connection with ELERO USB Stick and motor configs per channel.",
	
	"schema": {
		"type": "object",
		"properties": {
			"name": {
				"title": "name",
				"type": "string",
				"required": true,
				"default": "EleroStick"
			},
			"port": {
				"title": "USB Port",
				"type": "string",
				"required": true,
				"default": "/dev/ttyUSB0"
			},
			"updateInterval": {
				"title": "Polling time (ms)",
				"type": "integer",
				"required": false,
				"default": 5000,
				"minimum": 1000
			},
			"movingUpdateInterval": {
				"title": "Polling time while moving (ms)",
				"type": "integer",
				"required": false,
				"default": 1500,
				"minimum": 500
			},
			"sendInterval": {
				"title": "Frequency for sending commands to USB stick (ms)",
				"type": "integer",
				"required": false,
				"default": 250,
				"minimum": 150
			},
			"motors": {
				"title": "Motors",
				"type": "array",
				"items": {
					"title": "Motor",
					"type": "object",
					"properties": {
						"channel": {
							"title": "Channel",
							"type": "integer",
							"required": true
						},
						"name": {
							"title": "Name",
							"type": "string",
							"required": true
						},
						"type": {
							"title": "Type",
							"type": "string",
							"required": true,
							"enum": [
								"shutter",
								"shades",
								"lights",
								"heating"
							]
						},
						"disabled": {
							"title": "Motor disabled",
							"type": "boolean",
							"required": false
						}, 						
						"reverse": {
							"title": "Reverse direction",
							"type": "boolean",
							"required": false
						},
						"duration": {
							"title": "Opening time (ms)",
							"type": "integer",
							"required": true,
							"default": 24000,
							"minimum": 1000
						},
						"startDelay": {
							"title": "Delay before motor moves",
							"type": "integer",
							"required": false,
							"minimum": 0
						},
						"stopButton": {
							"title": "Provide a separate button to stop the motor",
							"type": "boolean",
							"default": false,
							"required": false
						}, 									
						"intermediatePositionButton": {
							"title": "Provide a separate button to move to intermediate position.",
							"type": "boolean",
							"default": false,
							"required": false
						}, 									
						"ventilationPositionButton": {
							"title": "Provide a separate button to move to ventilation position.",
							"type": "boolean",
							"default": false,
							"required": false
						}
					}
				}
			}
		}
	}
}