* Updgrae blinkpy to 0.10.0
- Remove status sensor (API endpoint unreliable for this)
- Wifi strength reports in wifi bars rather than dBm (result of new API
endpoint)
- Added unique ids based on serial number
* Update requirements
* Clean up leftover config schema option
* Allow import groups via new config yaml setup
* Fix and add test
* Add a test without groups for legacy import
* Change default import groups to False
* Fix I/O in test
Allows the Danfoss/Devolo RS Room Sensor thermostat to be discovered as climate device in homeassistant.
This device is defined as GENERIC_TYPE_MULTILEVEL_SENSOR, and not GENERIC_TYPE_THERMOSTAT.
Ref: https://community.home-assistant.io/t/devolo-zwave-thermostat/58739
* YesssSMS handling more errors, upgrade to version 0.2.1
- handling missing internet connection nicely
- disabling login with non-working credentials (website locked account for 1 hour)
- upgrade to new upstream version of YesssSMS
* notify.yessssms tests
* test requirements
* flake8 fix
* fixing tests, new upstream version 0.2.3
fixing tests based on requested changes, coverage
* removing unmotivated print
* passing exception to ConnectionError and SMSSendingError logger
* Pass headers to webhook handler
* Refactors webhook component to post Request object instead of data
* Update webhook tests
* Cleanup webhook test and fix a bug in ifttt
* Address code review comments
* Using new methods for blink camera
- Refactored blink platform (breaking change)
- Camera needs to be uniquely enabled in config from now on
- Added motion detection enable/disable to camera platform
* Fix motion detection
- bumped blinkpy to 0.8.1
- Added wifi strength sensor
* Added platform schema to sensor
- Added global variables for brand and attribution to main platform
* Removed blink binary sensor
* Add alarm control panel
* Fixed dependency, added alarm_home
* Update requirements
* Fix lint errors
* Updated throttle times
* Add trigger_camera service (replaced snap_picture)
* Add refresh after camera trigger
* Update blinkpy version
* Wait for valid camera response before returning image
- Motion detection now working!
* Updated for new blinkpy 0.9.0
* Add refresh control and other fixes for new blinkpy release
* Add save video service
* Pushing to force bot to update
* Changed based on first review
- Pass blink as BLINK_DATA instead of DOMAIN
- Remove alarm_arm_home from alarm_control_panel
- Re-add discovery with schema for sensors/binar_sensors
- Change motion_detected to a binary_sensor
- Added camera_armed binary sensor
- Update camera device_state_attributes rather than state_attributes
* Moved blink.py to own folder. Added service hints.
* Updated coveragerc to reflect previous change
* Register services with DOMAIN
- Change device add for loop order in binary_sensor
* Fix lint error
* services.async_register -> services.register
* Fixed file corruption bugs in private storage code.
* Restoring fixed test case.
* Implemented test suite for utils/json.py
* Added new unit test cases for util/json.py
* Dixed formatting nags
* Fixed more nags from the Hound
* Added doc strings to some very short functions
* Fixing lint's complains about my choice of parts of speach. Sigh.
* Moved atomic save operations down into util/json.py so that all benefit.
Added extra clean-up code to ensure that temporary files are removed in
case of errors.
Updated emulated_hue unit tests to avoid errors.
* Apparently 'e' is not allows as a variable name for an exception...
* Initial commit
* Sockets have been moved to separate component
* Sockets have been moved to separate component
* Fix const PLATFORM_SCHEMA
* Fix unique id
* Fix async_create_task
* Fix PLATFORM_SCHEMA
* Fix typo
* Remove pylint disable
* Google Maps supports battery level and charging.
With 3.0.2 locationsharinglib now the battery level and the charging attributes are available.
* Update google_maps.py
fix too long line error
* Update google_maps.py
Fix multi line import, and line length limit
* Update gen_requirements_all.py
Add locationsharinglib to gen_requirements_all
* update requirements_all
* Last try to fix requirements_all...
* Add zwave.network_complete_some_dead event
* add missing comma
* typo
* Add SIGNAL_AWAKE_NODES_QUERIED_SOME_DEAD Test
* Add blank lines
* fix linter warnings
Line too long
* remove trailing whitespace
* Change test signal
* Listen to other event
Add `unique_id` to all rachio entities
Add platform discovery to rachio component
Move config options from switch.rachio platform to the rachio component
* Add support for Honeywell evohome CH/DHW systems
More flake8 corrections
Passes Flake8 tests
Almost passed flake8.pylint!
Passed all tox tests
Now it needs serious testing!
Almost ready to submit
BUGFIX: DHW state now functional
More improvements to available()
Solved the DHW temp units problem!
Last minute bug squash
to improve dicts merge
Trying to rebase
fixing more rbase errors
revert to creating HTTP_error_code internally for now
ready to submit PR
Added support for Honeywell evohome CH/DHW systems
* Updated requirements_test_all.txt
* Fix: D401 First line should be in imperative mood
* Remove _LOGGER.info (replace with _LOGGER.debug)
* raise PlatformNotReady when RequestException during setup()
* Revert some LOGGER.debug to LOGGER.warning
* Improved logging levels, and removed some unwanted comments
* Improvments to logging - additional self._status info
* BUGFIX: DHW wrongly showing available = False (and some other tweaks)
* Fix trailing whitespace
* Remove state_attributes override and API_VER code
* Removed heating zones, DHW and heuristics to reduce # lines of code
* Removed some more lines of code
* Removed unused configuration parameters
* Remove some more un-needed lines
* Removed more (uneeded) lines of code & fixed two minor typos
* Improvements to debug logging of available() = False
* Improvements to code, and code clean-up
* Corrected a minor typo
* A small tidy up
* reduces precision of emulated temps floats to 0.1
* Some code improvements as suggested by JeardM
* Rewrite of exception handler
* Removed another unwanted logging in properties
* Remove async_ version of various methods
* moved available heuristics to update()
* Cleanup of code, and re-work linter hints
* fixed a minor documentation typo
* scan_interval is now no longer a configurable option
* Change from Master/Slave to Parent/Child
* Removed the last of the slaves
* Removed the last of the masters
* Move -PARALLEL_UPDATES to .\climate\evohome.py'
* main code moved to climate/evohome.py
* merge EvoEntity into EvoController class
* remove should_poll (for now)
* woops! left a hint in
* removed icon
* only log a WARNING the first time available = False
* cleanup dodgy exception handling
* Tidy up exception handling
* Many changes as suggested by @MartinHjelmare, thanks
* remove hass from init, part 1
* use async_added_to_hass instead of dispatcher_connect
* remove hass from init, part 2 (done)
* add 1-2 arrays, and tidied up some comments
* from dispatcher to async_added_to_hass
* cleaned up some logging, and removed others
* Many changes as request by @MartinHjelmare
* Homage to the lint
* Changed to the HA of doing operating_mode
* Now using update_before_add=True
* reduced logging further still...
* fixed minor lint
* fix a small logic error
* Add device_state_attributes to track actual operating mode
* Clean up doc quotes caused by previous changes
* Woops! removed some debug lines that shoudln't have stayed in
* Add a complete set of device_state_attributes
* Cleanup some constants
* Remove more legacy code
* domain_data to evo_data & this else should be a finally
* minor change for readability
* Minor change for readability #2
* removed unused code
* small tidy up - no code changes
* fix minor lint
* Correct URLs & descriptions in docstring
* whoops - fixed a typo in docstrings
* remove an unused line of cide & a small tidy-up
* Add services for getting and setting indicator values for Z-Wave
* Add service to manually refresh Z-Wave node value by value_id
* Remove refresh_indicator service
* Coerce to int
* Add generic set_node_value service
* Remove set_indicator service
* Addded support for private storage.
Include 'private' flag parameters to the Store class and save_json function.
Updated various authentication and onboarding classes to use private stores.
Fixed unit test for emulated_hue which used a mock patch on save_json().
* Fixed Hound formatting issues not detected by local linting.
* Updates to GitLab Sensor
* Updates to GitLab_CI sensor.
* Added GitLab_CI sensor.
* Updated interval to a more appropriate 300 seconds.
* Added GitLab_CI.py to ommitted files.
* Initial refactor to use python-gitlab PyPI module.
* Fixes to dict parsing.
* Updated required packages for GitLab_CI requirements.
* Updates and refactoring to more closely align with Home-Assistant standards.
* Moved import to init, removed unreachable requests exception.
* Removed references to STATE_UNKNOWN and replaced with None
* Removed extra whitespace
* Changed PLATFORM_SCHEMA and renamed add_devices.
Changed PLATFORM_SCHEMA to use SCAN_INTERVAL and add_devices to add_entities
* Added configurable name, changed logger and removed cruft.
* Removed _status to use _state instead, as both held same value.
* Fixed ATTR_BUILD_BRANCH, removed more extraneous cruft.
* Changed required config keys to dict[key] format.
* Removed extraneous CONF_SCAN_INTERVAL as it's already defined.
* Use pyspcwebgw library.
* Support alarm triggering.
* Update requirements.
* Add pyspcwebgw to test reqs.
* Also update script.
* Use dispatcher.
* Address review feedback.
* Add configurable host for bbox routers
Add configurable host for bbox router running on non-default IP addresses.
* Fix unused import
Fix unused import which also resolves "line too long"
* Fix wrong import order
* Update validation
* Bump sucks (Ecovacs) lib to 0.9.3
Changed code that was in place as a workaround pre-0.9.2. This version bump fixes a few issues.
* Update requirements_all
* initial version of geojson platform
* unit tests for geo json platform added; smaller bugfixes and code cleanups
* fixing pylint issues
* moved all code accessing the external feed into separate library; refactored platform and tests to work with that new library
* fixing lint
* small refactorings
* Refactored units and icons for the Dyson sensors
* Adapted unit tests to the new device names and unit of measurements
* Use None as empty unit of measurement
* Unrelated overall improvements following code review
* Adapted tests to new constructors as per previous commit
* Make sure the sensors have their `hass` attribute set in the test environment
* create binary sensor even if initial update fails
* fixed broken test assertion
* fixed broken test assertion
* avoid fetching resource twice - manually in the setup_platform and then through add_devices
* raising PlatformNotReady instead of creating the sensor if the initial rest call fails; throttling the update to avoid fetching the same resource again immediately after setting up sensor
* rolled back throttling of the rest update call; can still avoid updating the binary sensor's rest resoure twice; fixed tests
* typo
* switch.zha: Schedule state update.
if turning switch On or Off operation was successful, then schedule
state update
* switch.zha: Update debug logging.
* Added Logi Circle platform, camera and sensor
* Integrated with Logo Circle API’s feature detection to exclude sensors not supported by device. Added services for recording livestream and taking a snapshot from the livestream.
* Migrated livestream snapshot and recording functionality out of home assistant components and into the logi circle API wrapper. Added services.yaml entries for logi services.
* Added new Logi sensor types, updated to latest version of `logi_circle` and tidy up in preparation for pull request.
- Renamed `logi_set_mode` to `logi_set_config`.
- Live stream recording and snapshot methods now respect whitelisted path configuration.
- Added `streaming_mode` and `speaker_volume` sensors.
- Moved model-specific turn on/off logic to `logi_circle` library.
* Renamed `logi` component domain to `logi_circle`.
* Updates based on PR feedback
* Added timeout of 15s to logi_circle initial setup requests (login and grabbing cameras).
* Added unique ID (uses MAC address for camera platform, MAC address + sensor type for sensor platform).
* Added battery level and battery charging attributes to camera.
* Removed static attributes from device_state_attributes.
* Replaced STATE_UNKNOWN with None, replaced ‘on’ & ‘off’ with STATE_ON and STATE_OFF.
* Removed redundant SCAN_INTERVAL in sensor, removed redundant hass param from async_setup_platform in camera and sensor.
* Style tweaks.
* Replaced `asyncio.wait_for` with `async_timeout` to be consistent with other components.
* Add met.no weather component
* requirements .coveragerx
* use lib
* style
* style
* renam function to _fetch_data
* Only update once per hour
* style
* Sensor values to be updated only when required (only after the train has crossed).
Looking at the documentation on https://transport.opendata.ch/docs.html, delay information is available only on stationboard, so no need to query often if there is no "real"time info.
* Bumping up version of python_opendata_transport to 0.1.4 in order to catch client errors like throttling rejection (HTTP 429)
* pleasing the hound
* bumping python_opendata_transport to 0.1.4
* De-run_forever()-ization
* Use asyncio.run (or our own implementation on Python <3.7)
* hass.start is only used by tests
* setup_and_run_hass() is now async
* Add "main" async hass.run method
* move SIGINT handling to helpers/signal.py
* add flag to .run to disable hass's signal handlers
* Teach async_start and async_stop to not step on each other
(more than necessary)
* shorten over-long lines
* restore missing "import asyncio"
* move run_asyncio to homeassistant.util.async_
* LOGGER: warn => warning
* Add "force" flag to async_stop
only useful for testing
* Add 'attrs==18.2.0' to requirements_all.txt
Required for keeping requirements_test_all.txt in sync, where it is in
turn required to prevent auto-downgrading "attrs" during "pip install"
* Fixes for mypy
* Fix "mock_signal" fixture
* Revert mistaken edit
* Flake8 fixes
* mypy fixes
* pylint fix
* Revert adding attrs== to requirements_test*.txt
solved by using "pip -c"
* Rename "run" to "async_run", as per calling conventions
* Initial commit for jewish calendar sensor
* Make check for logging errors into it's own function
* Can't use f-strings as we need to support python3.5
* Implement basic functionality: printing of date
* Update requirements_all.txt
* Allow user to specify date for sensor
* Add hdate to test requirements
* Update to match pull request
* Support date output in hebrew
* Limit languages to english and hebrew
* Add name back to sensor
* Change icon to be calendar-today
* Add multiple sensors
* Fix tests
* Make Hound happy, remove unused imported class
* hdate expects datetime.date not datetime.datetime
* Return sensor name
* Times should be returned as time object, not datetime
* Add myself to codeowners for jewish calendar component
* Return actual reading, not index
* Add more tests. Currently failing.
Will need to update hdate API and version before continuing.
* Fix weekly portion test
* Make all tests pass
* Make travis happy and add a test so it doesnt happen again
* Remove defaults in __init__ method
* Change sensor state variable to local variable in update() method
* Minor changes
* Add endpoint entity
* Fix lint error
* Add nwk address as device state attribute
* Change to ZhaDeviceEntity
* Show last_seen only if offline
* Remove obsolete _discover_endpoint_info()
* Add bunch of RouterData tests
* Avoid raising AttributeError from RouterData.__getitem__
* Use new style string formatting
* Use {key: value} instead of dict(key=value)
* Migrating out the zoneminder platform (and camera.zoneminder) to a new library
* Clean up the global variable ZM usage
* Modify camera.zoneminder to use the new Monitor class implementation
* Refactor camera.zoneminder after latest refactor in zm-py
* Implementing changes to switch.zoneminder to use zm-py native methods
* Complete migrating over sensor.zoneminder to the zm-py library
* Tweaking ZoneMinder components from code review
* Linting fixes for the zoneminder components
* Directly assign value when turning on/off in switch.zoneminder
* Changing z-wave brightness calculation to respect 0x01 and 0x02 byte
values
* adding additional line breaks to satisfy houndci
* - Update comment style for linter
- Add additional unit test to increase code coverage
* Update zwave.py
* Added support for multiple tag managers. Fixed typo for signal strength.
* Corrected broken merge.
* Fixed flake8/pylint error.
* Improved docstring.
* Allow only_cache parameter in zha.safe_read()
* Use cache_only for binary_sensor.zha initial update.
* Use cache_only for fan.zha initial update.
* Use cache_only for sensor.zha initial update.
* Use cache_only for switch.zha initial update.
* Use cache_only for light.zha initial update.
* Refactor cached only read in zha platform.
* Add zha.configure_reporting() method.
Binds a cluster and configures reporting for the specified attribute.
* git add homeassistant/components/binary_sensor/zha.py
* Refactor sensor.zha to use new 'configure_reporting() method.
* Zha configure reporting - switch (#1)
* use configure_reporting for zha switch
* lint fixes
* Rename variables/classes to properly reflect the content
* increasing python-websockets' version number so now it works with python 3.7
* required version for websockets increased to work with Python 3.7
* script/gen_requirements_all.py is done
* add 'default_conversations' parameter
* remove the empty message segment at the end of every message
* add 'HangoutsHelp' intent
* add hangouts/intents.py
* increasing python-websockets' version number so now it works with python 3.7
* required version for websockets increased to work with Python 3.7
* script/gen_requirements_all.py is done
* Update fan.zha platform.
switch from asyncio to async def()
catch DeliveryError exceptions
keep previous state, if reading 'fan_mode' attribute fails
* fan.zha: Use None for unknown state.
if we fail to read 'fan_mode' attribute, use None for state
* Allow create refresh_token with specific access_token_expiration
* Add token_type, client_name and client_icon
* Add unit test
* Add websocket API to create long-lived access token
* Allow URL use as client_id for long-lived access token
* Remove mutate_refresh_token method
* Use client name as id for long_lived_access_token type refresh token
* Minor change
* Do not allow duplicate client name
* Update docstring
* Remove unnecessary `list`
fixed get_camera_type as it was originally not consuming any input, was looping with all cameras and the first camera type was retutned, modified to call cameraType using provided camera name.
* Fix support for Hub version 1 (i.e. pre-2014 Hub model 2242)
* Bump insteonplm to 0.14.1
* Code review changes
* Clean up and better document set_default_port
* Simplify set_default_port based on code review
* Remove Callable type import
* Simplify port setup
* Use access_token and user provided token instead of api_password
* address comments by @awarecan
* new tests
* add extra checks and test
* lint
* add comment
* Allow create refresh_token with specific access_token_expiration
* Add token_type, client_name and client_icon
* Add unit test
* Add websocket API to create long-lived access token
* Allow URL use as client_id for long-lived access token
* Remove mutate_refresh_token method
* Use client name as id for long_lived_access_token type refresh token
* Minor change
* Do not allow duplicate client name
* Update docstring
* Remove unnecessary `list`
* Use access_token and user provided token instead of api_password
* address comments by @awarecan
* new tests
* add extra checks and test
* lint
* add comment
* Don't treat typing as an "in-between" module for import order
That was a < 3.5 era thing.
* Tighten scope of some pylint unused-import disables
To avoid isort moving a top level one around, undesirably broadening its
scope.
* Fix support for Hub version 1 (i.e. pre-2014 Hub model 2242)
* Bump insteonplm to 0.14.1
* Code review changes
* Clean up and better document set_default_port
* Simplify set_default_port based on code review
* Remove Callable type import
* Simplify port setup
fixed get_camera_type as it was originally not consuming any input, was looping with all cameras and the first camera type was retutned, modified to call cameraType using provided camera name.
* always export max_age/min_age
* downgrade errors of missing data
on start with empty recorder database these errors are logged multiple times:
ERROR (MainThread) [homeassistant.components.sensor.statistics] mean requires at least one data point
ERROR (MainThread) [homeassistant.components.sensor.statistics] variance requires at least two data points
downgrade them to debug as they are not meaningful to end users
* add change_rate attribute
this calculates the average change rate of all data points
* simplify count, reorder attribute calculation
* reorder initialization
* reorder attribute names
* don't use min/max for min_age/max_age
* add test case
* style
* style
* sort constants
* init variables with None
* add precision config setting
* round to precision
* test round
* Initial OpenTherm Gateway support.
* Fix coveragerc and requirements_all*.txt
Overall cleanup and polishing
* Make hound/flake/travis happy
* Basic improvements to comply with Home Assistant's style guidelines
Changed wording from "component" to more appropriate terms where necessary
Fixed small mistakes that snuck in during testing and/or due to my own ignorance ;)
* Fixed overwriting state property
* Fixed a bug with ROOM_SETPOINT_OVRD
Updated dependency pyotgw to latest version
* Remove unit_of_measurement from OpenThermGateway class
* Cleanup after previous commits
* Moved initialisation and configuration from async_setup_platform to async_added_to_hass
* Make travis happy
* Disable polling for this platform
Improve update flow
* Small improvements/optimisations
the two device_state_attributes don't return the current actual state (fan on/off, heat/cool), but rather the mode of the fan or thermostat (generally auto). As such this change makes the actual current state visible to the system, so you can do stuff when the fan turns on, for example. I suspect this is just a bug, but maybe it was intended NOT to be able to see the actual fan state?
* Add Smart Alarm Component
* Lint fixes
* Update coverage
* Update coverage with the correct file name
* PR Fixes. Update client version (to include timeouts). Cleaned up clien tcreation and improved authentication failure error. Added state map to replace nasty if blocks.
* PR Fixes. Update client version (to include timeouts). Cleaned up clien tcreation and improved authentication failure error. Added state map to replace nasty if blocks.
* Remove test file added in error.
* PR Fixes
* code not working
* did it all all at once
* removing debug stuff
* fixing lint issues
* fixing lint issues
* I am blind
* I felt small(80 by somthing) was to small, especily with lovelace
* fixing silly mistake
* this shouldnt be here
* made some changes
* corrrected client_id
* corrrected client_id
* less returns needed
* Fixing Small bugs and making stuff snake case
* Tweaking
* Added error handling for sense API timeouts
* Moved imports in function
* Moved imports to more appropriate function
* Change exception to custom package version
* Updated sense_energy library to 0.4.2
* fixed median was based on 1.5 minute interval, not 1 hour
* ignore median and set state from first value, when previous state was None
* update before add, removed unused 'retries' and 'ble_timeout', check if platform ready
* added missing blank line
* fixed too long line
* using modern python 3.5 features, changed comment to be less verbose
* continuation line fix
* removed DEFAULT_SCAN_INTERVAL in favor of existing SCAN_INTERVAL
* implement correct state for rflink cover
* Fix linting error
* invert logic as local testing pointed out it should be reversed
* add period at the end to satisfy the linter
* New service to load new devices from deCONZ without restarting HASS
* Do not use len to check if list is empty
* Add support for scenes to be updated as well
* Rework refresh devices method
* Fix test
* Test
* Ability to remove device
* Don't remove devices, instead remove config entry from device and entity registries
* Remove print
* Remove is not the same as unload
* Add tests
* Fix hound comment
* Add support for older Envoy models
* Stop requiring envoy model name in config
* Update to envoy_reader0.2
* Minor formatting fixes
* run script/gen_requirements_all.py
* Minor formatting fixes
* Change some strings to constants, use getattr to call function
The last_seen attribute was a datetime in the local timezone but with
no tzinfo (i.e., a "naive" datetime.) When state changes occurred it
would be printed incorrectly in homeassistant.log because
homeassistant.util.dt.as_local assumes any datetime without tzinfo is
UTC. Also most, if not all, datetime attributes are timezone aware in
UTC. So use homeassistant.util.dt.as_utc (which assumes a naive
datetime is local) to convert last_seen to a timezone aware datetime
in UTC.
A recent change caused an issue if a single static wemo device is offline and could not be reached, then the whole component would not initialize (and therefore all other wemo devices are not added).
A recent change caused an issue if a single static wemo device is offline and could not be reached, then the whole component would not initialize (and therefore all other wemo devices are not added).
* initial working version of a geo location component and georss platform
* ensure that custom attributes don't override built-in ones
* bugfixes and tests
* fixing tests because of introduction of new component using same fixture
* improving test cases
* removing potentially unavailable attribute from debug message output
* completing test suite
* cleaning up debug messages; sorting entries in group view by distance
* ability to define the desired state attribute and corresponding unit of measurement; sort devices in group by configured state; find centroid for map if event is defined by polygon; updated tests
* sort entries in group; code clean-ups
* fixing indentation
* added requirements of new component and platform
* fixed various lint issues
* fixed more lint issues
* introducing demo geo location platform; refactored geo location component and geo rss platform to fit
* removing geo rss events platform; added unit tests for geo location platform and demo platform
* reverting change in debug message for feedreader to avoid confusion with new geo location component
* updated requirements after removing georss platform
* removed unused imports
* fixing a lint issue and a test case
* simplifying component code; moving code into demo platform; fixing tests
* removed grouping from demo platform; small refactorings
* automating the entity id generation (the use of an entity namespace achieves the same thing)
* undoing changes made for the georss platform
* simplified test cases
* small tweaks to test case
* rounding all state attribute values
* fixing lint; removing distance from state attributes
* fixed test
* renamed add_devices to add_entities; tweaked test to gain more control over the timed update in the demo platform
* reusing utcnow variable instead of patched method
* fixed test by avoiding to make assumptions about order of list of entity ids
* adding test for the geo location event class
* Added support for Habitica
Second refactoring
Moved all config to component.
Sensors are autodiscovered.
Signed-off-by: delphi <cpp.create@gmail.com>
* Apply requested changes
Signed-off-by: delphi <cpp.create@gmail.com>
* Made event fire async. Made `sensors` config implicit and opt-out-style.
Signed-off-by: delphi <cpp.create@gmail.com>
* Removed unneeded check and await.
Signed-off-by: delphi <cpp.create@gmail.com>
* Moved into separate component package and added service.yaml
Signed-off-by: delphi <cpp.create@gmail.com>
* Fix coveralls
Signed-off-by: delphi <cpp.create@gmail.com>
* rewrite hangouts to use intents instead of commands
* small fixes
* remove configured_hangouts check and CONFIG_SCHEMA
* Lint
* add import from .config_flow
* rewrite hangouts to use intents instead of commands
* small fixes
* remove configured_hangouts check and CONFIG_SCHEMA
* Lint
* add import from .config_flow
* Add device_tracker.bluetooth_update service
Will immediately scan for Bluetooth devices outside of the interval timer. Allows for less frequent scanning, with scanning on demand via automation.
* remove excess whitespace per bot comments
* Refactored update_bluetooth to call new function update_bluetooth_once
* Change service name to bluetooth_tracker_update to reflect platform name
* Reformat for line length
* Linting fix, pydoc, first line should end with a period
* Fixed a method call, and removed some more unsused parameters
* Added precipitation type from API
Enables users to see type of precipitation.
Value returned from API is a string in swedish.
* Corrected tox verification errors
Correction of tox findings
* Missed in tox - fixed
* Hound witespace fix
* Updated comment to trigger travis rebuild
Travis tox failed due to problem with tox build process.
Correcting in a comment to trigger retry in travis..
* Try to retrigger travis/tox successful rebuild
* Cleaning
* Cleaning more
* Trafikverket rebuilt for library
Extended pytrafikverket with weather sensor collction
Changed behaviour of sensor component to use pytrafikverket.
Added more sensors.
User need to change config to use new version.
[] Documentation needs to be updated
* Cleaned up based on Martins input
Appreciate the feedback
* Added support for velbus temperature sensors
* Bumped the required version
* updated requirements_all.txt
* Auto review comments fixed
* Updated after comments
* Updated after comments
* Fix travis
* Fix travis
* Replace pbkdf2 with bcrypt
bcrypt isn't inherently better than pbkdf2, but everything "just works"
out of the box.
* the hash verification routine now only computes one hash per call
* a per-user salt is built into the hash as opposed to the current
global salt
* bcrypt.checkpw() is immune to timing attacks regardless of input
* hash strength is a function of real time benchmarks and a
"difficulty" level, meaning we won't have to ever update the iteration
count
* WIP: add hash upgrade mechanism
* WIP: clarify decode issue
* remove stale testing code
* Fix test
* Ensure incorrect legacy passwords fail
* Add better invalid legacy password test
* Lint
* Run tests in async scope
* Replace pbkdf2 with bcrypt
bcrypt isn't inherently better than pbkdf2, but everything "just works"
out of the box.
* the hash verification routine now only computes one hash per call
* a per-user salt is built into the hash as opposed to the current
global salt
* bcrypt.checkpw() is immune to timing attacks regardless of input
* hash strength is a function of real time benchmarks and a
"difficulty" level, meaning we won't have to ever update the iteration
count
* WIP: add hash upgrade mechanism
* WIP: clarify decode issue
* remove stale testing code
* Fix test
* Ensure incorrect legacy passwords fail
* Add better invalid legacy password test
* Lint
* Run tests in async scope
* Inconsistent entity_id when multiple sensors
I am submitting a change to fix a [bug](https://github.com/home-assistant/home-assistant/issues/16204) for when there are several sensors for the same hostname. For example I want to track my IPv4 and IPv6 address. It creates two entities that regularly switch ids based on the order they get initialized.
To fix this I comform to the way other componnents have addressed the issue by adding an optional `name` attribute.
* Line too long
* Removing trailing whitespace
* Allow device registry to optionally store config entries
* Connections and identifiers are now sets with tupels
* Make config entries mandatory
* Fix duplicate keys in test
* Rename device to device_info
* Entity platform should only create device entries if config_entry_id exists
* Fix Soundtouch tests
* Revert soundtouch to use self.device
* Fix baloobs comments
* Correct type in test
* Allow device registry to optionally store config entries
* Connections and identifiers are now sets with tupels
* Make config entries mandatory
* Fix duplicate keys in test
* Rename device to device_info
* Entity platform should only create device entries if config_entry_id exists
* Fix Soundtouch tests
* Revert soundtouch to use self.device
* Fix baloobs comments
* Correct type in test
* add a component for hangouts
* add a notify component for hangouts
* add an extra message as title
* add support to listen to all conversations hangouts has
* move hangouts to package and add parameter documentation
* update .coveragerc and requirements_all.txt
* makes linter happy again
* bugfix
* add conversations parameter to command words
* Move the resolution of conversation names to conversations in own a function
* typo
* rename group of exclusion form 'id' to 'id or name'
* refactoring and use config_flow
* makes linter happy again
* remove unused imports
* fix not working regex commands
* fix translations
* cleanup
* remove step_init
* remove logging entry
* clean up events
* move constant
* remove unsed import
* add new files to .converagerc
* isort imports
* add hangouts_utils to ignored packages
* upadte doc and format
* fix I/O not in executor jon
* rename SERVICE_UPDATE_USERS_AND_CONVERSATIONS to SERVICE_UPDATE
* move EVENT_HANGOUTS_{CONNECTED,DISCONNECTED} to dispatcher
* add config flow tests
* Update tox.ini
* Added backend support for JavaScript modules in custom panels.
* Fixed test_panel_custom.py
* Delete core.entity_registry
* Update panel_custom.py
* Corrected panel_custom.py with module_url.
* Rebase
* Missed elif
* Add vol.Exclusive module_url
* Correct vol.Exclusive usage
* Test for js module
* Corrected line continuation indentation
* Added webcomponent path to exclusive group
* Corrected line length
* Line break
* Test for conflicting url options
* Self -> hass fix
* Fix self -> hass again
* Use assert_setup_component
* Setup missing
* Correct test
* Fix again
* Fix
* Mising async
* Fix
* test real
* Test real
* Final
* check
* Final check
* safety
* Final commit and check
* Removed unused dependencies
* Test for multiple url options in config
* Adding noaa-tides changes to new branch.
* Fix typo in .coverageac
* Incorporate @MartinHjelmare and @fabaff changes.
* Disable pylint error and add error message for unavailable station.
* Two spaces before inline comments
* Increment py_noaa version to 0.3.0
* Updated requirements.py
* Minor changes
* First draft
* Generate device id
* No obscure registry
* Dont store config_entry_id in device
* Storage
* Small mistake on rebase
* Do storage more like entity registry
* Improve device identification
* Add tests
* Remove deconz device support from PR
* Fix hound comments, voff!
* Fix comments and clean up
* Fix proper indentation
* Fix pydoc issues
* Fix mochad component to not use self.device
* Fix mochad light platform to not use self.device
* Fix TankUtilitySensor to not use self.device
* Fix Soundtouch to not use self.device
* Fix Plex to not use self.device
* Fix Emby to not use self.device
* Fix Heatmiser to not use self.device
* Fix Wemo lights to not use self.device
* Fix Lifx to not use self.device
* Fix Radiotherm to not use self.device
* Fix Juicenet to not use self.device
* Fix Qwikswitch to not use self.device
* Fix Xiaomi miio to not use self.device
* Fix Nest to not use self.device
* Fix Tellduslive to not use self.device
* Fix Knx to not use self.device
* Clean up a small mistake in soundtouch
* Fix comment from Ballob
* Fix bad indentation
* Fix indentatin
* Lint
* Remove unused variable
* Lint
* Remove unit_of_measurement from climate base class.
* Updated google_assistant component and tests to use core temp units.
* Fixes
* Convert Alexa component to use core temp units for climate entities.
* Fix tests.
* Converted prometheus component.
* Remove unit_of_measurement from homekit thermostat tests.
* Small fix.
* Implement X10
* Add X10 after add_device_callback
* Ref device by id not hex and add x10OnOffSwitch name
* X10 services and add sensor device
* Correctly reference X10_HOUSECODE_SCHEMA
* Log adding of X10 devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct ref to X10 states vs devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct X10 config
* Debug x10 device additions
* Config x10 from bool to housecode char
* Pass PLM to X10 device create
* Remove PLM to call to add_x10_device
* Unconfuse x10 config and method names
* Correct spelling of x10_all_lights_off_housecode
* Bump insteonplm to 0.10.0 to support X10
* Add host to config options
* Add username and password to config for hub connectivity
* Add username and password to config for hub
* Convert port to int if host is defined
* Add KeypadLinc
* Update config schema to require either port or host
* Solidify Hub and PLM configuration to ensure proper settings
* Update hub schema
* Bump insteonplm version
* Fix pylint and flake issues
* Bump insteonplm to 0.12.1
* Merge insteon_plm and insteon_local to insteon
* Rename insteon_plm to insteon
* Bump insteonplm to 0.12.2
* Flake8 cleanup
* Update .coveragerc for insteon_plm, insteon_local and insteon changes
* Add persistent notification
* Fix reference to insteon_plm
* Fix indentation
* Shorten message and fix grammer
* Add comment to remove in release 0.90
* Hound fix
* Ecovacs Deebot vacuums
* All core features implemented
Getting fan speed and locating the vac are still unsupported until sucks adds support
* Move init queries to the added_to_hass method
* Adding support for subscribing to events from the sucks library
This support does not exist in sucks yet; this commit serves as a sort of TDD approach of what such support COULD look like.
* Add OverloadUT as ecovacs code owner
* Full support for Ecovacs vacuums (Deebot)
* Add requirements
* Linting fixes
* Make API Device ID random on each boot
* Fix unique ID
Never worked before, as it should have been looking for a key, not an attribute
* Fix random string generation to work in Python 3.5 (thanks, Travis!)
* Add new files to .coveragerc
* Code review changes
(Will require a sucks version bump in a coming commit; waiting for it to release)
* Bump sucks to 0.9.1 now that it has released
* Update requirements_all.txt as well
* Bump sucks version to fix lifespan value errors
* Revert to sucks 0.9.1 and include a fix for a bug in that release
Sucks is being slow to release currently, so doing this so we can get a version out the door.
* Switch state_attributes to device_state_attributes
* Fix 'Error setting up platform tplink' error when a scanner fails even if another scanner would succeed
* Try to fix tox errors
* Adjust code based on PR comments
* Handle missing mpd capabilities
It is possible to configure mpd without volume or playlist support.
Gracefully degrade when either of these features appears to be missing.
Resolves: #14459, #15927
* Use longer name for exception
* Only return support flags post-connection
* Small consistency fixes to mpd.py for review.
* Fix packages deletion in check_config script
* The config key for packages is not present if core config validation
failed. We need to do a safe dict deletion using dict.pop.
* Add check_config test for bad core config
* Always load users in auth store before use
* Use namedtuple instead of dict for user meta
* Ignore auth store tokens with invalid created_at
* Add type hints to homeassistant.auth
* Fix mysensors connection task blocking setup
* Schedule the connection task without having the core track the task
to avoid blocking setup.
* Cancel the connection task, if not cancelled already, when
home assistant stops.
* Use done instead of cancelled
* Fix mysensors connection task blocking setup
* Schedule the connection task without having the core track the task
to avoid blocking setup.
* Cancel the connection task, if not cancelled already, when
home assistant stops.
* Use done instead of cancelled
* Added error handling for sense API timeouts
* Moved imports in function
* Moved imports to more appropriate function
* Change exception to custom package version
* Added error handling for sense API timeouts
* Moved imports in function
* Moved imports to more appropriate function
* Change exception to custom package version
One of the features of the waterfurnace 0.7 is timingout out stuck
connections on the websocket (which tends to happen after 48 - 96
hours of operation). This requires the homeassistant component to
catch and reconnect under these circumstances. This has turned out to
be pretty robust in preventing stuck sockets over the last month.
* Add support for states
* Woof?
* Fixed some errors
* VacuumDevice -> StateVacuumDevice
* VacuumDevice -> StateVacuumDevice
* Added split of start and pause
* Add a sensor for netatmo public data
* A bit of cleanup before submitting pull request
* Add netatmo_public file to .coveragerc, as per pull request template instructions
* Fixes for tox complaining
* make calculations simpler, based on review feedback
* explicitly pass required_data parameter to netatmo API
* remove unnecessary spaces
* remove debug code
* code style fix
* Adding new feature to allow a wait template to run the remainer of the script on timeout
* Styling changes
* Fixing file permissions, adding test for new code
* changed variable name, refactored script to pass information into async_set_timeout
* Changing the default behaviour to continue to run the script after timeout
* add operation mode support for climate.EphEmber
* fix linting errors from py3.5
* remove STATE_ALL_DAY and cleanup some code based on review
* use explicit None return with get
* fix none return
* Add new public transport sensor for RMV (Rhein-Main area).
* Add required module.
* Fix naming problem.
* Add unit test.
* Update dependency version to 0.0.5.
* Add new requirements.
* Fix variable name.
* Fix issues pointed out in review.
* Remove unnecessary code.
* Fix linter error.
* Fix config value validation.
* Replace minutes as state by departure timestamp. (see ##14983)
* More work on the timestamp. (see ##14983)
* Revert timestamp work until #14983 gets merged.
* Simplify product validation.
* Remove redundant code.
* Address code change requests.
* Address more code change requests.
* Address even more code change requests.
* Simplify destination check.
* Fix linter problem.
* Bump dependency version to 0.0.7.
* Name variable more explicit.
* Only query once a minute.
* Update test case.
* Fix config validation.
* Remove unneeded import.
* Fix FlowManager.async_init handler type
It's not a Callable, but typically a key pointing to one in a dict.
* Mark pip_kwargs return type hint as Any-valued dict
install_package takes other than str args too.
* add pjlink media player component
* retrieve pjlink device name from projector if name isn't specified in configuration
* update .coveragerc
* fix style
* add missing docstrings
* address PR comments from @MartinHjelmare
* fix code style
* use snake case string for source names
* add missing period at the end of comment string
* rewrite method as function
* revert to use source name provided by projector
* Refactoring data_entry_flow and config_entry_flow
Move SOURCE_* to config_entries
Change data_entry_flow.FlowManager.async_init() source param default
to None
Change this first step_id as source or init if source is None
_BaseFlowManagerView pass in SOURCE_USER as default source
* First step of data entry flow decided by _async_create_flow() now
* Lint
* Change helpers.config_entry_flow.DiscoveryFlowHandler default step
* Change FlowManager.async_init source param to context dict param
* Create one tox env for code coverage report
pytest-cov generated report in project root folder, not tox env folder.
* Add cov tox env to travis
* Coveralls seems expecting all build jobs upload
* Only upload coverage after cov env success
* Fix bt_home_hub_5 device tracker
Updated BT Home Hub 5 device tracker component to get it working again. The old parsing method of the DNS table has been broken for a while causing the component to fail to get connected devices. A new parsing method has been implemened and fixes all previous issues.
* Moved part of code to a published PyPi library
* Fixed Violations
* Fixed bugs in device tracker
* Moved API Specific Code to PyPi Repository
* Updated to fit requested changes, removed test as it is no longer valid and updated requirement_all.txt
* Update to fit style requirements and remove redundant code
* Removed Unnecessary Comment
* Add media_player.dlna_dmr component
* PEP 492
* Move DIDL-template up
* Remove max_volume-override option
* Remove picky_device support
* Use DEFAULT_NAME
* Make supported_features static
* Remove unneeded argument
* Proper module-docstring
* Add http dependency
* Remove additional_configuration options, no longer used
* Change default name to 'DLNA Digital Media Renderer'
* Use python-didl-lite for DIDL-Lite-xml construction/parsing
* Handle NOT_IMPLEMENTED for UPnP state variables RelativeTimePosition and CurrentMediaDuration
* Use UPnP-UDN for unique_id
* Proper handling of upnp events
* Keeping flake8 happy
* Update requirements_all.txt
* Make UDN optional
* Ensure NotifyView is started, before using it
* Only subscribe to services we're interested in
* Don't update state_variables if value has not been changed + minor refactoring
* Improve play_media, follow flow of DLNA more closely
* Hopefully fix ClientOSError problems
* Flake8 fixes
* Keep pylint happy
* Catch errors and report gracefully
* Update async_upnp_client to 0.11.0
* Don't be so noisy
* Define/use constants for HTTP status codes
* Add discovery entry for dlna_dmr
* More robustness with regard to state variable not being set (yet)
* Keep privates hidden
* Handle NOT_IMPLEMENTED for CurrentTrackMetaData state variable
* Fixes in async_upnp_client + renew UPnP subscriptions regularly
* Not too eager
* Refactor duplicate code to _current_transport_actions and improve parsing of actions
* Support RC:1 to RC:3 and AVT:1 to AVT:3
* Moved DLNA-specifics to async_upnp_client.dlna.DmrDevice
* Use our own HTTP server to listen for events.
* More clear and explicit log message for easier troubleshooting
* Follow changes by hass, fixes traceback
* Fix not being able to do next
* Changes after review by @MartinHjelmare
* Linting
* Use homeassistant.util.get_local_ip
* Moved upnp event handling to async_upnp_client
* Keeping pylint happy
* Changes after review by @MartinHjelmare
* remove velbus fan and light platforms
these platforms should not be there since they can be created with template components based on switch platform
* use latest version of python-velbus which supports auto-discovery of modules
* fix linting errors
* fix linting errors
* fix linting errors
* address review comments from @MartinHjelmare
* update based on automatic feedback
* fix linting errors
* update dependency
* syntax corrections
* fix lint warning
* split out common functionality in VelbusEntity
use sync methods for loading platforms
support unique_ids so that entities are registred in entity registry
* fix linting errors
* fix linting errors
* fix linting errors
* integrate review comments (common functionality in VelbusEntity class)
* rename DOMAIN import to VELBUS_DOMAIN
* revert change created by requirements script
* regen
* Add Tahoma io:VerticalExteriorAwningIOComponent and io:HorizontalAwningIOComponent
* Fix position of horizontal awning cover
* Add timestamps for lock time
* Adjust open-close actions for horizontal awning cover
* Fix stop action for io:RollerShutterGenericIOComponent
* Remove redundant information
* Use get for dict lookup
* Change to newer pip package
The package Adafruit_Python_DHT==1.3.2 was broken and would not install, breaking DHT sensor support in Home assistant. It has since been fixed in Adafruit-DHT==1.3.3.
See: https://github.com/adafruit/Adafruit_Python_DHT/issues/99
* Update requirements_all.txt
New or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`.
* Comment out Adafruit-DHT
Adafruit_Python_DHT changed name to Adafruit-DHT, which still need pyx support breaking our CI, need to be comment out.
* Update requirements_all.txt
* Fix Min/Max Kelvin color temp attribute for Google
Max Kelvin is actually Min Mireds and vice-versa. K = 1000000 / mireds
* Update test_smart_home.py
* Update test_trait.py
* add enphase envoy component
* Add Enphase Envoy component for energy monitoring
* Fix formatting problems
* Fix formatting errors
* Fix formatting errors
* Fix formatting errors
* Change unit of measurement to W or Wh. Return sensor states as integers
* Fix formatting errors
* Fix formatting errors
* Fix formatting errors
* Move import json to update function
* Fix formatting. Add file to .coveragerc
* Add new component to requirements_all.txt
* Move API call to third party library on PyPi
* Refactor
* Run gen_requirements_all.py
* Minor refactor
* Fix indentation
* Fix indentation
* Fix Min/Max Kelvin color temp attribute for Google
Max Kelvin is actually Min Mireds and vice-versa. K = 1000000 / mireds
* Update test_smart_home.py
* Update test_trait.py
* Vacuum: Added support for STATES
* Added debug logging and corrected state order
* typo
* Fix travis error, STATE = STATE for readability
* status -> state
* Changed to Entity instead of ToogleEntity
* Updated some vacuums
* Revert changes
* Revert Changes
* added SUPPORT_STATE
* Woof?
* Implement on/off if STATE not supported
* Moved new state vaccum to Class StateVacuumDevice
* Error: I should go to bed
* Moved around methods for easier reading
* Added StateVacuumDevice demo vacuum
* Added tests for StateVacuumDevice demo vacuum
* Fix styling errors
* Refactored to BaseVaccum
* Vacuum will now go back to dock
* Class BaseVacuum is for internal use only
* return -> await
* return -> await
* Initial commit for deCONZ switch support
* Fix hound comment
* Fix martins comment; platforms shouldn't depend on another platform
* Fix existing tests
* New tests
* Clean up unnecessary methods
* Bump requirement to v43
* Added device state attributes to light
* exposing internal state and fixed onoff state
* fixed styling
* revert file mode changes
* removed self type hints
* better unit test and changed the way to return attributes
* made wolfie happy
* Added Altitude to opensky
* decided to take all metadata
* Final Tidy
* More formatting
* moving CONF_ALTITUDE to platform
* Moved CONF_ALTITUDE to platform
The OWM returns precipitation forecast values as they are submitted to their network. It can lead to values like `0.0025000000000004 mm` which does not make sense and messes up the display card. This PR rounds the value to 1 decimal place.
* Fixed NDMS for latest firmware.
Now using telnet instead of Web Interface
* Using external library for NDMS interactions
* updated requirements_all
* renamed `mac` to `device` back
* Using generators for name and attributes fetching
* kodi add unique id based on discovery
* initialize unique_id to None
* use netdisco-extracted mac_address
* use an uuid instead of mac for real uniqueness
* add missing docstring
* verify that there is no entity already for the given unique id
* whitespace fix
* Change to newer pip package
The package Adafruit_Python_DHT==1.3.2 was broken and would not install, breaking DHT sensor support in Home assistant. It has since been fixed in Adafruit-DHT==1.3.3.
See: https://github.com/adafruit/Adafruit_Python_DHT/issues/99
* Update requirements_all.txt
New or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`.
* Comment out Adafruit-DHT
Adafruit_Python_DHT changed name to Adafruit-DHT, which still need pyx support breaking our CI, need to be comment out.
* Update requirements_all.txt
* MVG Live sensor: add option to store multiple departures in attributes
* Fix lint error
* mvglive: take into account timeoffset in API call
* Prevent exception if departure list is empty
* Rename state_attributes -> device_state_attributes
* Add Genie Aladdin Connect cover component
* Fix lines being too long
* Fix issues found in review
* remove Unknown state, use None instead
* Fixed requirements_all
* Remember last brightness value and use it on turn_on()
* Pyfnip-0.2 now returns state reliably, no manual changes needed.
* Split too long line of code
* Updated pyfnip library version
* Add tests to command_line for json_attrs
* Add json_attrs to command_line
* Remove whitespace on blank line
* Stick to <80 row length
* Use collections.Mapping, not dict
* Rename *attrs to *attributes
* Remove extraneous + for string concat
* Test multiple keys
* Add test
Makes sure the sensor's attributes don't contain a value for a missing key,
even if we want that key.
* Test that unwanted keys are skipped
* Remove additional log line
* Update tests for log changes
* Fix ordering
* Add a component for Sisyphus Kinetic Art Tables
The [Sisyphus Kinetic Art Table](https://sisyphus-industries.com/) uses a
steel ball to draw intricate patterns in sand, thrown into sharp relief by a
ring of LED lights around the outside.
This component enables basic control of these tables through Home Assistant.
* Fix lints
* Docstrings, other lints
* More lints
* Yet more.
* Feedback
* Lint
* Missed one piece of feedback
* - Use async_added_to_hass in media player
- async_schedule_update_ha_state in listeners
- constants for supported features
- subscripting for required keys
- asyncio.wait
- update to sisyphus-control with passed-in session
* Update requirements
* lint
* Add context
* Add context to switch/light services
* Test set_state API
* Lint
* Fix tests
* Do not include context yet in comparison
* Do not pass in loop
* Fix Z-Wave tests
* Add websocket test without user
* Added support for FutureNow light platform and relay/dimmer units
* Pinned specific version for requirement
* Added support for FutureNow light platform and relay/dimmer units
* Added futurenow.py to .coveragerc.
* Minor fixes and enhancements as requested in the code review.
* Minor fixes and enhancements as requested in the code review.
* Use device_config's value directly as it's validated as boolean.
* Simplify state check.
* Fixed brightness update that was broken in previous commit.
* Add spider power plug component
* rounding down the numbers
* ability to throttle the API
* updated to the lastest api
* resolved an issue within the API
* add spider thermostats
* Added load_platform. Added operation dictionary. Minor improvements
* loop over spider components for load_platform
* added empty dict to load_platform. changed add_devices
* moved logic to the API
* fix requirements_all.txt
* minor code improvements
* Always return bytes from auth.providers.homeassistant.hash_password
Good for interface cleanliness, typing etc.
* Add some homeassistant auth provider type annotations
* Allow defining default turn-on values for lights in the profiles file.
* Mock out file operations in unit test.
* Fix unit test flakiness.
* Avoid unnecessary copy
* Add turn_on/off to camera
* Add turn_on/off supported features to camera.
Add turn_on/off service implementation to camera, add turn_on/off
supported features and services to Demo camera.
* Add camera supported_features tests
* Resolve code review comment
* Fix unit test
* Use async_add_executor_job
* Address review comment, change DemoCamera to local push
* Rewrite tests/components/camera/test_demo
* raise HTTPError instead return response
* Add API for protection commandclass
* Adjusting
* tests
* Spelling
* Missed flake8
* Period
* spelling
* Review changes
* removing additional .keys()
* period
* Move i/o out into executor pool
* Move i/o out into executor pool
* Forgot get method
* Do it right... I feel stupid
* Long lines
* Merging
* Suppress error between 00:00 and 01:00
Suppress an error that often occers between 00:00 and 01:00 CE(S)T during that time, probably because buienradar.nl is then updating its forcast for the next day. The API does not always work between these times (in the middle of the night).
* white space & import
* unnecessary brackets
Switches by default use the payload_on and payload_off configuration parameters to specify both the payload the switch should send for a state but also what will be returned for the current state - which isnt always the same
As a toggle switch might always send an ON or TOGGLE to toggle the switch, but still receive an ON or an OFF for the state topic - This change allows for splitting them apart
* fix aiohttp InvalidURL exception when fetching media player image
The first call for the HA proxy (`/api/media_player_proxy/media_player.kodi?token=...&cache=...`)
is receiving relative urls that are failing, this is a simple fix to precede the base_url when hostname is None.
* fix import location and sort stdlib imports
* light.tplink: initialize min & max mireds only once, avoid i/o outside update
* revert the index change
* fix indent, sorry for overwriting your fix, balloob
* light.tplink: initialize min & max mireds only once, avoid i/o outside update
* revert the index change
* fix indent, sorry for overwriting your fix, balloob
## Description:
More fixes flagged by pylint 2 that don't hurt to have before the actual pylint 2 upgrade (which I'll submit soon).
## Checklist:
- [ ] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
* Add event handler to capture binary sensor on messages
* Log event trigger
* Log event firing
* Capture platform correctly
* Fix test for platform eq binary_sensor
* Create sensor events
* Add light and battery sensors
* Bump insteonplm version to 0.11.6
* Fix naming of BUTTON_PRESSED_STATE_NAME
* Fix naming of fire event methods
* Add logging
* Add DOMAIN definition
* Get state name from plm.devices
* Remove stale reference to button ID
* Fix reference to state name
* Remove incorrect ref to self
* Log remote button pressed event
* Change mode to button_mode and fix values to array
* Rename CONF_MODE to CONF_BUTTON_MODE
* Log platform create with mode
* Properly assign button_mode to track mode
* Implement is_on
* Change mini-remotes to events only
* Remove button_mode config option
* Fix reference to _fire_button_on_off_event
* Bump insteon version to 0.11.7
* Flake8 clean up
* Flake8 cleanup
* Use % format in logging per pylint
* Code review updates
* Resolve conflict
* Lint
* Check if device supports lowBat and shows it only if battery is low
* Show empty battery icon if lowBat is true
* Default return None
* Sabotage attribute and icon if device has this feature
* Bug fix and cleanup
* Use dedicated function for security state
* Cleanup of sensor attributes and icons
* Empty
* Support latest tplink Archer D9 Firmware version / Device Scanner
* tplink integration on pypi package
* initialize the client only once
* remove unnecessary instance attributes
This fixes a bunch of bugs, including issues with concurrency in devices
that present multiple accessories, devices that insist on the TLV entries
being in the order that Apple use, and handling devices that send headers
and data in separate chunks. This should improve compatibility with
a whole bunch of HomeKit devices.
This fixes a bunch of bugs, including issues with concurrency in devices
that present multiple accessories, devices that insist on the TLV entries
being in the order that Apple use, and handling devices that send headers
and data in separate chunks. This should improve compatibility with
a whole bunch of HomeKit devices.
* delay setup of component
Copied the necessary lines of code from the google travel time component to fix the setup delay in waze travel time component. Previously it was only watching the homeassistant start event on the bus, but doing nothing with it.
* Update waze_travel_time.py
* Update waze_travel_time.py
* Update to next version with enum states
* Change to generic dimmer class
* Update of requirement files
* Update to hmip lib to v0.9.7
* Missing update of requirements files
* Cleanup of icon properties
* Fix ZWave RGBW lights not producing color without explicit white_value (#13930)
* simplify conditional in previous commit (#13930)
* ZwaveColorLight - only zero _white if white_value not specified in call (#13930)
## Description:
More typing improvements.
Switch to using `mypy.ini` for flexibility
Add `warn_return_any` check except in `homeassistant.util.yaml` that does typing hacks. Fix some type annotations as resulting from this check and ignore others were fixing is hard.
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
## Description:
Make typing checks more strict: add `--strict-optional` flag that forbids implicit None return type. This flag will become default in the next version of mypy (0.600)
Add `homeassistant/util/` to checked dirs.
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
* Add HomematicIP security zone
* Update access point tests
* Fix state if not armed and coments
* Add comment for the empty state_attributes
* Fix comment
* Fix spelling
There are some devices that speak HomeKit that we shouldn't expose. Some
bridges (such as the Hue) provide reduced functionality over HomeKit and
have a functional native API, so should be ignored. We also shouldn't
offer to configure the built-in Home Assistant HomeKit bridge.
* support for tuya platform
* support tuya platform
* lint fix
* change dependency
* add tuya platform support
* remove tuya platform except switch. fix code as required
* fix the code as review required
* fix as required
* fix a mistake
* Added a "last update" sensor that could be used by automations + cosmetic changes
* Improved the update logic of sensor data
The platform is now continuously adjusting the refresh interval
in order to synchronize with the expected next update from the
NetAtmo cloud. This significantly improves reaction time of
automations while keeping the refresh time to the recommended
value (10 minutes).
* Linting
* Incorporated the advanced Throttle class to support adaptive
throttling, as opposed to integrating it in the core framework.
Following code review, it was suggested to implement the
specialised Throttle class in this platform instead of making a
change in the general util package. Except that the required change
(about 4 LoC) is part of the only relevant piece of code of that
class, therefore this commit includes a full copy of the Throttle
class from homeassistant.util, plus the extra feature to support
adaptive throttling.
* Cosmetic changes on the introduced "last updated" sensor
* Alternate implementation for the adaptive throttling
Ensure the updates from the cloud are throttled and adapted to the
last update time provided by NetAtmo, without using the Throttle
decorator. Similar logic and similar usage of a lock to protect
the execution of the remote update.
* Linting
* Add Cloudflare DNS component
* Removed man
* Update .coveragerc
* Update cloudflare.py
* Update cloudflare.py
* Changed records to be required
* Fix typos, update order and other minor changes
* Add sound mode support
* continuation line indent
* indentation
* indentation
* Remove option to configure sound_mode_dict
* Sound mode support
- removed the sound_mode_raw propertie because it was not used, (still available through self._sound_mode_raw (as device attribute for automations and diagnostics)
* Detect sound mode support from device
Removed the config option to indicate if sound mode is supported.
Added detection if sound mode is supported from the receiver itself.
Pushed denonavr library to V.0.7.4
* Pushed denonavr to v.0.7.4
* Add python 3.7 to travis and tox
* Use pyyaml from github
* Don't version constraints
* Fix version tag
* Change to new pyyaml release
* Python 3.7 requires xenial
* Fix namespace detection
* Use correct RegEx type
* Update pexpect to 4.6
* Use correct validation for dictionaries
* Disable Py37 incompatible packages
* Upgrade all pexpect to 4.6
* Add explicit None as default param
* Add HomematicIP Cloud to config flow
* Inititial trial for config_flow
* Integrations text files
* Load and write config_flow and init homematicip_cloud
* Split into dedicated files
* Ceanup of text messages
* Working config_flow
* Move imports inside a function
* Enable laoding even no accesspoints are defined
* Revert unnecassary changes in CONFIG_SCHEMA
* Better error handling
* fix flask8
* Migration to async for token generation
* A few fixes
* Simplify config_flow
* Bump version to 9.6 with renamed package
* Requirements file
* First fixes after review
* Implement async_step_import
* Cleanup for Config Flow
* First tests for homematicip_cloud setup
* Remove config_flow tests
* Really remove all things
* Fix comment
* Update picture
* Add support for async_setup_entry to switch and climate platform
* Update path of the config_flow picture
* Refactoring for better tesability
* Further tests implemented
* Move 3th party lib inside function
* Fix lint
* Update requirments_test_all.txt file
* UPdate of requirments_test_all.txt did not work
* Furder cleanup in websocket connection
* Remove a test for the hap
* Revert "Remove a test for the hap"
This reverts commit 968d58cba1.
* First tests implemented for config_flow
* Fix lint
* Rework of client registration process
* Implemented tests for config_flow 100% coverage
* Cleanup
* Cleanup comments and code
* Try to fix import problem
* Add homematicip to the test env requirements
* Added support to HTTPS URLs on SynologyDSM
* Bumped python-synology to 0.1.1
* Makes lint happy
* Added attribution to Synology and fixed 3rd library version
* Fixed requirements_all.txt
* Makes SynologyDSM defaults to 5001 using SSL
* Added push camera
* add camera.push
* Address comments and add tests
* auff auff
* trip time made no sense
* travis lint
* Mock dependency
* hound
* long line
* long line
* better mocking
* remove blank image
* no more need to mock dependency
* remove import
* cleanup
* no longer needed
* unused constant
* address @pvizeli review
* add force_update
* Revert "add force_update"
This reverts commit e203785ea8.
* rename parameter
* expose climate current temperature in prometeus metrics
* import ATTR_CURRENT_TEMPERATURE from climate instead of const
* remove duplicated ATTR_CURRENT_TEMPERATURE from const
* fix ATTR_CURRENT_TEMPERATURE import
* Added support for Duke Energy smart meters
* Fixed hound
* Added function docstring
* Moved strings to constants, implemented unique_id, and cleaned up setup.
* Added doc string.
* Fixed review issues.
* Updated pydukenergy to 0.0.6 and set update interval to 2 hours
* Updated requirements_all
## Description:
This feature adds possibly of setting tilt_position in scene for covers.
**Related issue (if applicable):** fixes #<home-assistant issue number goes here>
**Pull request in [home-assistant.github.io](https://github.com/home-assistant/home-assistant.github.io) with documentation (if applicable):** home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>
## Example entry for `configuration.yaml` (if applicable):
```yaml
scene:
- name: Close Cover Tilt
entities:
cover.c_office_north:
tilt_position: 0
- name: Open Cover Tilt
entities:
cover.c_office_north:
tilt_position: 100
```
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated in [home-assistant.github.io](https://github.com/home-assistant/home-assistant.github.io)
If the code communicates with devices, web services, or third-party tools:
- [ ] New dependencies have been added to the `REQUIREMENTS` variable ([example][ex-requir]).
- [ ] New dependencies are only imported inside functions that use them ([example][ex-import]).
- [ ] New or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`.
- [ ] New files were added to `.coveragerc`.
If the code does not interact with devices:
- [ ] Tests have been added to verify that the new code works.
[ex-requir]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard.py#L14
[ex-import]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard.py#L54
## Description:
Switch to own packaged version of pylgnetcast
Request to make a pypi package didn't get any response: https://github.com/wokar/pylgnetcast/issues/1
**Related issue (if applicable):** #7069
* Force to use access_token if hass.auth.active
* Not allow Basic auth with api_password if hass.auth.active
* Block websocket api_password auth when hass.auth.active
* Add legacy_api_password auth provider
* lint
* lint
* Only create frontend client_id once
* Check user and client_id before create refresh token
* Lint
* Follow code review comment
* Minor clenaup
* Update doc string
* Only create frontend client_id once
* Check user and client_id before create refresh token
* Lint
* Follow code review comment
* Minor clenaup
* Update doc string
Previous commit d4f7dfa successfully fixed the bug in which lights
would not turn off if a transition was specified, however if 'bri' is not
present in the payload of the PUT request set to deCONZ, then any
'transitiontime' ends up being ignored. This commit addresses the
unintended side effect by reintroducing 'bri', resulting in the following
payload:
{ "on": false, "bri": 0, "transitiontime": ... }
* Force to use access_token if hass.auth.active
* Not allow Basic auth with api_password if hass.auth.active
* Block websocket api_password auth when hass.auth.active
* Add legacy_api_password auth provider
* lint
* lint
* Update nut.py
Added input.frequency and a number of output parameters.
* Update nut.py
Fixed formatting issues
Added "devices" fields
* Separated "device.description" line to two lines.
* Update nut.py
Removed device.* sensors
When light.turn_off is invoked with a transition, the following payload was
sent to deCONZ via PUT to /light/N/state:
{ "bri": 0, "transitiontime": transition }
However, on recent versions of deCONZ (latest is 2.05.31 at the time of
writing) this does not turn off the light, just sets it to minimum brightness
level (brightness is clamped to minimum level the light supports without
turning it off).
This commit makes the code send this payload instead:
{ "on": false, "transitiontime": transition }
This works as intended and the light does transition to the 'off' state.
This change was tested with Philips Hue colored lights, IKEA colored lights
and IKEA white spectrum lights: they were all able to be turned off
successfully with the new payload, and none of them could be turned off with
the old payload.
* Use new trusted_proxies setting for X-Forwarded-For whitelist
* Only use the last IP in the header
Per Wikipedia (https://en.wikipedia.org/wiki/X-Forwarded-For#Format):
> The last IP address is always the IP address that connects to the last proxy,
> which means it is the most reliable source of information.
* Add two additional tests
* Ignore nonsense header values instead of failing
* Address inconsistent behavior between different controllers.
Correct issue with comparison that was preventing white value slider from being shown.
* Add white mode for Flux LED
* Call _bulb.turnOn() after bulb properties have been set to prevent immediate on action
* Only use existing brightness if rgb is None to prevent unexpected recalculation of passed rgb values.
* Remove blank line
* Undo change so current brightness is used in all cases.
* Revert "Fix #14919. Should throw exception when camera stream closed by frontend (#15028)"
This reverts commit 508d0459a7.
* Revert "Fix pylintrc section order and option placements (#15120)"
This reverts commit dbae410cf4.
* Revert "Add storage helper and migrate config entries (#15045)"
This reverts commit ae51dc08bf.
* Revert "Add language to dark sky weather component (#15130)"
This reverts commit 672a3c7178.
* Add storage helper
* Migrate config entries to use the storage helper
* Make sure tests do not do I/O
* Lint
* Add versions to stored data
* Add more instance variables
* Make migrator load config if nothing to migrate
* Address comments
* Add discovery support to mqtt climate component.
* - Fix flake8 error (./homeassistant/components/climate/mqtt.py:130:1: D202 No blank lines allowed after function docstring)
- Fix test error (since climate component was expected not to work - changed it to "lock" component, which also does not have MQTT discovery support yet)
* Fix old assert statement to reflect new lock component usage
* Change invalid MQTT discovery component type from 'lock' to 'timer', since contrary to the documentation the lock component is properly supported when using MQTT discovery.
* Make configuration of invalid MQTT config component a single point of entry to prevent missing the assertion later in the code when changing.
* Add new testcases to cover not-yet-covered code paths in https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/climate/mqtt.py
* MQTT Alarm Control Panel: add retain option for publishing for cases where receiver is asleep
* MQTT Alarm Control Panel: add retain option for publishing for cases where receiver is asleep
* MQTT Alarm Control Panel: add retain option for publishing for cases where receiver is asleep
* Fix MQTT Light with RGB and Brightness
When an MQTT light is given an RGB and Brightness topic, the RGB
is scaled by the brightness *as well* as the brightness being set
This causes 255,0,0 at 50% brightness to be sent as 127,0,0 at 50%
brightness, which ends up as 63,0,0 after the RGB bulb has applied
its brightness scaling.
Fixes the same issue in mqtt, mqtt-json and mqtt-template.
Related Issue: #13725
* Add comment to mqtt_json as well
* Implement X10
* Add X10 after add_device_callback
* Ref device by id not hex and add x10OnOffSwitch name
* X10 services and add sensor device
* Correctly reference X10_HOUSECODE_SCHEMA
* Log adding of X10 devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct ref to X10 states vs devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct X10 config
* Debug x10 device additions
* Config x10 from bool to housecode char
* Pass PLM to X10 device create
* Remove PLM to call to add_x10_device
* Unconfuse x10 config and method names
* Correct spelling of x10_all_lights_off_housecode
* Bump insteonplm to 0.10.0 to support X10
* Fix MQTT Light with RGB and Brightness
When an MQTT light is given an RGB and Brightness topic, the RGB
is scaled by the brightness *as well* as the brightness being set
This causes 255,0,0 at 50% brightness to be sent as 127,0,0 at 50%
brightness, which ends up as 63,0,0 after the RGB bulb has applied
its brightness scaling.
Fixes the same issue in mqtt, mqtt-json and mqtt-template.
Related Issue: #13725
* Add comment to mqtt_json as well
* The monkeytype script takes an optional argument to specify a test
module or directory to run. Otherwise the whole test suite will run.
* Add monkeytype sqlite db to gitignore.
* Implement X10
* Add X10 after add_device_callback
* Ref device by id not hex and add x10OnOffSwitch name
* X10 services and add sensor device
* Correctly reference X10_HOUSECODE_SCHEMA
* Log adding of X10 devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct ref to X10 states vs devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct X10 config
* Debug x10 device additions
* Config x10 from bool to housecode char
* Pass PLM to X10 device create
* Remove PLM to call to add_x10_device
* Unconfuse x10 config and method names
* Correct spelling of x10_all_lights_off_housecode
* Bump insteonplm to 0.10.0 to support X10
* Update condition.py
Added code that writes to warning-log what entity causes a problem when 'value cannot be processed as a number', making troubleshooting easier.
* Make a one-line warning
* Show running apps as sources for Fire TV
* Fix unnecessary 'else' after 'return' (no-else-return)
* Remove 'pylint: disable=unused-argument'
* cleanup
* Improve volume support for Vizio Smartcast
* Vizio: avoid an error when 'self._device.get_current_volume()' returns 'None'
* Improve volume support for Vizio Smartcast
* Vizio: avoid an error when 'self._device.get_current_volume()' returns 'None'
* First line should end with a period
* Expose Wemo component availability to home assistant
* Do not add availability feature to dimmer - it works differently
* Brain fade, deleted completely the wrong thing.
Revert "Do not add availability feature to dimmer - it works differently"
This reverts commit f64e717981.
* (2nd attempt) Do not add availability feature to dimmer - it works differently
Current version only supports latitude and longitude or an address for the origin and destination fields. This update allows those fields to use entity IDs of device_tracker, zone, and sensor.
* Added support for Xiaofang Camera
* Added entry for Xiaofang 1080p camera
* Code fix
* Minor comment fix
* Updated coveragerc for Xiaomi cameras
* Added Xiaomi Camera
Added Xiaomi Camera to accommodate multiple models like Yi, Xiaofang, etc.
* Minor code fix
* Minor code fix
* Added model property
* Update xiaomi.py
* Minor code fix
* Update xiaomi.py
* Update xiaomi.py
* Minor code fix
* Package requirement fix due to Version conflict
* To fix conflicts
* Update package_constraints.txt
* Minor fix
* Update xiaomi.py
* Update xiaomi.py
Changes made per comment
* Update xiaomi.py
* Don't update on add.
* Add Calendar API endpoint to get events
* Set default event color
* Fix PR comments
* Fix PR comments
* Fix PR comments
* Remote local.py file
* Use iso 8601
* Fix lint
* Fix PR comments
* Fix PR comments
* Add Support for todoist and demo calendar
* Todoist events are allday events
* Add calendar demo api endpoint test
* Register only one api endpoint for calendar
* Rename demo calendar
By default simulated sensors are relative to when they're activated,
instead we make this togglable with this new option 'relative_to_epoch',
and instead they become relative to 1970-01-01 00:00:00.
* first blood for ZhongHong HVAC Controller
* add requirements
* requirements_all.txt updated
* add zhong_hong.py to coveragerc
* add comments
* unique_id add platform name
* zhong_hong_hvac version bump to 1.0.1
* improve some coding style to match the project standard
* zhong_hong_hvac version bump to 1.0.4
* zhong_hong_hvac version require 1.0.7
* update requirements by script/gen_requirements_all.py
* zhong_hong_hvac version bump to 1.0.8
* fix startup problem
* remove unused import
* zhong_hong_hvac version bump to 1.0.9
- operation_mode: cold -> cool
* start hub listen event when all climate entities is ready
* use dispatcher to setup hub
* var name change
SIGNAL_DEVICE_SETTED_UP -> SIGNAL_DEVICE_ADDED
* async problem fix
* bugfix: set_operation_mode forget to use upper case
* stringify the exception instead of print full stack of traceback
* avoid to call str(exception) explicity
* remove unnecessary try...except clause
* remove unused import
* wink: Update to python-wink 1.8.0
This pulls in a patch to expose the GE Z-Wave in wall fan switch
as a fan component instead of a light dimmer switch component.
* Update requirements_all.txt
* Epson projector support. Version based on external library
* Epson projector support. Version based on external library
* modified epson according to MartinHjelmare review.
Added description of cmode to services.yaml
* renamed EPSON_SCHEMA to epson_schema
* removed method of getting cmode property
* removed unnecessary checks
change name of cmode service
* renamed SERVICE_ATTR_CMODE to SERVICE_SELECT_CMODE
Current uuid is ok when using only 1 snapserver
New uuid is needed when using multiple snapserver
Because the client can connect to more snapservers and
then uuid based on client MAC is not enough
* initial commit for kiwi door locks
bugfixes
improved attribute display
flake8
more style adjustments
* added session handling
flake8
* added requirements_all
reordered imports and flake8
attempt to pelase a very picky linter
also pleasing pylint now :)
* re-try the build
* added kiwi.py to .coveragerc
* reorganized datetime handling and attribute naming
* created pypi package for door lock library
* updated requirements_all.txt
* code review changes
* added async lock state reset for locking state
* refactored lat/lon attribute updates
* initial locked state changed from undefined to locked
* refactored is_locked property check
* handling authentication exception in setup_platform
* added more check in setup_platform
* code review changes: return type in setup_platform
* fixed logging issue
* event handling in main thread
* updated kiwiki-client to version 0.1.1
* renamed alias e to exc
* start arlo refactoring
* Refactored Arlo Hub to avoid uncessary and duplicated GETs to Arlo API
* Refactored Arlo camera component to avoid duplicate queries
* Added debug and error messages when video is not found
* Transformed Arlo Control Panel to Sync
* Makes linter happy
* Uses total_seconds() for scan_interval
* Added callback and fixed scan_interval issue
* Disable multiple tries and supported custom modes set in Arlo
* Bump PyArlo version to 0.1.4
* Makes lint happy
* Removed ArloHub object and added some tweaks
* Fixed hub_refresh method
* Makes lint happy
* Ajusted async syntax and added callbacks decorators
* Bump PyArlo version to 0.1.6 to include some enhacements
* Refined code
* Update mqtt_eventstream.py
Remove a line setting an internal state mqtt_eventstream.initialized to True since:
1. No other platform is doing this
2. This will create an annoying entity/item in the user interface which the user will have to explicitly hide
* Update mqtt_eventstream.py
* added new platform for the Unitymedia Horizon HD Recorder
* improve connection handling of the horizon platform
* remove unneeded parameters and fix spelling in the horizon platform
* abort or raise exception if connection to the device could not be established
* remove channel/source list and SELECT_SOURCE feature
* remove useless type check after cast and use a try block instead
* abort or raise exception if reconnect to device fails
* remove protocol specific code and restructure sending logic accordingly
* fix indentation to be pep8 complaint
* remove unused methods/properties
* fix unnecessary pylint commands and use a return to abert outside of setup_platform
* directly access config values
* Added Uptime Robot sensor
* added newline at the end and corrected doclink
* Added changes form @cdce8p
* Convert to binary_sensor
* updated requirements
* moved to correct dir
* Update uptimerobot.py
Unique id for client is generated from prefix 'snapcast_client_'
and MAC address
Unique id for group is generated from prefix 'snapcast_group_'
and UUID provided by snapcast library
When Samsung TV is idle for a period of time after issued a command,
subsequent 'turn_off' command won't turn off the TV. The issue is seen
in Samsung models with websocket as discussed in #12302.
== Reproducible Steps
1. Turn on TV (either via HA or directly).
2. Issue some commands e.g. volume ups / downs.
3. Wait for ~1 minute.
4. Issue turn_off command via HA. TV won't turn off.
5. Issue subsequent turn off commands won't turn off TV still.
6. However, issue some other commands e.g. volume ups / downs multiple
times in a row and then turn_off will turn off the TV.
== Root Cause
The underlying websocket connection opened by samsungctl get closed
after some idle time. There was no retry mechanism so issued commands
would intermittently fail but the subsequent one would succeed when
`_remote` get recreated. With `turn_off()`, however, there is an
additional call to `self.get_remote().close()` which indirectly caused
new connection to be created and then closed immediately. This causes the
component to stuck in failure mode when turn_off command is repeatly
issued.
== The Fix
Recreate the connection and retry the command if connection is closed
to avoid silent failures due to connection closed. Also set `_remote`
to None after calling close() to put it in correct state.
This fix eliminates intermittent command failure and failure mode in
turn_off().
* fixed tests: using correct camera configuration now and error handling tests must be separated out to ensure that the setup_component call is actually executed
* better error handling during setup; raising PlatformNotReady in likely recoverable cases; added tests
* Hass configuration name is optional
* Check explicitly if name is none
* Reverted back to old logic for zones configured in configuration.yaml, where many zones can have the same name
* New test to verify use case of allowing multiple zones having the same name
* Fix too long line
* reviewing this code min_temp and max_temp are always present and always in celsius
* revert change (preserve unit conversion)
* revert (due to unit conversion)
* self
* clean
* cleaner
* Hass configuration name is optional
* Check explicitly if name is none
* Reverted back to old logic for zones configured in configuration.yaml, where many zones can have the same name
* New test to verify use case of allowing multiple zones having the same name
* Fix too long line
* Add set_default_service to logger
* Fix 2-line lint error
* Add set_default_level to services.yaml
* Add tests for set_default_level
* Remove function and add else when setting default
Right now, "Hub Status" is very generic, I didn't know what component it was coming from, and the only way to tell was searching the source code to find the reference.
* Initial version of wirelesstags platform support.
* Pinned wirelesstagpy, generated requirements_all.
* Fixed temperature units in imperial units systems, make binary events more tags specific.
* Lowercased tag name during entity_id generation.
* Fixed: tag_id template for tag_binary_events, support of light sensor for homebridge.
* Minor style cleanup.
* Removed state, define_name, icon. Reworked async arm/disarm update. Removed static attrs. Introduced available property. Custom events contains components name now. Cleaned dedundant items from schema definition.
* Removed comment and beep duration from attributes. Minor cleanup of documentation comment.
* Ignoring Wemo switches linked in iOS app.
* Reworked passing data from platform to components using signals.
This commit adds a new history component for the IBM Watson IoT
Platform. The IBM Watson IoT Platform allows for tracking of devices
and analytics on top of the device data. This new component allows
users to have home assistant automatically populate a watson iot
platform board with device data from devices managed by home assistant.
* Media player: general sound mode support
* General sound mode support
* White spaces
* Add sound mode support to demo media player
* white space
* remove unnessesary code
* Add a device tracker for Freebox routers
* Automatic setup of Freebox device tracker based on discovery
* Make the Freebox device tracker asynchronous
* initial commit
* lint
* update with pyipma
* Added test
* Added test
* lint
* missing dep
* address comments
* lint
* make sure list is iterable
* don't bother with list
* mock dependency
* no need to add test requirements
* last correction
* Assign device class to nest sensors
sensor/nest.NestSensor => /nest.NestSensorDevice,
so that BinarySensor platform do not reference Sensor platform anymore
* Resolve code review comment
* Follow code review comment
* Version Requirement bump
Bump required version to 0.5 to allow component to work with Genie Mini clients using the clientAddr variable.
* Ran script/gen_requirements_all.py as requested.
* Change nest component to Cloud Push
Change sensors.nest, binary_sensors.nest and climate.nest to push mode
nest camera still need poll to update snapshot image
Also change nest component to async
* Flake8 lint
* Fix async_notify_errors, it is not a coroutine
* Fix pylint
* Fix pylint, function name should shall shorter than 32
* Use dispatcher helper instead event bus
* Use async_update_ha_state(True)
* Refactoring load_platform
Move service registration into async_setup_nest(),
resolve an issue that before the first time configuration done,
set_mode service should not be registered
* Fix an issue that authorization failure may leave a blocked thread
* Pylinting
* async_nest_update_callback => async_update_state to avoid confusion
* Move signal handler register to async_added_to_hass
* Better handle nest api error
* Remove unnecessary register for binary_sensor
* Remove unused import
* Upgrade to python-nest 4.0.1
Fix a thread race condition issue
* Address my own comments
* Address my own comment
* Add device_descriptor and device_name to keyboard event
This allows automations to identify which device has generated the
keypress. This is especially useful for bluetooth remotes to control different
devices.
* Remove line breaks
* Fix
* Starting to add attributes
* All attributes added to programs
* Basic zone attributes in place
* Added advanced properties for zones
* We shouldn't calculate the MAC with every entity
* Small fixes
* Basic framework for push in play
* I THINK IT'S WORKING
* Some state cleanup
* Restart
* Restart part 2
* Added stub for service schema
* Update
* Added services
* Small service description update
* Lint
* Updated CODEOWNERS
* Moving to async methods
* Fixed coverage test
* Lint
* Removed unnecessary hass reference
* Lint
* Lint
* Round 1 of Owner-requested changes
* Round 2 of Owner-requested changes
* Round 3 of Owner-requested changes
* Round 4 (final for now) of Owner-requested changes
* Hound
* Updated package requirements
* Lint
* Collaborator-requested changes
* Collaborator-requested changes
* More small tweaks
* One more small tweak
* Bumping Travis and Coveralls
* Option to load or not to load clip sensors on start
* Full flow
* Fix config flow and add tests
* Fix attribute dark reporting properly
* Imported and properly configured deCONZ shouldn't need extra input to create config entry
* Add pin pad to alarm panel
* Add pin pad to alarm panel
* Update regex
* Update regex
* Update regex
* Add pin pad to alarm panel
* Add pin pad to alarm panel
* Add pin pad to alarm panel
* Add pin pad to alarm panel
* Fix typos
* Fix typos
* Fix typos
* Add pin pad to alarm panel
* Fix errors
The Envisalink binary sensor was logging events with a relative
timestamp that updated every time it polled, so even when nothing
new was happening, the event log would be full of meaningless
state changes. Modify the sensor code to use an absolute time
which stays stable when there isn't new activity.
* Added the Hydrawise component.
* Fixed lint errors.
* Multiple changes due to review comments addressed.
* Simplified boolean test. Passes pylint.
* Need hydrawiser package version 0.1.1.
* Added a docstring to the device_class method.
* Addressed all review comments from MartinHjelmare.
* Changed keys to single quote. Removed unnecessary duplicate method.
* Removed unused imports.
* Changed state to lowercase snakecase.
* Changes & fixes from review comments.
* Add support for climatic devices
* Update requirements_all
* Change icon to mdi:thermostat
* Update of homematicip-rest-api lib version
* Remove all mode or state relevant things - will come later
* Add current_operation again to see proper status
* Remove STATE_PERFORMANCE import
* Remove trailing whitespace
* Update requirements file
* Fix ISY leak sensors always showing UNKNOWN until a leak is detected
Added some logic that handles both moisture sensors and door/window sensors
* Handle edge case of leak sensor status update after ISY reboot
If a leak sensor is unknown, due to a recent reboot of the ISY, the status will get updated to dry upon the first heartbeat. This status update is the only way that a leak sensor's status changes without an accompanying Control event, so we need to watch for it.
* Fixes from overnight testing
State was checking the incorrect parameter, and wasn't calling schedule update
* Remove leftover debug log line
* Remove unnecessary pylint instruction
* Remove access of protected property
We can't cast _.status directly to a bool for some unknown reason (possibly with the VarEvents library), but casting to an int then bool does work.
* removed default value from required parameter; raising PlatformNotReady when connection to nut unavailable; output human-readable state name by default
* removed superfluous sensor name part; showing human-readable form and raw value of current status in more info dialog
* introduced a new virtual sensor type based on the raw status value but used to display a human-readable form of the status
* renamed method
* format string instead of concatenation
* revert the change to the device state attributes - only output the human-readable status without the raw value
* Added platform lw12wifi for Lagute LW-12 Wifi Lights
Supported features:
* RGB colors
* Variable brightness
* 29 effects
* Changing transitions speed for animated effects
* Added lw12wifi to the list of omitted files to test
* Added lw12 module as new requirement for lw12wifi platform
* Added configuration example docstring for platform lw12wifi
* Updating code according to review in PR:
* Removed unused imports: enum, socket.
* Unused and not imported feature SUPPORT_FLASH was removed.
* Unused import lw12 in setup_platform method removed.
* Fixed indention for valuptuous.
* Changed check if effect is None.
* Removed personal debug output.
* Blocking function are not async anymore.
* Further improvements to satisfy PR.
* Unused import asyncio removed.
* Fixed: Return value and docstring no match up for `assumed_state`.
* Check if the set effect is supported, otherwise revert to normal light.
* Added describing missing docstrings to all functions.
* Adopted code to work with HS color setting.
* Syntactical change in comment.
* Removed redefinition of DOMAIN.
* Refactored lw12 controller setup: removed requirement for host and port in LW12Wifi class.
* Rewritten supported feature setup to a more static expression.
* Removed unused rgb_color property
* Fixed typo in comment for set_light_option
* Changed RGB option validation schema
* Removed instance properties as config options
* Removed optional settings to be more inline with code style.
* Removed unused option from config example
* Removal of unused import
* Added property to disable state polling for this entity.
* Raise an exception if an unknown effect was selected.
* Fixed an issue with the check for known effects.
* As we do not need to set a default, use simple accessing by key.
* Log if an unknown effect was selected.
* Added link to future documentation.
* Fix ISY leak sensors always showing UNKNOWN until a leak is detected
Added some logic that handles both moisture sensors and door/window sensors
* Handle edge case of leak sensor status update after ISY reboot
If a leak sensor is unknown, due to a recent reboot of the ISY, the status will get updated to dry upon the first heartbeat. This status update is the only way that a leak sensor's status changes without an accompanying Control event, so we need to watch for it.
* Fixes from overnight testing
State was checking the incorrect parameter, and wasn't calling schedule update
* Remove leftover debug log line
* Remove unnecessary pylint instruction
* Remove access of protected property
We can't cast _.status directly to a bool for some unknown reason (possibly with the VarEvents library), but casting to an int then bool does work.
* Wait for future mysensors gateway ready
* Add an asyncio future that is done when the gateway reports the
gateway ready message, I_GATEWAY_READY.
* This will make sure that the gateway is ready before home assistant
fires the home assistant start event. Automations can now send
messages to the gateway when home assistant is started.
* Use async timeout to wait max 15 seconds for ready gateway.
* Address comments
* Wait for future mysensors gateway ready
* Add an asyncio future that is done when the gateway reports the
gateway ready message, I_GATEWAY_READY.
* This will make sure that the gateway is ready before home assistant
fires the home assistant start event. Automations can now send
messages to the gateway when home assistant is started.
* Use async timeout to wait max 15 seconds for ready gateway.
* Address comments
After 2 months of being offline, the my.chevy website seems to be
working again. Some data structures changed in the mean time. The new
library will handle multiple cars. This involves a breaking change in
slug urls for devices where these now include the car make, model, and
year in them.
Discovery has to be delayed until after the initial site login to get
the car metadata.
Sensors that were defined via sensor_string were not getting properly identified as binary sensors when they had a uom defining them as binary (the other three methods of detecting binary sensors worked though.)
* Add Homematic IP RotaryHandleSensor support
HmIP-SRH was in the RotaryHandleSensor class and threw errors that LOWBAT and ERROR could not be found (they are LOW_BAT and SABOTAGE).
* Revert REQUIREMENTS change
* Simplify conditionals.
* Send white_value on service call.
* Remove extra blank line
* Further simplification of conditionals
* Requested changes
* Do not call getRgb if not needed
* Update log message
* make device_discovered synchronous
* small fixes from code review
* use dispatcher to update sensor state
* update switch state based on response from the device
* interpolate entity_id into dispatcher signal
* cleanup lint
* change coroutine to callback
* Added option to invert aREST pin switch logic for active low relays
* Fixed line lengths
* Changed naming and set optional invert default value.
* Fixed line length
* Removed default from get
The Universal media player inherits the states of the first child player that is not in some sort of "Off" state (including idle.) It was not considering the "unavailable" state to be off. Now it does.
* moved regular updates definition to own method to be able to override behaviour in subclass
* moved filter by max entries to own method to be able to override behaviour in subclass
* event type used when firing events to the bus now based on variable to be able to override behaviour in subclass
* feed id introduced instead of url for storing meta-data about the feed to be able to fetch the same feed from different configs with different filtering rules applied
* keep the status of the last update; continue processing the entries retrieved even if a recoverable error was detected while fetching the feed
* added test cases for feedreader component
* better explanation around breaking change
* fixing lint issues and hound violations
* fixing lint issue
* using assert_called_once_with instead of assert_called_once to make it compatible with python 3.5
* add familyhub.py camera
* fix import and REQUIREMENTS
* add to coveragerc
* fix formatting to make houndci-bot happy
* ran scripts/gen_requirements_all.py
* use CONF_IP_ADDRESS
* Revert "ran scripts/gen_requirements_all.py"
This reverts commit 3a38681d8a.
* fix library name
* add missing docstrings and enable polling
* Sort imports
zigpy now allows custom devices, which might mean that devices have cluster
objects which are not instances of the default, but may be instances of
sub-classes of the default. This fixes the check for finding single-cluster
device entities to handle sub-classes properly.
* Add priority and cycles to LaMetric
Priority can be "info", "warning" (default), or "critical" and
cycles is the number of times the message is displayed. If cycles
is set to 0 we get a persistent notification that has to be dismissed
manually.
* Fix for schema and style
* Fix for style
This commit bumps the pycmus version used by the cmus component. There
was a bug in the previous version used, 1.0.0, when running in local
mode. This was caused by a mtreinish/pycmus#1 and also was reported in
the home-assistant forums (but not as an issue):
https://community.home-assistant.io/t/cant-install-cmus-component/7961
Version 0.1.1 of pycmus fixes this issue so it should work properly for
users running cmus and home-assistant on the same machine.
* Make mysensors component async
* Use async dispatcher and discovery.
* Run I/O in executor.
* Make mysensors actuator methods async.
* Upgrade pymysensors to 0.13.0.
* Use async serial gateway.
* Use async TCP gateway.
* Use async mqtt gateway.
* Start gateway before hass start event
* Make sure gateway is started after discovery of persistent devices
and after corresponding platforms have been loaded.
* Don't wait to start gateway until after hass start.
* Bump pymysensors to 0.14.0
* Implement support for away mode and hold mode in Venstar component
* Fix Venstar humidifier capability detection
* Add option to configure humidifier control in Venstar component
* style fix: add missing space and resolve pylint issues
* Remove quotes
* Waze Travel Time: optional inclusive/exclusive filters
Added optional `inc_filter` and `excl_filter' params that allow to refine the reported routes: the first is not always the best/desired. A simple case-insensitive filtering (no regular expression) is used.
* fix line lenght
* fix spaces
* Rename var
* Fix typo
* Fix missing var
* Starting to add attributes
* All attributes added to programs
* Basic zone attributes in place
* Added advanced properties for zones
* Working to move common logic into component + dispatcher
* We shouldn't calculate the MAC with every entity
* Small fixes
* Small adjustments
* Owner-requested changes
* Restart
* Restart part 2
* Added ID attribute to each switch
* Collaborator-requested changes
* Improving icloud device tracker
* Adding config validations for new values
* Adding config validations for new values
* Moving icloud specific setup to platform schema. Setting default in platform schema.
* When zwave node's info is parsed remove it and re-add back.
* Delay value entity if not ready
* If node is ready consider it parsed even if manufacturer/product are missing.
* Add annotations
* Gogogate2 - bump version
Uses latest version of library which ensures commands to device are idempotent
* Update requirements_all
* Expose sensor temperature
* update version
* import attribute
* Set temperature
* Remove temperature attribute
Removed temperature attribute until it can be re-implemented as a separate sensor.
* Update ordering
* Fix copy-&-paste issue
* add 2 devices
io:RollerShutterUnoIOComponent
io:ExteriorVenetianBlindIOComponent
* add 2 devices
* Update tahoma.py
* Fix hounci-bot violation
* Fixed Travis CI build failure
./homeassistant/components/cover/tahoma.py:83:13: E125 continuation line with same indent as next logical line
* Fixed Travis CI build failure
E125 continuation line with same indent as next logical line
* Fixed Travis CI build failure
E127 continuation line over-indented for visual indent
* Fix indent
* Change check
* Add support for shutter contact and motion detector device
* Add support for power switch devices
* Add support for light switch device
* Cleanup binary_switch and light platform
* Update comment
I have a Hitron modem provided by Shaw communications rather than from Rogers as the Docs specify for this device_tracker but it seems like the api/code is all the same except that the login failed due to the password being passed as "pws" instead of "pwd". Making that one character change allowed HASS to read the connected device details from my Hitron modem. If this difference is actually one that stands between the Rogers-provided Hitron modems and the Shaw-provided variant, I am happy to create another device-tracker file for the Shaw modem. I just figured I would go with the simplest solution first.
* Setup all-linking service
* Remove extra line
* Remove linefeed and tab escape chars
* Add services delete_all_link, load_all_link_database and print_all_link_database
* Check if reload is set
* Confirm entity is InsteonPLMEntity before attempting to load or print ALDB
* Debug load and print ALDB
* Debug print aldb
* Debug print_aldb
* Get entity via platform
* Track Insteon entities in component
* Store entity list in hass.data
* Add entity to hass.data
* Add ref to hass in InsteonPLMEntity
* Pass hass correctly to InsteonPLMBinarySensor
* Fix reference to ALDBStatus.PARTIAL
* Print ALDB record as string
* Get ALDB record from memory address
* Reformat ALDB log output
* Add print_im_aldb service
* Remove reference to self in print_aldb_to_log
* Remove reference to self in print_aldb_to_log
* Fix spelling issue with load_all_link_database service
* Bump insteonplm to 0.9.1
* Changes from code review
* Code review changes
* Fix syntax error
* Correct reference to cv.boolean and update requirements
* Update requirements
* Fix flake8 errors
* Reload as boolean test
* Remove hass from entity init
* onkyo: add support for max volume range
* onkyo: make flake8 happy
* onkyo: fix PEP8 D205 on line 181
* onkyo: use range for max_volume configuration
* onkyo: fix line too long
* Add new device without restarting hass
* Remove debug prints
* Fix copy paste error
* Fix comments from balloob
Add tests to verify signalling with new added devices
* Fix hound comments
Add test to verify when new sensor is added
* Fix tests
* Unload entry should unsubscribe all deconz dispatchers
* Make sure mock setup also creates unsub in hass data
* Fix copy paste issue
* Lint
* Add first version of the Matrix bot
* It's a stupid but necessary change…
* Dont list it twice
* All hail the linter!
* More linter-pleasing
* Use the correct user ID
* Add expression commands
* Add tests for new validators
* Fix room alias handling
* Wording
* Defer setup
* Simplify commands
* Handle exceptions
* Update requirements
* Review
* Move login back to constructor
* Fix review comments
* Publish attributes unconditionally
Because the attribute publish command was previously hidden behind `if val:`, falsy values like False and 0.0 weren't being published, thereby making Statestream -- particularly in the case of booleans, where the first True would be retained indefinitely -- a completely worthless indicator of state.
* Change bool test to False to confirm falsy values pass
* Add unique_id to zwave node entity
* Wait 30s before adding zwave node if its unique_id is not ready
* Use only node_id in unique_id. Update name, manufacturer, and product attributes on node update.
* Add basic PostNL sensor (WIP)
* Update PostNL sensor
* Bump version
* Small updates to PostNL package based on feedback
* Remove unused import
* Pass api to sensor
* Refactor based on feedback
* Update based on feedback
* Fix feedback
* Clean up
* Bugfiix
* Bugfix
* SCAN_INTERVAL fix
* Remove unused import
* Refactor for new wrapper implementation
* Update postnl package requirement
* Change throttle logic
* Update package version
* Add new line
* Minor changes
* Change refresh time to 30 minutes
* Update requirements_all.txt
* Allow independent control of white level on flux_led component.
Also preserve brightness on color change.
* Limit white value support to RGBW mode.
* Requested changes.
* Correct liniting issues
* Formatting
* Converts RainMachine to hub model (part 2)
* Small style adjustments for consistency
* Moving MAC calculation to one-time call in component
* Removing unneeded attribute
* Bumping Travis
* Lint
* Force update continuous sensors when new measurement available.
* Added unique ID's based on coordinates, sensor type and client name.
* Fixed over-indentation (hound review)
* Revert "Added unique ID's based on coordinates, sensor type and client name."
This reverts commit 3345e67a15.
* Fix lint errors.
* Re-added unique ID's based on location.
* Removed wrong error logging.
* Removed creating UUID from unique id
* Lint
* allow to set a desired update interval for camera_proxy_stream view
* lint
* refactor into a seperate method.
Keep the handle_async_mjpeg_stream method to be overridden by platforms
so they can keep proxying the direct streams from the camera
* change descriptions
* consolidate
* lint
* travis
* async/await and force min stream interval for fallback stream.
* guard clause. Let the method raise error on interval.
* is is not =
* what to except when you're excepting
* raise ValueError, remove unnecessary 500 response
* Add more parameters for DSMR component
* Add suiting icon for power failure
* Add suiting icon for swells & sags
* Fix tab indentation -> spaces
* Fix too long lines (PEP8)
According to my observations, the "switch_energy" value displayed by Pyfritzhome is the sum of Wh over the last week since measurement.
As a result, the correct divisor for representing output as kWh would be 1000 instead of 10000.
* Add initial user foundation to Home Assistant
* Address comments
* Address comments
* Allow non-ascii passwords
* One more utf-8 hmac compare digest
* Add new line
- Instead of registering listeners in the entity __init__, do it in
async_added_to_hass to avoid errors updating an entity which isn't fully
set up yet
- Change from schedule_update_ha_state to async_schedule_update_ha_state
* Fix TypeError on round(self.humidity)
Some weather platforms postpone the first data fetch for a while on init. As a result round(self.humidity is called before it is assigned a value, producing an error. This is a fix for that.
* Rewrite to avoid false negative evaluation
As per the suggestion from @OttoWinter, rewrite to avoid matching e.g. 0.0 as false.
With Darksky allowing only 1000 API requests per day, 2 minutes retry seems to be bit closer to running over the limit and actually it did for 5 days in my account. Hence proposing a change to 5 minutes to keep the API happy and also it doesn't hurt to check the weather for every 5 mins than 2 mins someone lives in Jupiter :-P
* add initial precipitation support
* move attr to component
* remove blank line
* add forecast attributes to platform and update demo
* add tests
* break long lines
* calc lower temp correctly
* move all new attributes to component
* convert temp low only when existing
* Working but incomplete
* Remove events on unload
* Add unload test
* Fix failing sensor test
* Improve unload test
* Move DeconzEvent to init
* Fix visual under-indentation
* Update hue_api.py
add dummy group handler for logitech-pop
* Update __init__.py
add HueGroupView for logitech pop
* Update __init__.py
removed whitespace on blankline
* fix line limit and space
* fix indents
* fix more docstring and formatting issues.
* fix more whitespace issues
* Fix pylint issue
There's one particular QNAP model which sometimes return empty/null temperatures
for certain disks. This commit ensures that this model can be integrated with HASS
without causing KeyErrors or other exceptions - if this edge case is hit, the
sensor will simply show `0` instead.
Eufy device state isn't reported if the bulb is off, so avoid stamping on
the previous values if the bulb isn't going to give us useful information.
In addition, improve handling of bulb turn on if we aren't provided with a
brightness - this should avoid the bulb tending to end up with a brightness of
1 after power cycling.
Eufy device state isn't reported if the bulb is off, so avoid stamping on
the previous values if the bulb isn't going to give us useful information.
In addition, improve handling of bulb turn on if we aren't provided with a
brightness - this should avoid the bulb tending to end up with a brightness of
1 after power cycling.
* Initial commit
* Add error handling to config flow
Change unique identifyer to name
Clean up hound comments
* Ensure hass home zone is created with correct entity id
Fix failing tests
* Fix rest of tests
* Move zone tests to zone folder
Create config flow tests
* Add possibility to unload entry
* Use hass.data instead of globas
* Don't calculate configures zones every loop iteration
* No need to know about home zone during setup of entry
* Only use name as title
* Don't cache hass home zone
* Add new tests for setup and setup entry
* Break out functionality from init to zone.py
* Make hass home zone be created directly
* Make sure that config flow doesn't override hass home zone
* A newline was missing in const
* Configured zones shall not be imported
Removed config flow import functionality
Improved tests
* Recode to async version of homematicip-rest-api
* Remove blank line
* Cleanup of access point status class
* Fix to loong line
* Fix import errors
* Bugfix missing wait the _retry_task for sleep command
* Update comment
* Updates after review
* Small updates of logging and property name
* Fix DOMAIN and revert back to lowercase snakecase strings
* Fix intention and tripple double quotes
* Fix travis build
* Remove unnecessary state attributes
* Fix optional name in configuration
* Further reduction of state attributes
* Handle HomeKit configuration failure more cleanly
Add support for handling cases where HomeKit configuration fails, and give
the user more information about what to do.
* Don't consume the exception for a homekit.UnknownError
If we get an UnknownError then we should alert the user but also still
generate the backtrace so there's actually something for them to file in
a bug report.
* Use forward entry setup with light platform
* Move sensor to forward entry setup
* Use forward entry setup with binary sensors
* Use forward entry setup with scene platform
* Remove import of unused functionality
* Move deconz setup in to setup entry
Create initial negative tests for setup entry
* Fix hound comment
* Improved tests
* Add test for scene platform
* Add test for binary sensor platform
* Add test for light platform
* Add test for light platform
* Add test for sensor platform
* Fix hound comment
* More asserts on sensor types
* Handle HomeKit configuration failure more cleanly
Add support for handling cases where HomeKit configuration fails, and give
the user more information about what to do.
* Don't consume the exception for a homekit.UnknownError
If we get an UnknownError then we should alert the user but also still
generate the backtrace so there's actually something for them to file in
a bug report.
When an OpenWrt device monitored via ubus is offline, this causes the
log to be flooded with several exceptions. Avoid this by catching
requests.exceptions.ConnectionError in addition to
requests.exceptions.Timeout.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
The Lokalise server has a bug that the internal portion of key
references was misinterpreted as a symfony key, and was getting auto
converted by the convert placeholders feature. Since we don't use this
we're turning it off to work around the bug.
* Initial working config entry with discovery
* No need for else
* Make sure that imported config doesnt exist as a config entry
* Improve checks to make sure there is only instance of deconz
* Fix tests and add new tests
* Follow upstream changes
Fix case when discovery started ongoing config entry and user completes setup from other path it was possible to complete discovered config entry as well
* Add test to make sure link doesn't bypass any check for only allowing one config entry
* Dont use len to determine an empty sequence
* Cleanup
* Allways get bridgeid to use as unique identifier for bridge
* Fix colorlog on windows
Modified the way logging is initialized to fix two things.
1. If the import of `colorlog` fails the logs will still be formatted
using the expected HASS log format.
2. Ensure that `logging.basicConfig` is called AFTER `colorlog` is
imported so that the default handler generated will be writing to the
wrapped stream generated when `colorama` is initialized. This allows
colored logging to work on Windows.
Added support for a `--log-no-color` command line switch in the event
that someone just wants to disable colored log output entirely.
* Fix line lengths
* Switch default value
* implemented services for bmw remote services
* added vin to attributes of tracker
* moved component to new package
* added service description
* fixed static analysis warnings
* implemented first set of code reviews
* removed locking related services
* fixed static analysis warnings
* removed excess blank lines
* refactoring of setup() to resolve warning
"Cell variable bimmer defined in loop (cell-var-from-loop)"
* added missing docstring
* added service to update all vehicles from the server
* implemented changes requested in code review
* added check if invalid vin is entered
* Added web view for to get url
* Added web view for TTS to get url
* Added web view for TTS to get url
* Added web view for TTS to get url
* Fixed test
* added auth
* Update __init__.py
* Added ability to use FB messenger broadcast api. use 'BROADCAST' keyword for first target in the facebook notifiy component to enable.
* Added ability to use FB messenger broadcast api. use 'BROADCAST' keyword for first target in the facebook notifiy component to enable.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Update facebook.py
* Update facebook.py
* Update facebook.py
* Update facebook.py
* Added support for a new platform: climate.modbus
* Made changes based on code review.
* Made changes based on code review
* Made changes that were recommended in the pull request review.
* Fixed spacing line 144
* Added docstrings for the added helper functions.
* Fixed set_temperature() function to use a variable local to the function for the target temp.
* Fixed lint formatting error
* Modified logic when checking the target temperature, as well as fixing the setup_platform function
* 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
* Start of development
* Add extra attributes from unifi scanner
* Store IP of the device in the state attributes with nmap
* Allow not defining get_extra_attributes method in derived classes
* Fix up Eufy handling of colour lights
The Eufy colour lights have separate colour and temperature modes, and give
much less light output when in colour mode. Brightness is also handled in
a slightly confusing way, which means that state must be maintained in
order to avoid switching the light between modes by accident. Add some
additional handling for that.
* Bump the lakeside version
This version has important bugfixes for colour bulbs.
* Hound fixes
* 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
* Add support for controlling homekit lights and switches
This adds support for controlling lights and switches that expose a HomeKit
control interface, avoiding the requirement to implement protocol-specific
components.
* Comment out the homekit requirement
This needs to build native code, so leave it commented for now
* Review updates
* Make HomeKit auto-discovery optional
Add an "enable" argument to the discovery component and add a list of
optional devices types (currently just HomeKit) to discover
* Further review comments
* Update requirements_all.txt
* Fix houndci complaints
* Further review updates
* Final review fixup
* Lint fixups
* Fix discovery tests
* Further review updates
* Add support for Eufy bulbs and switches
Add support for driving bulbs and switches from the Eufy range.
* Fix hound checks
* Satisfy pylint
* Handle review comments
* Review updates and test fixes
* PyLint is a bit too aggressive
* Added feedback sound configuration
* Added feedback sound configuration
* Cleaned up feedback off
* Cleaned up whitespace
* Moved feedback pus to helper funx
* Async
* Used async_mock_service for tests
* Lint
* Support binary_sensor and device_tracker for HomeKit
* Add test for get_accessory and binary sensor
* Test service.display_name and char_detected.display_name
* Split test to improve speed
With AbodePy 0.12.3, dimmers will now work but a conversion of the brightness is required. Additionally, when a brightness value of 100 is sent to Abode, 99 is returned causing AbodePy to throw an error so this component will send 99 instead of 100.
Keeps the brightness value sent and returned from the device response consistent. However, during initialization and when a device refresh is received, Abode can return 100 thus we'll convert that case back to 99.
* 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 async timeout feature
* Decorator for setter methods to limit service calls to HA
* Changed to async
* Use async_call_later
* Use lastargs, async_add_job
* Use dict for lastargs
* Updated tests to stop patch
**Related issue (if applicable):** fixes #<home-assistant issue number goes here>
**Pull request in [home-assistant.github.io](https://github.com/home-assistant/home-assistant.github.io) with documentation (if applicable):** home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>
**Pull request in [home-assistant.io](https://github.com/home-assistant/home-assistant.io) with documentation (if applicable):** home-assistant/home-assistant.io#<home-assistant.io PR number goes here>
## Example entry for `configuration.yaml` (if applicable):
```yaml
@@ -15,12 +15,12 @@
- [ ] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated in [home-assistant.github.io](https://github.com/home-assistant/home-assistant.github.io)
- [ ] Documentation added/updated in [home-assistant.io](https://github.com/home-assistant/home-assistant.io)
If the code communicates with devices, web services, or third-party tools:
- [ ] New dependencies have been added to the `REQUIREMENTS` variable ([example][ex-requir]).
- [ ] New dependencies are only imported inside functions that use them ([example][ex-import]).
- [ ] New dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`.
- [ ] New or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`.
Everybody is invited and welcome to contribute to Home Assistant. There is a lot to do...if you are not a developer perhaps you would like to help with the documentation on [home-assistant.io](https://home-assistant.io/)? If you are a developer and have devices in your home which aren't working with Home Assistant yet, why not spent a couple of hours and help to integrate them?
Everybody is invited and welcome to contribute to Home Assistant. There is a lot to do...if you are not a developer perhaps you would like to help with the documentation on [home-assistant.io](https://home-assistant.io/)? If you are a developer and have devices in your home which aren't working with Home Assistant yet, why not spend a couple of hours and help to integrate them?
The process is straight-forward.
@@ -10,5 +10,5 @@ The process is straight-forward.
- Ensure tests work.
- Create a Pull Request against the [**dev**](https://github.com/home-assistant/home-assistant/tree/dev) branch of Home Assistant.
Still interested? Then you should take a peek at the [developer documentation](https://home-assistant.io/developers/) to get more details.
Still interested? Then you should take a peek at the [developer documentation](https://developers.home-assistant.io/) to get more details.
Home Assistant is a home automation platform running on Python 3. It is able to track and control all devices at home and offer a platform for automating control.
@@ -21,8 +21,8 @@ Featured integrations
|screenshot-components|
The system is built using a modular approach so support for other devices or actions can be implemented easily. See also the `section on architecture <https://home-assistant.io/developers/architecture/>`__ and the `section on creating your own
The system is built using a modular approach so support for other devices or actions can be implemented easily. See also the `section on architecture <https://developers.home-assistant.io/docs/en/architecture_index.html>`__ and the `section on creating your own
description:Returns message if API is up and running.
tags:
- Core
security:
- api_key:[]
responses:
200:
description:API is up and running
schema:
$ref:'#/definitions/Message'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/config:
get:
summary:API alive message
description:Returns the current configuration as JSON.
tags:
- Core
security:
- api_key:[]
responses:
200:
description:Current configuration
schema:
$ref:'#/definitions/ApiConfig'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/discovery_info:
get:
summary:Basic information about Home Assistant instance
tags:
- Core
responses:
200:
description:Basic information
schema:
$ref:'#/definitions/DiscoveryInfo'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/bootstrap:
get:
summary:Returns all data needed to bootstrap Home Assistant.
tags:
- Core
security:
- api_key:[]
responses:
200:
description:Bootstrap information
schema:
$ref:'#/definitions/BootstrapInfo'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/events:
get:
summary:Array of event objects.
description:Returns an array of event objects. Each event object contain event name and listener count.
tags:
- Events
security:
- api_key:[]
responses:
200:
description:Events
schema:
type:array
items:
$ref:'#/definitions/Event'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/services:
get:
summary:Array of service objects.
description:Returns an array of service objects. Each object contains the domain and which services it contains.
tags:
- Services
security:
- api_key:[]
responses:
200:
description:Services
schema:
type:array
items:
$ref:'#/definitions/Service'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/history:
get:
summary:Array of state changes in the past.
description:Returns an array of state changes in the past. Each object contains further detail for the entities.
tags:
- State
security:
- api_key:[]
responses:
200:
description:State changes
schema:
type:array
items:
$ref:'#/definitions/History'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/states:
get:
summary:Array of state objects.
description:|
Returns an array of state objects. Each state has the following attributes: entity_id, state, last_changed and attributes.
tags:
- State
security:
- api_key:[]
responses:
200:
description:States
schema:
type:array
items:
$ref:'#/definitions/State'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/states/{entity_id}:
get:
summary:Specific state object.
description:|
Returns a state object for specified entity_id.
tags:
- State
security:
- api_key:[]
parameters:
- name:entity_id
in:path
description:entity_id of the entity to query
required:true
type:string
responses:
200:
description:State
schema:
$ref:'#/definitions/State'
404:
description:Not found
schema:
$ref:'#/definitions/Message'
default:
description:Error
schema:
$ref:'#/definitions/Message'
post:
description:|
Updates or creates the current state of an entity.
tags:
- State
consumes:
- application/json
parameters:
- name:entity_id
in:path
description:entity_id to set the state of
required:true
type:string
- $ref:'#/parameters/State'
responses:
200:
description:State of existing entity was set
schema:
$ref:'#/definitions/State'
201:
description:State of new entity was set
schema:
$ref:'#/definitions/State'
headers:
location:
type:string
description:location of the new entity
default:
description:Error
schema:
$ref:'#/definitions/Message'
/error_log:
get:
summary:Error log
description:|
Retrieve all errors logged during the current session of Home Assistant as a plaintext response.
tags:
- Core
security:
- api_key:[]
produces:
- text/plain
responses:
200:
description:Plain text error log
default:
description:Error
schema:
$ref:'#/definitions/Message'
/camera_proxy/camera.{entity_id}:
get:
summary:Camera image.
description:|
Returns the data (image) from the specified camera entity_id.
tags:
- Camera
security:
- api_key:[]
produces:
- image/jpeg
parameters:
- name:entity_id
in:path
description:entity_id of the camera to query
required:true
type:string
responses:
200:
description:Camera image
schema:
type:file
default:
description:Error
schema:
$ref:'#/definitions/Message'
/events/{event_type}:
post:
description:|
Fires an event with event_type
tags:
- Events
security:
- api_key:[]
consumes:
- application/json
parameters:
- name:event_type
in:path
description:event_type to fire event with
required:true
type:string
- $ref:'#/parameters/EventData'
responses:
200:
description:Response message
schema:
$ref:'#/definitions/Message'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/services/{domain}/{service}:
post:
description:|
Calls a service within a specific domain. Will return when the service has been executed or 10 seconds has past, whichever comes first.
tags:
- Services
security:
- api_key:[]
consumes:
- application/json
parameters:
- name:domain
in:path
description:domain of the service
required:true
type:string
- name:service
in:path
description:service to call
required:true
type:string
- $ref:'#/parameters/ServiceData'
responses:
200:
description:List of states that have changed while the service was being executed. The result will include any changed states that changed while the service was being executed, even if their change was the result of something else happening in the system.
schema:
type:array
items:
$ref:'#/definitions/State'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/template:
post:
description:|
Render a Home Assistant template.
tags:
- Template
security:
- api_key:[]
consumes:
- application/json
produces:
- text/plain
parameters:
- $ref:'#/parameters/Template'
responses:
200:
description:Returns the rendered template in plain text.
schema:
type:string
default:
description:Error
schema:
$ref:'#/definitions/Message'
/event_forwarding:
post:
description:|
Setup event forwarding to another Home Assistant instance.
tags:
- Core
security:
- api_key:[]
consumes:
- application/json
parameters:
- $ref:'#/parameters/EventForwarding'
responses:
200:
description:It will return a message if event forwarding was setup successful.
schema:
$ref:'#/definitions/Message'
default:
description:Error
schema:
$ref:'#/definitions/Message'
delete:
description:|
Cancel event forwarding to another Home Assistant instance.
tags:
- Core
consumes:
- application/json
parameters:
- $ref:'#/parameters/EventForwarding'
responses:
200:
description:It will return a message if event forwarding was cancelled successful.
schema:
$ref:'#/definitions/Message'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/stream:
get:
summary:Server-sent events
description:The server-sent events feature is a one-way channel from your Home Assistant server to a client which is acting as a consumer.
tags:
- Core
- Events
security:
- api_key:[]
produces:
- text/event-stream
parameters:
- name:restrict
in:query
description:comma-separated list of event_types to filter
required:false
type:string
responses:
default:
description:Stream of events
schema:
type:object
x-events:
state_changed:
type:object
properties:
entity_id:
type:string
old_state:
$ref:'#/definitions/State'
new_state:
$ref:'#/definitions/State'
definitions:
ApiConfig:
type:object
properties:
components:
type:array
description:List of component types
items:
type:string
description:Component type
latitude:
type:number
format:float
description:Latitude of Home Assistant server
longitude:
type:number
format:float
description:Longitude of Home Assistant server
location_name:
type:string
unit_system:
type:object
properties:
length:
type:string
mass:
type:string
temperature:
type:string
volume:
type:string
time_zone:
type:string
version:
type:string
DiscoveryInfo:
type:object
properties:
base_url:
type:string
location_name:
type:string
requires_api_password:
type:boolean
version:
type:string
BootstrapInfo:
type:object
properties:
config:
$ref:'#/definitions/ApiConfig'
events:
type:array
items:
$ref:'#/definitions/Event'
services:
type:array
items:
$ref:'#/definitions/Service'
states:
type:array
items:
$ref:'#/definitions/State'
Event:
type:object
properties:
event:
type:string
listener_count:
type:integer
Service:
type:object
properties:
domain:
type:string
services:
type:object
additionalProperties:
$ref:'#/definitions/DomainService'
DomainService:
type:object
properties:
description:
type:string
fields:
type:object
description:Object with service fields that can be called
"no_available_service":"No hi ha serveis de notificaci\u00f3 disponibles."
},
"error":{
"invalid_code":"Codi inv\u00e0lid, si us plau torni a provar-ho."
},
"step":{
"init":{
"description":"Seleccioneu un dels serveis de notificaci\u00f3:",
"title":"Configureu una contrasenya d'un sol \u00fas a trav\u00e9s del component de notificacions"
},
"setup":{
"description":"**notify.{notify_service}** ha enviat una contrasenya d'un sol \u00fas. Introdu\u00efu-la a continuaci\u00f3:",
"title":"Verifiqueu la configuraci\u00f3"
}
},
"title":"Contrasenya d'un sol \u00fas del servei de notificacions"
},
"totp":{
"error":{
"invalid_code":"Codi inv\u00e0lid, si us plau torni a provar-ho. Si obteniu aquest error repetidament, assegureu-vos que la data i hora de Home Assistant sigui correcta i precisa."
},
"step":{
"init":{
"description":"Per activar la verificaci\u00f3 en dos passos mitjan\u00e7ant contrasenyes d'un sol \u00fas basades en temps, escanegeu el codi QR amb la vostre aplicaci\u00f3 de verificaci\u00f3. Si no en teniu cap, us recomanem [Google Authenticator](https://support.google.com/accounts/answer/1066447) o b\u00e9 [Authy](https://authy.com/). \n\n {qr_code} \n \nDespr\u00e9s d'escanejar el codi QR, introdu\u00efu el codi de sis d\u00edgits proporcionat per l'aplicaci\u00f3. Si teniu problemes per escanejar el codi QR, feu una configuraci\u00f3 manual amb el codi **`{code}`**.",
"title":"Configureu la verificaci\u00f3 en dos passos utilitzant TOTP"
"invalid_code":"Ung\u00fcltiger Code, bitte versuche es erneut. Wenn du diesen Fehler regelm\u00e4\u00dfig erhalten, stelle sicher, dass die Uhr deines Home Assistant-Systems korrekt ist."
},
"step":{
"init":{
"description":"Um die Zwei-Faktor-Authentifizierung mit zeitbasierten Einmalpassw\u00f6rtern zu aktivieren, scanne den QR-Code mit Ihrer Authentifizierungs-App. Wenn du keine hast, empfehlen wir entweder [Google Authenticator] (https://support.google.com/accounts/answer/1066447) oder [Authy] (https://authy.com/). \n\n {qr_code} \n \nNachdem du den Code gescannt hast, gebe den sechsstelligen Code aus der App ein, um das Setup zu \u00fcberpr\u00fcfen. Wenn es Probleme beim Scannen des QR-Codes gibt, f\u00fchre ein manuelles Setup mit dem Code ** ` {code} ` ** durch.",
"title":"Richte die Zwei-Faktor-Authentifizierung mit TOTP ein"
"description":"Please select one of the notification services:",
"title":"Set up one-time password delivered by notify component"
},
"setup":{
"description":"A one-time password has been sent via **notify.{notify_service}**. Please enter it below:",
"title":"Verify setup"
}
},
"title":"Notify One-Time Password"
},
"totp":{
"error":{
"invalid_code":"Invalid code, please try again. If you get this error consistently, please make sure the clock of your Home Assistant system is accurate."
},
"step":{
"init":{
"description":"To activate two factor authentication using time-based one-time passwords, scan the QR code with your authentication app. If you don't have one, we recommend either [Google Authenticator](https://support.google.com/accounts/answer/1066447) or [Authy](https://authy.com/).\n\n{qr_code}\n\nAfter scanning the code, enter the six digit code from your app to verify the setup. If you have problems scanning the QR code, do a manual setup with code **`{code}`**.",
"title":"Set up two-factor authentication using TOTP"
"description":"Veuillez s\u00e9lectionner l'un des services de notification:",
"title":"Configurer un mot de passe \u00e0 usage unique d\u00e9livr\u00e9 par le composant notify"
},
"setup":{
"description":"Un mot de passe unique a \u00e9t\u00e9 envoy\u00e9 par **notify.{notify_service}**. Veuillez le saisir ci-dessous :",
"title":"V\u00e9rifier la configuration"
}
},
"title":"Notifier un mot de passe unique"
},
"totp":{
"error":{
"invalid_code":"Code invalide. Veuillez essayez \u00e0 nouveau. Si cette erreur persiste, assurez-vous que l'horloge de votre syst\u00e8me Home Assistant est correcte."
},
"step":{
"init":{
"description":"Pour activer l'authentification \u00e0 deux facteurs \u00e0 l'aide de mots de passe \u00e0 utilisation unique bas\u00e9s sur l'heure, num\u00e9risez le code QR avec votre application d'authentification. Si vous n'en avez pas, nous vous recommandons d'utiliser [Google Authenticator] (https://support.google.com/accounts/answer/1066447) ou [Authy] (https://authy.com/). \n\n {qr_code} \n \n Apr\u00e8s avoir num\u00e9ris\u00e9 le code, entrez le code \u00e0 six chiffres de votre application pour v\u00e9rifier la configuration. Si vous rencontrez des probl\u00e8mes lors de l\u2019analyse du code QR, effectuez une configuration manuelle avec le code ** ` {code} ` **.",
"title":"Configurer une authentification \u00e0 deux facteurs \u00e0 l'aide de TOTP"
}
},
"title":"TOTP (Mot de passe \u00e0 utilisation unique bas\u00e9 sur le temps)"
"invalid_code":"\u00c9rv\u00e9nytelen k\u00f3d, pr\u00f3b\u00e1ld \u00fajra. Ha ez a hiba folyamatosan el\u0151fordul, akkor gy\u0151z\u0151dj meg r\u00f3la, hogy a Home Assistant rendszered \u00f3r\u00e1ja pontosan j\u00e1r."
},
"step":{
"init":{
"description":"Ahhoz, hogy haszn\u00e1lhasd a k\u00e9tfaktoros hiteles\u00edt\u00e9st id\u0151alap\u00fa egyszeri jelszavakkal, szkenneld be a QR k\u00f3dot a hiteles\u00edt\u00e9si applik\u00e1ci\u00f3ddal. Ha m\u00e9g nincsen, akkor a [Google Hiteles\u00edt\u0151](https://support.google.com/accounts/answer/1066447)t vagy az [Authy](https://authy.com/)-t aj\u00e1nljuk.\n\n{qr_code}\n\nA k\u00f3d beolvas\u00e1sa ut\u00e1n add meg a hat sz\u00e1mjegy\u0171 k\u00f3dot az applik\u00e1ci\u00f3b\u00f3l a telep\u00edt\u00e9s ellen\u0151rz\u00e9s\u00e9hez. Ha probl\u00e9m\u00e1ba \u00fctk\u00f6z\u00f6l a QR k\u00f3d beolvas\u00e1s\u00e1n\u00e1l, akkor ind\u00edts egy k\u00e9zi be\u00e1ll\u00edt\u00e1st a **`{code}`** k\u00f3ddal.",
"invalid_code":"Kode salah, coba lagi. Jika Anda mendapatkan kesalahan ini secara konsisten, pastikan jam pada sistem Home Assistant anda akurat."
},
"step":{
"init":{
"description":"Untuk mengaktifkan otentikasi dua faktor menggunakan password satu kali berbasis waktu, pindai kode QR dengan aplikasi otentikasi Anda. Jika Anda tidak memilikinya, kami menyarankan [Google Authenticator] (https://support.google.com/accounts/answer/1066447) atau [Authy] (https://authy.com/). \n\n {qr_code} \n \n Setelah memindai kode, masukkan kode enam digit dari aplikasi Anda untuk memverifikasi pengaturan. Jika Anda mengalami masalah saat memindai kode QR, lakukan pengaturan manual dengan kode ** ` {code} ` **.",
"title":"Siapkan otentikasi dua faktor menggunakan TOTP"
"description":"Per attivare l'autenticazione a due fattori utilizzando password monouso basate sul tempo, eseguire la scansione del codice QR con l'app di autenticazione. Se non ne hai uno, ti consigliamo [Google Authenticator] (https://support.google.com/accounts/answer/1066447) o [Authy] (https://authy.com/). \n\n {qr_code} \n \n Dopo aver scansionato il codice, inserisci il codice a sei cifre dalla tua app per verificare la configurazione. Se riscontri problemi con la scansione del codice QR, esegui una configurazione manuale con codice ** ` {code} ` **.",
"title":"Imposta l'autenticazione a due fattori usando TOTP"
"invalid_code":"Ong\u00ebltege Code, prob\u00e9iert w.e.g. nach emol."
},
"step":{
"init":{
"description":"Wielt w.e.g. een Notifikatioun's D\u00e9ngscht aus:",
"title":"Eemolegt Passwuert ariichte wat vun engem Notifikatioun's Komponente versch\u00e9ckt g\u00ebtt"
},
"setup":{
"description":"Een eemolegt Passwuert ass vun **notify.{notify_service}** gesch\u00e9ckt ginn. Gitt et w.e.g hei \u00ebnnen dr\u00ebnner an:",
"title":"Astellungen iwwerpr\u00e9iwen"
}
},
"title":"Eemolegt Passwuert Notifikatioun"
},
"totp":{
"error":{
"invalid_code":"Ong\u00ebltege Login, prob\u00e9iert w.e.g. nach emol. Falls d\u00ebse Feeler Message \u00ebmmer er\u00ebm optr\u00ebtt dann iwwerpr\u00e9ift op d'Z\u00e4it vum Home Assistant System richteg ass."
},
"step":{
"init":{
"description":"Fir d'Zwee-Faktor-Authentifikatioun m\u00ebttels engem Z\u00e4it bas\u00e9ierten eemolege Passwuert z'aktiv\u00e9ieren, scannt de QR Code mat enger Authentifikatioun's App.\nFalls dir keng hutt, recommand\u00e9iere mir entweder [Google Authenticator](https://support.google.com/accounts/answer/1066447) oder [Authy](https://authy.com/).\n\n{qr_code}\n\nNodeems de Code gescannt ass, gitt de sechs stellege Code vun der App a fir d'Konfiguratioun z'iwwerpr\u00e9iwen. Am Fall vu Problemer fir de QR Code ze scannen, gitt de folgende Code **`{code}`** a fir ee manuelle Setup.",
"title":"Zwee Faktor Authentifikatioun mat TOTP konfigur\u00e9ieren"
"description":"Selecteer een van de meldingsdiensten:",
"title":"Stel een \u00e9\u00e9nmalig wachtwoord in dat wordt afgegeven door een meldingscomponent"
},
"setup":{
"description":"Een \u00e9\u00e9nmalig wachtwoord is verzonden via **notify. {notify_service}**. Voer het hieronder in:",
"title":"Controleer de instellingen"
}
},
"title":"Eenmalig wachtwoord melden"
},
"totp":{
"error":{
"invalid_code":"Ongeldige code, probeer het opnieuw. Als u deze fout blijft krijgen, controleer dan of de klok van uw Home Assistant systeem correct is ingesteld."
},
"step":{
"init":{
"description":"Voor het activeren van twee-factor-authenticatie via tijdgebonden eenmalige wachtwoorden: scan de QR code met uw authenticatie-app. Als u nog geen app heeft, adviseren we [Google Authenticator (https://support.google.com/accounts/answer/1066447) of [Authy](https://authy.com/).\n\n{qr_code}\n\nNa het scannen van de code voert u de zescijferige code uit uw app in om de instelling te controleren. Als u problemen heeft met het scannen van de QR-code, voert u een handmatige configuratie uit met code **`{code}`**.",
"title":"Configureer twee-factor-authenticatie via TOTP"
"invalid_code":"Ugyldig kode, pr\u00f8v igjen. Dersom du heile tida f\u00e5r denne feilen, m\u00e5 du s\u00f8rge for at klokka p\u00e5 Home Assistant-systemet ditt er n\u00f8yaktig."
},
"step":{
"init":{
"description":"For \u00e5 aktivere tofaktorautentisering ved hjelp av tidsbaserte eingangspassord, skann QR-koden med autentiseringsappen din. Dersom du ikkje har ein, vil vi r\u00e5de deg til \u00e5 bruke anten [Google Authenticator] (https://support.google.com/accounts/answer/1066447) eller [Authy] (https://authy.com/). \n\n {qr_code} \n \nN\u00e5r du har skanna koda, skriv du inn den sekssifra koda fr\u00e5 appen din for \u00e5 stadfeste oppsettet. Dersom du har problemer med \u00e5 skanne QR-koda, gjer du eit manuelt oppsett med kode ** ` {code} ` **.",
"title":"Konfigurer to-faktor-autentisering ved hjelp av TOTP"
"description":"Vennligst velg en av varslingstjenestene:",
"title":"Sett opp engangspassord levert av varsel komponent"
},
"setup":{
"description":"Et engangspassord har blitt sendt via **notify.{notify_service}**. Vennligst skriv det inn nedenfor:",
"title":"Bekreft oppsettet"
}
},
"title":"Varsle engangspassord"
},
"totp":{
"error":{
"invalid_code":"Ugyldig kode, pr\u00f8v igjen. Hvis du f\u00e5r denne feilen konsekvent, m\u00e5 du s\u00f8rge for at klokken p\u00e5 Home Assistant systemet er riktig."
},
"step":{
"init":{
"description":"For \u00e5 aktivere tofaktorautentisering ved hjelp av tidsbaserte engangspassord, skann QR-koden med autentiseringsappen din. Hvis du ikke har en, kan vi anbefale enten [Google Authenticator](https://support.google.com/accounts/answer/1066447) eller [Authy](https://authy.com/). \n\n {qr_code} \n \nEtter at du har skannet koden, skriver du inn den seks-sifrede koden fra appen din for \u00e5 kontrollere oppsettet. Dersom du har problemer med \u00e5 skanne QR-koden kan du taste inn f\u00f8lgende kode manuelt: **`{code}`**.",
"title":"Konfigurer tofaktorautentisering ved hjelp av TOTP"
"description":"Prosz\u0119 wybra\u0107 jedn\u0105 z us\u0142ugi powiadamiania:",
"title":"Skonfiguruj has\u0142o jednorazowe dostarczone przez komponent powiadomie\u0144"
},
"setup":{
"description":"Has\u0142o jednorazowe zosta\u0142o wys\u0142ane przez **notify.{notify_service}**. Wpisz je poni\u017cej:",
"title":"Sprawd\u017a konfiguracj\u0119"
}
},
"title":"Powiadomienie z has\u0142em jednorazowym"
},
"totp":{
"error":{
"invalid_code":"Nieprawid\u0142owy kod, spr\u00f3buj ponownie. Je\u015bli b\u0142\u0105d b\u0119dzie si\u0119 powtarza\u0142, upewnij si\u0119, \u017ce czas zegara systemu Home Assistant jest prawid\u0142owy."
},
"step":{
"init":{
"description":"Aby aktywowa\u0107 uwierzytelnianie dwusk\u0142adnikowe przy u\u017cyciu jednorazowych hase\u0142 opartych na czasie, zeskanuj kod QR za pomoc\u0105 aplikacji uwierzytelniaj\u0105cej. Je\u015bli jej nie masz, polecamy [Google Authenticator](https://support.google.com/accounts/answer/1066447) lub [Authy](https://authy.com/).\n\n{qr_code} \n \nPo zeskanowaniu kodu wprowad\u017a sze\u015bciocyfrowy kod z aplikacji, aby zweryfikowa\u0107 konfiguracj\u0119. Je\u015bli masz problemy z zeskanowaniem kodu QR, wykonaj r\u0119czn\u0105 konfiguracj\u0119 z kodem **`{code}`**.",
"title":"Skonfiguruj uwierzytelnianie dwusk\u0142adnikowe za pomoc\u0105 hase\u0142 jednorazowych opartych na czasie"
"invalid_code":"C\u00f3digo inv\u00e1lido, por favor tente novamente. Se voc\u00ea obtiver este erro de forma consistente, certifique-se de que o rel\u00f3gio do sistema Home Assistant esteja correto."
},
"step":{
"init":{
"title":"Configure a autentica\u00e7\u00e3o de dois fatores usando o TOTP"
"no_available_service":"Nenhum servi\u00e7o de notifica\u00e7\u00e3o dispon\u00edvel."
},
"error":{
"invalid_code":"C\u00f3digo inv\u00e1lido, por favor tente novamente."
},
"step":{
"init":{
"description":"Por favor, selecione um dos servi\u00e7os de notifica\u00e7\u00e3o:",
"title":"Configurar uma palavra passe entregue pela componente de notifica\u00e7\u00e3o"
},
"setup":{
"description":"Foi enviada uma palavra passe atrav\u00e9s de **notify.{notify_service}**. Por favor, insira-a:",
"title":"Verificar a configura\u00e7\u00e3o"
}
},
"title":"Notificar palavra passe de uso \u00fanico"
},
"totp":{
"error":{
"invalid_code":"C\u00f3digo inv\u00e1lido, por favor, tente novamente. Se receber este erro constantemente, por favor, certifique-se de que o rel\u00f3gio do sistema que hospeda o Home Assistent \u00e9 preciso."
},
"step":{
"init":{
"description":"Para ativar a autentica\u00e7\u00e3o com dois fatores utilizando passwords unicas temporais (OTP), ler o c\u00f3digo QR com a sua aplica\u00e7\u00e3o de autentica\u00e7\u00e3o. Se voc\u00ea n\u00e3o tiver uma, recomendamos [Google Authenticator](https://support.google.com/accounts/answer/1066447) ou [Authy](https://authy.com/).\n\n{qr_code}\n\nDepois de ler o c\u00f3digo, introduza o c\u00f3digo de seis d\u00edgitos fornecido pela sua aplica\u00e7\u00e3o para verificar a configura\u00e7\u00e3o. Se tiver problemas a ler o c\u00f3digo QR, fa\u00e7a uma configura\u00e7\u00e3o manual com o c\u00f3digo **`{c\u00f3digo}`**.",
"title":"Configurar autentica\u00e7\u00e3o com dois fatores usando TOTP"
"description":"Prosimo, izberite eno od storitev obve\u0161\u010danja:",
"title":"Nastavite enkratno geslo, ki ga dostavite z obvestilno komponento"
},
"setup":{
"description":"Enkratno geslo je poslal **notify.{notify_service} **. Vnesite ga spodaj:",
"title":"Preverite nastavitev"
}
},
"title":"Obvesti Enkratno Geslo"
},
"totp":{
"error":{
"invalid_code":"Neveljavna koda, prosimo, poskusite znova. \u010ce dobite to sporo\u010dilo ve\u010dkrat, prosimo poskrbite, da bo ura va\u0161ega Home Assistenta to\u010dna."
},
"step":{
"init":{
"description":"\u010ce \u017eelite aktivirati preverjanje pristnosti dveh faktorjev z enkratnimi gesli, ki temeljijo na \u010dasu, skenirajte kodo QR s svojo aplikacijo za preverjanje pristnosti. \u010ce je nimate, priporo\u010damo bodisi [Google Authenticator] (https://support.google.com/accounts/answer/1066447) ali [Authy] (https://authy.com/). \n\n {qr_code} \n \n Po skeniranju kode vnesite \u0161estmestno kodo iz aplikacije, da preverite nastavitev. \u010ce imate te\u017eave pri skeniranju kode QR, naredite ro\u010dno nastavitev s kodo ** ` {code} ` **.",
"title":"Nastavite dvofaktorsko avtentifikacijo s pomo\u010djo TOTP-ja"
"invalid_code":"Ogiltig kod, var god f\u00f6rs\u00f6k igen."
},
"step":{
"init":{
"description":"Var god v\u00e4lj en av notifieringstj\u00e4nsterna:",
"title":"Konfigurera ett eng\u00e5ngsl\u00f6senord levererat genom notifieringskomponenten"
},
"setup":{
"description":"Ett eng\u00e5ngsl\u00f6senord har skickats av **notify.{notify_service}**. V\u00e4nligen ange det nedan:",
"title":"Verifiera inst\u00e4llningen"
}
},
"title":"Meddela eng\u00e5ngsl\u00f6senord"
},
"totp":{
"error":{
"invalid_code":"Ogiltig kod, f\u00f6rs\u00f6k igen. Om du flera g\u00e5nger i rad f\u00e5r detta fel, se till att klockan i din Home Assistant \u00e4r korrekt inst\u00e4lld."
},
"step":{
"init":{
"description":"F\u00f6r att aktivera tv\u00e5faktorsautentisering som anv\u00e4nder tidsbaserade eng\u00e5ngsl\u00f6senord, skanna QR-koden med din autentiseringsapp. Om du inte har en, rekommenderar vi antingen [Google Authenticator] (https://support.google.com/accounts/answer/1066447) eller [Authy] (https://authy.com/). \n\n{qr_code} \n\nN\u00e4r du har skannat koden anger du den sexsiffriga koden fr\u00e5n din app f\u00f6r att verifiera inst\u00e4llningen. Om du har problem med att skanna QR-koden, g\u00f6r en manuell inst\u00e4llning med kod ** ` {code} ` **.",
"title":"St\u00e4ll in tv\u00e5faktorsautentisering med TOTP"
"invalid_code":"\u53e3\u4ee4\u65e0\u6548\uff0c\u8bf7\u91cd\u65b0\u8f93\u5165\u3002\u5982\u679c\u9519\u8bef\u53cd\u590d\u51fa\u73b0\uff0c\u8bf7\u786e\u4fdd Home Assistant \u7cfb\u7edf\u7684\u65f6\u95f4\u51c6\u786e\u65e0\u8bef\u3002"
"invalid_code":"\u9a57\u8b49\u78bc\u7121\u6548\uff0c\u8acb\u518d\u8a66\u4e00\u6b21\u3002\u5047\u5982\u932f\u8aa4\u6301\u7e8c\u767c\u751f\uff0c\u8acb\u5148\u78ba\u5b9a\u60a8\u7684 Home Assistant \u7cfb\u7d71\u4e0a\u7684\u6642\u9593\u8a2d\u5b9a\u6b63\u78ba\u5f8c\uff0c\u518d\u8a66\u4e00\u6b21\u3002"
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.