This brings back support for Z-Wave thermostats
of SETPOINT_THERMOSTAT specific device class.
Such devices don't have COMMAND_CLASS_THERMOSTAT_MODE
and are now handled separately.
* Fix https://github.com/home-assistant/home-assistant/issues/29853
* Run script.gen_requirements
* Update to store Token File in config directory
* Update to store Token File in config directory
* Update to store Token File in config directory
* Added dummy user-agent to http request to fix setup error
* Replace dummy user-agent with the user-agent of the global home assistant session
* Adjust comment and rename user-agent constant
* Include MAC address in device state attributes for absent devices too
* Use MAC address as default name whether device is connected or not
* Fix initialization of known entities
Closes https://github.com/home-assistant/home-assistant/issues/29354
* Limit available heat/cool modes for HomeKit thermostats.
The Home app only shows appropriate modes (heat/cool/auto) for the device. Depending on the climate integration, disabling the auto start might be needed.
* Include improved mapping for HVAC modes in tests
* Report unavailable entites to google.
Entities should only removed when removed from HA. Removing a temporarily unavailable entity from google causes it to need to re-configured once it become available again.
* Fix test for unavailable entities
* Make async_report_state take agent_user_id
* Attempt to store synced agents
* Drop now not needed initialization
* Make sure cloud uses the all sync on changed preferences
* Some more places to use all version of sync
* Get the agent_user_id from the request context if available
* Minor cleanup
* Remove the old fixed agent_user_id for cloud
Instead pass along cloud_user where appropriate.
* async_delay_save takes a function
* Adjust test for delayed store
* Remove unused save function
* Add login check.
* Updated heatmiserV3 initial commit
* Fixing heatmiser component
* Updated codeowners and heatmiserV3 version
* Updating files as part of PR process
* Removed extra _LOGGER statements.
* Added in HVAC_MODE_OFF to allowed states to track whether heating on/off
* Handling PR comments
* Removed legacy tests
* fixing pylint errors
* Update homeassistant/components/heatmiser/climate.py
Removed .get from config
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/heatmiser/climate.py
Removed .get from config
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/heatmiser/climate.py
Removed .get from config
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Updated climate based on latest feedback
* Removed cast to int and update requirements
* Update requirements
* Updated heatmiser deps
delete incorrect 'mdi:brightness-3' in final
```
def icon(self):
"""Icon to use in the frontend, if any."""
return MOON_ICONS.get(self.state, "mdi:brightness-3")
```
which still shows in the sensors attributes
* Added check for "name" channelMetada attribute
* Added/changed smart home media player tests for added value name in chanelMetadata payload section
* Since Alexa only expects a number/callSign/affiliate in the returned response, returning "name" is not technically valid. Modified to return the value in the callSign field instead since it's a text value. Since there is no returned channel number, cannot return a true numeric value in "channel" field
* Improve Alexa interface selection for binary sensors
This allows the sensor to work correctly as a contact or motion sensor
in alexa, if the user overrides its display category as such.
* add tests
* Add broadlink remote control platform
* Fix order of the imports
* Add remote.py to .coveragerc
* Optimize MAC address validation
* Use storage helper class and improve code readability
* Add me to the manifest as a code owner
* Fix dosctring
* Add me to the code owners
* Remove storage schemas, rename storage keys and improve readability
* move service constants to const.py, move all custom xiaomi_miio services to xiaomi_miio domain
* update service names
* try to fix black error
* try black formatting again
* final black formatting attempt
* update service names to reflect platform
* fix typo
* Clear state on exception
Clear state if querying the device fails. The state is then set to unknown, so it can be tracked if a miflora device isn't responding any more.
* Add available()
Signal valid data via available()
* Add ATEN PE component for ATEN eco PDUs
* aten_pe: Require host configuration
* aten_pe: Do not import from other integrations
* aten_pe: Include unnamed outlets
* aten_pe: Avoid get() for config entries having default values
* aten_pe: Fix documentation URI
* aten_pe: Remove unused return value
* aten_pe: Update atenpdu lib to 0.2.0 for asyncio
* aten_pe: Raise exception if initialization fails
* aten_pe: Update atenpdu lib to 0.3.0 for improved exception handling
* Add Huawei LTE binary sensor support, mobile connection sensor
* Improve mobile connection sensor icon docstring
* Remove device class for permission to use a more descriptive icon
* Added device trigger to alarm control panel
* Added supported features to check that device has certain trigger
* Fixed tests for device_trigger
* Fixed pylint error
* Removed pending trigger and removed trigger condition
* Resolve hosts for fritzbox_callmonitor
If the configuration supplied "host" is not an IP address, try resolving it
* always use gethostbyname
Instead of just checking whether it is an IP and if it isn't try to resolve; just resolve it; IPs will be returned unchanged, and hostnames will be resolved.
* Catch error if the hostname cannot be resolved
* Don't fallback to default host
If the hostname cannot be resolved; don't try to fallback; just print the error message.
* Fail setup if hostname cannot be resolved
If the hostname cannot be resolved, log an error and stop the setup;
no entities will be then created.
* Added DSMR Reader platform
- Added DSMR Reader platform
- Updated codeowners for other components I added earlier
* Move sensor definitions to new file
* Sensor definitions in new file
* Add energy prices from MQTT
* lint fixes
* Black formatted some files
* Update .coveragerc
* Support transform methods on definitions
* Manifest mangled by Black, fixed
* Visual studio code reformatting dictionary error
* Fix issues with code, remove unrelated manifest changes
* Update CODEOWNERS
* Only create cloud user if cloud in use
* Pass context to alexa
* Update requirements
* Fix handing & design pattern for 0.30
* fix tests
* Fix lint & tests
* rename internal user
* update demo service domain and service description
* move DOMAIN and service name to const.py
* update per balloob's service name suggestion
* update service name in services.yaml
* update service name constant's name
* Adding lutron_caseta fan controller. Updated to pylutron 0.5.1
* Accidental import remain
* updating for black formatting
* Fix blank spaces
* Moving third party import
* update to 0.5.1 to pass checks
* fix deletion of new line
* Update fan.py
* Update with dev branch, update from comments, added mediumhigh
Instead of using the roku.power method, which toggles power,
implement the media_player.turn_on command for the roku component
by calling the new roku.poweron method.
Fixes#28961, but depends on upstream
https://github.com/jcarbaugh/python-roku/pull/53
* Add opentherm_gw device support
* Add support for enabling/disabling of opentherm_gw entities
* Disable sensors by default, base climate entity_id on gw_id instead of friendly_name to guarantee uniqueness
* Remove platform name from unique_id
Since 2019.1 has launched there is a perfectly reasonable (in fact the standard) case where ios component is loaded (i.e. actionable notifications) but no devices are registed for the now defunct `ios.notify` service. As such, the log warning relating to this case is no longer relevant.
* Upgrade upcloud-api to 0.4.5
* Fix UpCloud name spelling in manifest
* Update data at setup time for better initial states
* Clean up signal handlers on remove
* Signal data update on server start
To keep related binary sensor better up to date.
* Improve track_time_interval emulation for initial update
* Move request sync logic into GoogleConfig
* Return http status code for request_sync same as cloud
* agent_user_id is not optional for async_sync_entities now
* No need in checking parameter here
* Adjust some things for cloud tests
* Adjust some more stuff for cloud tests
* Drop uneccessary else
* Black required change
* Let async_schedule_google_sync take agent_user_id
* Assert return value on api call
* Test old api key method
* Update homeassistant/components/google_assistant/helpers.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Make rest sensor a little bit more flexible and allow the response to be a list with 0th element being a dictionary
* Black formatter wanted a different formatting
* Added test case for a list response with dict as 0th element
* Fixed lint error - it thinks a + STRING is an avoidance of using % sequences for log messages; I generally prefer explicit + rather than string juxtaposition for combining string literals, but sounds like that's not the standard
* Fixed test case -- I added it to the wrong scenario and need to use the one with json_attrs.
Although I originally contributed this component, I no longer use it myself and haven't been following the internal development of HA, so I'm no longer a good person to review any further changes to this component. I would therefore like to relinquish my CODEOWNER status over this component.
* Added Post Processing Jobs to NZBGet component
In the current implementation of the NZBGet component there is no way of
knowing whether NZBGet is still in the Post Processing phase of a download
job. This can be very useful information. For instance when you want to
suspend the NZBGet service when all queue items have been completed.
This change adds that additional sensor.
* Renamed Count to Jobs in NZBGet component
* change fromkeys to dict comprehension to prevent append working on a list by reference. Now each entity id has its own seperate list
* change fromkeys to dict comprehension to prevent append working on a list by reference. Now each entity id has its own seperate list
* use get instead of direct keys for dict
* change fromkeys to dict comprehension to prevent append working on a list by reference. Now each entity id has its own seperate list
* use get instead of direct keys for dict
* changed get back to []
* move service constants to const.py, update blackbird custom service domain
* Readd bluesound services.yaml entries since it should be part of a different branch
* update service domain for local_file from camera to local_file
* remove service.yaml entry in camera component as part of change
* fix test
* move constants to const.py
* add local_file/const.py to .coveragerc
* remove local_file/const.py from .coveragerc since component has tests
* add model and serial to caseta devices
* use just serial for unique id
* add display name for entity registry
* remove caseta device model
* just store device
* state and device are the same
* Update WazeRouteCalculator to 0.11
* Update WazeRouteCalculator to 0.11
* Adding new config options to Waze
* Fixing avoid subscription option
* Update WazeRouteCalculator to 0.12
There was an error in the underlying lib
* Update WazeRouteCalculator to 0.12
* Fix digest auth rest sensors
* Refactor to use request()
* Fix black complaints
* Don't rename data variable
Don't rename the data variable, appears several other sensors have been coded to rely on it
* Fix tests
test_setup_missing_schema:
Change the exception to check for to PlatformNotReady. With the change away from prepared statements, we no longer get the MissingSchema error during setup - we get it when we attempt to call the endpoint. Since the result is PlatformNotReady, which is what we want, and the error log clearly contains a note that the schema is incorrect I think this is fine.
test_setup_failed_connect & test_setup_timeout:
These aren't checking for minimum config, and they're not invoking the correct method to have the default config filled in. Therefore I've just added the correct minimum config so these can continue to test what they're there to test.
test_update_request_exception:
Testing a request exception with the assert on line 404! Excellent. Anyway, we've moved from using the requests Session object to the requests.request function - so the patch needed to be altered to ensure the RequestException was raised.
* Remove no longer needed import
* Fix binary sensor test in same way
* Explicitly include Alexa Interface to discovery response.
* Updated cloud component test to reflect additional Alexa interface.
* Updated test for recently added SeekController.
* Make sure to cast the volume_level of a universal media_player to a float
* Fix test that expects the wrong bahaviour
* Catch exception instead of checking for None
* Fix Onvif setup error with a premature end of connection on GetStreamUri wsdl call
Reconnect to onvif camera after getting profiles to fix this error :
[homeassistant.components.onvif.camera] Retrieving stream uri
[zeep.asyncio.transport] HTTP Post to http://192.168.1.15/onvif/Media:
b'<?xml version=\'1.0\' encoding=\'utf-8\'?>\n<soap-env:Envelope xmlns:soap-env="http://www.w3.org/2003/05/soap-envelope"><soap-env:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecur
2019-09-20 01:08:51 ERROR (MainThread) [homeassistant.components.camera] Error while setting up platform onvif
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/aiohttp/client_reqrep.py", line 553, in write_bytes
await self.body.write(writer)
File "/usr/local/lib/python3.7/site-packages/aiohttp/payload.py", line 231, in write
await writer.write(self._value)
File "/usr/local/lib/python3.7/site-packages/aiohttp/http_writer.py", line 101, in write
self._write(chunk)
File "/usr/local/lib/python3.7/site-packages/aiohttp/http_writer.py", line 67, in _write
raise ConnectionResetError('Cannot write to closing transport')
ConnectionResetError: Cannot write to closing transport
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform
await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
return fut.result()
File "/usr/src/homeassistant/homeassistant/components/onvif/camera.py", line 110, in async_setup_platform
await hass_camera.async_initialize()
File "/usr/src/homeassistant/homeassistant/components/onvif/camera.py", line 168, in async_initialize
await self.async_obtain_input_uri()
File "/usr/src/homeassistant/homeassistant/components/onvif/camera.py", line 266, in async_obtain_input_uri
stream_uri = await media_service.GetStreamUri(req)
File "/usr/local/lib/python3.7/site-packages/zeep/asyncio/bindings.py", line 13, in send
options["address"], envelope, http_headers
File "/usr/local/lib/python3.7/site-packages/zeep/asyncio/transport.py", line 107, in post_xml
response = await self.post(address, message, headers)
File "/usr/local/lib/python3.7/site-packages/zeep/asyncio/transport.py", line 95, in post
proxy=self.proxy,
File "/usr/local/lib/python3.7/site-packages/aiohttp/client.py", line 497, in _request
await resp.start(conn)
File "/usr/local/lib/python3.7/site-packages/aiohttp/client_reqrep.py", line 844, in start
message, payload = await self._protocol.read() # type: ignore # noqa
File "/usr/local/lib/python3.7/site-packages/aiohttp/streams.py", line 588, in read
await self._waiter
aiohttp.client_exceptions.ClientOSError: [Errno None] Can not write request body for http://192.168.1.15/onvif/Media
* Add code comment
* Update camera.py
* Lint.
* Improve z-wave thermostat support
Discover thermostat using COMMAND_CLASS_THERMOSTAT_MODE
so that it is a single entitiy in case there are multiple
setpoints. z-wave docs mention it is always present.
Add support for single/range target temperature depending
on the current thermostat mode.
* Remove debug print
* Refactor Z-Wave dynamic setpoint(s) selection
- use explicit mapping between modes and setpoints as defined in
Z-Wave specs
- add tests for away (2 setpoints) and heat eco (1 setpoint) modes
* Add non-standard thermostat mode aliases
* Added availability_template to Template Cover platform
* Added availability_template to Template Binary Sensor platform
* Added availability_template to Template Fan platform
* Added availability_template to Template Light platform
* Added availability_template to Template Sensor platform
* Added availability_template to Template Switch platform
* Added availability_template to Template Vacuum platform
* Added availability_template to Template Lock platform
* Added to test for invalid values in availability_template
* Black and Lint fix
* black formatting
* Added to test for invalid values in availability_template
* black
* Added to test for invalid values in availability_template
* Added to test for invalid values in availability_template
* simplified exception handler
* Fixed Entity discovery big and coverage
* Added to test for invalid values in availability_template
* flake8
* fixed component ID in test
* Added to test for invalid values in availability_template
* Added to test for invalid values in availability_template
* Made availability_template redering erorr more concise
* Cleaned template setup
* I'll remember to run black every time one of these days...
* Refactored Template initialisation
* Refactored Template initialisation
* Updated AVAILABILITY_TEMPLATE Rendering error
* Updated AVAILABILITY_TEMPLATE Rendering error
* Updated AVAILABILITY_TEMPLATE Rendering error
* Updated AVAILABILITY_TEMPLATE Rendering error
* Updated AVAILABILITY_TEMPLATE Rendering error
* Updated AVAILABILITY_TEMPLATE Rendering error
* Updated AVAILABILITY_TEMPLATE Rendering error
* Updated AVAILABILITY_TEMPLATE Rendering error
* Moved const to package Const.py
* Moved const to package Const.py
* Moved const to package Const.py
* Moved const to package Const.py
* Moved const to package Const.py
* Moved const to package Const.py
* Moved const to package Const.py
* Moved const to package Const.py
* Fix import order (pylint)
* Fix import order (pylint)
* Fix import order (pylint)
* Fix import order (pylint)
* Fix import order (pylint)
* Fix import order (pylint)
* Fix import order (pylint)
* Fixed linting issues
* Moved availability_template rendering to common loop
* Moved availability_template rendering to common loop
* Moved availability_template rendering to common loop
* Moved availability_template rendering to common loop
* Removed 'Magic' string
* Removed 'Magic' string and removed duplicate code
* Removed 'Magic' string
* Removed 'Magic' string
* Brought contant into line
* Refactored availability_tempalte rendering to common loop
* Removed 'Magic' string
* Cleaned up const and compare lowercase result to 'true'
* Cleaned up const and compare lowercase result to 'true'
* Cleaned up const and compare lowercase result to 'true'
* Cleaned up const and compare lowercase result to 'true'
* Cleaned up const and compare lowercase result to 'true'
* Cleaned up const and compare lowercase result to 'true'
* Cleaned up const and compare lowercase result to 'true'
* reverted _available back to boolean
* reverted _available back to boolean
* reverted _available back to boolean
* reverted _available back to boolean
* reverted _available back to boolean
* reverted _available back to boolean
* reverted _available back to boolean
* Fixed tests (magic values and state checks)
* Fixed tests (magic values and state checks)
* Fixed tests (async, magic values and state checks)
* Fixed tests (async, magic values and state checks)
* Fixed tests (async, magic values and state checks)
* Fixed tests (async, magic values and state checks)
* Fixed tests (async, magic values and state checks)
* Removed duplicate
* Clean up and remove debug
* Reverted Dev Container Change
* Add supported_features to Alarm Control Panel
* mark supported_features abstract
* Add SF to async_register_entity_service
* fix test
* Add missing SF SUPPORT_ALARM_ARM_CUSTOM_BYPASS
* isort
* fix async_register_entity_service
* Update alarm_control_panel.py
* Added Alexa.ModeController to cover entities.
* Added synonyms for directives.
* Updated tests for additional synonyms for directives.
* Added Alexa.ModeController to cover entities.
* Sacrifice unused variable in split() to please the Pylint gods.
* Removed duplicate instance check.
* Corrected variable name, clarified definition and consistency.
* Changed list to tuple.
If an entity is in unavailable state in HA, we expose this
as unreachable to Hue clients. This helps when troubleshooting
Hue issues because you can now receive feedback if there is an issue
on the HA side.
* Connect websocket when platforms ready, not when HA is ready
* Use callbacks from platform setup tasks instead
* Convert setup to async
* Apply suggestions from code review
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* Connect websocket when platforms ready, not when HA is ready
* Use callbacks from platform setup tasks instead
* Convert setup to async
* Apply suggestions from code review
Co-Authored-By: Martin Hjelmare <marhje52@gmail.com>
* rename request to response, isort and black fixes
* Log exception details
* Add status code to success log, reformat log
* new syntax for response
* changed info to debug
* Add Flume Sensor
Add support for Flume API and sensor
* Add support for choosing timezone
Timezone is now a required option in configuration.yaml
* Add Flume to coveragerc and CODEOWNERS
Add flume to be ommited from testing. Add @ChrisMandich as Flume Code owner
* Revert "Add Flume to coveragerc and CODEOWNERS"
This reverts commit 0b27437a3b.
* Update manifest.json
Added Documentation URL for Flume to HASS.IO
* Update manifest.json
Added missing Newline at EOF.
* Update sensor.py
Update sensor to not required Device ID for configuration. Now loops through all available Type 2 devices and adds them as an entity.
* Update Manifest, CODEOWNERS, and manifest.json
Resolved errors related to code owners and requirements. Using hassfest and gen_requirements_all
* Update sensor.py
Implemented recommendations from @Quentame. Including time zone from Home Assistant, Updated variable names, and Consolidated duplicate functions.
* Implemented suggested changes from @Quentame
This includes: components name, using f-strings instead of concat, snake_case for variables, constants for the addition of future device types, clearer errors, and removed variables no longer in use.
* Update sensor.py
Restored unit_of_measurement. Updated return to "gal".
* Address pylint errors
* Update sensor.py
Include protected attributes in setup_platform.
* Address Pylint errors
homeassistant/components/flume/sensor.py:63:11: W0703: Catching too general exception Exception (broad-except)
homeassistant/components/flume/sensor.py:133:8: R1720: Unnecessary "else" after "raise" (no-else-raise)
homeassistant/components/flume/sensor.py:162:8: R1705: Unnecessary "else" after "return" (no-else-return)
homeassistant/components/flume/sensor.py:236:8: R1720: Unnecessary "else" after "raise" (no-else-raise)
* Update sensor.py
I'm okay with the broad exception clause.
homeassistant/components/flume/sensor.py:65:11: W0703: Catching too general exception Exception (broad-except)
* Update sensor.py
Add more specific exceptions for Try/Except.
* Update Flume Sensory.py
add requirements, exclude from tests, us pyflume pypi package.
* Update sensor.py to support latest pyflume package
* Update manifest
provide better flow of manifest and easier readibility.
* Update manifest.json
Reccomended by @balloob as it is already a core requirement
* Update sensor.py
Add proposed changes from @balloob
* Update requirements_all.txt
pytz is a core dependency, removing flume's requirement for it.
* Update sensor.py
Added @MartinHjelmare recommended changes.
* Update sensor.py
Resolving PyLint error
* Update sensor.py
Remove `KeyError`. Add length check for flume entity list before adding.
* Update sensor.py
* Update pyflume version
* Update imports with isort
* Add line break between standard library and thirdparty imports.
* Remove throttle from sensor.py
* Added the Proxmox VE integration
* Fixed code as described in PR #27315
* Fixed small linting error
* Fix code as described in PR #27315 code review
* Improve code as described in PR #27315
It is incorrect to return None as a result of proprety call because in such a case state_attr call will return None as well, which means "Unknown attribute".
Instead for preset_mode(s) PRESET_NONE constant should be used for consistency.
* Fix Synology camera whitelist
If whitelist config is set, not camera is added to HA at all.
* Fix Synology Camera whitelist
Fix typo in config key.
* Update camera.py
Access config dict the voluptuous way
* have sensor.moon use state dependent icons
Material design icons have icons for all sensor.states, let's use these natively in the component.
Based on the Season icons, tried to change accordingly.
* Update sensor.py
added state constants
* Update sensor.py
fixed missing mdi:
* order of constants. moon icons and use self.state
change order of constants to alphabetical, changed order in Moon_icons to alphabetical, used self.state for icon lookup
* replace the strings
replace the strings for self.state with the constants
* removed quotes
* removed spaces, empty line
* local Black
* Sort imports and move import to file header
Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
* Add component VersaSense
* Updates based on review
* Changes based on review
* Fixed whitespace
* Fixed lines too long
* Fixed lines too long
* Formatted using black
* Added available property
* Set unavailable property appropriately
* Conversion to f-strings
* Load platform only once per platform
* Fixed duplicate identifiers across multiple devices
* Single call to async_add_entities during setup
* Removed unnecessary async/await syntax
* Added constants for key-value pairs
* Removed async/await syntax
* Added breaks in measurement check
* Added guard clause for discovery_info
* first version of new integration
* moved icon to shared consts
* added unit tests
* transformed from geolocation to sensor integration
* alert level is now the state of the sensor
* adopted unit tests
* fixed comment
* keep all sensors registered even if the feed update fails intermittently
* bumped version of upstream library
* bumped version of integration library
* regenerated requirements
* bumped version of integration library
* bumped version of integration library
* fixed generated file
* removed commented out code
* regenerated config flow file
* update to latest integration library version
* simplified code
* removed debug log statement
* simplified code structure
* defined constant
* use core interfaces
* moved test and fixture
* sorted imports
* simplified patching
* moved fixture to central config file
* Fix Synology camera whitelist
If whitelist config is set, not camera is added to HA at all.
* Fix Synology Camera whitelist
Fix typo in config key.
* Update camera.py
Access config dict the voluptuous way
* Fixed multi extruder/beds/chambers index issue, #28130
* Switched from .format to f style name formatting
* Fixed incorrect indexing
* Removed VS files
* Removed not need temp_id subtraction
* Removed VS files
* Fixed access mode
* Fixed access mode
* Fixing access mode - again
* Add bandit to pre-commit and CI, use to catch known vulnerable XML parsing
* Use defusedxml instead of direct xml.etree to parse XML
* Move config to tests/bandit.yaml
* Rework Comfoconnect sensor platform
* Sort ATTRS and fix icon
* Add unique_id to fan
* Use a different signal per sensor type
* Add more logging
* Swap to be sure.
* Remove -fan suffix from unique_id
* Remove malformed pylint disable markers
* Remove some unused imports
* Remove some unneeded lint exclusions
* Remove more unneeded lint exclusions
* Add specific codes to all noqa's
* Fixed multi extruder/beds/chambers index issue, #28130
* Switched from .format to f style name formatting
* Fixed incorrect indexing
* Removed VS files
* Removed not need temp_id subtraction
* Removed VS files
* Fixed access mode
* Fixed access mode
* Fixing access mode - again
* First commit
* First working release, but there's a lot to do
* Added support for preset_modes
* Refined logic
* Added translations for config_flow
* Updated translations
* modified: homeassistant/components/hisense_aehw4a1/climate.py
* modified: climate.py
* Updated library to latest version
* Small changes
* Null states when AC off
* Minor fixes
* Latest updates for TOX
* First commit
* First working release, but there's a lot to do
* new file: requirements_test_all.txt
* Added support for preset_modes
* Refined logic
* Added translations for config_flow
* Updated translations
* modified: homeassistant/components/hisense_aehw4a1/climate.py
* modified: climate.py
* Updated library to latest version
* Small changes
* Null states when AC off
* Minor fixes
* Latest updates for TOX
* new file: requirements_test_all.txt
* Fighting with tox
* vs Tox round 2
* Isort and updated requirements_test_all.txt
* Fighting with lint
* Implemented available state
* Changed exception type after Travis-ci pylint fails
* Support entry in configuration.yaml
* Removed commented code
* Switched to async
* Minor changes
* Updated library and fixed pylint errors
* Code optimization
* Implemented static ip addresses in configuration.yaml
* Reverted to existing constant
* Corrected pylint wrong-import-order
* Recovery from nuke event (messing all while rebase)
* Resolved Ci error
* Changes for PR
* Corrected temp scale for frontend
* Added test for config entry from configuration.yaml
* Updated dependency
* Check on manual config
* Imported custom exceptions and modified import config
* Optimized
* Change based on PR revision
* Added logging for failure event on manual config
* Tests added but to be corrected
* Edited tests
* Tests updated to ensure no I/O
* Working on tests
* Cheanges based on revision for PR
* Setting librey exception as direct side_effect in test
* Final changes for PR
* Redundand on command solved
* Improved AC logic
* bump home mitemp_bt to 0.0.3. It has an important bugfix for reading temperatures under 10 grade
* adjust the version number for mitemp_bt up to 0.0.3
* Start
* Lock init
* More stubbing
* Final pieces for PR
* Fixed incorrect property access
* Updaed .coveragerc
* Ensure we can handle unknown states
* Account for lock's offline property
* Account for device online
* Unload components concurrently
* Handle unknown states more gracefully
* Add config entry and device support to Demo
* Some more devices
* Fix tests using demo
* Review comments
* Update config_flow.py
* Revert
* Disable pylint
* Use travis_wait only with pylint
pylint is the only job that is expected to be silent for extended time.
For others such a silence is a sign of a problem and using travis_wait
just lengthens the wait, and makes things harder to follow and debug,
because it also suppresses output in the web UI.
* Use pytest-xdist in tox
Similarly as in Azure.
* add support for entity_id as state of entity
* add circular reference detection
* voluptuous instead of regex
* wait for EVENT_HOMEASSISTANT_START
* move delayed_sensor_update to async_added_to_hass
* add @callback decorator
* remove nested entity resolving
* Update Homekit climate.py to remap current mode
This update changes the mapping of Homekit's Current Mode Heating/Cooling State to show the HASS Hvac_action attribute as "idle" instead of "off" when the returned value is 0.
* Update climate.py
removed imported constant no longer being used (CURRENT_HVAC_OFF)
* corrected update to climate.py
trying again to remove unused constant.
* Update test_climate.py
* removed "change" comment
The added comment describing the change was not needed and should not be included, as it will already be described via "git annotate" (per @jc2k)
* Added bluesound speaker group attribute.
* Changed code to fix failing tests.
* Changed condition checking for empty group list.
* Investigating CI pipeline error
* Changed back to the code that passed CI earlier
* Changed condition on existence of list and sorting of bluesound_group
* Re-introduced guard on group_name None
* Update device_tracker.py
From time to time, Swisscom Internet Box fails to respond and this causes an exception, which is currently not handled by the code:
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/device_tracker/setup.py", line 164, in async_device_tracker_scan
found_devices = await scanner.async_scan_devices()
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/swisscom/device_tracker.py", line 46, in scan_devices
self._update_info()
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/swisscom/device_tracker.py", line 67, in _update_info
data = self.get_swisscom_data()
File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/swisscom/device_tracker.py", line 83, in get_swisscom_data
request = requests.post(url, headers=headers, data=data, timeout=10)
File "/srv/homeassistant/lib/python3.7/site-packages/requests/api.py", line 116, in post
return request('post', url, data=data, json=json, **kwargs)
File "/srv/homeassistant/lib/python3.7/site-packages/requests/api.py", line 60, in request
return session.request(method=method, url=url, **kwargs)
File "/srv/homeassistant/lib/python3.7/site-packages/requests/sessions.py", line 533, in request
resp = self.send(prep, **send_kwargs)
File "/srv/homeassistant/lib/python3.7/site-packages/requests/sessions.py", line 686, in send
r.content
File "/srv/homeassistant/lib/python3.7/site-packages/requests/models.py", line 828, in content
self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
File "/srv/homeassistant/lib/python3.7/site-packages/requests/models.py", line 757, in generate
raise ConnectionError(e)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='192.168.1.1', port=80): Read timed out.
I've just added a try-except around the post.
* Update device_tracker.py
Addressed blank line issue reported by flake8
* Update device_tracker.py
Fixed alignment to be Black compliant.
* Update device_tracker.py
Fixed one more alignment issue
* Add support for Heat Mode detection for Heat Pumps - Fixes#26547
Since the ecobee component started to dynamically set the supported HVAC modes based on querying the device a few releases ago, users with Heat Pumps noticed that the Heat mode was no longer offered as an option by HA. Some of us did not actually notice until the summer was over :). This commit fixes that.
For heatpumps, ecobee returns:
'coolStages': 1,
'heatStages': 0,
'hasHeatPump': True,
Fix tested on HA 100.1 and 100.3
Fixes bug https://github.com/home-assistant/home-assistant/issues/26547
* changed line formatted with black
* Retrieve more detailed module infos
* Switch to using IDs
* Bump pyatmo version to 2.3.3
* Update requirements
* Undo the change of the unique id
* Rename variable
* Use friendly app names for Fire TV sources
* Remove debugging statement
* Tests pass
* Use 'blocking=True' to patch service calls
* Remove parentheses
* Add azure servicebus notify service
* files added to .coveragerc
* fix: import content type from const
* Moved imports to top level
* Code review fixes
+ added code owner
+ fixed config validation with has at least one
+ seperate attributes for dto to asb
* fixed doc link
* async setup instead of sync
* rename all the things
- removed too many ifs
* changed setup back to sync
+ comment about sync IO in lib
* More informative logging
* logging exception -> error
This release has a fix for a crash we were seeing occasionally, and a totally
revamped packet handler which should be more robust and CPU-efficient.
Fixes#25887
* Add WLED integration
* Use f-string for uniq id in sensor platform
* Typing improvements
* Removes sensor & light platform
* Remove PARALLEL_UPDATES from integration level
* Correct type in code comment 'themselves'
* Use async_track_time_interval in async context
* Remove stale code
* Remove decorator from Flow handler
* Remove unused __init__ from config flow
* Move show form methods to sync
* Only wrap lines that can raise in try except block
* Remove domain and platform from uniq id
* Wrap light state in bool object in is_on method
* Use async_schedule_update_ha_state in async context
* Return empty dict in device state attributes instead of None
* Remove unneeded setdefault call in setup entry
* Cancel update timer on entry unload
* Restructure config flow code
* Adjust tests for new uniq id
* Correct typo AdGuard Home -> WLED in config flow file comment
* Convert internal package imports to be relative
* Reformat JSON files with Prettier
* Improve tests based on review comments
* Add test for zeroconf when no data is provided
* Cleanup and extended tests
* ViCare: Handle exceptions from PyViCare library (#28072)
Sometimes Viessmann server failures or other connection problems may
lead to exceptions thrown when updating data.
This commit handles those exceptions with some error logging and
makes sure that the component does not break completely in that case.
* Remove unneeded returns
* Remove unneeded returns
* Netatmo camera : Implement turn_on and turn_off methods.
* Netatmo camera : Implement turn_on and turn_off methods.
* Netatmo camera : Implement turn_on and turn_off methods.
* Netatmo camera : Implement turn_on and turn_off methods.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Netatmo camera : Implement enable_motion_detection(), disable_motion_detection() operations.
* Add Presence Netatmo Camera services (set_light_auto, set_light_on, set_light_off) to control its internal flood light status.
* Add Presence Netatmo Camera services (set_light_auto, set_light_on, set_light_off) to control its internal flood light status.
* Netatmo camera : Use new style string formatting.
* Make the file compliant with flake8 linter.
* Make the file compliant with flake8 linter.
* Make it compliant with black formatter.
* Make it compliant with black formatter.
* Bug fix : Flood light control was not working with VPN url.
* Adjust font text such that it won't be drawn inside the bow line in image_processing.draw_box
* Adjust font_height after actually counting the pixels
* Thinned out line_width and adjusted font size
* Fix for occupancy sensor unique_id
* Add check for sensor attributes before adding entity
* Fixes temperature key issue
* Clean up code with better use of keys
* Code clean up
* Support Huawei LTE SSDP discovery
* Avoid KeyError on simultaneous user initiated flow
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Format code
* Add already configured check
* Initialize context in test flows
* Move deviceType match to manifest
* Update generated.ssdp
* Add SSDP config flow test case
* Remove stale debug print from tests
Set auto mode should be exposed to all dyson fans (e.g. *Pure Cool Link* and *Pure Hot+Cool Link*) instead of only *Pure Cool*, as it is support in all of the models (i.e. similar to the set night mode).
* docs(ifttt): add information to services.yaml
* docs(ifttt): start examples lowercase
* docs(ifttt): start examples with capital letter
* docs(ifttt): end description on period
* Update Vivotek component
Fix building stream URL
* Update Vivotek component
Make stream path optionally configurable.
* Update Vivotek camera integration
Use f-string to build stream source URL.
This improve readability and I hear it runs faster.
* SSDP matching improvements
- support multiple match groups per domain
- require matches on all, not any item in a group
- support matching on all UPnP device description data
* Manifest structure fixes
This change addresses a bug where one is unable to change directly between the away and temperature hold presets, as temperature hold cannot be enabled on a Venstar thermostat if away mode is active.
Furthermore, this change removes redundant state checks as the set_away and set_schedule calls are idempotent in the venstarcolortouch library. See https://github.com/hpeyerl/venstar_colortouch/blob/master/src/venstarcolortouch/venstarcolortouch.py#L275.
* Prevent TypeError when KNX RGB(W) light value contains None.
* Pylint doesn't like 'w' as variable name, therefore using 'white' instead.
* Simplified code as suggested by pvizeli.
* Imported homeassistant.util and slugified address if no name is specified
* Added a custom validator function in case name is not set in config
* Removed logger.debug line only used for testing
* Clean up Xiaomi Air Quality Monitor support (cgllc.airmonitor.b1)
* Remove unused variable
* Provide a proper unique_id
* Incorporate review
* Wrap the method that cause the exception
* Undo mistakenly changed file. Fixed in the separate PR.
* convert keyboard_remote to async and add possibility to trigger on multiple event types, as well as emulate key hold events
* update requirements
* cleanup shutdown handling and config handling as well as address other minor comments
* cleanup unused return values and debug message formatting
* move start and stop event listen to separate coroutine plus minor cleanup
* make setup coroutine a function
* fix import order and attribute defined outside of init
* add to codeowners
* update codeowners
* Add and improve core and config_entries type hints
* Complete and improve config_entries type hints
* More entity registry type hints
* Complete helpers.event type hints
* Reorg and test attribute for HomematicIP Cloud
* Add dutyCycle check to security_group
* Edit test to improve coverage
* Add missing flow test
* apply suggestion
Co-Authored-By: Martin Hjelmare <marhje52@kth.se>
* fix assert condition
* Added Unifi Led
* fixed manifest
* fixed style issue
* removed unused setting
* added sugested changes.
* fixed order
* fixed settings that are required
* Fix review issues
* fix variable name that was too short
* Testing something
* Reverted to a previous version for testing
* Reverted testing changes.
* Add available status and increase version of unifiled package version.
* No io in init function.
* Add above and below to sensor condition extra_fields
* Change unit_of_measurement to suffix in extra_fields
* Check if sensor has unit when getting capabilities
* Improve tests
* Update ThermostatController to map directives to supported modes and add support for CUSTOM mode.
* Removed erroneous config value from test.
* Removed unnecessary use of a comprehension by dumbing down comment so pylint could comprehend.
* Removed erroneous import variable caused by removing erroneous config value from test.
* Removed unnecessary use of a comprehension.
* Reverted Removal or erroneous import variable and erroneous config value from test.
Apparently need for additional tests outside this component. Whoops.
* Update pycsspeechtts
From 1.0.2 to 1.0.3 as the old one is using an api that doesn't work
* Give a option to choose region
Api is now region dependent, so gave it a config
* Save client identifier from auth for future use
* Use websocket events to update Plex
* Handle websocket disconnections
* Use aiohttp, shut down socket cleanly
* Bad rebase fix
* Don't connect websocket during config_flow validation, fix tests
* Move websocket handling to external library
* Close websocket session on HA stop
* Use external library, revert unnecessary test change
* Async & lint fixes
* Clean up websocket stopper on entry unload
* Setup websocket in component, pass actual needed object to library
* added automatic protocol detection
* fix logger tests
* fix async tests
* add missin const.py
* fix log formatting
* wait for first update call
* migrate first tests
* migrated all test functions
* started to use state machine
* updated all tests to use async_setup_component
* slove hints
* update tests
* get state at correct position
* remove impossible tests
* fix autodetect tests
* use caplog fixture
* add test for duplicate
* catch concrete exceptions
* don't mock samsungctl exceptions
* add test for discovery
* get state when possible
* add test for autodetect without connection
* Using latest winthings_api module.
Drastically reduced complexity of tests.
* Removing import source.
* Fixing test requirements.
* Using requests_mock instead of responses module.
* Updating file formatting.
* Removing unused method.
* Adding support for new OAuth2 config flow.
* Addressing PR feedback.
Removing unecessary base_url from config, this is a potential breaking change.
* Addressing PR feedback.
* Modernization rework
- config entry support, with override support from huawei_lte platform in YAML
- device tracker entity registry support
- refactor for easier addition of more features
- internal code cleanups
* Remove log level dependent subscription/data debug hack
No longer needed, because pretty much all keys from supported
categories are exposed as sensors.
Closes https://github.com/home-assistant/home-assistant/issues/23819
* Upgrade huawei-lte-api to 1.4.1
https://github.com/Salamek/huawei-lte-api/releases
* Add support for access without username and password
* Use subclass init instead of config_entries.HANDLERS
* Update huawei-lte-api to 1.4.3 (#27269)
* Convert device state attributes to snake_case
* Simplify scanner entity initialization
* Remove not needed hass reference from Router
* Return explicit None from unsupported old device tracker setup
* Mark unknown connection errors during config as such
* Drop some dead config flow code
* Run config flow sync I/O in executor
* Parametrize config flow login error tests
* Forward entry unload to platforms
* Async/sync fixups
* Improve data subscription debug logging
* Implement on the fly add of new and tracking of seen device tracker entities
* Handle device tracker entry unload cleanup in component
* Remove unnecessary _async_setup_lte, just have code in async_setup_entry
* Remove time tracker on unload
* Fix to not use same mutable default subscription set for all routers
* Pylint fixes
* Remove some redundant defensive device tracker code
* Add back explicit get_scanner None return, hush pylint
* Adjust approach to set system_options on entry create
* Enable some sensors on first add instead of disabling everything
* Fix SMS notification recipients default value
* Add option to skip new device tracker entities
* Fix SMS notification recipient option default
* Work around https://github.com/PyCQA/pylint/issues/3202
* Remove unrelated type hint additions
* Change async_add_new_entities to a regular function
* Remove option to disable polling for new device tracker entries
* Added Unifi Led
* fixed manifest
* fixed style issue
* removed unused setting
* added sugested changes.
* fixed order
* fixed settings that are required
* Fix review issues
* fix variable name that was too short
* Testing something
* Reverted to a previous version for testing
* Reverted testing changes.
* cover all possible values for operation_mode
* Update climate.py
* Update climate.py
* Update climate.py
mapped homeassistant constants to client ones so we don't have to check for both
* black + pylint
* move mode_map to __init__()
* Update climate.py
* Update climate.py
The new release fixes a single regression from requests to aiohttp conversion.
Some devices do not respond with the correct mimetype which was not enforced
by requests but is enforced by aiohttp.
Related PR https://github.com/rytilahti/python-songpal/pull/59
"adguard_home_addon_outdated":"Questa integrazione richiede AdGuard Home {minimal_version} o versione successiva, si dispone di {current_version}. Aggiorna il componente aggiuntivo Hass.io AdGuard Home.",
"adguard_home_outdated":"Questa integrazione richiede AdGuard Home {minimal_version} o versione successiva, si dispone di {current_version}.",
"access_token":"Nieznany b\u0142\u0105d podczas generowania tokena dost\u0119pu.",
"already_setup":"Konto Ambiclimate jest skonfigurowane.",
"no_config":"Musisz skonfigurowa\u0107 Ambiclimate, zanim b\u0119dziesz m\u00f3g\u0142 si\u0119 w nim uwierzytelni\u0107. [Przeczytaj instrukcj\u0119] (https://www.home-assistant.io/components/ambiclimate/)."
"no_config":"Musisz skonfigurowa\u0107 Ambiclimate, aby m\u00f3c si\u0119 z nim uwierzytelni\u0107. Zapoznaj si\u0119 z [instrukcj\u0105](https://www.home-assistant.io/components/ambiclimate/)."
},
"create_entry":{
"default":"Pomy\u015blnie uwierzytelniono z Ambiclimate"
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.