* Preparing for transition to config flow
Added multiple gateway support
Reworked parameter flow to platforms to enable multiple controllers
Breaking change to config, now a list of gateways is expected instead of a single config
* Updated coveragerc
Added new location of fibaro component
* Fixes based on code review and extended logging
Addressed issues raised by code review
Added extended debug logging to get better reports from users if the device type mapping is not perfect
* Changhes based on code review
Changes to how configuration is read and schemas
Fix to device type mapping logic
* simplified reading config
* oops
oops
* grr
grr
* change based on code review
* changes based on code review
changes based on code review
* reconfigure zha device service
add log line to reconfigure service for consistency
* add entity functions to support new services
* added new services and web socket api and split them into their own module
* support manufacturer code
logging to debug
get safe value for manufacturer
* update services.yaml
* add comma back
* update coveragerc
* remove blank line
* fix type
* api cleanup - review comments
* move static method to helpers - review comment
* convert reconfigure service to websocket command - review comment
* change path
* fix attribute
* Moved component to a package and added a services.yaml file.
* Fixing coverage issue and grammar issue on the services.yaml file.
* Fixed typo in the services.yaml file.
* added components and requirement
* change config to allow the definition of multiple switches without redefining the gateway
* dont assume false state
fix default value
* added exclude to coveragerc
* sorted imports
* review fixes
* review fixes
* bugfix
review fixes
* review fix
* Initial commit of LCN component and light platform
* Corrected pre-review comments
* Fixed dimming behaviour in combination with transitions for lcn lights
* Removed unused logger
* Combined __init__.py and core.py into lcn.py component. Bumped to pypck==0.5.6
* Fixed .coveragerc
* Bumped to pypck==0.5.7
* Bump to pypck==0.5.8
* Fixed requirements_all.txt
* Moved unique generation of connection names to config schema's validator
* Minor changes due to review comments.
Bump to pypck==0.5.9.
* Address_connection is passed into LcnDevice
* Set should_poll property on LcnDevice to return False
* Moved platform config validation to component. Load platform using discovery helper
* Furtehr changes due to the review
* Light configuration is set required as there are no other platforms up to now
* Added Lutron Homeworks components.
* Made all requested changes other than config.
* Removed commented out code.
* Removed binary_sensor.
Implemented new signal/events for button presses.
Cleaned up some data passing.
* Fixed minor formatting.
* Got rid of unused config stuff.
Reordered imports.
* Missed removing vol, and forgot an extra line.
* More requested changes
Removed HomeworksController, it wasn't needed.
* Removed stale code.
* Imperative doc change.
* Adding sensor for SolarEdge Monitoring API support
* Adding support for Rova garbage calendar
* Update solaredge to pass lint and flake8
* Added solaredge.py to .coveragerc
* Added extend for Voluptuous schema
* Fixed styling issues
* Removed rova.py for later feature
* Replaced API requests with python pip package
* Fixed styling issues
* Updated to new async syntax
Added async_update to sensor class
Added Throttle to SolarEdge data update
Added CONF_NAME to platform settings
Added credentials check for api
Minor code style changes
* Remove unnecessary debug logging
* Updated dict keys
* Added SCAN_INTERVAL
Updated platform setup
* Remove DOMAIN variable
Correct import for PLATFORM_SCHEMA
* Change some debug to error messages
Correct return statements
Remove initial update call
* Fix pylint and flake8 errors
* complete(?)
* fixed linting
* update requirements
* added to coveragerc
* fixed linting
* added ability to set custom name
* fixed linting
* added filter
* spacing
* Added list of possible fuels
* Minor updates
* added gtt sensor
* removed trailing space
* updated requirements_all
* fixed two errors in the code style
* fixed imperative in docstring
* disabled pylint false positive
* fixed description on top of the file
* added files to .coveragerc
* fixes
* linting
* fixed linting 👍
* left a trailing space, now it's gone.
* fix
* Added brottsplatskartan sensor
* Update brottsplatskartan sensor
* Remove redundant configuration checks.
* Set attributes during initialization.
* Setup brottsplatskartan module in setup_platform().
* Just do a simple return, no need for returning false.
* Remove file that was used during testing
* Better variable name and remove excessive newline.
* More updates to brottsplatskartan
* Import uuid at the top of the module.
* Use sensor as domain.
* Don't fire custom events.
* Remove period from logging message.
* Adding validation for area parameter
* Validate empty area configuration
* Fixing indentation.
* Fixing the config schema
* Adding ambient_station.py sensor and updating requirements file
* Cleaning up code and fixing flake8 warnings
* Fixing flake8 and pylint warnings
* Adding ambient_station.py sensor and updating requirements file
* Cleaning up code and fixing flake8 warnings
* Fixing flake8 and pylint warnings
* Fixing bug, things are working well now
* removing nosetests file
* Adding changes as requested in pull request #18551
* Updating with more change requests from PR code review
* Removing SCAN_INTERVAL from PLATFORM_SCHEMA
* Removing unused import
* Adding platform schema validation for monitored_conditions and conf_units
* Updating link to documentation in doc-string. File already named in doc repo
* Only setup platform if component can successfully communicate with API
* Inverting check for platform setup success
* Adding basic Plum Lightpad support - https://plumlife.com/
* Used Const values
is_on is a bool
* Added LightpadPowerMeter Sensor to the plum_lightpad platform
* Moved to async setup, Introduced a PlumManager, events, subscription, Light and Power meter working
* Added PlumMotionSensor
* Added Glow Ring support
* Updated plum library and re-normalized
* set the glow-ring's icon
* Naming the glow ring
* Formatting and linting
* Cleaned up a number of linting issues. Left a number of documentation warnings
* setup_platform migrated to async_setup_platform Plum discovery run as a job
* bumped plumlightpad version
* On shutdown disconnect the telnet session from each plum lightpad
* Cleanup & formatting. Worked on parallell cloud update
* Moved setup from async to non-async
* Utilize async_call_later from the helpers
* Cleanedup and linted, down to documentation & one #TODO
* Remove commented out debug lines
* Fixed Linting issues
* Remove TODO
* Updated comments & fixed Linting issues
* Added plumlightpad to requirements_all.txt
* Fixing imports with isort
* Added components to .coveragerc
* Added PLUM_DATA constant for accessing hass.data[PLUM_DATA]
* used dictionary syntax vs get(...) for config
* Linting needed an additonal line
* Fully async_setup now. removed @callback utilize bus events for detecting new devices found.
* Upgraded to plumlightpad 0.0.10
* Removed extra unused PLATFORM_SCHEMA declarations
* Moved listener attachment to `async_added_to_hass` and removed unused properties & device_state_attributes
* Utilized Discovery when devices were located
* Linting and cleanup
* used `hass.async_create_task` instead of `hass.async_add_job` per Martin
* Removed redundant criteria in if block
* Without discovery info, there is no need to setup
* Better state management and async on/off for Glow Ring
* renamed async_set_config back to set_config, fixed cleanup callback and Plum Initialization
* Fixed flake8 linting issues
* plumlightpad package update
* Add 'motion' device_class to Motion Sensor
* Fixed last known Linting issue
* let homeassistant handle setting the brightness state
* String formatting vs concatenation
* use shared aiohttp session from homeassistant
* Updating to use new formatting style
* looks like @cleanup isn't neccesary
* ditch the serial awaits
* Ensure async_add_entities is only called once per async_setup_platform
* Creating tasks to wait for vs coroutines
* Remove unused white component in the GlowRing
* Used local variables for GlowRing colors & added a setter for the hs_color property to keep the values in sync
* Linted and added docstring
* Update the documentation path to point to the component page
* Removed the extra sensor and binary_sensor platforms as requested. (To be added in later PRs)
* Update plum_lightpad.py
* Update plum_lightpad.py
* Add custom component to core
* Add pyrail to reqs
* Format & lint
* Sort nmbs.py into place on coveragerc
* Only set up station live if provided
* Only set up sensor if config is provided
* Fix line too long linting error
* PR Remarks
* Add docstrings
* Fix hound line to long error
* Fix quotes
* Rebase coveragerc
* PR Review
* Init empty attrs
* Dont include delay if there is none
* PR review
* Safer check
* Rebase reqs
* Generate req
* Update homeassistant/components/sensor/nmbs.py
Co-Authored-By: thibmaek <thibault.maekelbergh@iCloud.com>
* PR remarks
* Feature: support for the HK AVR
* Remove testcode
* Feature: support for the HK AVR
* Remove testcode
* Added checklist
* Review fixes whitespaces
* Lint fixes
* Review fixes, add current source
* Remove unused imports
* Review fixes; State constants, dict[key]
* More review fixes, Unknown state and Sources
* Review fix; rename devices to entities
* event foundation
* implement quirks
* lock zha-quirks version
* allow quirks handling to be toggled on and off
* revert event commit
* disable warning
* update requirements_all
* Remove fix in favor of #19141#19141 should be what ultimately corrects this issue.
* review comment
* move component to a package
* move TelldusLiveEntry to separate file
* refactor
* move entities from a shared container
* using the dispatch helper instead for communication between component and platforms
* updated covereagerc and codeowners
* suggestions from MartinHjelmare
* don't make update async
* "Strip is good!"
* Initial hlk-sw16 relay switch support
* remove entity_id and validate relay id's
* Bump hlk-sw16 library version and cleanup component
* refactor hlk-sw16 switch platform loading
* Use voluptuous to coerce relay id to string
* remove force_update for SW16Switch
* Move to callback based hlk-sw16 relay state changes
* fix hlk-sw16 default port and cleanup some unused variables
* Refactor to allow registration of multiple HLK-SW16 device
* Store protocol in instance variable instead of class variable
* remove is_connected
* flake8 style fix
* Move reconnect logic into HLK-SW16 client library
* Cleanup and improve logging
* Load hlk-sw16 platform entities at same time per device
* scope SIGNAL_AVAILABILITY to device_id
* Fixes for connection resume
* move device_client out of switches loop
* Add timeout for commands and keep alive
* remove unused variables
* Added lightwave components for switches and lights.
* Address warnings raised by Hound
* Correcting lint messages and major typo. This time tested before commit.
* Trying to fix author
* Minor lint changes
* Attempt to correct other lint error.
* Another lint attempt.
* More lint issues.
* Last two lint errors! Hurrah.
* Changes after review from fabaff.
* Moved device dependent code to PyPi.
* Replaced DEPENDENCIES with REQUIREMENTS
* Updated following code review from Martin Hjelmare.
* Added lightwave to requirements_all.txt
* Omit lightwave from tests.
* Updated requirements_all.txt
* Refactored how lightwave lights and switches load.
* Removed imports that were no longer required.
* Add guard for no discovery_info.
* Make it a guard clause and save indentation. Rename LRFxxx to LWRFxxx.
* Sorted imports to match style guidelines.
* Correct return value.
* Update requirements_all.txt
* Catch case where we have no lights or switches configured.
* Improve configuration validation.
* Initial stuff
* More work in place
* Starting with tests
* Device registry in place
* Hound
* Linting
* Member comments (including extracting device registry)
* Member comments (plus I forgot cleanup!)
* Hound
* More Hound
* Removed old import
* Adding config entry test to coverage
* Updated strings
* Fibaro HC connection, initial commit
Very first steps working, connects, fetches devices, represents sensors, binary_sensors and lights towards HA.
* Cover, switch, bugfixes
Initial support for covers
Initial support for switches
Bugfixes
* Some cleanup and improved lights
pylint based cleanup
light switches handled properly
light features reported correctly
* Added status updates and actions
Lights, Blinds, Switches are mostly working now
* Code cleanup, fiblary3 req
Fiblary3 is now in pypi, set it as req
Cleanup based on pylint
* Included in .coveragerc and added how to use guide
Included the fibaro component in coveragerc
Added usage instructions to file header
* PyLint inspired fixes
Fixed pylint warnings
* PyLint inspired fixes
PyLint inspired fixes
* updated to fiblary3 0.1.5
* Minor fixes to finally pass pull req
Fixed fiblary3 to work with python 3.5
Updated fiblary3 to 0.1.6
(added energy and batteryLevel dummies)
* module import and flake8 fixes
Finally (hopefully) figured out what lint is complaining about
* Fixed color support for lights, simplified callback
Fixed color support for lights
Simplified callback for updates
Uses updated fiblary3 for color light handling
* Lean and mean refactor
While waiting for a brave reviewer, I've been making the code smaller and easier to understand.
* Minor fixes to please HoundCI
* Removed unused component
Scenes are not implemented yet
* Nicer comments.
* DEVICE_CLASS, ignore plugins, improved mapping
Added support for device class and icons in sensors and binary_sensors
Improved mapping of sensors and added heuristic matching
Added support for hidden devices
Fixed conversion to float in sensors
* Fixed dimming
Fibaro apparently does not need, nor like the extra turnOn commands for dimmers
* flake8
* Cleanup, Light fixes, switch power
Cleanup of the component to separate init from connect, handle connection error better
Improved light handling, especially for RGBW strips and working around Fibaro quirks
Added energy and power reporting to switches
* Missing comment added
Missing comment added to please flake8
* Removed everything but bin.sensors
Stripdown, hoping for a review
* better aligned comments
OMG
* Fixes based on code review
Fixes based on code review
* Implemented stopping
Implemented stopping of StateHandler thread
Cleanup for clarity
* Minor fix
Removed unnecessary list copying
* Nicer wording on shutdown
* Minor changes based on code review
* minor fixes based on code review
* removed extra line break
* Add srp_energy
* Update message on TypeError. Add check for None state.
* Add check for none in history
* Add srpenergy to Test requirements.
* Add srpenergy to requirments.
* Change = to ==.
* Change import for srpenergy
* Fix Flak8 errors
* Add srp to gen requirements script
* Change config name.
* Add daily usage test
* Add test for daily usage.
* Fix Flake8 message.
* Remove blank after docstring.
* Add srpenergy to coverage
* Bump requires version to srpenergy
* Fix type in coverage. Import from Sensor. Use dict.
* Update to 1.0.5. Check credentials on setup. Standalone test.
* Fix formating.
* Remove period. Rename _ variables.
* Fix rebase merge
* Add rebase requirement
* Improve Mock Patching.
* Initial commit of w800rf32 component and binary_sensor.
The W800 family is an X10 RF receiver used with keypads and motion sensors etc.
* Initial commit of w800rf32 switch platform.
The W800 family is an X10 RF receiver used with keypads and motion sensors etc.
* Remove unused code.
* Additions for w800rf32 component and platform code
* Fix w800rf32 minor lint issues and make sure gen_requirements.py correctlly adds w800rf32
* Added dispatch_connect/send and refactor somewhat
* Fix missed indentation lint
* Removed shared entity dict and use async_dispatch code
* Fix long line not caught by lint
* One more line too long, missed it
* Remove unused code and changes for async
* Remove @callback that shouldn't be there.
* Remove switch platform, can't have read only switch.
* Remove unused CONF_DEBUG
* Remove used vars and make CONF_DEVICES required
* Move CONF_OFF_DELAY to platform, only used there
* Add new launch sensor to keep track of space launches.
* Added attribution to Launch Library.
* Adds data class and throtle, reuse aiohttp session.
* Add one extra blank line before the new class..
* Change throttle to simpler SCAN_INTERVAL.
* Remove the usage of the LaunchData class.
* Bump pylaunches, remove . from log, fix line breaker for agency_country_code, remove CONF_ from ATTRIBUTION.
* Adds support for Lupusec alarm control panel
* fixed various mostly cosmetic issues
* fixed generic type of binary sensors
* fixed some formatting; removed scan interval completely -> defaults now to 2 secs
* removed unused data caches; added check if binary sensor class exists
* cosmetics
* generic type fix
* small fix
* small fixes
* guard clause added
* small fixes
* Add Norwegian Public Transportation sensor (Ruter).
* Corrected typo.
* change stopid to stop_id, actually use attributes, changed logging, corrected link, removed unused variable.
* Change to RuterSensor for the class, and move logic to me more readable.
* Use correct sensor class.
* Add return if blank list, remove else
* Add support for Google Home device tracking.
* Use dict[key] for options.
* Delete googlehome.py.save
* Change stylling of name, and attr mac_address to btle_mac_address, removed unesssesarry attributes copying.
* Implemented tplink_lte components and notify service
* Device discovery for the notify component
* Improved the config schema. Small fixes
* Improved login retry mechanism
* Log successful connection only on retries
* Removed CancelledError handlers and small fixes
* Adds Tautulli as a sensor platform.
* Remove blank last line.
* Rewrite the platform to comply with review.
* Linting issues.
* Remove tailing newline.
* Corrected typo
* Correcte check_connection, removed wierd defaults, added line in imports, removed unused var, use the correct user list.
* Use dict[key] for required config options.
* Minor changes
* initial tensorflow image_processing component
* linting fixes
* make displayed attribute a summary of objects
* fix missed merge conflict and add warning supression back in for CPU type
* restructure tensorflow component to install on the fly, remove from Docker
* add both matches and summary as attributes
* address review comments
* do not use deps folder as default, as it should only be managed by HA. Update to have tensorflow in root config directory