@petro-kushchak/homebridge-homepod-radio
Version:
Homebridge accessory for streaming radio to Homepod Mini and Apple TV
158 lines (157 loc) • 6.63 kB
JSON
{
"pluginAlias": "HomepodRadioPlatform",
"pluginType": "platform",
"headerDisplay": "Radio speakers are exposed to HomeKit as separate accessories and each needs to be manually paired",
"footerDisplay": "**pyatv** must be installed on your system for this plugin to work.",
"schema": {
"type": "object",
"properties": {
"name": {
"title": "Platform Name",
"description": "Platform Name must be unique within the plugin",
"type": "string",
"required": true,
"default": "HomePod Mini Radio"
},
"homepodId": {
"title": "HomePod Id",
"description": "HomePod Id can be MAC address (ex: '00-B0-D0-63-C2-26') or HK name (ex: 'Living Room HomePod')",
"type": "string",
"default": "",
"required": true
},
"serialNumber": {
"title": "Serial Number",
"type": "string",
"default": "",
"placeholder": "If not specified - HomePod Id will be used",
"required": false
},
"mediaPath": {
"title": "Path to audio/playlist files",
"description": "Supported audio formats are MP3, WAV, FLAC, and OGG. Supported playlist formats are M3U and M3U8.",
"type": "string",
"default": "",
"placeholder": "If not specified - will search in user home dir",
"required": false
},
"httpPort": {
"title": "Port for HTTP requests",
"description": "Port must be unique within the plugin",
"type": "number",
"default": "7654",
"placeholder": "If set to 0 - HTTP requests are ignored",
"required": false
},
"enableVolumeControl": {
"title": "Enable Volume Control",
"type": "boolean",
"default": "true",
"placeholder": "Enable Volume Control",
"required": false
},
"volume": {
"title": "Volume",
"type": "integer",
"placeholder": "Volume Level",
"required": false,
"minimum": 0,
"maximum": 100,
"condition": {
"functionBody": "return model.enableVolumeControl && model.enableVolumeControl === true;"
}
},
"verboseMode": {
"title": "Debug Mode",
"type": "boolean",
"default": false,
"required": false
},
"audioFiles": {
"title": "Audio Buttons",
"type": "array",
"items": {
"type": "object",
"title": " {{ value.name || 'New Audio Button' }}",
"expandable": true,
"expanded": false,
"properties": {
"name": {
"title": "Name",
"type": "string",
"placeholder": "Enter audio button name...",
"required": true
},
"fileName": {
"title": "Audio/Playlist File Name",
"description": "Supported audio formats are MP3, WAV, FLAC, and OGG. Supported playlist formats are M3U and M3U8.",
"type": "string",
"placeholder": "Enter audio or playlist file name...",
"pattern": "^.+[.](mp3|wav|ogg|flac|m3u|m3u8)$",
"required": true
},
"volume": {
"title": "Audio default volume (0 to ignore volume)",
"type": "number",
"placeholder": 0,
"required": false
}
}
}
},
"radios": {
"title": "Radio Speakers",
"type": "array",
"items": {
"type": "object",
"title": " {{ value.name || 'New Radio' }}",
"expandable": true,
"expanded": false,
"properties": {
"name": {
"title": "Name",
"type": "string",
"placeholder": "Enter radio name...",
"required": true
},
"radioUrl": {
"title": "Radio Stream URL",
"type": "string",
"placeholder": "Enter radio stream url...",
"required": true
},
"onSwitch": {
"title": "Add switch accessory",
"type": "boolean",
"placeholder": true,
"required": false
},
"autoResume": {
"title": "Resume radio after reboot",
"type": "boolean",
"required": false
},
"metadataUrl": {
"title": "Radio Metadata URL",
"type": "string",
"placeholder": "Enter radio metadata url...",
"required": false
},
"artworkUrl": {
"title": "Radio Artwork URL",
"type": "string",
"placeholder": "Enter radio Artwork url...",
"required": false
},
"volume": {
"title": "Radio default volume (0 to ignore volume)",
"type": "number",
"placeholder": 0,
"required": false
}
}
}
}
}
}
}