* non optimistic
* test restored state
* ups
* review
* Ensure the entity is not in optimistic mode
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Disambiguate HTTPUnauthorized on user/password validation
The HA core API usually returns 401 when the request does not
have proper authentication tokens or they have expired.
However the user/password validation endpoint may also return
401 when the given user/password is invalid.
The supervisor is currently unable to distinguish both scenarios,
and it needs to.
See https://github.com/home-assistant/supervisor/issues/2408
* Return 404 if user& password are not found/valid
* Fix test for invalid user/password
* Use parent_id to find cause of events with new contexts
When looking up the causing event for logbook display, use the `parent_id`
of the current context if the current context just points back to the
current event.
This now shows in the logbook the cause of an event in the case that a
component has created a new context from an existing context and tied
them together via the `Context.parent_id`.
* Fix exception when parent event not available
* Use async_Log_entry to avoid jump into executor
* useEndTime2hour - 2 hours
* useEndTime4hour - 4 hours
* indefinite - Until I change it
These changes have been tested with an ecobee3 lite running firmware
version 4.5.81.200
Signed-off-by: Jamin W. Collins <jamin.collins@gmail.com>
* Remove sensor-scaling, handled by the back-end
* Correct assert-values
* Update test-fixtures
* Revert "Correct assert-values"
This reverts commit f1a1891f73.
* Adapt value to the updated userdata set
* Link to plugwise v0.8.5, update fixtures
* Correct test-values
* Fix typo
* Make async_get_device connections Optional, default None
* Remove unnecessary async_get_device connections arg usages
Some of these were using an incorrect collection type, which didn't
cause issues mostly just due to luck.
* Capture nest still images from events
Use python google-nest-sdm API for fetching images. Update home assistant
to use the google-nest-sdm API for fetching the image contents generated
by the server. This uses the existing websession object for server fetches,
reducing the amount of new code and facilites unit testing using the existing
mechanism.
Simplify tests using the image fetch API rather than a snapshot API
* Updates following comments in PR 44728
* Make all api calls in same thread context
* Set API as parameter to get_all_pools_data
* extract pools data retrieval function to api class
* Re-add support for dynamic groups
* Add tests
* Add support for manufacturer
* Refactor support for dynamic groups
* Bump pychromecast to 7.7.0
* Bump pychromecast to 7.7.1
* Tweak tests
* Apply review suggestion
* vicare: add set_vicare_mode service
The set_vicare_mode service allows the user to set any of the possible heating
modes of their heating device. Not just the ones that were mapped to
home assistant climate modes.
* vicare: Undo async changes and add heating mode
Useless async changes were undone.
To be able to set the most relevant modes the set_vicare_mode
shall be able to also set the heating mode (without domestic
hot water)
* Extract kwarg and undo some more async changes
Currectly extract the service argument
Adapt according to review
* Lint fixes
* Replace kwargs with single arg
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Adding switch code for harmony activities
* Working on-off
* Removing poll code for now
* Async updates for current activity
* Update our state based on events
* Notifications we got connected or disconnected
* Remove unncessary constructor arg
* Initial switch tests
* Additional tests for switch transitions
* Test transitions for availability
* Testing switch state changes
* Tests passing
* Final tests
* Updating manifest.
* Correctly mock the return value from a call to the library
* Adding new subscriber classes
* Update class name and location
* Got the refactor working locally.
* Tests passing
* Tracking state changes
* Remove write_to_config_file - this appears to never be read.
It was added far back in the past to account for a harmony library
change, but nothing ever reads that path.
Removing that side effect from tests is a pain - avoid the side effect
completely.
* Connection changes tested
* Clean up temporary code
* Update .coveragerc for harmony component
Specifically exclude untested files instead of the whole module
* Fix linting
* test sending activity change commands by id
* Improving coverage
* Testing channel change commands
* Splitting subscriber logic into it's own class
* Improve coverage and tighten up .coveragerc
* Test cleanups.
* re-add config file writing for harmony remote
* Create fixture for the mock harmonyclient
* Reduce duplication in subscription callbacks
* use async_run_job to call callbacks
* Adding some tests for async behaviors with subscribers.
* async_call_later for delay in marking remote unavailable
* Test disconnection handling in harmony remote
* Early exit if activity not specified
* Use connection state mixin
* Lint fix after rebase
* Fix isort
* super init for ConnectionStateMixin
* Adding @mkeesey to harmony CODEOWNERS
* Add nearest method
* Add tests
* Move urls to consts
* Simplify config flow
* Fix tests
* Update tests
* Use in instead get
* Fix AirlyError message in tests
* Fix manual update entity tests
* Clean up tests
* Fix after rebase
* Increase test coverage
* Format the code
* Fix after rebase
* Add logbook and device trigger platforms to Shelly
Add `logbook` platform for describing “shelly.click” event
Add `device_trigger` platform for adding automation based on click events:
Example of logbook event:
Shelly 'single' click event for Test I3 channel 3 was fired.
(Test I3 is the name of the device)
Example of automation triggers:
First button triple clicked
First button long clicked and then single clicked
First button double clicked
First button long clicked
First button single clicked and then long clicked
First button single clicked
Second button triple clicked
..
Second button single clicked
* Fix codespell
* Remove pylint added for debug
* Add tests
* Rebase
* Fix Rebase & Apply PR review suggestions
Fix tests after rebasing
Use `INPUTS_EVENTS_DICT` for input triggers
Apply PR suggestions
* First implementationof Ondilo component support
* Update manifest toadd pypi pkg dependency
* Update entities name and corrected refresh issue
* Changed percentage unit name
* Corrected merge issues
* Updated coveragerc
* cleaned up code and corrected config flow tests
* Code cleanup and added test for exisitng entry
* Changes following PR comments:
- Inherit CoordinatorEntity instead of Entity
- Merged pools blocking calls into one
- Renamed devices vars to sensors
- Check supported sensor types
- Stop relying on array index position for pools
- Stop relying on attribute position in dict for sensors
* Corrected unit test
* Reformat sensor type check
* Add index to old_state_id column for older databases
The schema was updated in #43610 but the index was not
added on migration.
* Handle postgresql missing ondelete
* create index first
* Bump PyTado to v0.10.0
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* Tado: switch to getDeviceInfo
This function has been introduced in version 0.10.0 of PyTado.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* Tado: update tests
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* update xknx to 0.16.0
* fix telegram in knx_event and knx.send service
* fix knx.send to not coerce floats to int
fixes#44792
also enables strings to be sent
* Revert "fix knx.send to not coerce floats to int"
This reverts commit ac40fb53f9.
* Add service to lock/unlock Sure Petcare pet flaps
Adds a service to the Sure Petcare pet flaps to allow lock, unlocking,
locking in and locking out pets using the pet flap
* Linting
* Changes from code review
* Add tilt control for RFXtrx Rfy venetian blinds
* Update Rfy cover test
* Update the required version of pyRFXtrx
* Update required pyRFXtrx version to 0.26.1
* Revert "Update required pyRFXtrx version to 0.26.1"
This reverts commit d54f1645d5.
* Revert "Update the required version of pyRFXtrx"
This reverts commit ac36d65326.
* Update required version of pyRFXtrx to 0.26.1
* @dzukero
Update required version of pyRFXtrx to 0.26.1
* Make requested changes from review
* Fix isort
* Remove set tilt position support
* Remove set tilt position support per review
* Add service to enable / disable music mode
* Black reformat
* Update test
* Fix tests
* Revert consts cleanup
* Use entity method as service call
* Use ATTR for service call
* Sort
* Add tests
* Fix isort
* Fix print
* Black
* Add Config Flow to bmw_connected_drive
* Fix checks for bmw_connected_drive
* Adjust code as requested
* Clean .coveragerc after merge
* Use references for config flow
* Fix execute_service check against allowed accounts
* Adjust translation as username can be email or phone no
* Add BMWConnectedDriveBaseEntity mixin, remove unnecessary type casts
* Use BaseEntity correctly, fix pylint error
* Bump bimmer_connected to 0.7.13
* Adjustments for review
* Fix pylint
* Fix loading notify, move vin to entity attrs
* Remove vin from device registry
* Remove commented-out code
* Show tracker warning only if vehicle (currently) doesn't support location
* Remove unnecessary return values & other small adjustments
* Move original hass_config to own domain in hass.data
* Move entries to separate dict in hass.data
* Remove invalid_auth exception handling & test as it cannot happen
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
* Updating sensor to use single API call
* Updated comment
Updated comment to reflect that polling is needed.
* Reduced calls to single API call
* Added except handling and increased async timeout
* Cleaned up some comments
* Added error handling
* Added last_reported date for inverters
* Added message during failed update
* Added retries to update function
* Updated update function
* Reformatted sensor.py with black
* Increased default scan period
* fixed timedelta typo
* importing CoordinatorEntity
* Check during setup else raise PlatformNotReady
* Removed async_update and override state
* using SCAN_INTERVAL constant
* fixed typo
* removed unused constant
* Removed retry logic
* Changed to catching exceptions rather than strings
* shortened string split line
* Replace requests_async with httpx
* Bump envoy_reader version to 0.17.2
* Resolving comments from PR requested changes
* Fixed typo in scan_interval
* Removed period from logging messages
* Bumping envoy_reader to 0.18.0
* Incorporating suggested changes
* Removing no longer used try/except
* Fail setup if authentication fails
* Bump envoy_reader to 0.18.2
Current device_id variable refers to the Home ID obtained from the Tado API.
Let's use home_id in order to avoid confusion with Tado devices.
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
* Improve error handling user experience
This is meant to make the nest integration quieter. Exceptions are handled with a single log error message.
Co-authored-by: j-stienstra <65826735+j-stienstra@users.noreply.github.com>
* Simplify nest event handling
Use device specific update callbacks rather than a global callback.
The motivation is to prepare for a follow up change that will store
camera specific event tokens on the camera itself, so that a service
can later fetch event specific image snapshots, which would be difficult
to send across the event bus.
* Increase nest camera test coverage
* Remove unnecessary device updates for nest cameras
* Remove unused imports
* Fix device id check to look at returned entry
* Remove unused imports after rebase
* Partial revert of nest event simplification
* Push more update logic into the nest library
* Revert nest device_info changes
* Revert test changes to restore global update behavior
* Bump nest library version to support new callback interfaces
* Add album art support in the mpd component
Uses `readpicture` to retrieve embedded artwork and `albumart` to
acquire cover art located in the media directory.
As the mpd component supports multiple different implementations (think
mopidy, PI MusicBox, etc.) we check for the availability of each command
before using them.
Tested against mpd 0.22.3, which includes support for both.
* fixup! Add album art support in the mpd component
* Handle missing devices during update
* Raise error only if there was devices previously
* Not final dot
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
* - Make the dyson integration report that the fan is on if its in AUTO or FAN states instead of only in FAN state
* - Fix code style issue to be compliant with flake8
* Periodically attempt to discover new wemo devices
* Set self._stop=None after stopping the periodic discovery task
* Use the async_fire_time_changed test helper to simplify test_discovery
* Stop the pywemo registry outside of the async loop
* Add a comment describing why async_fire_time_changed is used
Siri always requests auto mode even when the device does not
support auto which results in the thermostat failing to turn
on as success is assumed. We now determine the heat cool
target mode based on the current temp, target temp, and
supported modes to ensure the thermostat will reach the
requested target temp.
* Move Legacy Works With Nest integration to subdirectory
Motivation is to streamline the actively developed integration e.g. make code coverage easier to reason about and simplify __init__.py
* Update humidity attributes.
* Update climate.py
* Raise ValueError
* Update conditions for humidity controls to show
Humidity controls only show when the humidifier mode is in "manual" mode.
* Adding the water_box / mop status
* Clean up
Co-authored-by: Teemu R. <tpr@iki.fi>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Teemu R. <tpr@iki.fi>
* pydaikin version bump to 2.4.0
Add support for controlling the streamer feature.
* Add switch for toggling Daikin streamer on and off
* Have DaikinStreamerSwitch inherit from SwitchEntity instead of ToggleEntity
* Update nl.json
* added period to end of every logging entry.
* Functional and ambient light added
* Change to dict.get method
* Update light.py
* Update __init__.py
Platforms sorted 🔡.
* Update api.py
- Removed all none light platform related changes.
- Period removed from loggin.
- Storing entities removed.
- Not needed formating change reverted.
-
* Update const.py
All words seperated with underscore.
* Update nl.json
Reverted change on translation file.
* Update light.py
-All words of constants seperated with underscore.
- f-string used iso concatenation.
- Added "ambient"to loggin text.
- Removed self._state = false when color setting did not succeed.
- Logging starts with a capital.
* Update api.py
- Removed ending perio in logging
- Reverted formating
- Removed self.device.entities.append(self)
-
* Update entity.py
- Removed self.device.entities.append(self)
* Update api.py
- Adding newline at end of file
- Added whitespave after ","
* Update api.py
Newline at end of file
* Update const.py
Removed unused.
* Update light.py
- seperated words with whitespaces
- improved debug text
* Update light.py
remove state setting after an error
* Connect concurrently to discovered Zerproc lights
* Add return type to connect_light
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add options flow for Recollect Waste
* Add test
* Typing
* Typing
* Typing AGAIN
* Add missing type hints
* Code review
* Code review
* Don't need to block until done
* Update sensor.py
Some xml-result is passed via "application/xhtml+xml" instead of text/xml or application/xml. And then the xml structure is not parsed to json as expected. I changed it locally, but suggest to add thise here as well.
* Update homeassistant/components/rest/sensor.py
Fine for me as well, as it is working this way as well. But I would not see any disadvantage to convert everything, what is possible - a better scrape sensor this way. ;)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: J. Nick Koston <nick@koston.org>