* Cast Integration Cleanup
* Fix long line
* Fixes and logging
* Fix tests
* Lint
* Report unknown state with None
* Lint
* Switch to async_add_job
Gets rid of those pesky "Setup of platform cast is taking over 10 seconds." messages.
* Re-introduce PlatformNotReady
* Add tests
* Remove unnecessary checks
* Test PlatformNotReady
* Fix async in sync context
* Blocking update
It's not using async anyway
* Upgrade pychromecast to 2.1.0
* Make reviewing easier
I like "protected" access, but I like reviewing more :)
* Make reviewing even easier :)
* Comment tests
* Initial commit on new asyncio based version
* Async version
* Lint
* updated to lasted pymediaroom version
* bump version
* optimistic state updates
* bump version
* Moved class import to method import
* async schedule and name correction
* Addresses @balloob comments
* missed fixes
* no unique_id for configuration based STB
* hound
* handle 2 mediaroom platforms
* Added timestamp for when device was marked unavailable
* protect time 1st marked
* client removal, no errors
* Optional removal interval added
* Linting error fix
* Implemented guard to prevent indentation
Removed vars in favour of inline calcs
* Using hass.add_job() for cleanup
* Lint
* Revert removal interval to 600sec
* Changed datetime to hass implementation
* Forgot to include one of the references to dt
* already in the default schema
* these are already globally disabled
* require a single entity id
* remove unused import
* w h i t e s p a c e
* actually keep it
* it is a string
* use a generator expression
* 💄
* Revert "💄"
This reverts commit 81c08bb732.
* Revert "actually keep it"
This reverts commit 0d92d3afb2.
* Revert "remove unused import"
This reverts commit 8a166208e4.
* Revert "already in the default schema"
This reverts commit 9173de4fd3.
* we're already ensuring defaults with the platform schema
* Marks Devices unavailable if they 'vanish' and clears media
* Fixed PEP8 complaint
* Fixed Linting
* Lint Fix
* Fix redine of id
* More lint fixes
* Removed redundant loop for setting availability of client
Renamed '_is_device_available' to '_available'
Renamed 'available_ids' to 'available_client_ids'
* removed whitespace per houndCI
* Refactor Google Assistant
* Fix cloud test
* Fix supported features media player demo
* Fix query
* Fix execute
* Fix demo media player tests
* Add tests for traits
* Lint
* Lint
* Add integration tests
* Add more tests
* update logging
* Catch out of range temp errrors
* Fix cloud error
* Lint
* add Channels media player
* add Channels' services
* style 💄
* more 💄
* make up your mind robot
* 💄💄💄
* dump client and pull it in via a package
* ChannelsApp -> ChannelsPlayer
* load the lib
* add pychannels in requirements
* not using requests anymore
* extra line 💄
* move this here
* move this up
* 🔥
* use constants for these
* add a platform schema
* force update here
* get defaults to None
* break out after finding it
* use None for state if offline or errored
* pull in CONF_NAME
* fix syntax
* update requirements_all.txt
* 💄💄💄
* 💄
* docs
* like this? ¯\(°_o)/¯
* Unique IDs for Clients
* HoundCI cleanup
* debug output removal
* Updates from feedback
* More Updates from feedback
* More Updates from feedback
* Lint Fixes
* Add Songpal ("Sony Audio Control API") platform
This adds support for a variety of Sony soundbars and potentially
many more devices using the same API.
See http://vssupport.sony.net/en_ww/device.html for list of
supported devices.
* add songpal requirement
* update coveragerc
* fix linting
* add service description to yaml
* add entity_id
* make pylint also happy.
* raise PlatformNotReady when initialization fails, bump requirement for better exception handling
* use noqa instead of pylint's disable, fix newline error
* use async defs and awaits
* Make linter happy
* Changes based on code review, fix set_sound_setting.
* define set_sound_setting schema on top of the file
* Move initialization back to async_setup_platform
* Fix linting
* Fixes based on code review
* Fix coveragerc ordering
* Do not print out the whole exception trace when failing to update
* Do not bail out when receiving more than one volume control
* Set to unavailable when no volume controls are available
* Added support for join and unjoin
* Added support for sleep functionality
* Fixed supported features
* Removed long lines and fixed documentation strings
* Fixed D401, imperative mood
* Added shuffle support
* Removed unnecessary log row
* Removed model, modelname and brand
* Removed descriptions
* Removed polling command on method run. This change is not needed
* Fixed merge errors
* Removed unused usings
* Pylint fixes
* Hound fixes
* Remove attr Sleep and removed white space in services.xml
* Rework Sonos media player platform for push
* Ignore play_mode from events where it is missing
* Remove unused preload helper
* Freeze SoCo version
* Updates for entity registry
* Add codeowner
* Use real soco release
* Added the Xiaomi TV platform.
* Implemented a more efficient default name.
* Fixed a few style errors that slipped past the eye.
* Indicate that state is assumed.
The yamaha component previously used a property named unique_id to
ensure that exactly 1 media_player was discovered per zone per
control_url. This was introduced so that hard coded devices wouldn't
be duplicated by automatically discovered devices.
In HA 0.63 unique_id became a reserved concept as part of the new
device registry, and the property was removed from the component. But
the default returns None, which had the side effect of only ever
registering a single unit + zone, the first one discovered. This was
typically the Main_Zone of the unit, but there is actually no
guaruntee of that.
This fix brings back the logic under a different property called
zone_id. This is not guarunteed to be globally stable like unique_id
is supposed to be, but it is suitable for the deduplication for yamaha
media players.
* Upgrade pylint to 1.8.1
* Fix no-else-return
* Fix bad-whitespace
* Fix too-many-nested-blocks
* Fix raising-format-tuple
See https://github.com/PyCQA/pylint/blob/master/doc/whatsnew/1.8.rst
* Fix len-as-condition
* Fix logging-not-lazy
Not sure about that TEMP_CELSIUS though, but internally it's probably just like if you concatenated any other (variable) string
* Fix stop-iteration-return
* Fix useless-super-delegation
* Fix trailing-comma-tuple
Both of these seem to simply be bugs:
* Nest: The value of self._humidity never seems to be used anywhere
* Dovado: The called API method seems to expect a "normal" number
* Fix redefined-argument-from-local
* Fix consider-using-enumerate
* Fix wrong-import-order
* Fix arguments-differ
* Fix missed no-else-return
* Fix no-member and related
* Fix signatures-differ
* Revert "Upgrade pylint to 1.8.1"
This reverts commit af78aa00f125a7d34add97b9d50c14db48412211.
* Fix arguments-differ
* except for device_tracker
* Cleanup
* Fix test using positional argument
* Fix line too long
I forgot to run flake8 - shame on me... 🙃
* Fix bad-option-value for 1.6.5
* Fix arguments-differ for device_tracker
* Upgrade pylint to 1.8.2
* 👕 Fix missed no-member
* Added timestamp at the end of the iTunes API URL from where HA retrieves the artwork, so that it's not cached, as the URL exposed by the API never changes
* Rearranged imports according to pylint
* Added content_id in media file URL instead of timestamp, according to Paulus' suggestion
* Add wake on lan capability to philips TV
* Update requirements_all.txt
* Fix line length issues.
* Replace wake on lan with turn on script for philips TV
* rerun requirements script
* Implemented play_media
Panasonic Viera TV has a full blown Web Browser that can play any media
* media stop
* format checks
* added SUPPORT_*
* bump version
* Tks @rytilahti
* one too many
* make port mapping optional
* dependencies + improvements
* Added bytes and packets sensors from IGD
* flake8 check
* new sensor with upnp counters
* checks
* whitespaces in blank line
* requirements update
* added sensor.upnp to .coveragerc
* downgrade miniupnpc
Latest version of miniupnpc is 2.0, but pypi only has 1.9
Fortunately it is enough
* revert to non async
miniupnpc will do network calls, so this component can’t be moved to
coroutine
* hof hof
forgot to remove import ot asyncio
* Add baudrate option
* merge
* Added Mediaroom media_player component
* Updated header
Works with MEO and VDF set-top boxes in Portugal
* formatting
* Development Checklist (done)
* fix formatting according to houndci-bot
* more format fixing (tks houndci-bot)
* more fixes
* too much cleanup...
* too much
* pylint check
* Initial commit
Basic configuration testing
* flake8 and lint
* Added Channel attribute to webos media pplayer
* webostv: Current TV channel display as media_title
* Added displaying information about the current TV channel for WebOS platform
* Fixed PEP8 requirements
* added media_stop
VLC was missing the media_stop. The pause was present, but starting the same file result in resuming the file instead of start over new
* Corrected style issues
Style issues and added Support Flag to Support VLC
* fixed other style issues
* remove trailing whitespace
* Entity#unique_id defaults to None
* Initial commit entity registry
* Clean up unique_id property
* Lint
* Add tests to entity component
* Lint
* Restore some unique ids
* Spelling
* Remove use of IP address for unique ID
* Add tests
* Add tests
* Fix tests
* Add some docs
* Add one more test
* Fix new test…
* Add 2 media_player services and 1 custom service to Squeezebox platform
* Fix pylint error
* Remove apostrophe in example
* Split method into command and parameters
* Fix Lint error
* Lazy loading of service descriptions
* Fix tests
* Load YAML in executor
* Return a copy of available services to allow mutations
* Remove lint
* Add zha/services.yaml
* Only cache descriptions for known services
* Remove lint
* Remove description loading during service registration
* Remove description parameter from async_register
* Test async_get_all_descriptions
* Remove lint
* Fix typos from multi-edit
* Remove unused arguments
* Remove unused import os
* Remove unused import os, part 2
* Remove unneeded coroutine decorator
* Only use executor for loading files
* Cleanups suggested in review
* Increase test coverage
* Fix races in existing tests
* Updated plexapi to 3.0.5
* Removed removed server obj that was being used for the media URL generation as .url() is available in self._session
seasons() no longer exists -> renamed to season()
season() returns obj not list so corrected
season.index returns int, cast to str to zerofill
* Fixed Linting
* Cleaned up '_clear_media()'
* Moved media Type to new method
* renamed "clear_media()' to ' clear_media_details()'
reset 'app_name' (Library Name) in clear_media_details
moved thumbs to '_set_media_image()'
* Moved playback info into setmedia type as it was just used for the next anyway
* Moved library name & image download to only happen if session and player active as else no point anyway
* Fixed Linting issue
* Some tweaks to clean up unintended complexity
* Removed redundant declarations
* Fixed whitespace
* Revert "Fixed whitespace"
This reverts commit 0985445c47.
* Revert "Removed redundant declarations"
This reverts commit 6f9d5a85b0.
* added functionality to save/restore snapshots to monoprice platform
* renamed monoprice_snapshot, monoprice_restore to snapshot, restore
This is to simplify refactoring of snapshot/restore functionality for monoprice, snapcast and sonos in the future
Sonos Playbar and Playbase devices support Night Sound and Speech Enhancement
effects when playing from sources such as a TV. Adds a new service "sonos_set_option"
whichs accepts boolean options to control these audio features.
* Add media progress information
* Remove unnecessary comments
* Remove datetime import
* Remove pysonyavr dependency
* Fix doc syntax (D205)
* Lint fix: no-else-return
* Don't attempt to set media progress info if program is None
* Fix Python 3.4 compatibility
* Explicitely depend on pyteleloisirs
* Only update remaining play time when it changed
* Fix floot state table
* Add support for Logitech UE Smart Radios.
* Removed full stops to please Hound's line limit.
* Updated with requested changes.
* Fix Pylint Flake8 problem.
* Updated with requested changes.
* initial commit of shuffle option for sonos
* added test
* Small adjustments to adhere to review requests
* Removed unnessesary setting of variable. Use shuffle state from soco instead
In a case where either (a) an incorrect source name is used, or (b) the
TV isn't currently queryable (e.g. it's off), we get tracebacks because
we assume the source that we are being asked to select exists in
self._source_list.
This makes the lookup code a little more rugged, and adds in a warning
message (in place of the current exception).
* Correction of Samsung Power OFF behaviour
Addition of a delay after powering OFF a Samsung TV, this avoid status
update from powering the TV back ON.
Deletion of update() return statement, return value not used.
* Rename self._end_of_power_off_command into self._end_of_power_off
* Removal of unused line break in Samsung TV component
* Refactored to new global json saving and loading
* Fixed emulated_hue tests
* Removed unnecassary error handling
* Added missing newline
* Remove unused imports
* Fixed linting error
* Moved _load_json wrapper out of the config class
This bumps the used snapcast version to 2.0.8 and enables the new
reconnect feature that causes the component to reconnect to a server if
the connection was lost.
This fixes the ned to restart Home Assstant after a snapcast reboot, as
described in issue #10264.
Signed-off-by: Jan Losinski <losinski@wh2.tu-dresden.de>
* Implementation of `state_template` for the Universal media_player
* add tracking to entities in state template
* use normal config_validation
* fix tests, use defaults in platform schema, remove extra keys
* and test the new option `state_template`
* lint fixes
* no need to check attributes against None
* use `async_added_to_hass` and call `async_track_state_change` from `hass.helpers`
With the default timeout of 10 seconds, the log gets filled up with "component is taking more than 10 seconds" errors.
This should probably be fixed in some other way, but for now this reduces the problem a bit.
* Introduce update_hass()
* Introduce media_positions
* Version bump pymusiccast
* Fix: Unnecessary "else" after "return"
* FIX D400: First line should end with a period
* Version bump
Fixes https://github.com/home-assistant/home-assistant/issues/10411
The play_media parameters are a little bit black magic for the yamaha
platform, this explains what they are in a code comment instead of
having to go look at the yamaha platform itself.
Fixes Bug #10180
* Add HTTP cache header to proxied media player images
With the resource actually being cacheable, preemptively extend the cache
buster key to prevent hash collisions.
While at it, change the hash from md5 to sha256 for consistency with the
access_token method.
* Remove lint
* Fix: Last Played Media Title in plex would stay even when player was idle/off
Primary Fix is in the "if self._device" portion.
code in "if self._session" is a catch all but i'm not 100% if it is needed.
* Fixed lint issues with previous commit
* 1st Pass at refactoring plex refresh
Moved _media** into clearMedia() which is called in _init_ and
at start of refresh.
Removed redunant _media_* = None entries
Grouped TV Show and Music under single if rather than testing
seperately for now.
* Fixed invalid name for _clearMedia()
Removed another media_* = None entry
* Removed print() statements used for debug
* Removed unneeded "if" statement
* Changes
* Updated Requests to 2.18.4
* Updated plexapi to 3.0.3
* Removed function to convert_NA_to_None
* Removed function get_thumb_url
Type changes
* _session.player is now a list players
* na_type deprecated and to be removed
* plexapi has change na to None
Known Issues:
* Player controls currently broken
* Last location (library) stays while player idle
* Username is now Usernames and a list
* Fix for broken controls
* Removed errant print statement
* Removed depecrated na_type
* Updated Plex Sensor to use plexapi 3.0.3
Added support for Token to be used in sensor
Known Issues:
Username and Password broken for Plex Sensor use Token instead for now
* removed TODOs
* Fixes for private access violations
* Removed need for _local_client_fix
* Removed unused import and fixed parens
* Do not include program data in media_title if program data is undefined (None)
* Show thumbnail of currently playing program
* async setup
* Update requirements
* Updated RussoundRNETDevice.update() to call and enhanced function that reduces network traffic
Refer to issue #6 on the Russound project
* Updated RussoundRNETDevice.update() to invoke an enhanced function to reduce network traffic
PLease see issue #6 on the russound project
* Updated REQUIREMENTS to use version 0.1.9 of the Russound component
Please refer to issue #6 on the Russound rnet project
* Corrected some minor style details to satisfy Houndbot
* Update requirements_all.txt
* Update request requirement
Update request requirement from version v2.14.2 to v2.18.4
* Fix dependency vizio integration
3rd patry packages were removed from requests. Changed dependency from requests to urllib3
* forgot =
forgot = when adding the requirement
* re-run script/gen_requirements_all.py
re-run script/gen_requirements_all.py
* Unvendoring urllib3 from requests
In v2.16.0 and newer of requests they unverdored urllib3.
* undefined name 'InsecureRequestWarning'
* Removed requirement to 'urllib3==1.22
* removed import requests
* removed urllib3.exceptions.InsecureRequestWarning
removed urllib3.exceptions.InsecureRequestWarning travis lint
* added implementation for monoprice 6-zone amplifier. This implementation is based on and very similar to russoun_rnet implementaion
* updated comments and cleaned up code
* updated comments and cleaned up code
* added unit tests
* removed 'name' attribute from platform schema.
* added monoprice.py to .coveragerc
* fixed lint
* fixed lint errors
* fixed lint errors
* added monoprice to requirements_all.txt
* fixed lint errors again
* implemented change requests
* fixed lint error
* added exception handling to setup_platform()
* replaced catchall with SerialException only
* added myself to CODEOWNERS
* fixed weird merge to CODEOWNERS
* Fix: Last Played Media Title in plex would stay even when player was idle/off
Primary Fix is in the "if self._device" portion.
code in "if self._session" is a catch all but i'm not 100% if it is needed.
* Fixed lint issues with previous commit
* 1st Pass at refactoring plex refresh
Moved _media** into clearMedia() which is called in _init_ and
at start of refresh.
Removed redunant _media_* = None entries
Grouped TV Show and Music under single if rather than testing
seperately for now.
* Fixed invalid name for _clearMedia()
Removed another media_* = None entry
* Removed print() statements used for debug
* Removed unneeded "if" statement
* allow customizable action for webos tv turn on as not all models allow for WOL
* trying to fix the houndci-bot
* last few fixes hopefully
* I guess not
* last time!
* This is a breaking change. I have removed the build-in wake-on-lan functionality and have opted for a script which can be a wake-on-lan switch. I have also removed any reference to wol.
* hoping to fix formatting
* linter errors
* Added configurable timeout for receiver HTTP requests | Additional AVR-X detection based on CommApiVers | Treat Marantz SR6007 - SR6010 as AVR-X device
* timeout value not passed correctly
* fix not providing device for discovered directvs
This fixes a bug introduced at 6884965c80
Discovered directv boxes would not be instantiated with a DEVICE
parameter.
Signed-off-by: Nicholas Sielicki <sielicki@yandex.com>
* directv: add discovery of RVU clients
If discovery is used with directv, also try to further discover and
configure RVU client set-top boxes by requesting information from a REST
service running on the main directv box/RVU-server.
This commit also disables discovery if any directv configuration is
supplied by the user.
Signed-off-by: Nicholas Sielicki <sielicki@yandex.com>
* components/media_player/directv.py: use hass.data
Use hass.data instead of a global to remember state.
Signed-off-by: Nicholas Sielicki <sielicki@yandex.com>
* unconditionally import requests in directv.py
Requests is a core requirement, so we're okay to import at the top of
the file rather than conditionally / in a function.
Signed-off-by: Nicholas Sielicki <sielicki@yandex.com>
* Add support for Automatic OAuth2 authentication
* Fix async conversion of configurator
* Rename method for async
* Use hass.components to get configurator component
* Fix typo
* Move session data to hidden directory
* Make configurator callback optional
* Do not use pychromecast.Chromecast for Cast Groups
pychromecast.Chromecast creates Chromecast instance with friendly_name and cast_type of the device and not of a group.
Which leads to collisions
* Update cast.py
* using hass.data
* Fixed and extended tests
* Line length in tests
* Lint in tests
* Allow sonos to select playlists as a source
Most of this was taken from
https://github.com/home-assistant/home-assistant/issues/5598#issuecomment-278229895
however I made a few small improvements so that it works for other
services than Spotify and it should properly switch to playing the queue
if you had another song playing previously.
/cc @PatBoud
* Attempt to fix style issues
* More indent changes
* Fix misplaced period
* Move playlist replacement to function
* Privatize replace_queue_with_playlist and explain
* Remove unneeded decorator
* Fix doc formatting
* New media_player platform for Russound devices using the RIO protocol
Auto discovers zones and sources
Handles media metadata from sources that support it
asyncio implementation
Push updates for any zone or source changes so no polling required.
* Fixed up linting issues
* Addressing PR feedback
Updated russound_rio dependency to 0.1.3
Use enumerate_zones and enumerate_sources methods instead of doing it in
the platform.
Register callbacks in async_added_to_hass coroutine
Corrected behavior of async methods
DirectPy, the third party library used for controlling directv boxes,
has the ability to accept an ID in order to act as a remote for Genie
slaves instead of just the master directv box. This commit adds glue
such that one can configure home assistant to interface with these slave
genie boxes.
Signed-off-by: Nicholas Sielicki <sielicki@yandex.com>
* Make it available during state paused.
* Don't adjust for media_position_updated_at. I.e. do as vlc, sonos etc
so that returned position is the position at the time of
media_position_updated_at, not now.
* Lift Apple TV to pyatv 0.3.2
Update code to use basic new features.
* Support button presses in Apple TV
* Support device authentication
* Convert Apple TV to a component
A media_player platform and a remote platform will be loaded for each
manually configured or discovered device.
* Move device auth to apple_tv component
* Update requirements and coverage config
* Add scan support to apple_tv
* Fix Plex component to use port number in discovery.
* Break line
* Correctly save port to config
* Handle port with fewer code changes
* This is stuck configuring and I'm not sure why
* Changes suggested by @dale3h
* handle TransportError exceptions when calling JSONRPC API
* use double quotes for log messages; show TransportErrors as in async_ws_connect
* fix spaces around keyword / parameter
* fix logging message
* review changes
* Adding support for https.
This change allows to access a firetv-server instance that runs over https (via a reverse proxy for exemple).
Default stays http, but if `ssl: true` is set in the configuration the connection goes over https.
Successfully tested.
* respecting the 79 characters line limit
* initial commit
* class name and requirements_all.txt
* removed mentions of D7050
* changed default name
* catch oserror in update, travis errors.
* use nad_receiver pip version
* update coveragerc
* add option to display all sources / pushed to version 0.4.3 of library
* Add show_all_sources option for auto discovery too
* change code style for hass
* fix lint
* Check if media commands are actually applicable
- Explicitly allow ‘stop’ and ‘play’ on radio streams
- Disallow media commands when the playlist is empty
- Check if command is supported when calling `turn_on` and `turn_off`
* Suppress UPnP error 701 on media commands
* Clean up soco_filter_upnperror
Clean up soco_filter_upnperror and fix small bug in support_previous_track determination
* Remove setting up an hbmqtt broker
* Don't pass loop to web.Application in tests
* Use .query instead of deprecated .GET for aiohttp requests
* Fix closing file resource
* Do not use asyncio mark
* Notify.html5 - PyJWT: Use options to disable verify
* Yamaha: Test was still using deprecated ip
* Remove pytest-asyncio
* Kodi specific services to call Kodi API methods
- new service: `kodi_execute_addon` to run a Kodi Addon with optional parameters. Results of the Kodi API call, if any, are redirected in a Home Assistant event: `kodi_execute_addon_result`.
- new service: `kodi_run_method` to run a Kodi JSONRPC API method with optional parameters. Results of the Kodi API call are redirected in a Home Assistant event: `kodi_run_method_result`.
- Add descriptions in services.yaml.
- Add `timeout` parameter to yaml config (needed to make slow queries to the JSONRPC API, default timeout is set to 5s).
- Trigger events with the results of the Kodi API calls, with:
```
event_data = {
'result': api_call_results,
'result_ok': boolean,
'input': api_call_parameters,
'entity_id': 'media_player.kodi'}
```
* no need to clean OrderedDicts; no need for the `kodi_execute_addon` service
* no need for the `kodi_execute_addon` service
* unused import
* naming changes
* Add sonos alarm clock update service
* Add tests and break lines
* Fix style errors
* Make test work with python<3.6
* Fix last two pylint errors
* fix new line to long errors
* Fix Kodi specific services, add descriptions, add more handled exceptions
- Fixes issue #7528
- Add descriptions for Kodi specific services in services.yaml.
- Error handling in Kodi API errors.
- Make compatible the existent specific service `media_player.kodi_set_shuffle` with the general `media_player.shuffle_set` service (both use the same method but with different named parameter, I think the Kodi specific service should be eliminated, since it is not)
* fix line too long
* removed new services (for another PR); removed `kodi_set_shuffle` service
* requested changes
- Removed `kodi_set_shuffle` service.
- Optional `media_name` and `artist_name` parameters. `media_name` defaults to 'ALL'.
- Guard clause to check if the services are already registered.
* add support for shuffle toggling on Spotify component.
this also required adding support for shuffle on the
media_player component.
* lint
* Use ATTR_MEDIA_SHUFFLING for service handler param
* Line too long fix
* fix tests
* add shuffle set to demo mediaplayer
* rename shuffle attribute
* - changed updater to only do updated if they succed and handle calls when tv is off better by only doing 1 remote call
- show all sources instead of only connected, to fix source selection when unit is powered off
- fixed sources so they can launch apps and select sources
* fixed lint errors
* show all sources and apps if no custom options are defined in the conf
* fixed indentation for lint
* set _current_source when state is off and fixed timeout exception
* updated pylgtv module to fix problems with timeouts
* - update pylgtv to 0.1.6
- handle new TimeoutError exception from pylgtv
* used full name for exception handling of concurrent.futures._base.TimeoutError
* the exception handling should now follow the rules
* float typecasting should not be necessary
* use asyncio for TimeoutError it’s an alias for concurrent.futures.TimeoutError
* added new service
* fixed basic test in kodi platform
* Added new method async_get_albums
* Added new methods in module kodi
* added method find_song in kodi module
* method add_song_to_playlist made
async
* Added media type to method async_play_media
* added methods async_clear_playlist
and play_song
* methods play_song and find_song
made async
* added new service play_song
* Improved kodi._find
now it find for whole words only
* added possibility to specify artist in
kodi.async_find_artist
* added kodi.async_find_album
* added new optional input to play_song service
* In async_play_song added handling of no song found
* default artist value changed to ''
* async_add_song_to_playlist now can also
search for musinc
* added service add_song_to_playlist
* Added new service add_album_to_playlist
* added services to switch shuffle mode
* added service add_all_albums_to_playlist
* handled error in async_unset_shuffle
and async_set_shuffle
* Added abstract methods to media_player
* _server substituted with server property
* style made consistent with requirements
* Fixed issue with pylint
* Services moved to kodi platform
* service play_song removed
* removed service unset_shuffle
* all add services merged into one
* removed service get_artists
* added kodi_ to service names
* Fixed some style issues
* Removed changes in media_player __init__
* Implemented requested changes
* Fixed pylint problem
* Add link to docs and remove comments which are obvious
* Update docstrings
* Repleace conf details with link to docs
* Add link to docs
* Update docstrings
* Update import
* Update ordering
* Update ordering
* Update docstring
* Update ordering
* Update ordering
* Add new media_player platform: Volumio Media Player
Volumio media player is a rpi music player, this platfor adds http based control of the player.
* Modify mute command to accept boolean
* Adjust mute call to reset volume after unmute
Remove references to volimi"a"
* Use yield from calls in mute and volume calls
Trying to speed up the indication of mute and volume level changes in UI, but doesn't seem to do much.
* Adjust async_add_devices call
* Support for non-clients, NVidia shield, dynamic grouping, extra metadata, and more
* Fixed import orderdering, line lengths, and comment violations
* Local player check and season fixes
* Honor entity_namespace when using custom entity ids
* Semi compatibility with channels, force controls option added
* media_position_updated_at fix - only update when media is playing
* Fix: controls now work as expected on 1) casted sessions and 2) client sessions when client and PMS reside on the same sever
* Made PEP8 compliant
* Made PEP8 compliant
* Made PEP8 compliant, hopefully
* Better Tivo compatibility
* Added frozen detection and remediation
* PlayMedia EPISODE now supports season number and episode number (instead of episode index)
* Fix: Dynamic groups now exclude hidden devices
* Fix: Dynamic groups now exclude hidden devices
* Implemented arsaboo suggested formatting
* Implemented pylint command line suggested fixes
* Implemented Travis CI build suggested fixes
* Sorted Imports using Importanize
* Grouped request imports
* Removed dynamic groups, network calls from properties, and other cleanup
* Balloob recommendations and Plex Protocol Capabilities checks
* Remove deprecated disable-msg in favor of disable
* Removed position related items (seek, frozen detection, etc)
* Removed unused datetime
* media_player.kodi extra attributes for tvshow and music media
* removed extra whitespaces/CR
* Kodi - add extra attributes #6250 (removed music attributes)
* Restored music attributes, this is ready for merge
* linting amended
* Fix Kodi artist support
* Copy-paste error
* Fix for non-music artist lookup
Kodi returns an emtpy list on videos, so we need to be able to
handle that as well.
* Update to pylgtv 0.1.4
* Send icon with webostv notifications
Default to the homeassistant logo, but allow customizing it on the
component and for individual notifications
* added frontier_silicon constant
* added the frontier_silicon component
* cleaning up according to travis
* trying to satisfy pylint
* trying to satisfy pylint
* fsapi version 0.0.6
* with fsapi version 0.0.7
* added fsapi dependency
* yielding the FSAPI
* Removing white space from docstring
* Removing white space from an empty line
* Switching to sync
* clean up white spaces and rename device to FSAPIDevice
* added frontier_silicon constant
* added the frontier_silicon component
* cleaning up according to travis
* trying to satisfy pylint
* trying to satisfy pylint
* fsapi version 0.0.6
* with fsapi version 0.0.7
* added fsapi dependency
* yielding the FSAPI
* Removing white space from docstring
* Removing white space from an empty line
* Switching to sync
* clean up white spaces and rename device to FSAPIDevice
* changed info to debug
* added frontier_silicon constant
* added the frontier_silicon component
* cleaning up according to travis
* trying to satisfy pylint
* trying to satisfy pylint
* fsapi version 0.0.6
* with fsapi version 0.0.7
* added fsapi dependency
* yielding the FSAPI
* Removing white space from docstring
* Removing white space from an empty line
* Switching to sync
* clean up white spaces and rename device to FSAPIDevice
* added the frontier_silicon component
* trying to satisfy pylint
* fsapi version 0.0.6
* remove white space
* generated requirements
* added the frontier_silicon component
* cleaning up according to travis
* trying to satisfy pylint
* trying to satisfy pylint
* fsapi version 0.0.6
* with fsapi version 0.0.7
* added fsapi dependency
* yielding the FSAPI
* Removing white space from docstring
* Removing white space from an empty line
* Switching to sync
* clean up white spaces and rename device to FSAPIDevice
* trying to satisfy pylint
* changed info to debug
* added the frontier_silicon component
* fsapi version 0.0.6
* generated requirements
* pylint
* moved import requests to the method where it is being used
* add a basic unit test
* cleaned up source code
* added frontier_silicon constant
* added the frontier_silicon component
* added basic test
* added fsapi to requirements_all.txt
* added coverage omit, though a basic test was included
* added MEDIA_TYPE_MUSIC for artist and album
* removed duplicate cons
* switched fsapi call to a property, removed unecessary comment
* detailed docstring for fs_device
* added a space for the info_name - info_text separator
* reduced proeprty (fsapi) access for volume down/up
* Add fake support for turn on/off for Apple TV
When the device is "turned off", no requests are sent to the device.
When the setting "start_off" is set to true, the device starts in off
state.
* Fix async comments
* Clean up supported features
* Stop using entity_picture that is known to be bad.
* Only abandon image on 400 or 404 response
* Return is_permanent_failure as a third part of response
* Add debug printout
* Fix lint
* Fix lint
* Bumped up version to use 0.1.7 of Russound integration module.
Fixed bug arising from not supporting TURN_ON state (fixes issue https://github.com/home-assistant/home-assistant/issues/5012)
Implemented state support in 0.1.7 such that component state is returned from the actual AMP. (Still uses polling model though).
Tested it with home-assitant users @laf (original developer of the module) and @hofsta. Works fine with their Russounds.
* Made styling / compliance changes and updated correct version of russound module on requirements_all.txt.
* Changed handling of properties to be compliant with https://github.com/home-assistant/home-assistant/issues/4210
(Specifcailly added member variables for state, volume and source to cache these values, and introduced Update() method to set their values).
Now returns None if the selected source index that is returned from russound is greater than the length of the specified source list in the yaml config.
Removed unnecesary comment.
* Removed blank line after docstring.
* Removed updated() in class init and added True paramter to add_devices in setup_platform.
* Dropped the no longer needed self.update()
* Support for the Orage Livebox Play TV appliance
* Add liveboxplaytv to coveragerc
* Minor refactoring
* Update requirements
* Adjust comments
* Fix alignment
* Fix some coding-style issues highlighted by Travis CI
* The livebox play TV does not support playing media
* Lint: shorten line
* Remove unused callback function
* Remove redundant backslash
* Implement changes requested by balloob
* Don't error out if channel name or media url could not be retrieved
* Support current program (media title property)
* Remove unnecessary check
* Clean up: Remove another unnecessary check, _CONFIGURING variable and _playing attribute
* Update liveboxplaytv dependency to version 1.4.4
* Fix liveboxplaytv requirement
* Improve media state (support for playing and pause state)
* Update liveboxplaytv.py
* Bugfix sonos / refactor of sonos function for TTS
* fix unittest
* update service yaml
* restore group of a coordinator
* use group function to evaluate
* fix state flooting
* fix comments
* cec client object
* cec command structure
* autodetect source
* volume support and native source select
* switch device
* media player device
* detecting of state
* friendly names
* hdmi cec properties
* presence detection
* simplified callbacks
* stable names
* renamed methods
* code cleanup
* name with vendor
* fixed standby call name
* fake standby/poweron
* domain switch
* domain switch
* async updating
* update separated
* cec -> hass event bridge
* fixed name generation
* code cleanup
* code cleanup
* icon constants
* code cleanup
* do not register unavailable devices
* discovery of deevices
* code cleanup
* cec device discovery
* moved method implementation into child
* service descriptions
* service descriptions
* service descriptions
* changed entity init sequence
* logging cleanup
* add remove as job
* closing cec, no service schemas
* correct iterate over dictionary
* Volume by commands
* threading
* logging minimized
* get load out of main thread
* naming cleanup
* get load out of main thread
* optimized discovery
* async where possible
* cleanup logging, constructors first
* pydoc
* formatting
* no async_update from out of loop
no hiding entities
removed redundant device_state_attributes
async updating presence
* no async
* working async cec
* cec in thirdparty lib
* cec initialized oudsice
* working without SIGSEGV
* rollbacked file changed by mistake
* sending of commands
* working with ha
* using hass loop and device driven updates
* version up
* version up
* Command types in pycec, cleanup for HA integration
* Removed media player, state moved to switch
* service descriptions
* requirements: pyCEC
* line width to 79
* doc
* doc
* overindentation solved
* HDMI to uppercase
* minimal dependency on cec
* removed unwanted line
* doc wording
* margin 79
* line continuation indent
* imperative doc
* lint: indentation
* fixed overindented
* fixed overindented
* fixed overindented
* fixed overindented
* order of imports
* PEP8
* keep signature of overriding
* removed redundant blank line
* fixed update call method (#4)
* Preparation for merge to upstream (#5)
* newer version of pyCEC
* updated services.yaml
* fixed lint scrpt to operate only on python files
* pycec version up
* update services
* no coverage report
* exclude non python files from lint
* lint only on python files
* Dev (#6)
* reordered
* sending nonserialized data through hass.data
* code formatting
* code formatting
* import order
* Dev (#7)
* newer version of pyCEC
* updated services.yaml
* fixed lint scrpt to operate only on python files
* pycec version up
* update services
* no coverage report
* exclude non python files from lint
* lint only on python files
* reordered
* sending nonserialized data through hass.data
* import order
* fixed object handling
* code formatting
* Backwards compatibility of hdmi_cec (#10)
* services:
power_on
standby
active_source
* new version of pyCEC (#12)
* newer version of pyCEC
* devices config (#13)
* getting device name from config
* shutdown fix (#14)
* correct call on shutdown
* remove misplaced annotations (#15)
* Preparation for merge to upstream (#5)
* newer version of pyCEC
* updated services.yaml
* reordered
* sending nonserialized data through hass.data
* services:
power_on
standby
active_source
* code formatting
* getting device name from config
* correct call on shutdown
* pyCEC version 0.3.6 (#18)
* newer version of pyCEC
* updated services.yaml
* sending nonserialized data through hass.data
* services:
** power_on
** standby
** active_source
* getting device name from config
* correct call on shutdown
* fork new thread on multicore machines
* support both config schemas: original and new (#16)
* volume press and release support (#17)
* support for media_player (#21)
* accept hexadecimal format of commands
* support for media player
* platform customization
* type constants
* Dev (#23)
* accept hexadecimal format of commands
* support for media player
* platform customization
* TCP CEC support (#24)
* accept hexadecimal format of commands
* support for media player
* platform customization
* preparing tcp support
* volume handling (#25)
* Incorporated CR remarks (#26)
* cleanup imports
* cleanup and enhance services description
* removed unwanted file
* implemented CR remarks (#27)
* pyCEC v0.4.6
* pined dependency version
* tighten service schemas
* requirements (#28)
* incorporate remarks from users (#32)
* home-assistant-31 make mute schema better (#31)
* pycec-30 pyCEC version up (#30)
* pycec-30 pyCEC version up (#30)
* home-assistant-30 OSD display name from configuration (#30) (#33)
* Home assistant 29 (#34)
* home-assistant-29 counting from 0 (#29)
* Home assistant 31 (#35)
* home-assistant-31 add support for mute-on and mute-off (#31)
* home-assistant-31 pyCEC version up (#31)
* Home assistant 31 (#36)
* home-assistant-31 Limit OSD name to 13 chars (#31)
* home-assistant-31 Limit OSD name to 13 chars moved to CEC adapter (#31)
* home-assistant-31 version up (#31)
* home-assistant-31 formatting (#31)
* formatting
* service description
* service description
* single attribute for volume
* fixed mute on -> mute off
* moved config constant from core into component