iobroker.volumio
Version:
Volumio Adapter for ioBroker - Control Volumio music players via WebSocket or REST API
185 lines (184 loc) • 5.25 kB
JSON
{
"i18n": true,
"type": "panel",
"items": {
"header": {
"type": "header",
"text": "Volumio Adapter Configuration",
"size": 4
},
"host": {
"type": "text",
"label": "Volumino Host Address",
"default": "volumio.local",
"newLine": true,
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"apiMode": {
"type": "select",
"label": "API Mode",
"options": [
{
"value": "websocket",
"label": "WebSocket (recommended)"
},
{
"value": "rest",
"label": "REST API"
}
],
"default": "websocket",
"newLine": true,
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"apiModeDescription": {
"type": "staticText",
"text": "WebSocket mode provides real-time updates and is more efficient. REST mode uses polling to check for state changes.",
"newLine": true,
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12
},
"pollInterval": {
"type": "number",
"label": "Poll interval (seconds)",
"min": 1,
"max": 60,
"default": 2,
"hidden": "data.apiMode !== 'rest'",
"help": "How often to check for state changes in REST mode",
"newLine": true,
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"reconnectAttempts": {
"type": "number",
"label": "Reconnection attempts",
"min": 1,
"max": 20,
"default": 5,
"hidden": "data.apiMode !== 'websocket'",
"help": "Number of times to try reconnecting after connection loss",
"newLine": true,
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"reconnectDelay": {
"type": "number",
"label": "Reconnection delay (seconds)",
"min": 1,
"max": 30,
"default": 2,
"hidden": "data.apiMode !== 'websocket'",
"help": "Wait time between reconnection attempts",
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"dividerApi": {
"type": "divider",
"height": 3,
"newLine": true
},
"checkConnection": {
"type": "checkbox",
"label": "Check connection to Volumio",
"default": true,
"newLine": true,
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"checkConnectionInterval": {
"type": "number",
"label": "Interval in s",
"default": 30,
"disabled": "!data.checkConnection",
"newLine": true,
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"divider1": {
"type": "divider",
"height": 3,
"newLine": true
},
"volumeSteps": {
"type": "number",
"label": "Volume steps",
"min": 1,
"max": 100,
"default": 5,
"newLine": true,
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"divider2": {
"type": "divider",
"height": 3,
"newLine": true
},
"descriptionForSubscribeToStateChanges": {
"type": "staticText",
"text": "DEPRECATED: HTTP Push notifications are only available in REST mode. For real-time updates, use WebSocket mode instead.\nVolumio can notify via POST calls when state changes. This requires REST mode to be enabled.",
"newLine": true,
"hidden": "data.apiMode !== 'rest'",
"xs": 12,
"sm": 12,
"md": 12,
"lg": 12,
"xl": 12
},
"subscribeToStateChanges": {
"type": "checkbox",
"label": "Subscribe to player state changes (deprecated)",
"default": false,
"hidden": "data.apiMode !== 'rest'",
"newLine": true,
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
},
"subscriptionPort": {
"type": "number",
"label": "Subscription port",
"default": 3042,
"disabled": "!data.subscribeToStateChanges",
"hidden": "data.apiMode !== 'rest'",
"newLine": true,
"xs": 12,
"sm": 12,
"md": 6,
"lg": 4,
"xl": 4
}
}
}