* Broadlink Sensor - switch to connection-less mode
Solved the issue with broadlink sensor that occurs when short connection loss with RM2/3 is present on poor WiFi networks.
* Update broadlink.py
* Update broadlink.py
* Update broadlink.py
* Update broadlink.py
* Update broadlink.py
* Update broadlink.py
* Update broadlink.py
* Adding USCIS component
* Adding Line after the class DOC
* Update : Extract USCIS logic code to Component
* Update : Extract USCIS logic code to Component
* Adding CURRENT_STATUS
* Change Error handling, remove date from attributes
* Update the Version for USCIS
* Update uscis.py
* Initialise filter with historical values
Added get_last_state_changes()
* fix test
* Major changes to accommodate history + time_SMA
# Conflicts:
# homeassistant/components/sensor/filter.py
* hail the hound!
* lint fixed
* less debug
* ups
* get state from the proper entity
* sensible default
* No defaults in get_last_state_changes
* list_reverseiterator instead of list
* prev_state to state
* Initialise filter with historical values
Added get_last_state_changes()
* fix test
* Major changes to accommodate history + time_SMA
# Conflicts:
# homeassistant/components/sensor/filter.py
* hail the hound!
* lint fixed
* less debug
* ups
* get state from the proper entity
* sensible default
* No defaults in get_last_state_changes
* list_reverseiterator instead of list
* prev_state to state
* update
* added window_unit
* replace isinstance with window_unit
* Add @colinodell to CODEOWNERS for qnap sensor
* Bump qnapstats library to 0.2.5
This release adds better error handling for sharenames with no folder
* updated to new "b2vapi" of bimmer_connected
* updated requirements_all.txt
* updated 2 more vehicle names after rebase
* cleanup of import statements
* found one more broken name...
* removed unused constant
* cleanup of import statements 2
* Cleanup and proposed changes from MartinHjelmare
* Removed coroutine decorator from async_added_to_hass
* Added blank line
* Fix of component url
* Fix of component url
* Fix url of the sensor component
* Add the possibility to filter on line(s) in Västtrafik Public Transport sensor
Add a config entry "lines" to be able to filter departures on line(s) for the
vasttrafik sensor.
* Change log level to debug if no departures found.
* Remove extra None argument from dict().get() calls as it is already the default.
* Ensure "lines" is a list of strings. Also fix an indentation error.
* Correct to long line
* Create trafikverket_weatherstation.py
Created PR 12111 but due to permission issue I'm creating a new fork and PR.
* Added dot
Added dot to the first (second) row of the file, after the description.
* Corrections based on feedback
Done:
- Run flake8 before this commit
- Fixed invalid variables
- Shortened the xml variable/query via if statement (air_vs_road)
- Moved imports if update() to top of the file
- Imported CONF_API_KEY and CONF_TYPE
- Updated documentation (api_key): home-assistant/home-assistant.github.io#4562
Actions left:
- Error handling
- Request timeout
- Add sensor (file) to .coveragerc
* Multiple corrections
Done:
- Executed pylint and flake8 tests before commit
- Fixed import order
- Implemented request timeout
- Used variable air_vs_road in the return as well
Actions left:
- Error handling
- Add sensor (file) to .coveragerc
* Error handling
Done:
- Error handling for network
- Error handling for JSON response
* Added trafikverket_weatherstation.py
Added trafikverket_weatherstation.py in correct order.
* Road as default
Changed if statement to check for 'road' which means it will always defaulting to 'air' in other cases. Even if it will only accept 'air' and 'road' from the PLATFORM_SCHEMA.
* Updated variable names
Updated variable names to be more understandable as requested by @MartinHjelmare
* Standard Libraries
Grouped Standard Libraries
* Return None
Changed return None to only return as suggested.
* Added a simple component to support the BLNET
Adds a component based on pyblnet, that hooks up the blnet to home assistant
* Adds support for custimzation of blnet sensor devices
* Setting up blnet as a platfrom
* Updated use of state_attributes
Now the friendly_name (and for digital values the mode) is set in the state_attributes whereas the name is defined as "blnet_(analog|digital)_{sensornumber}" so you can reliably add them to groups.
* Added support for the SyncThru printer web service
* Added pysyncthru to the requirements
* Changed to Dependencis, import inside setup_platform
* Switch back to REQUIREMENTS
Looks like DEPENDENCIES is not meant for python packages but for other HA components
* Fixed access to _attributes
* Final fix
* Several Bugfixes
When the printer goes offline, the last state will be kept.
Also now checks if the printer is reachable upon setup
* Register syncthru as discoverable
* Included possible conditions to monitor
* Split the printer sensor in several seperate sensor entities
* Fixed bug at sensor creation, pep8 conform
* Bugfix
* Bugfix
* Removed Blnet components
* Fixed unused import
* Renamed discoverable to samsung_printer
* Removed unused Attribute _friendly_name
* Inserted missing space
* Pinned requirements and added to coveragerc
* Reduced redundancy by condensing into multiple sub-classes
* Fixed indentation
* Fixed super constructor calls
* Fixed super constructor calls
* Fixed format
* Resolving style issues and using name instead of friendly_name
* Pinned pysyncthru in requirements_all, having trouble with friendly_name
* Iterating over dictionary instead of dict.keys()
* ran gen_reqirements_all.py
* Fixed flake 8 issues
* Added a simple component to support the BLNET
Adds a component based on pyblnet, that hooks up the blnet to home assistant
* Implemented requested changes
* raised dependecies to pysyncthru version that has timeouts
* Raised required version for full timeout support
* Adds support for custimzation of blnet sensor devices
* Setting up blnet as a platfrom
* Updated use of state_attributes
Now the friendly_name (and for digital values the mode) is set in the state_attributes whereas the name is defined as "blnet_(analog|digital)_{sensornumber}" so you can reliably add them to groups.
* Added support for the SyncThru printer web service
* Added pysyncthru to the requirements
* Removed Blnet components
* Pinned requirements and added to coveragerc
* Fixed indentation
* Fixed format
* Pinned pysyncthru in requirements_all, having trouble with friendly_name
* ran gen_reqirements_all.py
* Updated requirements_all
* Renamed sensor objects, removed passing of hass entity
* Removed merge artifacts
* Reset syncthru to newest state
* Updated requirements_all
* switched to using the newest version of pysyncthru
* Sorted coveragerc
* Update plex.py
show information about media depending if it is a movie or an episode
set time_between_scans to 10 s to match with plex media_player component
* Update plex.py
lint
* Update plex.py
linting
* Update plex.py
linting
* Update plex.py
linting
* Update plex.py
added catch for tracks and everything else
if no release year is given, instead of () it now show nothing
* Update plex.py
Remove the album year to match with the Plex UI
* Update README.rst
* Update README.rst
* Update plex.py
reformat code to make it more readable
recorded tv shows might not have episode numbers assigned -> check before adding to title
* Update plex.py
cleanup excessive whitespace
* Update plex.py
cleanup excessive whitespace
* Added Time based SMA
* move "now" to _filter_state()
* Addressed comments
* fix long line
* type and name
* # pylint: disable=redefined-builtin
* added test
* Add initial support fo HomematicIP components
* Fix module import
* Update reqirments file as well
* Added HomematicIP files
* Update to homematicip
* Code cleanup based on highligted issues
* Update of reqiremnets file as well
* Fix dispatcher usage
* Rename homematicip to homematicip_cloud
* Xiaomi MiIO Sensor: Xiaomi Air Quality Monitor (PM2.5) integration.
* Missing newline added.
* Use a unique data key per domain.
* turn_{on,off} service moved to __init__.py.
* All sensors group added.
* Sensor is a ToggleEntity now.
* is_on property added.
* Use Async / await syntax.
* Make hound happy.
* Unique id added.
* Turn on/off service removed from abstract sensor.
* Turn on/off methods removed.
Device unavailable handling improved.
* Unused import removed.
* Sensor migrated back to an entity.
* Rebased and requirements updated.
* Added Foobot device sensor
* Added error handling tests
* Corrections after PR review.
* Migrated to async/await syntax
* lint fixes
* stop raising HomeAssistantError
* debug log for number of requests
* Moved shared data between sensors from a class attribute to a separate class
* Made test more async-aware
disabled setup error test for now as it's not working
* Working failure scenarios tests
* Added extra sensors for BMW ConnectedDrive
* Updates based on review of @MartinHjelmare
* Updates based on 2nd review of @MartinHjelmare
* Changed control flow for updates to support updates triggered by remote services.
* updated library version number
* Changed order of commands so that the UI looks consistent.
State of lock is now set optimisitcally before getting proper update
from the server. So that the state does not toggle in the UI.
* Added comment on optimistic state
* Updated requirements_all.txt
* Revert access permission changes
* Fix for Travis
* Changes based on review by @MartinHjelmare
It makes sense to report swap and memory in the same unit and MiB is
more useful considering Home Assistant may be running on lower end
hardware (Raspberry Pi for example) where 100MiB resolution is not
adequate.
* Add spotcrime.py to dev
* Modify sensor to accept user API key
* Update Spotcrime to 1.0.3 in requirements_all.txt
* Fix line 76 (97 > 79 characters)
* Fix lint errors
* Sensor template don't exit early on TemplateError
* Add friendly name unknown state test
* Also track entites from attribute templates
* Use set instead of list
With homeassistant 0.65.0 the filter sensor is introduced. Now there
is a common way to filter the peaks comming from the readings.
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
* Changed sensor attributes for GPS
the sensor is now using the correct attributes (latitued and
longitued) which enables them to show up on the map.
* added option to display the sensor on the map
the configuration will be extended by the optional 'show_on_map' flag.
Default is not display the sensor on the map.
* making the change non-breaking: old default behaviour
* removed doubled attributes for lat and lon
Adds an empty unit to load averages reported by the systemmonitor
component in order to correctly identify the state as numeric.
A similar workaroud to this is already used for packet counts in the
same component.
Re #11022
* Added the Gamerscore and Tier of the account.
The tier is the subscription type of the Xbox Live account, so Silver (which is now called Free) or Gold (paid).
* Don't add the gamerscore and tier inside of the loop, since they're always the same.
* Added Zillow Zestimate sensor.
* Add zestimate.py to .coveragerc
* Fix line 167 81>80
* Incorporate tinloaf changes.
* Saving work
* Incorporate changes requested by MartinHjelmare
* Remove unnecessary import
* Add a blank line between standard library and 3rd party imports
* Tibber: retry if we fail to connect at startup
* Tibber: retry if we fail to connect at startup
* Tibber: retry if we fail to connect at startup
* Tibber: retry if we fail to connect at startup
* Update tibber.py
* Update tibber.py
* Add view to support backend translation fetching
* Load backend translations from component json
* Translations for season sensor
* Scripts to merge and unpack Lokalise translations
* Fix copy paste error
* Serve post-lokalise translations to frontend
* Linting
* Auto-deploy translations with Travis
* Commit post-lokalise translation files
* Split logic into more helper functions
* Fall back to English for missing keys
* Move local translation copies to `.translations`
* Linting
* Initial tests
* Remove unnecessary file check
* Convert translation helper to async/await
* Convert translation helper tests to async/await
* Use set subtraction to find missing_components
* load_translation_files use component->file mapping
* Remove duplicated resources fetching
Get to take advantage of the slick Python 3.5 dict merging here.
* Switch to live project ID
* Support TekSavvy Unlimited Plans
Support TekSavvy account usage for unlimited plans.
Seeing cap limit to 0 will now provide unlimited behaviour on usage calculations.
* Add unit tests to sensor.teksavvy
Add coverage unit tests to TekSavvy Sensor component, none existing previously.
* Added Sense energy monitor sensor
* Added missing =
* Style updates
* Added newline, but not blank line at end of file
* Updated sense API to 0.2.2
* Moved import in function
* Fixed tabs
* Updated requirements
* Removed bare except
* Longer update times and more stats
* sense api update
* Updated to use string formatting
* Setup to use monitored_conditions
* Fix syntax
* API update
* blank space fixes
* More blank fixes
* API version update
* Fixed comment format
* removed unneeded function call
* Add support for specifying custom headers for rest_command.
* Added headers configuration to behave similarly to the rest sensor.
* Replaced test_rest_command_content_type which only validated the
configuration with test_rest_command_headers which tests several
combinations of parameters that affect the request headers.
* Fix Citybikes naming.
* Semantic fixes upon requests.
Entity ID generation now includes the base name (again),
resulting in preservation of the entity ID format (the change is
non-breaking)
* Use `async_generate_entity_id`.
* Merge from current dev
* Update for Sensor approach
* Update reference to state classes
* Reference stateKey correctly
* Reference stateKey
* Change deviceInfo to a dict
* Pass state to properties method
* Add state info to device_state_attributes
* Update entity name to include state name
* Update for on() off() vs light_on/off
* Flag newnames option
* Update configuration schema
* Update configuration schema
* Spell False correctly
* Rename state to statekey
* Rename statekey to stateKey
* Call new device with stateKey and newname
* Simplify use of newnames
* Add workdir to save devices
* Fix newnames config setup
* Propogate OnOffSensor to VariableSensor change
* Upgrade insteonplm version to 0.8.0
* Pass address rather than device object to platform
* Set inteon_plm data variable to PLM
* Consistant use of conn and plm
* Consistant use of conn and plm
* Proper reference to device and address
* Fixed platform setup issues
* Correct issue with missing _supported_features attr
* Properly reference self._state vs self.state
* Bump insteonplm version to 0.8.1
* Remove subplatform and map based on state name
* Correct refrence to State
* Correct reference to device.states
* Bump insteonplm to 0.8.2
* Fix format errors
* Fix format issues
* Fix trailing whitespace
* Correct format issues
* Fix format issues
* Fix format issues
* Fixed format issues
* Fixed format issues
* Move imports inside classes
* Simplify import of modules
* Correct reference to OnOffSwitch_OutletTop and bottom
* Remove unnessary references
* Fix format issues
* Code review adjustments
* Fix format issue
* Use new nameing format for groups that are not group 0x01
* Remove newname feature
* Fix binary_sensor type to default to None
* Fix device_class property to return the sensor type correctly.
* rename _device and _state to avoid conflicts with Entity
* Format long lines
* Pylint clean up
* Insteon_PLM
* lint cleanup
* Check device_override has address
* 3.4 lint clean up
* Changes per code review
* Change discovered from a list of dict to a dict
* Correct common_attributes usage
* Change discovered from a list of dict to a dict
* Add debugging message to confirm platform setup
* Debug messages
* Debug messages
* Debug async_added_to_hass
* Debug async_added_to_hass async_add_job
* Debug async_added_to_hass
* Debug devices not loading in hass
* Debug new entities not being added to hass
* Debug adding devices to hass
* Revert "3.4 lint clean up"
This reverts commit 0d8fb992b1.
* 3.4 lint clean up
* Revert "Debug adding devices to hass"
This reverts commit ec306773d4.
* Revert "Debug new entities not being added to hass"
This reverts commit 55fb724d06.
* Revert "Debug devices not loading in hass"
This reverts commit 07814b4f14.
* Revert "Debug async_added_to_hass"
This reverts commit 4963a255d8.
* Revert "Debug async_added_to_hass async_add_job"
This reverts commit 22cadff91f.
* Revert "Debug async_added_to_hass"
This reverts commit 12c5651fe4.
* Pylint clean up
* pylint cleanup
* Clean up naming
* Enhance config schema. Fix logging issue
* Reapply changes after squash
* Fixes for mclimate accounts with not only melissa components
* Fixes melissa sensor to only use HVAC
* Bumping version to 1.0.3 and remove OP_MODE that is not supported
* Removes STATE_AUTO from translation and tests
* Added python-spotcrime sensor
* Added python-spotcrime sensor
* Remove accidental included file
* Update indentation to match PEP8
* Remove days from const.py
* Changed default days to 1
* Incorporate changes requested by MartinHjelmare
* Remove unnecessary import and fix lint error
* Adds folder sensor
The state of the sensor is the time that the most recently modified
file in a folder was modified.
* Address lint errors
* Edit docstrings
Makes the recommended edits to docstrings
* Update .coveragerc
Add sensor/folder.py
* Update folder.py
* Address requests
Address requests changes
* Adds folder
* Adds test, tidy up
* Tidy
* Update test_folder.py
* Update folder.py
* Fix setup
Fix setup with else statement
* Update folder.py
* Update folder.py
* Remove list of files from attributes
* Update test_folder.py
* Update folder.py
* Update test_folder.py
* Update folder.py
* Update folder.py
* first working version of BMW connected drive sensor
* extended coveragerc
* fixed blank line
* fixed pylint
* major refactoring after major refactoring in bimmer_connected
* Update are now triggered from BMWConnectedDriveVehicle.
* removed polling from sensor and device_tracker
* backend URL is not detected automatically based on current country
* vehicles are discovered automatically
* updates are async now
resolves:
* https://github.com/ChristianKuehnel/bimmer_connected/issues/3
* https://github.com/ChristianKuehnel/bimmer_connected/issues/5
* improved exception handing
* fixed static analysis findings
* fixed review comments from @MartinHjelmare
* improved startup, data is updated right after sensors were created.
* fixed pylint issue
* updated to latest release of the bimmer_connected library
* updated requirements-all.txt
* fixed comments from @MartinHjelmare
* calling self.update from async_add_job
* removed unused attribute "account"
* added smappee component
* Fixed pylint errors and a few use cases when starting up with invalid credentials
Added coverage omit
* Added support to run only locally
Added a few more sensors
Added more error handling
Better parsing and debug message
* fixed smappee switch after local/remote support was added
* Smappee - update switches for local support (#3)
* Merged with local version
* Updated smappy library with the patched one
Fixed lint, added merge missing param
Fixed missing run for requirements_all.txt
Fixed lint
* Fixed on/off based on library. Reverted change used for testing stacktrace
* Fixed switches to work with both remote and local active
Fixed lint
Fixed switches
Fixed lint
* nothing to update per switch as the states are not saved by smappee system
* added better error handling for communication errors with smappee
* fixed lint errors
* fixed comment
* fixed lint error
* fixed lint error
* update smappee module with reviewer comments
- update smappy module
- cache cloud api requests
- added actuator info
- updated return states
* Spread the load more for the yr.no sensor
* Spread the load more for the yr.no sensor
* Spread the load more for the yr.no sensor
* Spread the load more for the yr.no sensor
* Spread the load more for the yr.no sensor
* Spread the load more for the yr.no sensor
* Spread the load more for the yr.no sensor
* Spread the load more for the yr.no sensor
* Spread the load more for the yr.no sensor
* fix comment
* Spread the load more for the yr.no sensor
* Spread the load more for the yr.no sensor
* Spread the load more for the yr.no sensor
* Update yr.py
* 🐎 Async WUnderground
* ∞ Them lines be too long
* Fix pylint warnings
* Changes according to comments
* Remove STATE_UNKNOWN
* 🔬 Fix tests
* Improve tests
* AirVisual: Entity Registry updates and cleanup
* Small cleanup
* Owner-requested changes
* Changed hashing function
* Put a better class instatiation mechanism in place
* Small cleanup
* Reverting unintended breaking change
* Removing hashing as part of creating the unique ID
* Attempting to jumpstart Travis
* Improve service by allowing to reference entity id instead of deconz id
* Change from having access to full entities to only store entity id together with deconz id
* Don't use eval, there is a dict type for voluptuous
* Use entity registry instead of keeping a local registry over entity ids
* Removed old code
* Add test for get_entry
* Bump dependency to v28
Fixed call to protected member
* Use chain to iterate over dict values
* Cleanup
* Fix hound comment
* Cleanup
* Follow refactoring of entity
* Revert to using a local registry
* Remove unused import
* self.hass is automatically available when entity is registered in hass
* 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
* Fix some rfxtrx devices with multiple sensors
Some combined temperature/humidity sensors send one packet for each of
their sensors. Without this fix one of the home assistant sensors would
always display an unknown value.
* Add comment
* Correct time on recorder loaded values in statistics sensor
Previously, the current time was used when initial values was loaded
form the recorder component. This changes that to use the stored time
from recorder instead.
Signed-off-by: Anton Lundin <glance@acc.umu.se>
* Expose min / max age of values in the statistics sensor
This is very useful when doing derived calculations, for example in a
template sensor.
Signed-off-by: Anton Lundin <glance@acc.umu.se>
* Fix duplicate entity_ids in System Monitor
This fix makes it so `_percent` is appended to the `entity_id` of the following 3 resources, in order to make the `entity_id` unique:
- disk_use_percent
- memory_use_percent
- swap_use_percent
* match entity_id to resource name
Match entity_id to resource name, to make resulting entity_id more predictable
* match entity_id to more resource names
match entity_id to more resource names
* Add unique_id property
* Revert "Add unique_id property"
This reverts commit c213ac360e.
* added more debug logging for sensor.alpha_vantage
* fixed typo in log statement, more fine grained logging
* Capitalized first character in log statement
* replaced quotes as proposed by @OttoWinter
* Add Mercedes me component
* pump api version to 0.1.2
* Add Mercedes me component
* pump api version to 0.1.2
* clean up code
* Code cleanup
* Remove unneeded return statement
* Return statements added again
* Implement requested changes
* Rework component, move data load to component
* lint
* remove debug logging
* Change RainCloud comments, change from track_utc_time to track_time_interval
* Final cleanup for version 1
* 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…
* sensor.deutsche_bahn: add only_direct option
This adds the `only_direct` option to the HA interface as provided by the schiene class.
* fix line length
as requested by @houndci-bot and @fabaff
* No line breaks needed
* Fixed Canary temperature sensor and remapped air quality value
* Addressed review comment
* - Fixed canary tests and added more tests
- Removed py-canary requirements from tests
* Noop to trigger a build again
* - Removed py-canary requirements from tests
* Addressed PR comment
* - Updated tests
- Removed py-canary from gen_requirements_all.py
* - Fixed hound violation
* Added back py-canary to gen_requirements_all.py as it's still need in tests
* Added back py-canary to test requirements as it's still need in tests
* Address PR comment
* Base platform in place
* Logic in place
* Requirements and coverage
* Fixed some linting issues
* Small attribute reorganization
* Collaborator-requested changes round 1
* Updated documentation
* worked on first version of IOTA wallet
* added sensor for IRI node
* added requirements
* ignored new component in test coverage
* changed length of line
* fixed linter issues
* changed requested changes
* moved attributes of IRI node
* change coverage definitions
* changed loading of platforms
* changed loading of platforms
* changed initial state of wallet sensor
* changed handling of config
* changed attribute handling for IOTA node sensor
* Follow the component style
* Fix ordering and docstring
* Fix pylint issue
* Added documentation reference to code
* Some code clean-ups suggested by @MartinHjelmare in PR#: 11695 after merging.
* fixed minor typo in docstring
* fixed another minor typo in same docstring...
* fixed another minor typo in same docstring...
* added unavailability tracker, updated sensor component
* change hass argument position according to position in binary_sensor
* added hass argument to binary_sensor, updated is_on(), it can be UNAVAILABLE now
* updated switch component to support unavailability feature
* updated light component to support unavailability feature
* updated cover component to support unavailability feature
* set _hass property
* added unavailability tracker, updated sensor component
* change hass argument position according to position in binary_sensor
* added hass argument to binary_sensor, updated is_on(), it can be UNAVAILABLE now
* updated switch component to support unavailability feature
* updated light component to support unavailability feature
* updated cover component to support unavailability feature
* set _hass property
* fixed error with wrong arguments number during callback call
* reset unavailability state on new message received from device
* use locks to fix race condition during managing _state property
* overriden state() method for some components to check for STATE_UNAVAILABLE and return it instead e.g. STATE_OFF
* fixed linter
* removed blank line
* use available() method instead of changing _state
* filter motion sensors 'heartbeat', was removed from PyXiaomiGateway
* remove self._hass, use self.hass set by HA on attach
* self.push_data now running in the event loop, use async_schedule_update_ha_state()
* merge fix
* removed accidentally added home-assistant-polymer
* bump PyXiaomiGateway version to 0.8.0
* bump PyXiaomiGateway to 0.8.0
* updated methods names and annotations
* Adding BME680 Sensor Component
* Flake8 lint fixes
* PyLint fixes
* Fix for log line
* Updating requirements for testing
* Fix PyLint Log format errors and add to coveragerc ommisions as requires sensor connected
* Regenerated requirements_all.txt
* Added Pylint exception for import error of system specific library
* Refactored async_add_platform to move IO out to avoid heavy yield usage
Add waterfurnace platform
This adds support for waterfurnace geothermal systems. This is
implemented as a component as there will eventually be some active
control elements. This is not done as a climate platform because
geothermal systems work best when set at a constant temperature as
they are tuned to keep within 0.5 degrees F of a setpoint, and large
temperature shifts are slow and expensive.
This is done in the Data + Sensors model, with the Data component
having a regular update thread. That thread needs to call the read()
function at least every 30 seconds otherwise the underlying websocket
is closed by the server.
* Added IHC platform
* Updated requirements for IHC platform
* Exclude IHC from test
* Correcting flake8 issues
* Fixing more flake8 issues
* Fixed flake8 issues
* Fixing pylint issues
* Fixed flake8 issues
* Changes from PR review.
* STATE_UNKNOWN changed to None
* Spelling mistake in comment
* Added IHC platform
* Updated requirements for IHC platform
* Exclude IHC from test
* Correcting flake8 issues
* Fixing more flake8 issues
* Fixed flake8 issues
* Fixing pylint issues
* Fixed flake8 issues
* Changes from PR review.
* STATE_UNKNOWN changed to None
* Spelling mistake in comment
* Updated requirements_all.txt with gen_requirements_app.py
* Pylint fix: No space allowed around keyword argument assignment
* PR review changes
* Moved auto setup from platforms to ihc component
* Do no auto setup if there are no IHC products found
* Changes from PR review
* Updated bluepy to version 1.1.4 as some issues with the native code were fixed there.
* Miflora - Added support for bluepy backend.
* miflora - now using bluepy backend on linux platforms
* fixed pylint findings
* miflora now using bluepy as default bluetooth backend and gatttool as fallback
* fixed hound complaints
* fixed pylint warning
* updated requirements
* Update miflora.py
* Added support for TekSavvy bandwidth sensor
* Variable name fix
* Units are Gigabytes and not Gigabits
* Change REST calls to use asyncio
* houndci violation fix
* pylint fix
* Fix for code review
* Import order asyncxxx:wq
* Tweak docstrings and log message
* Add 'last' type to min/max sensor
Now supports types: min, max, mean, last
'last' is the most recently received value from all tracked entities.
* Min/max sensor 'last' type test
* Fix min/max sensor 'last' test
* mychevy: added basic mychevy component
This implements a component using the mychevy library (which utilizes
selenium to webscrape the mychevy website for onstar for your
car). The architecture works by having a background thread doing
periodic polling of the website, and updating the sensors when new
data is found.
This requires rather more setup than most platforms, as you need
working selenium. Instructions will be provided on the component
list. All the sensors are spawned and coordinated from a single "hub"
as they are really just attributes of the same web scraping session.
* mychevy: only poll every 30 minutes
* mychevy: update sensors
* mychevy: better error handling
* mychevy: tweaking for refactor
* mychevy: bump version to handle odometer > 1000
* mychevy: great sensor reorg
* mychevy: add binary sensors
* mychevy: bump mychevy requirement
* mychevy: use dispatcher
Instead of directly modifying the sensors, this lets us use a
dispatcher to have sensors pull information from the car object when
there is a relevant update for them.
* mychevy: remove from coverage
* mychevy: dedicated constants for dispatch signals
This makes the dispatch signals dedicated topics, and fixes updating
the state on the sensors so that they are correctly updated.
* mychevy: updated with comments from martinhjelmare
* mychevy: set battery icon based with helper function
* Address additional review feedback
* Address additional review comments
* Deprecate explicit entity_id in template platforms
* Use config validator for deprecation
* Fix copy/paste typos
* Also print the config value
* Add test for config validator
* Assert the module name that logged the message
* Switch the ZoneMinder event sensor over to use the consoleEvents API, and add monitored_conditions for 'hour', 'day', 'week', 'month' and 'all'. 'all' is enabled by default to provide backward compatibility with the old behaviour.
* - Switch to new string formatting
- Remove redundant validator
* De-lint
* Extended sensor alpha_vantage
* Improved error handling if symbol is not found. Now we add the symbols that were found,
* Added option to give names and currencies to symbols.
* Added support to read foreign exchange information.
* Icons are selected based on the currency (where MDI has a matching icon)
* added missing line at the end of the file...
* renamed variable as required by pylint
* Fix typos, ordering, and style
* Issue #11432: Do not stop initializing KNX when tunelling device cant be reached
* Issue #11432: Mark devices as unavailable if gateway cant be connected
* Added Daikin climate component
* Fixed tox & hound
* Place up the REQUIREMENTS var
* Update .coveragerc
* Removed unused customization
* Prevent setting invalid operation state
* Fixed hound
* Small refactor according to code review
* Fixed latest code review comments
* Used host instead of ip_address
* No real change
* No real change
* Fixed lint errors
* More pylint fixes
* Shush Hound
* Applied suggested changes for temperature & humidity settings
* Fixed hound
* Fixed upper case texts
* Fixed hound
* Fixed hound
* Fixed hound
* Removed humidity since even the device has the feature it cant be set from API
* Code review requested changes
* Fixed hound
* Fixed hound
* Trigger update after adding device
* Added Daikin sensors
* Fixed hound
* Fixed hound
* Fixed travis
* Fixed hound
* Fixed hound
* Fixed travis
* Fixed coverage decrease issue
* Do less API calls and fixed Travis failures
* Distributed code from platform to climate and sensor componenets
* Rename sensor state to device_attribute
* Fixed hound
* Updated requirements
* Simplified code
* Implemented requested changes
* Forgot one change
* Don't allow customizing temperature unit and take it from hass (FOR NOW)
* Additional code review changes applied
* Condensed import even more
* Simplify condition check
* Reordered imports
* Disabled autodiscovery FOR NOW :(
* Give more suggestive names to sensors
* 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
* Base implementation of component, no sensors yet
* Added senor files
* First fully working chain of sensors and binary sensors going from hardware in to hass
* Clean up
* Clean up
* Added light platform
* Turning lights on and off and set brightness now works
* Pydeconz is now a proper pypi package
Stop sessions when Home Assistant is shutting down
Use a simpler websocket client
* Updated pydocstrings
Followed recommendations from pylint and flake8
* Clean up
* Updated requirements_all.txt
* Updated Codeowners to include deconz.py
Also re-added the Axis component since it had gotten removed
* Bump requirement
* Bumped to v2
Reran script/gen_requirements
* Removed global DECONZ since it wasn't relevant any more
* Username and password is only relevant in the context of getting a API key
* Add support for additional sensors
* Added support for groups
* Moved import of component library to inside of methods
* Moved the need for device id to library
* Bump pydeconz to v5
* Add support for colored lights
* Pylint and flake8 import improvements
* DATA_DECONZ TO DECONZ_DATA
* Add support for transition time
* Add support for flash
* Bump to v7
* ZHASwitch devices will now only generate events by default, instead of being a sensor entity
* Clean up
* Add battery sensor when device signals through an event
* Third-party library communicates with service
* Add support for effect colorloop
* Bump to pydeconz v8
* Same domain everywhere
* Clean up
* Updated requirements_all
* Generated API key will now be stored in a config file
* Change battery sensor to register to callback since library now supports multiple callbacks
Move DeconzEvent to hub
Bump to v9
* Improve entity attributes
* Change end of battery name to battery level
No need for static icon variable when using battery level helper
* Bump requirement to v10
* Improve pydocstring for DeconzEvent
Rename TYPE_AS_EVENT to CONF_TYPE_AS_EVENT
* Allow separate brightness to override RGB brightness
* Expose device.reachable in entity available property
* Bump requirement to 11 (it goes up to 11!)
* Pylint comment
* Binary sensors don't have unit of measurement
* Removed service to generate API key in favor of just generating it as a last resort of no API key is specified in configuration.yaml or deconz.conf
* Replace clear text to attribute definitions
* Use more constants
* Bump requirements to v12
* Color temp requires xy color support
* Only ZHASwitch should be an event
* Bump requirements to v13
* Added effect_list property
* Add attribute to battery sensor to easy find event id
* Bump requirements to v14
* Fix hound comment
* Bumped requirements_all information to v14
* Add service to configure devices on deCONZ
* Add initial support for scenes
* Bump requirements to v15
* Fix review comments
* Python doc string improvement
* Improve setup and error handling during setup
* Changed how to evaluate light features
* Remove 'ghost' events by not triggering updates if the signal originates from a config event
Bump requirement to v17
* Fix pylint issue by moving scene ownership in to groups in requirement pydeconz
Bump requirement to v18
* Added configurator option to register to deCONZ when unlocking gateway through settings
Bump requirement to v20
* Improve async configurator
* No user interaction for deconz.conf
* No file management in event loop
* Improve readability of load platform
* Fewer entity attributes
* Use values() instead of items() for dicts where applicable
* Do one add devices per platform
* Clean up of unused attributes
* Make sure that discovery info is not None
* Only register configure service and shutdown service when deconz has been setup properly
* Move description
* Fix lines longer than 80
* Moved deconz services to a separate file and moved hub to deconz/__init__.py
* Remove option to configure switch as entity
* Moved DeconzEvent to sensor since it is only Switch buttonpress that will be sent as event
* Added support for automatic discovery of deconz
Thanks to Kroimon for adding support to netdisco
* Use markup for configuration description
* Fix coveragerc
* Remove deCONZ support from Hue component
* Improved docstrings and readability
* Remove unnecessary extra name for storing in hass.data, using domain instead
* Improve readability by renaming all async methods
Bump to v21 - improved async naming on methods
* Fix first line not being in imperative mood
* Added logo to configurator
Let deconz.conf be visible since it will be the main config for the component after initial setup
* Removed bridge_type from new unit tests as part of removing deconz support from hue component
* Capitalize first letters of Battery Level
* Properly update state of sensor as well as reachable and battery
Bump dependency to v22
* Fix flake8 Multi-line docstring closing quotes should be on a separate line
* Fix martinhjelmares comments
Bump dependency to v23
Use only HASS aiohttp session
Change when to use 'deconz' or domain or deconz data
Clean up unused logger defines
Remove unnecessary return values
Fix faulty references to component documentation
Move callback registration to after entity has been initialized by HASS
Less inception style on pydocs ;)
Simplify loading platforms by using a for loop
Added voluptous schema for service
Yaml file is for deconz only, no need to have the domain present
Remove domain constraint when creating event title
* add required files
* add sochain sensor
* add missing schema
* end first sentence with a period to make travis happy
* upgrade to python-sochain-api 0.0.2 and use asyncio
* add missing _LOGGER and fix long line
* move object setup to async_setup_platform
* rename chainSo variable to chainso