* Register 'media_player.firetv_adb_cmd' service
* Wrap the 'firetv_adb_cmd' service with 'adb_decorator'
* Address reviewer comments
* Move firetv to its own platform
* Move 'adb_command' service description
* Rename DOMAIN to FIRETV_DOMAIN
* Import KEYS in __init__ method
* Change 'self.KEYS' to 'self.keys'
* Update firetv in .coveragerc
* 'homeassistant.components.media_player.firetv' -> 'homeassistant.components.firetv'
* 'homeassistant.components.firetv' -> 'homeassistant.components.firetv.media_player'
* add device_info to device
* added checks
* Fixes based on feedback
* Fix spelling
* Simplified implementation
On homematicip devices and the ap are created
* small fix with device.id
* hub/ap device creation moved to __init__.py
* Fixed result handling
* fixes after review.
* Fix test
* Refactor async_turn_on() for ZHA Light.
Use "move_to_level_with_on_off" if brightness or transition attributes
are present in the service call data, otherwise issue "On" Zigbee
command.
Allow brightness of 0 for service call -- effectively turning the light
off.
Send color commands only after the light was turned on.
* Fix zha.light tests.
* Fix HomeKit missing humidity issue
When using HomeKit components, MiTemp BT's humidity state will not display in Home.app.
After Added home-assistant device class into property, this problem is solved.
* Add Device_Class_Battery to property
* Break long lines.
* Lint
* Add the destination stations to the attributes
* Add support for showing station on map
* Add option to exclude via connections
* Cleanup the live sensor
* Perform better checking against false i/o None values
* Add support for excluding vias
* Add more details for via trains
* Lint file
* Update logger level
* 🚜 Rewrite of Toon component
* 🔥 Removed manual state from list
* 👕 Addresses code review comments
* 🔥 Removes a log line that should not have been left behind
* 👕 Addresses linting warnings
* 👕 Addresses Hound CI warning
* 👕 Fixes small code styling issues
* ✨ Sets an appropriate SCAN_INTERVAL
* ✨ Sets min/max temperature for climate platform
* 👕 Makes imports more consistent with codebase
* 🚑 Fixes incorrect SCAN_INTERVAL value in climate platform
* 🚑 Uses OrderedDict for config_flow schema
* 👕 Adds return types for min/max temp
* 🚜 Refactors entities into their actual devices
* ⬆️ Updates toonapilib to 3.0.7
* 🚜 Refactors binary sensor state inversion
* 🚑 Fixes states of OpenTherm connection and Hot Tap Water
* ✨ Adds Boiler Preheat binary sensor
* ✨ Adds Toon Thermostat Program binary sensor
* ✨ Adds Boiler Modulation Level sensor
* ✨ Adds Daily Power Cost sensor
* 🔥 Cleanup of Toon Thermostat climate attributes
* 🚜 Adjusts config_flow with Tenant selection
* 🙋 Adds myself to codeowners file as maintainer
* ⬆️ Gen requirements
* ⬆️ Updates toonapilib to 3.0.9
* ☔ Adds config_flow tests
* Add additional device classes to Cover component; Add SmartThings cover platform; Improve lock test coverage
* Enhance cover platform to support position and battery level reporting.
* Add additional classes
* Removed device class descriptions
* Updates based on review feedback
* Add test case for closed
* Bump firetv to 1.0.8
* Update the 'update' function for Fire TV
* Return None for properties when unavailable
* Remove 'self.adb_lock' attribute
* Remove threading import
* Update configuration for Fire TV component
* Clarify 'python-adb' vs. 'pure-python-adb'
* Rename '__adb_decorator' to '_adb_exception_catcher'
* Don't check 'self._available' in properties
* Bump firetv to 1.0.9
* Switch to SCAN_INTERVAL instead of throttle
This allows forced update of state
* Don't change tv on/off state in services
* Drop unused variables
* Only send mute if different from current state
* No need to update variables, will behandled on update
* Drop unused import
The Velux ACTIVE gateway uses `C#` rather than `c#` as the name of
the property that holds the count of accessories. Apple's HomeKit docs
suggest that properties should be case-insensitive, so update the
code to not assume the property names are lower case.
* Generate new sensors for discogs:
- Generate collection sensor
- Generate wantlist sensor
- Generate random record sensor
- Removes the option to set a name
* Make it so name can still be configured
* Fix invalid syntax
* Use shared data object + 1 sensor
* Linting
* Remove straying comment
* Dont use async for non-async stuff
* Don't use separate list for conf already in dict
* Use consts for keys
* Copy dict to list for sensors
* Fix syntax for computed keys in SENSORS dict
* Adding custom and zone cleaning to Neato Vacuums
* Fixing line length and missing imports
* Line too long
* Adding details to the custom service
* Fix linting issues
* Reverting ACTION
* Code cleanup
* Typo
* Requested modifications
* Changing the custom service domain
* No service schema depency anymore
* Removing useless code
* Linting
* Requested changes
* Requested changes for domain
* Revert the service domain back to vacuum
* Move iperf3 sensor to a standalone component
* Split out iperf3 into a component with a sensor platform
* Update coverage and requirements
* Add services.yaml
* Clean up a little bit
* Lint
* Lint
* * bump pip module version.
* moved named tuple into the module.
* pass SSL bool into the object init.
* support get_extra_attributes
* Update homeassistant/components/device_tracker/luci.py
* Allow the utility_meter to net meter rather than only allow increases.
* Fix PR issues around CI.
* Fix line length fallout.
* Change rollover to net_consumption. Add unit tests.
* Fix test style issues.
* Fix style in tests.
* Add LCN cover platform
* Removed unused default value
* Moved cover component to lcn platform directory. Small changes due to change request
* Closed state is set before updating
* Remove unneeded returns from handle_update()
* Start __init__() params with hass.
* Remove excess logging and downgrade remaining logging.
* Remove period from end of comment
* Decorate callback with @callback
* Use more descriptive variables than key and value.
* Inherit from BinarySensorDevice and overwrite is_on rather than state.
* Removed uncheckedreturn values.
* Use super() rather than explicit object.
* Use add_entities instead of add_devices.
* Don't use listener when calling immediately.
* Remove some excess logging.
* Switch to sync since pycarwings2 is sync.
* Remove RuntimeError exception matching.
* Add temporary reviewer comments.
* Add UI help descriptions for update service.
* Fix hound errors.
* Replaced time.sleep() with await asyncio.sleep()
* Removed location_updateon_on attribute since on device_tracker.
* Use async_added_to_hass() and async_dispatcher_connect().
* Use dict[key] because schema key is required.
* Clarify variable names.
* Remove icon for charging switch.
* Convert LeafChargeSwitch into service and sensor.
* Use async_dispatcher_send().
* Add guard checks for discovery_info. Consistent logs.
* Use async_schedul_update_ha_state().
* Device tracker should return true.
* Remove icon for climate control.
* Really remove icon for climate control.
* Use register() instead of async_register().
* Add guard on device tracker if discovery_info is None.
* {switch,light}.tplink: use deviceid as unique id, fetch name from the device during initialization
* raise PlatformNotReady when no device is available
* Use mac instead of deviceid
* remove name option as obsolete
* Add support for configuration flow / integration
Allows activating automatic discovery of supported devices from the configuration
* Fix linting, update requirements_all.txt
* start cleaning up tplink component based on feedback
* add device info, improve config handling
* Allow overriding detected devices via configuration file
* Update requirements.txt
* Remove debug logging
* make hound happy
* Avoid I/O during init and simplify the code, remove remains of leds_on
* Fix issues based on feedback, use consistent quotation marks for device info
* add async_setup_platform emiting a deprecation warning
* Avoid blocking the I/O, check for None on features
* handle some Martin's comments, schema-validation is still missing
* use async_create_task instead of async_add_job, let core validate the schema
* simplify configuration handling by storing the configuration data separately from initialized instances
* add default values to schema, make hound happy
* with defaults set by schema, simplify the checks. add async_unload_entry
* Use constant for data structure access
* REWORD add a short note about async_unload_entry
* handle feedback from Martin, config_data is checked against Noneness
* use pop to remove the domain on unload
* First steps to add tests for the new tplink component
* embed platforms under the component directory
* Fix tests by mocking the pyhs100 internals
* Fix linting
* Test against multiple instances of devices, tidy up
* (hopefully) final linting round
* Add pyHS100 to test requirements
* log always the warnings occured during an update to make them easy to see
* revert back the warning behavior (requirement for silver level in IQS)
* Unload only when an entry is being loaded and add tests for that
Thanks @MartinHjelmare for pointing this out!
* Fix linting
* Bump the upstream lib, fixes most prominently the HSV setting on bulbs
* Test unloading for all platforms, clear the data storage instead of popping it out, making it possible to reconfigure after removal without restarting hass first
* Use class variables instead of instance variables for bulb states, required for HS220
* Use new-style format string
* Fix indenting, uppercase the mock constant
* Run black on test_init, hopefully that will finally fix the weird formatting (pycharm, pylint and hound seems to have different opinions...)
* Add a prompt if bridge update is available.
* Change logger warning for light update
The self.light.swupdatestate only checks for updates of that specific light, it does not check for updates of the bridge.
Theirfore the warning message schould be updated.
* add space
* fix tests
* rename to swupdate2_bridge_state
* update aiohue to v1.9.1
* update aiohue to v1.9.1
* update aiohue to v1.9.1
* Fix for #19072
PR #19072 introduced the custom_effect feature but it didnt make it optional as the documentation states.
This causes error on startup and the component does not work.
```
Error while setting up platform flux_led
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity_platform.py", line 128, in _async_setup_platform
SLOW_SETUP_MAX_WAIT, loop=hass.loop)
File "/usr/lib/python3.5/asyncio/tasks.py", line 400, in wait_for
return fut.result()
File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
raise self._exception
File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
result = self.fn(*self.args, **self.kwargs)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/light/flux_led.py", line 135, in setup_platform
device[CONF_CUSTOM_EFFECT] = device_config[CONF_CUSTOM_EFFECT]
KeyError: 'custom_effect'
```
Changing this line to make the custom_effect optional as the original intention.
* Update flux_led.py
* Fix#20900: RSSI_PEER and RSSI_DEVICE are different things
This change is fixing issue #20900.
Wireless actors are having two RSSI values. The way the component was programmed one of them was overwritten.
* Added deprecation comment
* Fixed long line
* Fix: pylint comment
* Lint
* flake8
* flake8 again
* Update __init__.py
* Add traccar monitored_conditions option
User defined additional parameters to track from the traccar platform
* Version bump for pytraccar client
* Update traccar.py
* Remove default value
* Update homeassistant/components/device_tracker/traccar.py
Co-Authored-By: lapy <lapy@users.noreply.github.com>
* Update traccar.py
* Deprecate update_interval and replace with scan_interval
* Update tests
* Fix Darksky tests
* Fix Darksky tests correctly
This reverts commit a73384a223ba8a93c682042d9351cd5a7a399183.
* Provide the default for the non deprecated option
* Don't override default schema for sensors
* Add index parameter to scrape sensor
The scrape sensor selects the first element of the list returned by
BeautifulSoup. This commit adds an optional index parameter to allow the
selection of a different element from the list of results. To make this
a non-breaking change, if no index value is configured, the sensor
defaults to the previous behaviour of returning the first element.
* Set default value for index to avoid later checks
* Improve component setup error logging/notification
* Prevent capabilities from being represented my multiple platforms
* Improved logging of received updates
* Updates based on review feedback
* Add switch platform for Danfoss Air and additional sensors.
* Solve lint issues.
* Correct style.
* Minor changes
* Minor changes
* Minor changes
* Update file header
* Remove space
* Remove space
* Added work so far.
* Change interval so nobody drains their battery when I put this online
* Added the warning notice.
* Async setup
* Still broken, but we're getting there.
* Back to synchronous, moved refresh stuff into DataStore
* Functional sensors!
* Added working switches, tweaked intervals a bit
* Fixed turn off result
* Moved plug status to binary_sensor, added smart intervals
* Documentation and car nickname stuff
* Syntax fixes and coveragerc additions
* Style fixes
* Fixing the final line length
* Fixed an issue with newer models and bad climate data
* Forgot to check my line endings.
* New icons for most of the components
* Hotfix for handling Nissan's awful servers
* Merge in fixes made by Phil Cole
Remove invalid FIXMEs and update TODOs
Fixes for pylint and test for CarwingsError exception rather than Exception
Flake8 fixes
Add pycarwings2 to requirements_all.txt
Add extra configuration documentation.
Use pycarwings2 from pip. Check server dates between requests.
Add sensor device class for battery.
Async conversion fixes
flake8 fixes and docstrings
Non-async charging is OK
Handle multiple cars in the configuration
Convert to async. Better imports for platforms
Fix scanning interval & prevent extra refreshes. async switchover
Check discovery_info to prevent load of platforms
Ensure update frequency is always above a minimum interval (1 min).
Platforms don't have return values
Use values() instead of items() when not using key
Use snake_case (LeafCore becomes leaf_core)
commit 418b6bbcc49cf2909aac85869440435410abf3fd
* Add pycarwings2 to requirements_all.txt
* Make stopping charge error an 'info'. Remove TODO.
* Request update from car after sending start charging command.
* Delay initial (slow) update for 15 seconds and make async
* Flake8 line length fixes
* Try to fix D401 'imperative mood' git diff tox errors
* Try to fix more D401 'imperative mood' tox errors
* Default interval of an hour in code, to match comments.
* Update to pycarwings2 2.3
* Update to pycarwings2 2.3 in requirements_all.txt
* Remove documentation, instead refering to home-assistant.io
* Remove unneeded dispatcher_send()
* Remove unneeded requirements comments
* Combine excess debugging.
* Remove single line method signal_components()
* Bump to version 2.4 of pycarwings2
* Remove unused dispatcher_send
* Simplify logging of LeafEntity registration
* Update requirements_all.txt
* Multiple changes
Increase timeout to 30 seconds
Only consider battery_status
Fix plugged in status
Better attempts at try/exception handling
* Fix line length
* Use pycarwings 2.5
* Remove pointless 'is True'
* Remove unnecessary 'is True/False'
* Remove unnecessary 'is True/False'
* Use LENGTH_MILES and LENGTH_KILOMETERS
* Remove excess logging in setup_platform()
* Remove unnecessary 'is True'
* Use pycarwings2 version 2.6
* Require pycarwings2 version 2.7.
* Increase sleep delay for climate and location reponses.
* Remove unnecessary 'is True'
* Increase frequent polling warning to _LOGGER.warning()
* Use DEVICE_CLASS_BATTERY
* Remove extraneous 'is True'.
* Move icon strings to constants.
* Remove unneeded key.
* LeafRangeSensor ac_on property is internal.
* Flake8 missing line
* Remove homebridge attributes.
* Remove round battery % and range to whole numbers
* Use pycarwings2 2.8
* Move to embedded component model
* Reduce maximum attempts to 10 (5 mins)
* Include attempt count in 'waiting' log message
* Use await instead of yield. Remove @asyncio.coroutine decorators.
* Add @filcole as nissan_leaf codeowner
* Fix checking for if not data returned from vehicle. Don't double send signal on location update.
* Exposed updated_on, update_in_progress and next_update attributes.
* Add nissan_leaf.update service that triggers an update.
* Flake8 line fixes
* Remove excess and double logging.
* Add updated_on attribute for device tracker.
* Fix crash if pycarwings2 doesn't provide cruising ranges.
* Minor changes
* Minor changes
* Minor changes
* Minor changes
* Minor changes
* First commit
* Times of the Day binary sensor added
* Python 3.5 fixes and logging removed
* Code refactored according to reviewer's suggestions
* Fixed config template with friendly name support
* Finall pep8 fixes
* Removed async_generate_entity_id and moved initial calculation to async_added_to_hass
* Change the configuration schema to follow the current requirements
* Update according latest suggestsion
* Fix typos and minor changes
* Fix lint issue
* initial working example of alarm_control
* fixes for alarm_control
* arm home is the same as arm away
* updated documentation
* final fixes
* pypoint version up
* fixes for Martin
* new weather component for meteofrance
* linting
* upgrade meteofrance package version
* Update .coveragerc
* Remove updates to the weather component architecture
* Rewrite Météo-France as a component
* Update .coveragerc
* Update requirements_all.txt
* remove Weather Card option
* Update conf name
Changing conf name to something more universal for worldwide weather forecast (postal code was only relevent for France)
* Update meteofrance pypi package
* fix line too long
* Update requirements_all.txt
* prevent from calling an API endpoint if not in monitored conditions
* fix stale url and remove blank line
* Insure that all cities are unique
* rename CONF_ATTRIBUTION
* Updating data from component setup
* fix missing extra lines
* Bumped pysmartthings version to 0.6.1
* Added Lock to supported platforms
* Added SmartThings Lock component
* Updated lock to eagerly set state
* Updated requirements_all.txt & requirements_test_all.txt with pysmartthings==0.6.1
* Added SmartThings Lock tests
* Removed inapplicable comment
* Removed unused import (STATE_UNLOCKED)
* Populated device_state_attributes with values provided by SmartThings
* Condensed if_lock assertion function
* Updated gathered attributes
* Fixed typo
* Updated tests to use new setup_platform
* Updated assignment of device state attributes
* Updated tests to utilise the LOCK_DOMAIN constant where suitable
* Fixed false positive for Switch test: (test_unload_config_entry)
* Implemented constant to contain expected SmartThings state for is_locked check
* Improved allocation of State Attributes
* Improved allocation of state attributes
* Fixed lint error (was running lint checks against the wrong file, whoops)
* Added test for unloading lock config
* Use isinstance instead of type()
* Updated device state to explicitly check for is not None instead of a truthy value
* Add Rejseplanen danish public transport sensor component
* Removed commented out code and fixed style errors
* Use rjpl pypi package for API calls.
* Fix platform schema config and code cleanup.
* Use updated rjpl library with specific exceptions
* API error message is now logged, unknown state attributes excluded
* Make monitored_conditions more specific in Ambient PWS
* Revert messing around with storing monitored_conditions elsewhere
* Come on, Aaron
* Fix bug with monitored_conditions in Ambient PWS
* working unique ids for august
* cleanup blank lines
* cleanup blank lines
* cleanup blank lines
* rebase
* get the oneline back in
* blank line stuff
* whitespace cleanup
* Blank Line .
* blank line again
* modbus: support multiple modbus hub
* update data after entities added
* pass hub object to each entity. and save hub to hass.data but not in module level
* add hub_client setup log
* don't update when adding device, because hub_client is not ready right now
* support restore last state
* remove useless func
* compatible with python35
* removed unrelated style changes
* Update flexit for multi-device modbus
* change how hubs are referenced in the configuration
* Also update climate/modbus.py
* Remove unwanted whitescapce
* Defined common constants centrally
* Update DOMAIN in climate and switch components
* Removed unnecessary vol.schema
* Make hub name optional
* Add name property to ModbusHub
* set cover level using emulated_hue
* changed mapping for service turn_on/off for cover.
* removed whitespace for the sake of hound
* using const for domains instead of hardcoded strings.
* change length of lines for the sake of hound
* fixed under-intended line
* changed intent for the sake of hound
* Fixed Thethingsnetwork sensor issue so that it takes the most recent (last) item from the TTN data storage query result instead of the first.
* Update sensor.py
More pythonic way to get the last item of the sensor value list.