{
    "id": "472a3f24-b05c-49b3-ad9a-dfda608b6760",
    "name": "Bose",
    "displayName": "Bose",
    "vendors": [
        {
            "id": "433c45cd-5bc1-4239-a8a1-487c70ffdfc7",
            "name": "bose",
            "displayName": "Bose",
            "thingClasses": [
                {
                    "id": "f9b7a3f5-6353-48b1-afc1-66f914412f82",
                    "name": "soundtouch",
                    "displayName": "SoundTouch",
                    "interfaces": ["extendedvolumecontroller", "mediametadataprovider", "shufflerepeat", "connectable"],
                    "createMethods": ["discovery"],
                    "browsable": true,
                    "paramTypes": [
                        {
                            "id": "1a897065-57c6-49b3-bac9-1e5db27859e5",
                            "name": "ip",
                            "displayName": "IP",
                            "type" : "QString",
                            "inputType": "IPv4Address"
                        },
                        {
                            "id": "3eb95eef-e8ba-4d44-8a21-7d8038b74c4d",
                            "name": "playerId",
                            "displayName": "Player ID",
                            "type" : "QString"
                        }
                    ],
                    "stateTypes": [
                        {
                            "id": "09dfbd40-c97c-4a20-9ecd-f80e389a4864",
                            "name": "connected",
                            "displayName": "Connected",
                            "displayNameEvent": "connected changed",
                            "defaultValue": false,
                            "type": "bool"
                        },
                        {
                            "id": "5bac4ad7-f55c-4301-8d72-f2783d9909ff",
                            "name": "power",
                            "displayName": "Power",
                            "displayNameEvent": "Power changed",
                            "displayNameAction": "Set power",
                            "defaultValue": false,
                            "type": "bool",
                            "writable": true
                        },
                        {
                            "id": "bc98cdb0-4d0e-48ca-afc7-922e49bb7813",
                            "name": "mute",
                            "displayName": "Mute",
                            "displayNameEvent": "Mute changed",
                            "displayNameAction": "Set mute",
                            "type": "bool",
                            "defaultValue": false,
                            "writable": true
                        },
                        {
                            "id": "9dfe5d78-4c3f-497c-bab1-bb9fdf7e93a9",
                            "name": "volume",
                            "displayName": "Volume",
                            "displayNameEvent": "Volume changed",
                            "displayNameAction": "Set volume",
                            "unit": "Percentage",
                            "type": "int",
                            "minValue": 0,
                            "maxValue": 100,
                            "defaultValue": 50,
                            "writable": true
                        },
                        {
                            "id": "2dd512b7-40c2-488e-8d4f-6519edaa6f74",
                            "name": "playbackStatus",
                            "displayName": "Playback status",
                            "type": "QString",
                            "possibleValues": ["Playing", "Paused", "Stopped"],
                            "defaultValue": "Stopped",
                            "displayNameEvent": "playback status changed",
                            "displayNameAction": "set playback status",
                            "writable": true
                        },
                        {
                            "id": "f2209fec-cceb-46ad-8189-4caf42166e6b",
                            "type": "QString",
                            "name": "title",
                            "displayName": "Title",
                            "displayNameEvent": "Title changed",
                            "defaultValue": ""
                        },
                        {
                            "id": "8cb920a3-3bf1-4231-92d4-8ac27e7b3d65",
                            "type": "QString",
                            "name": "artist",
                            "displayName": "Artist",
                            "displayNameEvent": "Artist changed",
                            "defaultValue": ""
                        },
                        {
                            "id": "ce399eec-9f6a-4903-9916-0e90e38b255e",
                            "type": "QString",
                            "name": "collection",
                            "displayName": "Collection",
                            "displayNameEvent": "Collection changed",
                            "defaultValue": ""
                        },
                        {
                            "id": "44304c82-c2f6-433b-b62b-815382617d0b",
                            "type": "QString",
                            "name": "artwork",
                            "displayName": "Artwork",
                            "displayNameEvent": "Artwork changed",
                            "defaultValue": ""
                        },
                        {
                            "id": "5913aa2a-629d-4de5-bf44-a4a1f130c118",
                            "type": "bool",
                            "name": "shuffle",
                            "displayName": "Shuffle",
                            "displayNameEvent": "Shuffle changed",
                            "displayNameAction": "Set shuffle",
                            "defaultValue": false,
                            "writable": true
                        },
                        {
                            "id": "bc02c28e-3f5d-4de4-b9b5-c0b1576c6e7e",
                            "type": "QString",
                            "name": "repeat",
                            "displayName": "Repeat",
                            "displayNameEvent": "Repeat changed",
                            "displayNameAction": "Set repeat",
                            "possibleValues": ["None", "One", "All"],
                            "defaultValue": "None",
                            "writable": true
                        },
                        {
                            "id": "f4684de8-ff5f-41f3-a5c3-f5e5754519d2",
                            "type": "QString",
                            "name": "source",
                            "displayName": "Source",
                            "displayNameEvent": "Source changed",
                            "defaultValue": "None"
                        },
                        {
                            "id": "91bc53ec-4f3b-438d-8e32-129b7c27aae4",
                            "name": "bass",
                            "displayName": "Bass",
                            "displayNameEvent": "Bass changed",
                            "displayNameAction": "Set bass",
                            "type": "int",
                            "minValue": -9,
                            "maxValue": 0,
                            "defaultValue": 0,
                            "writable": true
                        }
                    ],
                    "eventTypes": [
                        {
                            "id": "2535a1eb-7643-4874-98f6-b027fdff6311",
                            "name": "onPlayerPlay",
                            "displayName": "Player play"
                        },
                        {
                            "id": "99498b1c-e9c0-480a-9e91-662ee79ba976",
                            "name": "onPlayerPause",
                            "displayName": "Player pause"
                        },
                        {
                            "id": "a02ce255-3abb-435d-a92e-7f99c952ecb2",
                            "name": "onPlayerStop",
                            "displayName": "Player stop"
                        }
                    ],
                    "actionTypes": [
                        {
                            "id": "a180807d-1265-4831-9d86-a421767418dd",
                            "name": "skipBack",
                            "displayName": "Skip back"
                        },
                        {
                            "id": "ae3cbe03-ee3e-410e-abbd-efabc2402198",
                            "name": "stop",
                            "displayName": "Stop"
                        },
                        {
                            "id": "4d2ee668-a2e3-4795-8b96-0c800b703b46",
                            "name": "play",
                            "displayName": "Play"
                        },
                        {
                            "id": "3cf341cb-fe63-40bc-a450-9678d18e91e3",
                            "name": "pause",
                            "displayName": "Pause"
                        },
                        {
                            "id": "85d7126a-b123-4a28-aeb4-d84bcfb4d14f",
                            "name": "skipNext",
                            "displayName": "Skip Next"
                        },
                        {
                            "id": "6c47e736-e2e0-47d4-9b96-7f56d2342b4d",
                            "name": "savePreset",
                            "displayName": "Save preset",
                            "paramTypes": [
                                {
                                    "id": "04ac6e10-922d-4774-861f-060897d3a6c0",
                                    "name": "presetNumber",
                                    "displayName": "Preset number",
                                    "type": "QString",
                                    "defaultValue": "Preset 1",
                                    "allowedValues": [
                                        "Preset 1",
                                        "Preset 2",
                                        "Preset 3",
                                        "Preset 4",
                                        "Preset 5",
                                        "Preset 6"
                                    ]
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}
