core/homeassistant/components/media_player
David McNett 1a82adb054 New platform media_player/anthemav (#5146)
* Initial commit of anthemav platform.  It loads but has no purpose.

* Now presents a card in the UI but the values aren't real

* Mute and volume polling/setting work now

* Source lists and selection works now.

* Reduce debug logging verbosity

* Support power on/off and skip polling for details if power is off

* Add some static tables to decode numerics from telnet commands

* Add stub for unsupported media_play

* New style anthemav uses native asyncio structure

* Add device callback for asyncio

* This is ugly but it works

* Simplify async setup and abstract class data retrieval

* Implement commands (power on and power off for now)

* Add support for scan_interval and set default to 120 seconds

* Pass-through to package handlers for volume and input selection

* Slight restructuring to satisfy anthemav 0.9

* Load anthemav package from pypi now that it's registered

* Proper app_name from a/v info

* Mispelled word

* media_player/anthemav initial commit of platform requirements

* Philio 3-in-1 Gen 4 zwave sensor needs the no-off-event workaround. (#5120)

* Add print_config_parameter service to Z-Wave (#5121)

* Add print_config_param service to z-wave

* Add print_config_parameter service to z-wave

* Add print_config_parameter service to z-wave

* Fix typos

* Fix typos

* Fix typo

* Conform to Python/project style requirements

* Making pylint happy

* Bring pip requirements in agreement with the code

* Bungled previous update

* Remove unnecessady SCAN_INTERVAL logic

I was unawre that this is performed as part of the normal platform behavior and
it's unnecessary for a platform to independently implement this logic.

* Refactor code based on @armills PR requests

* Re-add media_play stub to avoid traceback

* Align with platform reqirements

* Remove references to SCAN_INTERVAL and clean up _lookup logic

* Add DEFAULT_PORT assignment

* Code style changes and removal of vestigial structures

* CONF_NAME handling changes to allow local override to default from device

* Address PR feedback from @balloob

* Remove media_play function override

It's no longer necesary for the platform to implement a stub media_play
function override now that the Add SUPPORT_PLAY flag #5181 issue has been
resolved and merged into the dev branch.

* Rename callback function to async_ for clarity

* Use async routines for platform methods

* Convert update callback to coroutine for conformity

Underlying anthemav library now properly supports coroutine callbacks instead
of normal functions.  Converted the platform callback to a coroutine for
conformance with async operation for the device.

Special thanks to @pvizeli and @armills for their invaluable remedial Python
instruction!

* Further callback refinements

Altered the nature of callback handling based on suggestions from @pvizeli

* True not needed for local push update_ha_state

* Small style fix
2017-01-19 20:07:01 +01:00
..
__init__.py Bugfix volume up/down (#5426) 2017-01-18 22:52:11 +01:00
anthemav.py New platform media_player/anthemav (#5146) 2017-01-19 20:07:01 +01:00
aquostv.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
braviatv.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
cast.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
cmus.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
demo.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
denon.py Denon improvements (#5251) 2017-01-16 23:04:50 -08:00
denonavr.py Denon improvements (#5251) 2017-01-16 23:04:50 -08:00
directv.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
dunehd.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
emby.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
firetv.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
gpmdp.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
itunes.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
kodi.py Version bump for kodi dependency (#5307) 2017-01-14 00:16:38 +01:00
lg_netcast.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
mpchc.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
mpd.py Add listing and selection of available MPD playlists (#5237) 2017-01-16 23:01:57 -08:00
nad.py Add support for NAD receivers (#5191) 2017-01-10 22:32:43 +01:00
onkyo.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
panasonic_viera.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
pandora.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
philips_js.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
pioneer.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
plex.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
roku.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
russound_rnet.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
samsungtv.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
services.yaml Fix spell media_player service (#5030) 2016-12-21 11:39:59 +01:00
snapcast.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
sonos.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
soundtouch.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
squeezebox.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
universal.py Fix universal mp service call wth no child (#5411) 2017-01-17 22:15:37 -08:00
vlc.py Update vlc.py 2017-01-15 01:35:46 +01:00
webostv.py Add SUPPORT_PLAY flag (#5181) 2017-01-09 01:09:30 +01:00
yamaha.py Fix Yamaha doing I/O in event loop (#5387) 2017-01-17 21:53:03 -08:00