core/homeassistant/generated/ssdp.py

265 lines
6.8 KiB
Python
Raw Normal View History

"""Automatically generated by hassfest.
To update, run python3 -m script.hassfest
"""
# fmt: off
SSDP = {
"arcam_fmj": [
{
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1",
"manufacturer": "ARCAM"
}
],
"axis": [
{
"manufacturer": "AXIS"
}
],
"control4": [
{
"st": "c4:director"
}
],
"deconz": [
{
"manufacturer": "Royal Philips Electronics"
}
],
"denonavr": [
{
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1",
"manufacturer": "Denon"
},
{
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1",
"manufacturer": "DENON"
},
{
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1",
"manufacturer": "DENON PROFESSIONAL"
},
{
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1",
"manufacturer": "Marantz"
},
{
"deviceType": "urn:schemas-upnp-org:device:MediaServer:1",
"manufacturer": "Denon"
},
{
"deviceType": "urn:schemas-upnp-org:device:MediaServer:1",
"manufacturer": "DENON"
},
{
"deviceType": "urn:schemas-upnp-org:device:MediaServer:1",
"manufacturer": "DENON PROFESSIONAL"
},
{
"deviceType": "urn:schemas-upnp-org:device:MediaServer:1",
"manufacturer": "Marantz"
},
{
"deviceType": "urn:schemas-denon-com:device:AiosDevice:1",
"manufacturer": "Denon"
},
{
"deviceType": "urn:schemas-denon-com:device:AiosDevice:1",
"manufacturer": "DENON"
},
{
"deviceType": "urn:schemas-denon-com:device:AiosDevice:1",
"manufacturer": "DENON PROFESSIONAL"
},
{
"deviceType": "urn:schemas-denon-com:device:AiosDevice:1",
"manufacturer": "Marantz"
}
],
"directv": [
{
"deviceType": "urn:schemas-upnp-org:device:MediaServer:1",
"manufacturer": "DIRECTV"
}
],
"dlna_dmr": [
{
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:1",
"st": "urn:schemas-upnp-org:device:MediaRenderer:1"
},
{
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:2",
"st": "urn:schemas-upnp-org:device:MediaRenderer:2"
},
{
"deviceType": "urn:schemas-upnp-org:device:MediaRenderer:3",
"st": "urn:schemas-upnp-org:device:MediaRenderer:3"
}
],
"fritz": [
{
"st": "urn:schemas-upnp-org:device:fritzbox:1"
}
],
"fritzbox": [
{
"st": "urn:schemas-upnp-org:device:fritzbox:1"
}
],
"harmony": [
{
"deviceType": "urn:myharmony-com:device:harmony:1",
"manufacturer": "Logitech"
}
],
"heos": [
{
"st": "urn:schemas-denon-com:device:ACT-Denon:1"
}
],
"huawei_lte": [
{
"deviceType": "urn:schemas-upnp-org:device:InternetGatewayDevice:1",
"manufacturer": "Huawei"
}
],
"hue": [
{
2020-01-13 13:30:07 +00:00
"manufacturer": "Royal Philips Electronics",
"modelName": "Philips hue bridge 2012"
},
{
"manufacturer": "Royal Philips Electronics",
"modelName": "Philips hue bridge 2015"
2020-01-27 17:54:38 +00:00
},
{
"manufacturer": "Signify",
"modelName": "Philips hue bridge 2015"
}
],
"hyperion": [
{
"manufacturer": "Hyperion Open Source Ambient Lighting",
"st": "urn:hyperion-project.org:device:basic:1"
}
],
"isy994": [
{
"deviceType": "urn:udi-com:device:X_Insteon_Lighting_Device:1",
"manufacturer": "Universal Devices Inc."
}
],
"keenetic_ndms2": [
{
"deviceType": "urn:schemas-upnp-org:device:InternetGatewayDevice:1",
"manufacturer": "Keenetic Ltd."
},
{
"deviceType": "urn:schemas-upnp-org:device:InternetGatewayDevice:1",
"manufacturer": "ZyXEL Communications Corp."
}
],
"konnected": [
{
"manufacturer": "konnected.io"
}
],
"nanoleaf": [
{
"st": "Nanoleaf_aurora:light"
},
{
"st": "nanoleaf:nl29"
},
{
"st": "nanoleaf:nl42"
},
{
"st": "nanoleaf:nl52"
}
],
Netgear config flow (#54479) * Original work from Quentame * Small adjustments * Add properties and method_version * fix unknown name * add consider_home functionality * fix typo * fix key * swao setup order * use formatted mac * add tracked_list option * add options flow * add config flow * add config flow * clean up registries * only remove if no other integration has that device * tracked_list formatting * convert tracked list * add import * move imports * use new tracked list on update * use update_device instead of remove * add strings * initialize already known devices * Update router.py * Update router.py * Update router.py * small fixes * styling * fix typing * fix spelling * Update router.py * get model of router * add router device info * fix api * add listeners * update router device info * remove method version option * Update __init__.py * fix styling * ignore typing * remove typing * fix mypy config * Update mypy.ini * add options flow tests * Update .coveragerc * fix styling * Update homeassistant/components/netgear/__init__.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/__init__.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/__init__.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/config_flow.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/router.py Co-authored-by: J. Nick Koston <nick@koston.org> * add ConfigEntryNotReady * Update router.py * use entry.async_on_unload * Update homeassistant/components/netgear/device_tracker.py Co-authored-by: J. Nick Koston <nick@koston.org> * use cv.ensure_list_csv * add hostname property * Update device_tracker.py * fix typo * fix isort * add myself to codeowners * clean config flow * further clean config flow * deprecate old netgear discovery * split out _async_remove_untracked_registries * Update homeassistant/components/netgear/config_flow.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/config_flow.py Co-authored-by: J. Nick Koston <nick@koston.org> * cleanup * fix rename * fix typo * remove URL option * fixes * add sensor platform * fixes * fix removing multiple entities * remove extra attributes * initialize sensors correctly * extra sensors disabled by default * fix styling and unused imports * fix tests * Update .coveragerc * fix requirements * remove tracked list * remove tracked registry editing * fix styling * fix discovery test * simplify unload * Update homeassistant/components/netgear/router.py Co-authored-by: J. Nick Koston <nick@koston.org> * add typing Co-authored-by: J. Nick Koston <nick@koston.org> * add typing Co-authored-by: J. Nick Koston <nick@koston.org> * add typing Co-authored-by: J. Nick Koston <nick@koston.org> * condense NetgearSensorEntities Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/router.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/router.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/router.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/router.py Co-authored-by: J. Nick Koston <nick@koston.org> * add typing * styling * add typing * use ForwardRefrence for typing * Update homeassistant/components/netgear/device_tracker.py Co-authored-by: J. Nick Koston <nick@koston.org> * add typing * Apply suggestions from code review Thanks! Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * process review comments * fix styling * fix devicename not available on all models * ensure DeviceName is not needed * Update homeassistant/components/netgear/config_flow.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/netgear/config_flow.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update __init__.py * fix styling Co-authored-by: J. Nick Koston <nick@koston.org> Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-09-13 16:18:21 +00:00
"netgear": [
{
"deviceType": "urn:schemas-upnp-org:device:InternetGatewayDevice:1",
"manufacturer": "NETGEAR, Inc."
}
],
"octoprint": [
{
"deviceType": "urn:schemas-upnp-org:device:Basic:1",
"manufacturer": "The OctoPrint Project"
}
],
"roku": [
{
"deviceType": "urn:roku-com:device:player:1-0",
"manufacturer": "Roku",
"st": "roku:ecp"
}
],
Add Samsung TV config flow (#28306) * add config flow * add tests * add user step error handling * remove unload function * add missing test file * handle authentication correctly * remove old discovery mode * better handling of remote class * optimized abort messages * add already configured test for user flow * Import order * use ip property instead context * Black * small syntax * use snake_case * Revert "use ip property instead context" This reverts commit 91502407eb216f8a0b1b90e3e6fb165b81406f8f. * disable wrong pylint errors * disable wrong no-member * Try to fix review comments * Try to fix review comments * Fix missing self * Fix ip checks * methods to functions * simplify user check * remove user errors * use async_setup for config * fix after rebase * import config to user config flow * patch all samsungctl * fix after rebase * fix notes * remove unused variable * ignore old setup function * fix after merge * pass configuration to import step * isort * fix recursion * remove timeout config * add turn on action (dry without testing) * use upstream checks * cleanup * minor * correctly await async method * ignore unused import * async call send_key * Revert "async call send_key" This reverts commit f37057819fd751a654779da743d0300751e963be. * fix comments * fix timeout test * test turn on action * Update media_player.py * Update test_media_player.py * Update test_media_player.py * use async executor * use newer ssdp data * update manually configured with ssdp data * dont setup component directly * ensure list * check updated device info * Update config_flow.py * Update __init__.py * fix duplicate check * simplified unique check * move method detection to config_flow * move unique test to init * fix after real world test * optimize config_validation * update device_info on ssdp discovery * cleaner update listener * fix lint * fix method signature * add note for manual config to confirm message * fix turn_on_action * pass script * patch delay * remove device info update
2020-01-10 02:19:10 +00:00
"samsungtv": [
{
"st": "urn:samsung.com:device:RemoteControlReceiver:1"
Add Samsung TV config flow (#28306) * add config flow * add tests * add user step error handling * remove unload function * add missing test file * handle authentication correctly * remove old discovery mode * better handling of remote class * optimized abort messages * add already configured test for user flow * Import order * use ip property instead context * Black * small syntax * use snake_case * Revert "use ip property instead context" This reverts commit 91502407eb216f8a0b1b90e3e6fb165b81406f8f. * disable wrong pylint errors * disable wrong no-member * Try to fix review comments * Try to fix review comments * Fix missing self * Fix ip checks * methods to functions * simplify user check * remove user errors * use async_setup for config * fix after rebase * import config to user config flow * patch all samsungctl * fix after rebase * fix notes * remove unused variable * ignore old setup function * fix after merge * pass configuration to import step * isort * fix recursion * remove timeout config * add turn on action (dry without testing) * use upstream checks * cleanup * minor * correctly await async method * ignore unused import * async call send_key * Revert "async call send_key" This reverts commit f37057819fd751a654779da743d0300751e963be. * fix comments * fix timeout test * test turn on action * Update media_player.py * Update test_media_player.py * Update test_media_player.py * use async executor * use newer ssdp data * update manually configured with ssdp data * dont setup component directly * ensure list * check updated device info * Update config_flow.py * Update __init__.py * fix duplicate check * simplified unique check * move method detection to config_flow * move unique test to init * fix after real world test * optimize config_validation * update device_info on ssdp discovery * cleaner update listener * fix lint * fix method signature * add note for manual config to confirm message * fix turn_on_action * pass script * patch delay * remove device info update
2020-01-10 02:19:10 +00:00
}
],
"songpal": [
{
"manufacturer": "Sony Corporation",
"st": "urn:schemas-sony-com:service:ScalarWebAPI:1"
}
],
"sonos": [
{
"st": "urn:schemas-upnp-org:device:ZonePlayer:1"
}
],
"syncthru": [
{
"deviceType": "urn:schemas-upnp-org:device:Printer:1",
"manufacturer": "Samsung Electronics"
}
],
"synology_dsm": [
{
"deviceType": "urn:schemas-upnp-org:device:Basic:1",
"manufacturer": "Synology"
}
],
2021-01-21 17:03:54 +00:00
"unifi": [
{
"deviceType": "urn:schemas-upnp-org:device:InternetGatewayDevice:1",
"manufacturer": "Ubiquiti Networks",
"modelDescription": "UniFi Dream Machine"
},
{
"deviceType": "urn:schemas-upnp-org:device:InternetGatewayDevice:1",
"manufacturer": "Ubiquiti Networks",
"modelDescription": "UniFi Dream Machine Pro"
}
],
"upnp": [
{
"st": "urn:schemas-upnp-org:device:InternetGatewayDevice:1"
},
{
"st": "urn:schemas-upnp-org:device:InternetGatewayDevice:2"
}
],
"wemo": [
{
"manufacturer": "Belkin International Inc."
}
],
"wilight": [
{
"manufacturer": "All Automacao Ltda"
}
Rewrite of Yamaha musiccast integration (#51561) * Initial commit for new musiccast integration * Add zone support * Get/set volume level * Remove volume step * Create custom MusicCastData type * Create MusicCastDevice * Fix await * Add power and mute control * Implement all basic media_player parts * Support input switching * Add duration/position support * Add advanced tuner functions * Basic media browser * Add layer in media browser to see all available list_infos * Added join/unjoin services and group informations. Known issue: You can not link zone 2 to main at the moment (WIP) * Many fixes to make multiple zones and grouping work. Next step: implement error handling and remove debugging information * WIP: Added Multizone Support and allows clients to directly jump from one group to another. Known issue: If a server tries to join a group as client, he has to close his group first. Sometimes the device that was a server previously jumps out of the group directly after joining. * Updated group management to make it wait for the updated group information before performing the next actions - Timeouts after 1 second, then polls the distribution data. If the data are still not updated, there will be one retry before an Exception is thrown. Extended the state attributes for clients to make them return group details from their servers (leads to inactive group management buttons for the client). Added documentation and restructured the code. * Make the service handle function name for group specific service calls unique * Added service descriptions for set_sleep_timer, set_alarm, recall_netusb_preset, store_netusb_preset * Added data entries for alarm specific values and a netusb preset list. Implemented fetching function for clock and netusb presets. * Registered and implemented services for set_sleep_timer, set_alarm, recall_netusb_preset, store_netusb_preset. The set_alarm service works with a special mediaplayer alarm lovelace card, I am currently working on. The NetUSB Presets are also available using the media browser. Maybe we could also add the Tuner presets in the future for both setting up the alarm and recalling them via service and media browser. * Removed some debug prints * Moved MusicCast Integration to the aiomusiccast library. This library supports media browsers with multiple pages. Added ssdp support for the discovery * Minor fix in the group management and tidied up a bit * Updated manifest of yamaha musiccast * Update library * Minor fix in the media browser. get_distribution_num does not have to be async, so it has been changed. Adjusted the client join function to turn on the client before joining a group - the musiccast app does so, so hopefully this fixes the rare errors when adding a turned off client to a group. Some reformating and by hooks fixed most of the requirements of the hooks. Known exception from this: mypy throws an error for line 116. * Removed some old out commented code. Fixed some error handling, when the user enters a non reachable or non yamaha host in the manual setup. Fixed linting/styling errors. Implemented tests to bring the coverage for the config flow to 100%. * Fixed linting/styling errors. Return a DeviceInfo object instead of a dict. * Fixed linting/styling errors. Added a new error type to the translations. * In the yamaha API the system_id is equal to the serial number in the DLNA description. Due to that it was possible to configure a device twice, because the serial number from the yamaha API was different. This issue was fixed. * Updated tests and added a test for adding a device manually, which is already present in the system * Remove print statements * Fix sleep timer service call * Fix yamllint error * Shrink PR down to just new library + config flow with discovery * Add __init__.py to .coveragerc * Apply suggestions from code review Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Franck Nijhof <git@frenck.dev> * Implement suggestions from code review * Improve identifiers and connections, remove event loop parameter * Add coordinator back * Better exception handling * Fix unique id in ssdp step * Remove abc.ABC from MusicCasteDeviceEntity Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/yamaha_musiccast/config_flow.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Replace the repeat mode mapping from mc to ha by a generic solution Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * add coordinator to the super call of the mediaplayer Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * add the coordinator to the init function of the MusicCastEntity Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Pass the coordinator from the MusicCastEntity init function to the CoordinatorEntity init function Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * merged _handle_config_flow into async_step_user * reformated the exception handling of the user step. In the case that the device already exists, the AbortFlow will be raised. * Removed model from the config entry. It was neither set nor used anymore. * Fixed the test for the config flow. * Use async_write_ha_state instead of schedule_update_ha_state. * Add default value for the system ID gotten in the user step Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update tests/components/yamaha_musiccast/test_config_flow.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Added a fixture to avoid IO in the test_user_input_device_not_found test * Use absolute imprt to import data_entry_flow. * Use local vars for host and serial_number in async_step_user. * Remove ip_address and zone_id properties. * Use device id for the unique ID of an entity instead of the macs * Removed entry_id from the MusicCastEntity init function. * Updated strings and English translation. * don't set the coordinator in the mediaplayer init. * Implemented legacy configuration.yaml support for existing configurations. * Added tests for the newly added config flow step. * Use device_id as identifier * Fix an accidentally relative import * Fix pylint warnings * use logger.error instead of logger.exception in the import step. Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Use CONF_HOST instead of 'host' * Only support the import from configuration.yaml if no config entries are setup for musiccast. If there are already config entries in HA and none of them is a representation of a config given in configuration.yaml (e.g. config added after the first import), an error will be logged. * Update homeassistant/components/yamaha_musiccast/media_player.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Readded PLATFORM_SCHEMA for configuration.yaml * Raise an exception for all services, which are only supported for specific sources. * Bump aiomusiccast to 0.6 to support asyncio sockets Co-authored-by: Michael Harbarth <michael.harbarth@gmx.de> Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-06-14 06:58:42 +00:00
],
"yamaha_musiccast": [
{
"manufacturer": "Yamaha Corporation"
}
]
}