* Add a test for see service gaurd
* Guard from seeing devices part of entity registry
* Await registry task early
* Lint
* Correct comment
* Clean up wait for registry
* Fix spelling
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Fix spelling
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Vlc telnet first commit
First functional version, remains to add more functionality.
* New functions added and bugfixes
* Compliance with dev checklist
* Compliance with dev checklist
* Compliance with pydocstyle
* Removed unused import
* Fixed wrong reference for exception
* Module renamed
* Fixed module rename in other
* Fixed wrong reference for exception
Module renamed
Fixed module rename in other
* Update homeassistant/components/vlc_telnet/media_player.py
Accepted suggestion by @OttoWinter
Co-Authored-By: Otto Winter <otto@otto-winter.com>
* Update homeassistant/components/vlc_telnet/media_player.py
Accepted suggestion by @OttoWinter
Co-Authored-By: Otto Winter <otto@otto-winter.com>
* Update homeassistant/components/vlc_telnet/media_player.py
Accepted suggestion by @OttoWinter
Co-Authored-By: Otto Winter <otto@otto-winter.com>
* Update homeassistant/components/vlc_telnet/media_player.py
Accepted suggestion by @OttoWinter
Co-Authored-By: Otto Winter <otto@otto-winter.com>
* Suggestions by @OttoWinter
+Manage error when the VLC dissapears to show status unavailable.
* Removed error log, instead set unavailable state
* Changes suggested by @pvizeli
-Import location
-Use of constants
* Implemented available method
* Improved available method
* Fixing tplink issues with offline devices during setup.
* Fixing circleci errors.
* Adding code to defer the creation of entities that are not online.
* Addressing code review changes and cleaning up a little.
* Fixing tests and static analysis.
* Adding test to satisfy coverage requirements.
* Resolving merge conflicts.
* Fixing issue where lights don't appear in the integration page.
* Using pyHS100 properties for most sysinfo.
Addressing some PR feedback.
* Addressing some PR feedback.
* Better testing async_add_entities_retry
Testing for static dimmers.
Making greater use of conf constants.
* Fixing all static analysis issues.
* Adding non-blocking call for getting discovering devices.
* Address PR feedback
* Quick & Dirty weather alert integration
* Add attributes in weather alert sensor.
* MeteoFranceUpdate returns dept to init the alert watcher
* add rain forecast to weather attribute
* Add checks when no weather alert data are available
* Improve date and state when online source is unreachable
* update to take into account new API of vigilancemeteo 3.0.0
* Clean local patchs and put requirements in manfiest.json
* Use only one proxy for weather alerts to avoid too much HTTP requests
* linting and comments style corrections
* Add error catching and debug logging
* Correction following PR checklist
* Add code owners
* Update requirements_all.txt
* Comment style
* Update CODEOWNERS after rebaseline with dev branch
* update requirements_all.txt
* initial version of qfes bushfire geolocation platform
* removed all occurrences of legally protected names; using new georss library
* regenerated codeowners
* fixed pylint
* added one more valid category
* moved library import to top and ran isort
* Fix validator for lcn.send_keys service
* Removed lowercase table names from send_keys and lock_keys validators
* Revert lowercase regex.
* Fixed table name regex.
* change us-based default temps to Fahrenheit
* update CODEOWNERS
* update CODEOWNERS
* tweak docstring
* tweak docstring
* Coerce Fahrenheit Temps to int
* Adds integration for Plaato Airlock
* Updates codeowners and coveragerc
* Fixes lint errors
* Fixers lint check error
* Removed sv translation file
* Adds en translation file
* Sets config flow to true in manifest
* Moves config flow and domain to seperate files
* Fixes lint errors
* Runs hassfest to regenerate config_flows.py
* Adds should poll property and fixes for loop
* Only log a warning when webhook data was broken
* Fixes static test failure
* Moves state update from async_update to state prop
* Unsubscribes the dispatch signal listener
* Update sensor.py
* Added toggle service to cover
* Added toggle tilt service and tilt closed property
* Added is_tilt_closed so tilt can be toggled
* Added toggle services
* Added toggle tilt service
* Removed spaces
* Added tests for tilt services
* Updated tests
* Added range conversion in comparison
* Added tests to cover broken areas
* Fixed open/close tilt values and added toggle function
* Added default toggle behavior using tilt_position of 0, reverted other changes
* blank space
* Added constants and swapped assert comparisons
* Fixed attribute name
* Added mqtt responses in test
* Added constants
* Space
* Fix tilt_optimistic flag being ignored if status topic set
* Added more tests
* Changed async toggle call
* Updated group tilt test
* Updated format of asserts
* Updated states calls
* Updated function variables
* merge fixes
* Added blank line
* Changed calls to async
* More async updates
* Extract const to a const file, Add battery as tracker attribute, add accuracy filter option
* Update homeassistant/components/traccar/device_tracker.py
Co-Authored-By: Otto Winter <otto@otto-winter.com>
* Update homeassistant/components/traccar/device_tracker.py
Co-Authored-By: Otto Winter <otto@otto-winter.com>
* Update homeassistant/components/traccar/device_tracker.py
Use [] syntax for keys that are in the validated data.
Co-Authored-By: Otto Winter <otto@otto-winter.com>
* Fix indentation
* Update aioswitcher requirement to 2019.4.26.
* Removed unnecessary legacy function call.
* Fixed log message capital first letter.
* Replaced None argument with empty dict.
* Replaced guard.
* Added ServiceCallType.
* Added set_auto_off and update_device_name services to the component.
* Added test cases for service calls.
* Conditioned the component services registry with the platform discovery.
* Update homeassistant/components/switcher_kis/__init__.py
Co-Authored-By: TomerFi <tomer.figenblat@gmail.com>
* Update homeassistant/components/switcher_kis/__init__.py
Co-Authored-By: TomerFi <tomer.figenblat@gmail.com>
* Resolved change requests.
* Added ContextType.
* Addes permission verification for service calls.
* Added test cases for permision verification and more.
* Replaced POLICY_CONTROL with the more suited POLICY_EDIT.
* More appropriate function name.
* Added domain and entity_id validation for calling services.
* Removed service for setting the vendor's device name.
* Added name to sensors
Added name to sensors, should allow for multiple devices.
This should fix#22571 and #21591
* Update sensor.py
Fixed spelling issue, and line too long
* Update sensor.py
Removed _ as it is a friendly name
* Separate yeelight light classes
* Removed not used variable
* Allow to create device right away, when model is declared
* Lint fixes
* Use correct brightness, when nightlight mode is on
* Pylint fix
* Add power property
* Fix imports
* Update homeassistant/components/yeelight/light.py
Co-Authored-By: Teemu R. <tpr@iki.fi>
* Small PR fixes
* Simplify device to yeelight class mapping
* Simplify device initialization code
* Fix comment
Some location update messages do not contain the 't' (trigger) key. Before the change in 0.94 to
entity based trackers, these would default to source_type of 'gps' (due to default parameter
value in async_see method.) To mirror this behavior in the new entity based tracker, the
source_type property should default to SOURCE_TYPE_GPS under the same conditions.
Some location update messages do not contain the 't' (trigger) key. Before the change in 0.94 to
entity based trackers, these would default to source_type of 'gps' (due to default parameter
value in async_see method.) To mirror this behavior in the new entity based tracker, the
source_type property should default to SOURCE_TYPE_GPS under the same conditions.
* Add camera for buienradar radar
* Use asyncio.Conditions instead of asyncio.Lock
* Add test and fix python 3.5 compatibility
* rename interval to delta for consistency with BOM integration
* fix linting error introduced during rebase
* Improved buienradar.camera documentation and tests
* Incorporated one comment on a redundant/cargo cult function
* Improved documentation
* Increase test coverage by fixing one test by making it a coroutine
(to make it actually run), adding another test case, and changing
the flow in the implementation.
* style changes after review, additional test case
* Use python 3.5 style mypy type annotations in __init__
* Remove explicit passing of event loop
* Adopt buienradar camera as codeowner
* Update manifest.json
* Update CODEOWNERS through hassfest
Updated CODEOWNERS through hassfest (instead of manually), thanks to
@balloob for the hint.
* Support ZLO device types
Support the device types that are added in https://github.com/zigpy/zigpy/pull/176
so newer Zigbee devices can be supported.
* Remove BINARY_SENSOR mappings
* Add back ON_OFF_LIGHT_SWITCH, DIMMER_SWITCH and COLOR_DIMMABLE_LIGHT
Since they are target devices I've added them as switch and lights,
which matches the Zigbee documentation.
* Upgrade to zigpy-homeassistant v0.5.0
To be able to use the new DeviceTypes
* Add Linky sensors : yesterday + months + years
- SCAN_INTERVAL to 4 hours
- Always close_session after getting the data
- Add username attr
- Fix not updating Linky sensor when Enedis API fails
* Fix @balloob review: remove monitored_conditions
* Add APRS device tracker component
This component keeps open a connection to the APRS-IS infrastructure so
messages generated by filtered callsigns can be immediately acted upon.
Any messages with certain values for the 'format' key are position
reports and are parsed into device tracker entities.
* Log errors and return if startup failure
* Fix unit tests
* CREATE Somfy component
* CREATE cover Somfy platform
* USE somfy id as unique id
* UPDATE all the devices in one call to limit the number of call
* FIX Don't load devices if not yet configured
* IMP Replace configurator by a simple notification
* ADD log in case state does not match
* IMP wording
* REMOVE debug stuf
* ADD support for tilt position
* UPDATE requirements
* FIX Use code instead of authorization response
- Will allow to setup Somfy without https
* HANDLE stateless devices (Somfy RTS)
* FIX import locally 3rd party library
* UPDATE pymfy to 0.4.3
* ADD missing docstring
* FIX For Somfy 100 means closed and 0 opened
* FIX position can be None
* ENHANCE error management when error 500 occurs at setup
* FIX indent
* ROLLBACK tilt modification
- See https://community.home-assistant.io/t/somfy-tahoma-official-api/61448/90?u=tetienne
* FIX Look for capability instead of state
* DON'T use exception to test if a feature is available
* UPDATE dependency
* ADD device_info property
* AVOID object creation in each method
* REMOVE unused constants
* ADD missing doc
* IMP Only make one call to add_entities
* USE dict[key] instead of get method
* IMP Don't pass hass object to the entities
* FIX Don't end logging messages with period
* USE config entries instead of a cache file
* IMPLEMENT async_unload_entry
* CONSOLIDATE package
- see home-assistant/architecture#124
* UPDATE to pymfy 0.5.1
* SIMPLIFY config flow
* ADD French translation
* FIX 80 vs 79 max length
* ABORT flow asap
* FIX A tupple was returned
* MIGRATE to manifest.json
* ADD a placeholder async_setup_platform coroutine
- It's currently required and expected by the platform helper.
* FIX codeowner
* ADD missing translations file
* USE new external step
* UPGRADE pymfy version
* Close Somfy tab automatically
* ADD manufacturer
- Somfy only for the moment.
* HANDLE missing code or state in Somfy request
* REMOVE unused strings
* DECLARE somfy component to use config_flow
* APPLY static check remarks
* FIX async method cannot be called from sync context
* FIX only unload what has been loaded during entry setup
* DON't catch them all
* DON'T log full stacktrace
* ABORT conflig flow if configuration missing
* OMIT Somfy files for coverage
* ADD tests about Somfy config flow
* ADD pymfy to the test dependencies
* fix(hue): Load the SSDP component only when it's needed
* fix(deconz): Don't load the SSDP component when it's not needed
* Update config_flow.py
* Update test_config_flow.py
Was improperly generating a warning each restart.
Was not properly handling a password change in configuration.
Was not properly removing config entries for accounts removed from configuration.
* fix(hue): Load the SSDP component only when it's needed
* fix(deconz): Don't load the SSDP component when it's not needed
* Update config_flow.py
* Update test_config_flow.py
* Improve amcrest error handling and bump amcrest package to 1.5.3
amcrest package update fixes command retry, especially with Digest Authentication, and allows sending snapshot command without channel parameter.
Get rid of persistent_notification.
Errors at startup, other than login errors, are no longer fatal.
Display debug messages about how many times an error has occurred in a row.
Remove initial communications test. If camera is off line at startup this just delays the component setup.
Handle urllib3 errors when getting data from commands that were sent with stream=True.
If errors occur during camera update, try repeating until it works or the camera is determined to be off line.
Drop channel parameter in snapshot command which allows camera to use its default channel, which is different in different camera models and firmware versions.
Make entities unavailable if too many errors occur in a row.
Add new configuration variables to control how many errors in a row should be interpreted as camera being offline, and how frequently to "ping" camera to see when it becomes available again.
Add online binary_sensor option to indicate if camera is available (i.e., responding to commands.)
* Update per review comments
Remove max_errors and recheck_interval configuration variables and used fixed values instead.
Move definition of AmcrestChecker class to module level.
Change should_poll in camera.py to return a fixed value of True and move logic to update method.
* Use LAN status instead of wireless status for DD-WRT device tracking
* Use the previous DD-WRT device tracker behavior unless specified in the configuration
* Add support for DoorLock cluster
* Add test for zha lock
* Change lock_state report to REPORT_CONFIG_IMMEDIATE
* Update channel command wrapper to return the entire result
This allows for return values other than result[1]
* Fix tests
* Fix lint
* Update DoorLock test to work with updated zigpy schema
* Fix lint
* Fix unlock test
* Refactor Waze Travel Time & Update Requirements
Refactored Waze Travel Time to contain a data object.
Changed error retrieving data to a warning.
Added distance conversion depending on region.
Removed dependency on TRACKABLE_DOMAINS list.
Update to use WazeRouteCalculator 0.10
3rd time's a charm. Deleted fork, caused last PR to screw up. So here we are.
* Update requirements_all.txt
* Revert package upgrade.
* Revert package upgrade.
* Bring the Sisyphus integration to silver quality
Checklist:
- [x] (N/A - push integration) Set an appropriate SCAN_INTERVAL (if a polling integration)
- [x] Raise PlatformNotReady if unable to connect during platform setup
- [x] (N/A - no credentials) Handles expiration of auth credentials. Refresh if possible or print correct error and fail setup. If based on a config entry, should trigger a new config entry flow to re-authorize.
- [x] (N/A - local integration) Handles internet unavailable. Log a warning once when unavailable, log once when reconnected.
- [x] Handles device/service unavailable. Log a warning once when unavailable, log once when reconnected.
- [x] Set available property to False if appropriate
- [x] Entities have unique ID (if available)
* Feedback (fix a couple verbose places)
* Use a task instead of a lock
* Initialize field in constructor
* Revert package upgrade.
* Add Streamlabs Water Monitor
* Fail Streamlabswater component setup when given invalid parameters
The Streamlabs Water component is unable to recover if it is given
an invalid API key or location id so this change is to ensure
we validate they are correct during setup and return a failure
if they are not.
* Prime Streamlabswater component sensors so data is available immediately
The sensors for the component were not causing an immediate load of
data from the API when being set up so there was some lag after
startup before values would show up. This change does an explicit
update when the sensors are setup to ensure data is viewable
immediately after startup.
* Switch Streamlabswater logging to use %s for string formatting
* Update Streamlabswater component with correct dependencies
Dependencies were incorrectly specified using DEPENDS rather
than DEPENDENCIES
* Streamlabswater pull request feedback
Remove detailed class docstrings since they're in the documentation,
reduce code duplication in sensor classes, and remove periods from
the end of log messages.
* Reduce line length in Streamlabswater sensor
* Add docstring on Streamlabswater service callback method
* Get rid of unnecessary initializers in Streamlabswater sensor
* Add manifest file for Streamlabs Water Monitor
* Remove unused REQUIREMENTS
* Added Google Cloud TTS service component feature
* Added Neutral voice gender
* Added line break at the end of files
* Updated CODEOWNERS, reqirements_all.txt and .coveragerc
* Fixed some ci/circleci: static-check errors
* Fixed some ci/circleci: static-check error
* Fixed some ci/circleci: pylint errors
* Fixed some ci/circleci: pylint errors
* * made supported_options const
* fixed direct env variable access
* Fixed import order
* * Component renamed
* Added encoding parameter
* Other fixes
* Changed folder name in .coveragerc
* * Removed whitespaces in blank lines
* Split long line
* Removed whitespaces in blank lines
* ci/circleci: static-check
* Fixed requirements_all.txt
* Added speed, pitch and gain parameters
* Added speed, pitch and gain as supported options
* Split too long line
* * Added profiles parameter
* Changed supported languages and encodings values
* Added parameters validations
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Changed options validation
* Added ToggleEntity save and restore state mechanism
* Revert "Added ToggleEntity save and restore state mechanism"
This reverts commit 0e275014
* Basic local SolarEdge monitoring for energy / power
* Basic local SolarEdge monitoring for energy / power
* generated CODEOWNERS, requirements, excluded tests
* generated CODEOWNERS, requirements, excluded tests
* lint fixes, etc
* lint fixes, etc
* Fix docstyle for init
Of course thats the file I forgot to run tests on
* Load all sensors by default
They use the same API endpoint. This changes was made per https://github.com/home-assistant/architecture/pull/244
* remve unneded date/time
* ran hassfest again
* add throttle when updating
* readd solax, mistakenly removed
* Update sensor.py
* Add support for learning new commands
This update creates a generic service in the 'remote' component to enable remote control platforms to learn new commands.
* Update __init__.py with the proposed changes
- Add 'supported_features' property and a constant related to the 'learn_command' functionality.
- Redefine 'async_learn_command' function as a coroutine.
* Update __init__.py
* Fix assertion error
Adding the 'supported_features' attribute generated an assertion error on the 'Demo Remote' platform. This update fixes this.
* Fix duplicated 'hass' object
This update fixes a typo that occurred at the last update.
* Update cover.py
Blinds, Rollingshutters and Awnings did not set their respective device_class attribute
Previously they would all appear as device_class "window"
* fallback device class is always 'window'
fallback device class is always 'window' in the event we have an unknown cover type
* trailing whitespace removed, trimmed as well
* Update cover.py
* Migrate deCONZ to use new SSDP discovery
Add new discovery info manufacturer URL to be able to separate Hue and deCONZ bridges
* Mark deCONZ as migrated in Discovery component
* Fix tests
* Fix Hue discovery ignore deCONZ bridge
* Less snake more badger
* Mushroom
* Fix indentation
* Config flow ignore manufacturer url that is not philips
* Migrate deCONZ to use new SSDP discovery
Add new discovery info manufacturer URL to be able to separate Hue and deCONZ bridges
* Mark deCONZ as migrated in Discovery component
* Fix tests
* Fix Hue discovery ignore deCONZ bridge
* Less snake more badger
* Mushroom
* Fix indentation
* Config flow ignore manufacturer url that is not philips
* Add service for adding event to google component
* Add service examples for google.add_event
* add refactoring based on reviews
* Fix too long lines
* Order import
* Move to move line
* Remove parenthesis
* Add service for adding event to google component
* Add service examples for google.add_event
* add refactoring based on reviews
* Add check for correct scopes, otherwise re-authenticate
* fix build failure
* fix build failure
* Adds AdGuard Home integration
* 👕 Addresses linting warnings
* 🚑 Fixes typehint in async_setup_entry
* 👕 Take advantage of Python's coalescing operators
* 👕 Use adguard instance from outer scope directly in service calls
* 👕 Use more sensible scan_interval default for sensors
* 👕 Adds specific files to .coveragerc
* ☔ Added tests and small changes to improve coverage
* 🔨 Import adguardhome dependencies at the top
* 🚑 Converted service handlers to be async
* 🔥 Removed init step from config flow
* Bump skybellpy to 0.4.0
* Bump skybellpy to 0.4.0 in requirements_all.txt
* Added extra states for STATE_ALARM_TRIGGERED to allow users to know if
it is a burglar or fire or carbon monoxide so automations can take
appropriate actions. Updated TotalConnect component to handle these new
states.
* Fix const import
* Fix const import
* Fix const imports
* Bump total-connect-client to 0.26.
* Catch details of alarm trigger in state attributes.
Also bumps total_connect_client to 0.27.
* Change state_attributes() to device_state_attributes()
Enable feature by default but allow it to be disabled by "control_light: false" in config.
Get brand from camera instead of assuming Amcrest (since this works with other cameras, too.)
Retrieve RTSP URL in update method instead of in stream_source property and in handle_async_mjpeg_stream method.
Move amcrest imports from methods to global.
* Fixing tplink issues with offline devices during setup.
* Fixing circleci errors.
* Adding code to defer the creation of entities that are not online.
* Addressing code review changes and cleaning up a little.
* Fixing tests and static analysis.
* Adding test to satisfy coverage requirements.
* Resolving merge conflicts.
* Fixing issue where lights don't appear in the integration page.
* Using pyHS100 properties for most sysinfo.
Addressing some PR feedback.
* Addressing some PR feedback.
* Better testing async_add_entities_retry
Testing for static dimmers.
Making greater use of conf constants.
* Fixing all static analysis issues.
* Adding non-blocking call for getting discovering devices.
* Address PR feedback
* Revert back to previously used library
* Fix test
* Remove unused import
* Fix import
* Update __init__.py
* Update __init__.py
* Fix test after rebase
* Move tradfri component to use new zeroconf discovery
* Will this work?
* Remove prints
* Correct order in generated zeroconf
* Update test_init.py
* Update test_init.py
* Update test_init.py
* Update test_init.py
* Extract exposed devices function
* Add might_2fa info to trait
* Do not filter with should_expose in Google helper func
* Cloud: allow setting if Google entity is exposed
* Allow disabling 2FA via config
* Cloud: allow disabling 2FA
* Lint
* More changes
* Fix typing
* Bumped to version 2.0
* Updated requirements
* Updated requirements and coveragerc
* Removed long lines, changes to coveragerc and requirements
* Fixed under-indented lines
* Fixed invalid syntax
* Updated .coveragerc to include repetier/__init__.py and sensor.py
* Module update
* Rebased to latest dev
* Blank lines fix
* Add missing manifest.json
* Update requirements
* Bumped component to new API module style
* Removed whitespaces and line feeds
* Added missing newline
* Added missing heated chamber sensor
* Fixed wrong indentation
* Various fixes
* Various build fixes
* Clean up
* Load platform only once
* Sort imports
* Add printer api
* Clean up
* Build out sensor classes
* Clarify temperature sensor variable names
* Move constants
* Clean up name
* Run script/gen_requirements_all.py
* Working code, missing auto add of new sensors
* Updated code to return proper device_class and timestamp
* Removed unnessecary code
* Renamed elapsed and remaining sensors
* Dynamically adding sensors as they become available
* Rebased .coveragerc due to conflicts
* Code changes and cleanup
* Removed whitespace and code simplification
* Use global import for ESPHome
* Add aioesphomeapi to test requirements
aioesphomeapi is also shipped as a pure-python wheel, so this should not impact test install time
* Improved sensors
* Lib update signalling
* Replace reason with changed
* Move imports to top of file
* Add support for secondary temperature reported by some Xiaomi devices
* Bump dependency to v59
* Use central polling to update entities
* Fix for line length
* Remove unnecessary import
* Use interval
* Trigger entity refreshes after commands
* Lint
* v1 of Azure Event Hub History component
* updates to EH
* small fix
* small updates and changed requirements_all
* new version of Event Hub component
* redid config to just ask names
* small edit
* latest version of EH component
* updated codeowners
* codeowner fix
* typo in domain
* updates based on reviews.
* using built-in jsonencoder for DT
* delete unused import
* Solax inverter direct API
* Linter compliance
* lint++
* move api communication to external lib
* lint++
* requirements
* Revert "requirements"
This reverts commit 82a6c0c095.
* potentially?
* Addressing review comments
* Also update CODEOWNERS
* Only update sensor state if data has changed
* Moved helper functions to const.py
* Removed pypck attribute from LcnDevice
* Bump to pypck==0.6.0
* Added myself as a codeowner
* Moved helper functions to helpers.py
* Added support for MCP23017 I2C GPIO extender.
* Updated .coveragerc to exclude mcp23017 component from tests.
* Generated CODEOWNERS for mcp23017 usign script.
* Removed .svn folder that had been accidentally uploaded.
* Added link to www.home-assistant.io docs in manifest.json
* Fixed logic error in switch platform.
* Cleaned up code and removed unnecessary should_poll() function.
* Limited the options for pull mode to UP and DOWN
* Fixed line too long in binary sensor.
* Fixed line too long on switch.py
* Changed to setup_platform.
* Reorder constants
* Change timeout from 5 seconds to 10 seconds
Underpowered platforms timeout during configuration/discovery of a Hue bridge on a new install. Increasing this timeout fixes this.
* Add 'adb_response' attribute to Android TV / Fire TV
* Use None instead of empty string for empty ADB responses
* Initialize self._adb_response as None, not empty string
* Update the state after sending an ADB command
This ensures that the `'adb_response'` attribute contains the response to the latest command
* Zestimate: fix for issue #23757
Changed name property to return Zestimate
and the property address. This will make it easier
distinguish multiple Zestimate sensor entities
in the UI.
Also removed MIN_TIME_BETWEEN_UPDATES in
favor of SCAN_INTERVAL per suggestion from
amelchio#9580 on Discord
* Zestimate fix for issue #23757
Changed name property to return Zestimate
and the property address. This will make it easier
distinguish multiple Zestimate sensor entities
in the UI.
* Changed name property to return Zestimate
and the property address. This will make it easier
distinguish multiple Zestimate sensor entities
in the UI.
* moved code fix to the correct function
* removed code change from unique_id function
* Fix entity id naming when not using first install
Currently, the verisure component will use the alias of the first
installation to decide entity id of the alarm_control_panel even though
a different installation is configured through a specified giid. This
fixes that
* Fixed pulled request review comments
* Remove trailing whitespace
* Fix remaining pylint errors
* Proof of concept
* Follow comments
* Fix line length and bad imports
* Move imports to top
* Exception handling for unicode decoding
Create debug print for new service types
Add empty test files
* First try at a test
* Add type and name to service info
Fix static check
* Add aiozeroconf to test dependencies
* Use HA defined timezone
* Cleanup
* Use homeassistant.util.dt.now to get the correct time.
* Update homeassistant/components/vasttrafik/sensor.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Remove schedule management. Allow custom HTTP events defined in the configuration
* Consolidate doorbird request handling. Make token a per device configuration item.
* Lint fixes
* Do not register dummy listener
* Remove punctuation
* Split up method to allow caching event
* Lower frequency of updates.
* Code review patches.
* Minor changes to test
* Skip end of period at fixed multiple of delta.
Improved documentation.
* Initial commit
* add lastComms and de-lint
* dummy commit
* dummy commit 2
* refactor to temp in favour of battery
* back to battery, and no temp
* use snake_case
* Bump client
* only v3 API exposes device attributes
* delint
* delint2
* Change GeniusSwitch to GensiusBinarySensor
* Use aiozeroconf in preparation for new zeroconf discovery
* Update requirements
* Remove sleep
* Make stop zeroconf a coroutine
* Remove unused import
* Fix aiozeroconf dependency in default_config tests
* updated list of supported fan_modes
* AirBase units does not support Holiday-mode
* AirBase units does not support outside temp
* pydaikin version bump
* don't modify constant
* Start moving parts of yaml utils to own module
Move parts of yaml loader out of the single large file and start
to create the structure of the yaml loaders in Ansible [0].
[0]: https://github.com/ansible/ansible/tree/devel/lib/ansible/parsing/yaml
* Finish yaml migration, update tests and mocks
* Move code around to finish the migration
* Update the mocks so that `open` is patched in
`homeassistant.util.yaml.loader` instead of
`homeassistant.util.yaml`.
* Updated mypy ignores
* Updated external API of `homeasistant.util.yaml`, see below:
Checked what part of the api of `homeassistant.util.yaml` was actually
called from outside the tests and added an `__ALL__` that contains only
these elements.
Updated the tests so that references to internal parts of the API (e.g.
the yaml module imported into `homeassistant.util.yaml.loader`) are
referenced directly from `homeassistant.util.yaml.loader`.
In `tests/test_yaml.py` the import `yaml` refers to
`homeassistant.util.yaml` and `yaml_loader` refers to `~.loader`.
Future work that remains for the next iteration is to create a custom
SafeConstructor and refers to that instead of monkey patching `yaml` with
custom loaders.
* Update mocks in yaml dumper, check_config
* Update Sesame component to use Candy House's library using the V3 API
* Updated requirements_all.txt
* Fix pylint warning
* Revert back to ATTR_DEVICE_ID
* Try to make the process more readable and paritioned.
* Validate child values using set message.
* Only validate using relevant schemas.
* Extract node validation.
* Rework const types and schemas.
* Rework child validator.
* Enhance warning logging message.
* Return an extra oauth2 auth code during onboarding
* Areas in const
* Add integration step
* Lint
* Fix tests
* Fix test
* Verify integration added to done
* Verify step is marked as done
* Added new component meteoalarm
* Update sensor.py
* Update manifest.json
* Update manifest.json
* Update manifest.json
* Added file CODEOWNERS
* Modified some code, thanks @amelchio
* removed Throttle because is not being used anymore
* Update _attributes ad _state
* some cleanup
* Update sensor.py
Change sensor to binarysensor
* Rename sensor.py to binary_sensor.py
rename the file
* Update binary_sensor.py
Removed BinarySensorDevice from class
* Update binary_sensor.py
Made a mistake with BinarySensorDevice
* Update binary_sensor.py
clean up white spaces
* Update binary_sensor.py
Fix BinarySensorDevice
* Update binary_sensor.py
cleanup the import libs
* modified __init__
* fix
* final fix, thanks @amelchio
* forgot to change the sensor.py
* correct some typo in text
* fix typos
* fix another typo
* fix typo
* Add TTL custom support and custom headers support.
* fix pywebpush version
* removed whitespaces surrounding docstrings.
* fixes for tests
* priority option to data
* checking of ATTR_ENDPOINT
* change checking of target to vol.Schema
* more tests
* Clean and fix google calendar tests
* Extract test calendar constant for google test
* Rewrite google calendar tests
* Clean and fix google calendar tests
* Clean and fix google component tests
* Add google conftest
* Skip flaky google calendar test
* Fix google calendar bug
* Fix yield fixture
* Set fixture names to avoid lint warning
* Fix yield fixture
* Updated to the current version of dev
* Added the component to .coveragerc
* Added __init__.py and manifest.json
* Changed the manifest to comply the json format
* Changes in for complete the PEP8 Code
* Fixed the api call to use PyPI package
* Fixed API correrct call
* Fixes for complete the requirements
* Added dependencies in manifest.json
* Changed the __init__.py to complete PEP8
* Simplified the __init__.py
* Runned codeowner script
* executed gen_requirements_all.py
* Direct call for dicts and unit changed to minutes
* Fixed the optional dict call, sorry, my bad, I did not that
* Deleted unused vars
* Changed optional parameter to required
* Remove blank first line
* Onvif camera improvements using zeep
* Fix static code checks
* Make obtain_input_uri async
* Convert several methods to async
* Fix static checks
* Fix static checks
* Fix requirements_all.txt
* Lint improvements
* Async services
* Use onvif-zeep-async and check if PTZ service is available before creating it
* Remove some hacks that are now defined in onvif-zeep-async
* Don't log input, it might contain sensitive information
* Static code analysis fixes
* Run requirements stuff
* Fix
* Remove suds requirement
* Onvif camera improvements using zeep
* Fix static code checks
* Make obtain_input_uri async
* Convert several methods to async
* Fix static checks
* Fix static checks
* Fix requirements_all.txt
* Lint improvements
* Async services
* Use onvif-zeep-async and check if PTZ service is available before creating it
* Remove some hacks that are now defined in onvif-zeep-async
* Don't log input, it might contain sensitive information
* Static code analysis fixes
* Run requirements stuff
* Fix
* Remove suds requirement
* Use dt_util.utcnow
* Platform setup should not have a return value
* Remove explicit dependency to zeep[async]
* Bump onvif-zeep-async to 0.1.2
* Update requirements_all.txt
* Add exception handling
* Fix static checks
* Don't catch generic exceptions
* Update camera.py
* refactor - add const.py, change order of propertys, methods
* import client at top of file
* remove debug line
* de-lint
* delint
* add me as CODEOWNER
* remove lint hint
* delint
* Prevent turning on tellduslive lights with 0 brightness
It was possible for the light compontent to get in a state where the last_brightness was set to zero, and when turning on (by calling turn_on) it would call the TellStick with 0 dim level, ergo not turning on the light.
With this, it will fall back on a 75% dim level if the level is set to zero.
* Wrap long log line over two lines
And using a more proper way of formatting the message
* Fallback to 100% instead of 75%
* Make entity_filter be a modifiable builder
* Add render_with_collect method
* Use sync render_with_collect and non-class based test case
* Refactor: Template renders to RenderInfo
* Freeze with exception too
* Finish merging test changes
* Removed unused sync interface
* Final bits of the diff
* ptvsd debugger component.
* Add test case
* ptvsd as test dependency
* Fix for 3.5
* Fixed bootstrap test
* Use dict direct lookup.
* Don't need to load dependencies.
* Get the test working.
* 3.5 fix
* Set mock return value
* Put tests back, but skip them
* Change log level
fix check for already created entities
remove hepa and carbon filter
add AQI attribute
initial commit
fix check for already created entities
remove hepa and carbon filter
add AQI attribute
add air quality component tests
fix method call tests
fix line lengths
fix pylint issues
fix docstrings
revert fan related changes
remove whitespace change
fix fan update state test
add for loop for platform initialization
add requested changes to aiq platform
change string concatenation to new style string formatting
update air quality tests
update air quality tests
refactor sensor component changes
fix pylint issues
fix debug string in the air quality component
replace failing tests for older devices
fix line length fan tests
remove dependencies const and move imports
move back imports to methods
remove whitespace from blank line
* Always print invalide configuration data
* Print offending data as yaml
* Revert "Print offending data as yaml"
This reverts commit 01721a21a9ff918ed2c8595151ebfe55eb2f7d36.
* Do not print sensitive data
* Print MQTT topic
* Add line break
* Review comments
* review comments
Fixed AlexaPowerController to report power state for thermostats, to look if state is OFF return OFF, otherwise report ON as thermostats have multiple values for ON
* Don't send volume on volume set
This needs updated lib
* Bump version and avoid getting channels explicitly
* Add myself as codeowner
* Use version 0.0.8 instead which doesn't reuse session
Some TV's doesn't play nice with HTTP/1.1 connection
re-use.
* Add new requirement to requirements_all.txt
The config option 'max_result' was assigned to not existing 'max_result' variable, it should be assigned to 'maxResult'.
The current version causes an error when max_result option is used.
* Added option to use self-signed certificates
I defined a new option for configuration.yaml, 'verify_ssl', which is set to 'True' by default for obvious security reasons. However, in order to work with self-signed certificates, it is now possible to disable the certificate validation.(eg, I use a nextcloud instance with self-signed certificates)
Credit for code in line 57 goes to user 'gen2' on the homeassistant community, who suggested this solution.
https://community.home-assistant.io/t/caldav-configuration/38198/25
I only took it a step further and made it a config option.
* Update calendar.py
* Added the import of CONF_VERIFY_SSL
I hope this passes the test now...
* Update homeassistant/components/caldav/calendar.py
Cool! Didn't know about that possibility, my coding experience is literally two weeks. Thanks for sharing!
Co-Authored-By: anrudolph <49680492+anrudolph@users.noreply.github.com>
* Removed some lines of code
I think, in order for the last commit to work, these lines have to be removed. Correct?
* Trying to get this passing the checks
Trying around to get the simplified code to work
Improve sdcard sensor so it only sends one command to camera per update as opposed to the four it used to send to reduce network traffic and make data consistent. Also better handle returned values of 'unknown'.
* Refactor NETATMO_AUTH to use hass.data
* Minor cleanup
* Rename conf to auth and other suggestions by Martin
* Revert webhook name change
* Rename constant
* Move auth
* Don't use hass.data.get()
* Fix auth string
* Allow host/ipv6 address for broadlink service
This matches switch config and is a regression fix
* Restore padding of packets for broadlink
* Drop unused import
* Fix comment on test
* Bump Ecovacs dependency (sucks)
Update to new version of sucks, which switches to a custom-built SleekXMPP that turns off certificate validation. This is to fix issues caused by Ecovacs serving invalid certificates.
* Update requirements file
* Refactor NETATMO_AUTH to use hass.data
* Minor cleanup
* Rename conf to auth and other suggestions by Martin
* Revert webhook name change
* Rename constant
* Move auth
* Don't use hass.data.get()
* Fix auth string
* Allow host/ipv6 address for broadlink service
This matches switch config and is a regression fix
* Restore padding of packets for broadlink
* Drop unused import
* Fix comment on test
* Add amcrest camera services and deprecate switches
- Implement enabling and disabling motion detection from camera platform.
- Add amcrest specific camera services for controlling audio stream, motion recording, continuous recording and camera color mode, as well as moving camera to PTZ preset and starting and stopping PTZ tour function.
- Add camera attributes to indicate the state of the various camera settings controlled by the new services.
- Deprecate switches in favor of camera services and attributes.
* Rename services and move service handling to __init__.py
Rename services from 'camera.amcrest_xxx' to 'amcrest.xxx'. This allows services to be documented in services.yaml.
Add services.yaml.
Reorganize hass.data[DATA_AMCREST] and do some general cleanup to make various platform modules more consistent.
Move service handling code to __init__.py from camera.py.
* Update per review comments, part 1
- Rebase
- Add permission checking to services
- Change cv.ensure_list_csv to cv.ensure_list
- Add comment for "pointless-statement" in setup
- Change handler_services to handled_services
- Remove check if services have alreaday been registered
- Pass ffmpeg instead of hass to AmcrestCam __init__
- Remove writing motion_detection attr from device_state_attributes
- Change service methods from callbacks to coroutines
* Update per review comments, part 2
- Use dispatcher to signal camera entities to run services.
- Reorganize a bit, including moving a few things to new modules const.py & helpers.py.
* Update per review comments, part 3
Move call data extraction from camera.py to __init__.py.
tox fails due to being unable to reference the `script` module when
trying to run `script/gen_requirements_all.py`. Instead it needs to be
run as a module.
* Implement EnOcean temperature and humidity sensors.
* Bump EnOcean version to 0.50
* Refactor components for more generic device handling
* Move radio packet data interpretation to specific devices
* Update CODEOWNERS
* Implement code review changes
* Bump Ecovacs dependency (sucks)
Update to new version of sucks, which switches to a custom-built SleekXMPP that turns off certificate validation. This is to fix issues caused by Ecovacs serving invalid certificates.
* Update requirements file
* Fix non syncthru-syncthru supporting printers
* Formatting
* Update requirements_all
* Update syncthru.py
* Fix component to be async (as is the used SyncThru implementation)
* Add async syntax
* Omit loop passing
* Don't await async_add_platform
* Generate new all requirements
* Explain, why exception is caught in setuExplain, why exception is caught in setupp
* Handle failing initial setup correctly
* Formatting
* Formatting
* Fix requested changes
* Update requirements and add nielstron as codeowner
* Run codeowners script
* Make notification about missing syncthru support a warning
* Revert pure formatting
* Fix logging
* Expose door cover/binary_sensor as door type
More logical to ask "What doors are open" than "What sensors are open"
* Add test for binary_sensor device_classes
* Cosmetic flake8
* Add test for device class for cover
* Add action.devices.traits.Volume
* Drop media player from brightness trait
* Factor out commands into separate functions
* Drop support for explicit mute
* Expose door cover/binary_sensor as door type
More logical to ask "What doors are open" than "What sensors are open"
* Add test for binary_sensor device_classes
* Cosmetic flake8
* Add test for device class for cover
* reorg HmiP Imports after introduction of manifests
* add type to some functions
* fix usage of dimLevel (HomematicipDimmer,HomematicipNotificationLight)
* align naming to HomematicipMultiSwitch: channel_index -> channel for (HomematicipNotificationLight)
* fix lint
* Fix is_on for dimmers
* fix lint
* Drop unused constant
* Don't default to localhost
A philips tv will never run on localhost
* Use library internal state
* Add play media support for channels
* Control update manually
This allow us to delay update of state when we perform
and action.
* Bump version for support for api v1 again
* Consider missing source and only channels as channels
* Fix some flake8 tasks
* Fix some pylint errors
* Adjust requirements_all file
* Switch to async_add_executor_job
* Assume device turns of off a sucessfull standby call
* Hass.io Add-on panel support for Ingress
* Revert part of discovery startup handling
* Add type
* Fix tests
* Add tests
* Fix lint
* Fix lint on test
* Added component named switcher_kis switcher water heater integration.
* Fixed conflicts.
* Updated requirements.
* Added manifest.json file and updated CODEOWNERS.
* Fixed requirements_all.txt.
* Better component tests.
* Removed unnecessary parameter from fixture function.
* Removed tests section from mypy.ini.
* Remove unused ENTITY_ID_FORMAT.
* Stop udp bridge when failed to setup the component.
* Replace DISCOVERY_ constants prefix with DATA_.
* Various change requests.
* Fixed constant name change remifications.
* Added explicit name to fixture.
* Various change requests.
* More various change requests.
* Added EventType for homeassistant.core.Event.
* Switched from event driven data distribution to dispatcher type plus clean-ups.
* Removed name and icon keys from the component configuration.
* Various change requests.
* Various change reqeusts and clean-ups.
* Removed unnecessary DEPENDENCIES constant from swith platform.
* Replaced configuration data guard with assert.
* Removed unused constants.
* Removed confusing type casting for mypy sake.
* Refactor property device_name to name.
* Removed None guard effecting mypy only.
* Removed unnecessary function from switch entity.
* Removed None guard in use by mypy only.
* Removed unused constant.
* Removed unnecessary context manager.
* Stopped messing around with mypy.ini.
* Referring to typing.TYPE_CHECKING for non-runtime imports.
* Added test requierment correctyly.
* Replaced queue.get() with queue.get_nowait() to avoid backing up intervals requests.
* Revert changes in mypy.ini.
* Changed attributes content to device properties instead of entity properties.
* Fixed typo in constant name.
* Remove unnecessary async keyword from callable.
* Waiting for tasks on event loop to end.
* Added callback decorator to callable.
* Fix read gps position accuracy & read device status
* Fix: W291 trailing whitespace & E501 line too long (80 > 79 characters)
* Upgrade pytraccar dependency to 0.7.0
* met snake case
* Hass.io Add-on panel support for Ingress
* Revert part of discovery startup handling
* Add type
* Fix tests
* Add tests
* Fix lint
* Fix lint on test
* Remove archived 17track packages from the entity registry
* Fix incorrect __init__.py
* Member comments
* Member comments
* Fix too many params
* Member comments
* Member comments
* Set default value for input_datetime
If no initial value is set and no value is available to be restored, set the default value as specified in the docs to 1970-01-01 00:00.
* Use regular if statement
Ternary statements can be tricky if you try to keep the value the same if not something
* Add test for default values
Check that if no initial value is set, state returns 1970-01-01 at 00:00
* Fix tests - was passing wrong args to time/date
* Verify we get a timestamp attribute for input_datetime
This adds a check that when using the default timestamp of 1970-1-1 00:00:00, we
get a timestamp attribute. This is waht prompted this PR in the first place, as
when specifying an automation trying to access the timestamp attribute for a non-
initialized input_datetime HASS wouldn't start.
* Simplify the change for a default value
Based on @balloob comment. Simplifying the code
* Revert "Simplify the change for a default value"
This reverts commit c2d67f19a6.
* update vizio component to support latest pyvizio with soundbar support
* Resolved Hound issues
* Additional Hound issue
* Updated based on feedback
* Style updates
* Additional code styling changes
* Added check for auth token not being set for tv device_class
* Limited lines to 80 characters
* moved MAX_VOLUME into base package
* fixed supported commands
* styling changes
* fix styling yet again
* remove unnecessary elif
* removed play/pause since I can't get current state
* changed value access method from config dict
* fixed flake failures
* try to fix docstring
* try to fix docstring
* fixed auth token validation
* rebase and regenerate requirements_all.txt
* updated log text
* line length fix
* added config validation to handle conditionally optional parameter
* updated validate setup log message and string formatting based on review
* fix pylint error
* less ugly
* handle the off part of on with timed off command
* use correct var
* only bind / configure cluster once
* clean up channel configuration
* additional debug logging
* add guard
* prevent multiple discoveries for a device
* cleanup and still configure on rejoin
* Skip entity if no device type found
* Add test for potentially skipped binary sensors
* Reorg code, add tests to ensure all exposed things have types
* Lint
* Fix tests
* Lint
* Add basic support for native Hue sensors
* Update coveragerc
* Simplify attributes
* Remove config option
* Refactor and document device-ness and update mechanism
* Entity docstrings
* Remove lingering config for sensors
* Whitespace
* Remove redundant entity ID generation and hass assignment.
* More meaningful variable name.
* Add new 'not-darkness' pseudo-sensor.
* Refactor sensors into separate binary, non-binary, and shared modules.
* formatting
* make linter happy.
* Refactor again, fix update mechanism, and address comments.
* Remove unnecessary assignment
* Small fixes.
* docstring
* Another refactor: only call API once and make testing easier
* Tests & test fixes
* Flake & lint
* Use gather and dispatcher
* Remove unnecessary whitespace change.
* Move component related stuff out of the shared module
* Remove unused remnant of failed approach.
* Increase test coverage
* Don't get too upset if we're already trying to update an entity before it has finished adding
* relative imports
* Kill bluetooth LE scanning gracefully when asked to shut down.
* Add missing argument.
* Refactor to use data instead of passing nonlocal variables about.
* Fix typo.
* Skip entity if no device type found
* Add test for potentially skipped binary sensors
* Reorg code, add tests to ensure all exposed things have types
* Lint
* Fix tests
* Lint
* Add basic support for native Hue sensors
* Update coveragerc
* Simplify attributes
* Remove config option
* Refactor and document device-ness and update mechanism
* Entity docstrings
* Remove lingering config for sensors
* Whitespace
* Remove redundant entity ID generation and hass assignment.
* More meaningful variable name.
* Add new 'not-darkness' pseudo-sensor.
* Refactor sensors into separate binary, non-binary, and shared modules.
* formatting
* make linter happy.
* Refactor again, fix update mechanism, and address comments.
* Remove unnecessary assignment
* Small fixes.
* docstring
* Another refactor: only call API once and make testing easier
* Tests & test fixes
* Flake & lint
* Use gather and dispatcher
* Remove unnecessary whitespace change.
* Move component related stuff out of the shared module
* Remove unused remnant of failed approach.
* Increase test coverage
* Don't get too upset if we're already trying to update an entity before it has finished adding
* relative imports
* Kill bluetooth LE scanning gracefully when asked to shut down.
* Add missing argument.
* Refactor to use data instead of passing nonlocal variables about.
* Fix typo.
* Pass host string instead of forcing an ip-address
Pass the configured host (https://www.home-assistant.io/components/homematic/#host) instead of always forcing an ip-address. This is required to get SSL certificate validation working.
* Remove unused 'socket' import
Because Luftdaten assigns separate ids for particle and weather
measurements, most if not all stations added with config flow will
have non-functional sensors, as mentioned in #19591. This change
prevents the creation of sensors without data.
There was a potential unique ID collission which caused problems for some users, as scenes and devices are enumerated separately, so the same ID could be assigned to in they are unnamed.
So I changed the unique ID generation for scenes to avoid this, which is a breaking change wrt scenes.
* STATE_UNCERTAIN for Homematic Lock devices introduced
Homematic Lock devices provides an uncertain flag if the lock was opened manually an the lock is uncertain regards the status.
The other necassary functionality was implemented in pyhomematic by Daniel earlier...
* enabled attribute transition in light service for homematic dimmer devices
* Update light.py
* Revert "Update light.py"
This reverts commit f5565a006d.
* Revert "Revert "Update light.py""
This reverts commit 2c264826ef.
* fix for line too long error
* trailing whitespace
* Adding Genius Hub
* Added Genius hub
* Correct hound errors
* Correct hound errors.
* Correct tox errors.
* Fix travis errors
* Correct sensor names
* Correct travis errors
* Correct hound errors
* Follow up from code review by Martin Hjelmare
* More changes from code review.
* Attempt to resolve conflicts in requirements_all
* de-lint for the houndci-bot
* better logging message, and small tidy-up
* minor refactor and de-lint
* domain name should be the same as the component name
* use self where appropriate
* minor de-lint
* add entities as a single call
* de-lint
* all read-only attrs almost done
* refactor - near the end
* change state/,ode mapping
* override temp from curr_temp
* all read-only properties working
* working now
* ready for PR, but need to remove logging
* de-lint
* de-linted, ready for merge
* de-linted, ready for merge 2
* didn't like import in climate/__init__
* improve footprint logic
* add manifest.json
* add manifest.json 2
* correct a regression
* fix regression with device.is_on()
* use latest client library
* update to latest client library, 3.3.6
* delint and shoudl be OK to go
* Add target_temp_high/low and current_temperature
water_heater piggy back on climate(thermostat) component in gui,
so these things are already supported by frontend for display
purposes.
* Drop support tags for target high/low
* Remove explicit declaration of automatic found devices as RGBW
* fixes for Magic Home only-white controllers
* mode is now set to None instead of removed entirely
* flux_led now changes no values when turned on from off state.
* better checking for changed values in turn_on
* Reduce waiting time to 1 second
* Correction of turn on logic
* Remove accidentally inserted 'not'
* Remove lint
* Remove redundant code
* load cleanups
* Remove unused methods
* Allow importing requirements at the top of a file
* Fix test
* Lint
* Install reqs ASAP when loading platforms
* Added basic Supla (https://www.supla.org) support (covers)
* PySupla upgrade, minor spelling corrections and .coveragerc update
* Linter errors cleanup
* More linter cleanups.
* Documentation link removal and import sorting
* Docstring formatting
* PR suggestions
* Styling and linting
* PySupla version update
* Removal of ALLOW_EXTRA in SERVER_CONFIG
* Return False on failed connection validation, function order cleanup
* Component manifest
* Missing return None and different way of setting unique_id
* CODEOWNERS update
* CircleCI nudge
* Update config flow to support updating host address
Improve tests
* Update gateway to handle new address signal
* Improve description why whe need to keep step_init
* Corrections and test
* Raise error if does not support setting position
* Raising error for stateless and assumed state covers
* Fix pylint
* Tests
* Update test_trait.py
* Start with Stiebel Eltron heatpump
* STE HP
* Add read of operating mode
* Add read-write operation mode
* Further extract ModBus access
* Separation of platform and API
* Last changes
* Use modbus hub
* Update module doc with config
* Clean up platform code
* Cleanup and update to dev2 of pystiebeleltron
* Remove slave configuration
* Add translation of states
* Make name parameter optional
* Consolidate platform
* Correct .coveragerc after conflict
* Prepare component for sensor platform
* Fix issues found in review
* Remove custom states and map to existing HA states
* Force update, when values are modified
* Update CODEOWNERS and requirements_all.txt
* Fix .coveragerc file
* Exclude stiebel_eltron components in .coveragerc
* Break out to module level constant
* Rename constant
* Removed REQ and DEP constant.
Loading a component defined in a registration didn't actually work and was undocumented, so let's just remove it instead of fixing #23005.
## Checklist:
- [X] The code change is tested and works locally.
- [X] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [X] There is no commented out code in this PR.
* Load dependencies from manifests. Fallback to current DEPENDENCIES
* Fix typing
* Ignore typing correctly
* Split out dependency processing to a new method
* Fix tests
* Only pull from manifest if dependencies is non empty
* Inline temporary function
* Fix light tests [skip ci]
* Fix tests/common
* Fix some mqtt tests [skip ci]
* Fix tests and component manifests which have only one platform
* Fix rflink tests
* Fix more tests and manifests
* Readability over shorthand format
* Fix demo/notify tests
* Load dependencies from manifests. Fallback to current DEPENDENCIES
* Load requirements from manifests. Fallback to current REQUIREMENTS
* Fix typing
* Ignore typing correctly
* Split out dependency processing to a new method
* Only pull from manifest if dependencies is non empty
* Inline temporary function
* Fix tests and component manifests which have only one platform
* Fix rflink tests
* Readability over shorthand format
* Clean up requirements
* Use integration to resolve deps/reqs
* Lint
* Lint
* revert a change
* Revert a test change
* Fix types
* Fix types
* Add back cache for load component
* Fix test_component_not_found
* Move light.test and device_tracker.test into test package instead with manifest to fix tests
* Fix broken device_tracker tests
* Add docstrings to __init__
* Fix all of the light tests that I broke earlier
* Embed the test.switch platform to fix other tests
* Embed and fix the test.imagimage_processing platform
* Fix tests for nx584
* Add dependencies from platform file's DEPENDENCIES
* Try to setup component when entity_platform is setting up
Fix tests in helpers folder
* Rewrite test_setup
* Simplify
* Lint
* Disable demo component if running in test
Temp workaround to unblock CI tests
* Skip demo tests
* Fix config entry test
* Fix repeat test
* Clarify doc
* One extra guard
* Fix import
* Lint
* Workaround google tts
* Bump pyubee to 0.4, support more models and detect model automatically
* Update requirements_all.txt
* Check for supported models
* Add model aliases
* Code clean-up
* Updated code to meet reviewer's requests.
* Updated code to meet reviewer's requests.
* Minor update
* Minor update
* Populate mac2name dict
* Return list of MAC addresses, not dict
Co-Authored-By: mzdrale <mzdrale@gmail.com>
* Minor update
* Fix for network issues
Fix for network issues
* Further changes to network connection
* websession is created in pymyq
websession is created in pymyq instead.
Added call on stop event to close web session.
* Updated requirements file
* Added comment
* Changed back to use aiohttp_client
* Cleanup closed sockets in aiohttp
Enable automatic cleanup of closed sockets in aiohttp client helper.
* Updated manifest & requirements
* Updated comment block
* Ensure we only add a sensor once
* Ensure that we dont process updates for entities that arent what we were setup for
* Add debug logging to ease development of apps
* Use str representation
* Bugfix - binary_sensor.py
* Added features to Concord232 Alarm Panel
* Added New Line End Of File
* Deleted Whitespace
* Back to original
Removed added feature and sticking to bugfix
* Add amcrest binary_sensors
Add binary_sensors with option motion_detected. Deprecate motion_detector sensor.
* Update per review
* Update per review
Add custom validators to make sure camera names are unique, and to issue warning if deprecated sensors option motion_detector is used.
async_setup_platform should not return a value.
* Another review update
Since there is only one type of binary_sensor, remove type test in update method.
* Logi Circle now uses OAuth2 for authentication, added config flow.
* Service calls now dispatched to camera entities via signalled events
* Update from PR review
* Add unit tests for config flow
* Updated CODEOWNERS
* Reverted change to .coveragerc
* Improved test coverage of config flow
* Work on PR comments
* Work on PR comments
* Update imports
* Work on schema validation
* Fix package
* Add bomradarcam to .coveragerc
* Improve error message for location
* Delinting
* Correct module name in .coveragerc
* Add manifest.json
* Update requirements_all.txt
* Merge bomradarcam into existing bom integration
* Added features to Concord232 Alarm Panel
* Update homeassistant/components/concord232/alarm_control_panel.py
Deleted 'or None' as per @syssi suggestion.
* Ensure we only add a sensor once
* Ensure that we dont process updates for entities that arent what we were setup for
* Add debug logging to ease development of apps
* Use str representation
* Added MyLink component
* Updated requirements.txt
* Fix lint issues
* Removed ‘Scene’ functionality
* Removed state restoration, as state is no longer tracked
* Add component manifest
* Remove documentation links in Docstring
* Removed redundant try/except block
* Removed default dict
* Removed features already implemented in default CoverDevice
* Removed attributes for tracking state
* Simplified loading of covers
No options exist other than reversal, so just check reversal status directly and update if needed
* Reimplemented is_closed property
* Import ENTITY_ID_FORMAT from base component
* Removed misc unused vars
* Update module docstrings to one line
* Removed too many blank lines, giving one back :)
* Return none on TimeoutError
* Added component to .coveragerc
* Fix light tests [skip ci]
* Fix tests/common
* Fix some mqtt tests [skip ci]
* Fix tests and component manifests which have only one platform
* Fix more tests and manifests
* Fix demo/notify tests
* Rollback test for demo.geo_location
* Initial version of climate
* initial commit of climate device support
* Fixed opmode and fanmode
* Cleanup
* meh
* added back all other components
Oops
* wider support for thermostats
Added one more identifier for thermostats to broaden compatibility
* Added even more climate types
* Reworked detection mechanism
Better support for combined devices
* Added additional modes
* force visibility on climate
* Changed logging of device data
* Improved operatingmode support
Improved operatingmode support
* Updated logic for opmode/fanmode list creation
Implemented a universal mapping logic for opmode and fanmode, to make it more widely compatible
Improved mapping of Fibaro FGT devices
* Lint fixes
* bump
* Fixes based on code review
* Fixes
* Moved to fibaro folder
* lint inspired cosmetic changes
* Mapped all operating modes to existing HA ones
Mapped all operating modes to existing HA ones
* Improved compatibility with Heatit thermostats
Thanks to astrandb for testing, debugging and fixing my code
* Changes based on code review
Changes based on code review
* more fixes based on more code review
more fixes based on more code review
* Support stream source for doorbird live camera
* Support stream source for doorbird live camera
* Support stream component on Doorbird camera entities
* Bump library version
* Update manifest
* Lint
* Correct parameter order
* Bugfix - binary_sensor.py
* Added features to Concord232 Alarm Panel
* Added New Line End Of File
* Deleted Whitespace
* Back to original
Removed added feature and sticking to bugfix
## Description:
Adds a new `mobile_app` webhook command, `get_zones`, which just returns all zones.
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
* Added option to use manual authentication for google hangout component
See: https://hangups.readthedocs.io/en/latest/user_guide.html#logging-in for manual log in example
Bumped up version of hangups to 0.4.9
* Updated components/hangouts/strings.json and generated translation string by running script/translations_develop
Reduced verbosity of modifications to components/hangouts/config_flow.py
* Added option to use manual authentication for google hangout component
See: https://hangups.readthedocs.io/en/latest/user_guide.html#logging-in for manual log in example
Bumped up version of hangups to 0.4.9
* Updated components/hangouts/strings.json and generated translation string by running script/translations_develop
Reduced verbosity of modifications to components/hangouts/config_flow.py
* fixing missing rebase
* Update Foscam to support stream source
* Removing spaces and tabs
* Changing to Python3-style string formatting
* Adding '_media_port' to hopefully cover other models
* changing logic for success and return none
* Update Foscam stream for newer models
* change if to or
* Update Foscam to support stream source
* Removing spaces and tabs
* Changing to Python3-style string formatting
* Adding '_media_port' to hopefully cover other models
* changing logic for success and return none
* Update Foscam stream for newer models
* change if to or
## Description:
Update the PR template to point requirements to the new manifest requirements.
**Related issue (if applicable):** relates to #22700
**Pull request in [home-assistant.io](https://github.com/home-assistant/home-assistant.io) with documentation (if applicable):** https://github.com/home-assistant/developers.home-assistant/pull/214
## Example entry for `configuration.yaml` (if applicable):
```yaml
```
## Checklist:
- [ ] The code change is tested and works locally.
- [ ] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [ ] There is no commented out code in this PR.
If user exposed functionality or configuration variables are added/changed:
- [ ] 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 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/__init__.py#L14
[ex-import]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L23
* Store gateways inside a dict in deconz domain
* Make reachable events gateway specific
* Gateway shall always exist
* Adapt new device signalling to support multiple gateways
* Services follow gateway master
* Working on unload entry
* Make unload and master handover work
Improve tests for init
* Fix config flow
* Fix linting
* Clean up init tests
* Clean up hassio discovery to fit with the rest
* Store gateways inside a dict in deconz domain
* Make reachable events gateway specific
* Gateway shall always exist
* Adapt new device signalling to support multiple gateways
* Services follow gateway master
* Working on unload entry
* Make unload and master handover work
Improve tests for init
* Fix config flow
* Fix linting
* Clean up init tests
* Clean up hassio discovery to fit with the rest
* Add support for services to specify bridgeid
## Description:
Mikrotik does some stupid stuff with character encoding that can screw up the DHCP responses. See #15257 for more detail.
**Related issue (if applicable):** fixes#15257
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
* Raise ConfigEntryNotReady for connection exception
Raise ConfigEntryNotReady for the connection exception like if the MQTT Server container/device is being restarted or was unavailable on boot.
* Add new exception
* grammar fix
* Possibly resolve hound comments
* raise `ConfigEntryNotReady` for mqtt connection error
* revert exceptions.py
* Update exceptions.py
* modify test to handle exception
* use constants to control exception scope
* Raise ConfigEntryNotReady for connection exception
Raise ConfigEntryNotReady for the connection exception like if the MQTT Server container/device is being restarted or was unavailable on boot.
* Add new exception
* Add new exception
* grammar fix
* Possibly resolve hound comments
* raise `ConfigEntryNotReady` for mqtt connection error
* revert exceptions.py
* Update exceptions.py
* modify test to handle exception
* use constants to control exception scope
* revert test change as it's not the same thing
* Update test_init.py
* Add test for MQTT OSError
* revert file changes from a bad rebase
* Rewrite test with valid syntax
* rewrite test to be less ambiguous
* add empty line
* add back 'axis'
* Remove empty line
* Update tests and undo merge from earlier
* correctly restore test for no connect broker
* fix test mock correctly
* line was too long. hit enter.
* Increase aioharmony version to 0.1.11
Update aioharmony version to 0.1.11, this new update contains fixes for websocket connection losses.
* Update requirements_all
* Set up Circleci workflow
* Update python tag
* Add pre-test job to cache the requirements
* Upgrade pip itself
* Use 3.7 for lint
* Parallelize pylint
* Tweak run gen_requirements_all
* tweak cache key
* Add circleci support
* Add buildpack-deps
* Install libudev-dev
* sudo
* always run test
* Add test report
* no sugar
* quite pytest
* better junit test result
* Add $CODE_COVERAGE env var
* Dont use DATA_ROOM_SETPOINT_OVRD in climate.opentherm_gw as it is unreliable with some thermostats.
* Show new target temperature immediately until the backend notices a change
* Only update target temp on the gateway if the value differs from the current target_temperature.
* Add mobile_app notify platform
* Requested changes
* Fix incorrect param for status code
* Move push_registrations to notify platform file
* Trim down registration information sent in push
* quotes
* Use async version of load_platform
* Add warning for duplicate device names
* Switch to async_get_service
* add mobile_app.notify test
* Update tests/components/mobile_app/test_notify.py
* Update tests/components/mobile_app/test_notify.py
* Add mobile_app notify platform
* Requested changes
* Fix incorrect param for status code
* Move push_registrations to notify platform file
* Trim down registration information sent in push
* quotes
* Use async version of load_platform
* Add warning for duplicate device names
* Switch to async_get_service
* add mobile_app.notify test
* Update tests/components/mobile_app/test_notify.py
* Update tests/components/mobile_app/test_notify.py
* Rebrand Cisco Spark notify to be Cisco Webex Teams
* Remove property from class
* Switch to use html for api
* Update notify.py
* Rename CONF_ROOMID to CONF_ROOM_ID
* updated
* Fix lint errors
* Update notify.py
* Update notify.py
* Also validate room ID
* Update notify.py
* Update .coveragerc
* Update notify.py
* Dont use DATA_ROOM_SETPOINT_OVRD in climate.opentherm_gw as it is unreliable with some thermostats.
* Show new target temperature immediately until the backend notices a change
* Only update target temp on the gateway if the value differs from the current target_temperature.
* Update Foscam to support stream source
* Removing spaces and tabs
* Changing to Python3-style string formatting
* Adding '_media_port' to hopefully cover other models
* changing logic for success and return none
* Update Foscam to support stream source
* Removing spaces and tabs
* Changing to Python3-style string formatting
* Adding '_media_port' to hopefully cover other models
* [Hue API] Add color support
Adds color support to the hue api (specifically hue/saturation). Switched from using a tuple to convey state internally to using a dict to make adding new fields easier.
* [Hue API] Add unit test for color support
* Rewrite Osram Lightify component
* Update python-lightify version to 1.0.7.2
* Remove unneeded code
* 1. Remove changes in light/__init__.py, 2. Set properties to None by default
* Fix typo
* Implement missing features (including scenes)
* Make input parameters to setup_platform standardized
* Discovery can update host on existing entries
* Add support in device to update host on entry update
* Fix tests and listener
* Fix hound comment
* Fix failing tests from cleanup
* Update Foscam to support stream source
* Removing spaces and tabs
* Changing to Python3-style string formatting
* Adding '_media_port' to hopefully cover other models
* changing logic for success and return none
* Use latest client library, evohomeclient v0.3.1
* Fix issue #22097: Failed to call service climate/turn_on...
* BUGFIX: handle case where a Zone doesn't have a temperature
* BUGFIX: missing exception handler, and inappropriate delint hints
* Improve exception handling, and also better messages
* improve code (REDACT secrets); remove TODOs
* minor refactor - improve error message
* more refactoring - improve error message
* remove TODOs
* update to latest evohomeclient library
* Use latest client library, evohomeclient v0.3.1
* Fix issue #22097: Failed to call service climate/turn_on...
* BUGFIX: handle case where a Zone doesn't have a temperature
* BUGFIX: missing exception handler, and inappropriate delint hints
* Improve exception handling, and also better messages
* improve code (REDACT secrets); remove TODOs
* minor refactor - improve error message
* more refactoring - improve error message
* remove TODOs
* update to latest evohomeclient library
* fix requests for houndci-bot
* Tidy up requests exception handling
* Correct lint error
* update to latest client library
* minor de-lint
* more cleanup of exceptions, messages
* refactored for new exception
* fix error in requirements*_all.txt
* de-lint
* delint unused import
* import 3rd-party library only inside methods
* change honeywell tests
* delint, fix typo
* we dont log usernames, passwords, etc.
* de-lint
* Amcrest: Add on/off support & attributes to camera entity. Bump amcrest package to 1.3.0.
Add support for turn_on & turn_off services.
Add implementation of is_recording method, as well as brand, model, hardware_version, machine_name, serial_number, software_build and software_version attributes.
Bump amcrest package to 1.3.0 required for above changes and also handles errors in storage commands which resolves#19982.
* Update per review
Rebase to upstream/dev.
Remove video_enabled property and setter and replace with _enable_video_stream
method.
Remove static attributes from camera and sensors.
* initial commit
initial commit
rewrite tests
fix merge issue with fan component
fix merge issue with fan component
* correct line length
* change to sync_setup_component for tests
* rename services and move services.yaml
* move hepa and carbon filter state from sensor to fan
* add test for duplicate entities
* fix method call tests
* fix docstring
* Add select source support
* Review feedback changes
* Removed unused import
* Ignore 'umused' import used in typing
* Only include trace back on useful errors
* Remove return from play_source
self._brightness max is 255 and hsv brightness max is 100. Assigning 255 based brightness value directly with 100 based hsv reduces brightness eventually to zero.
## Description:
Adds a new `mobile_app` webhook command, `get_zones`, which just returns all zones.
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
* Update Onvif component to SUPPORT_STREAM
* Update camera.py
* Update camera.py
* Update camera.py
Remove extra spaces.
* lookup URL when camera is added to hass and add extra guards
* Add permission checking to all RainMachine services
* Linting
* Some initial work
* Owner comments
* Test in place (I think)
* Linting
* Update conftest.py
* Update Onvif component to SUPPORT_STREAM
* Update camera.py
* Update camera.py
* Update camera.py
Remove extra spaces.
* lookup URL when camera is added to hass and add extra guards
* Also retry Influxdb at setup()
* Use event.call_later() for retry setup Influxdb
* Fix max line length in setup() in Influxdb
* Add extra space before comment
* Fix sec -> seconds and add return True
* Code Cleanup
- removed unused constants
- more icons on binary_sensor groups
- alligned code for device_state_attributes
- fixed temperature unit origin for weather
* removed icons
* Update Foscam to support stream source
* Removing spaces and tabs
* Changing to Python3-style string formatting
* Adding '_media_port' to hopefully cover other models
* Added transition support for nanoleaf
* Formatting for comments
* Inline comment instead of additional line
* Set color_temp before starting transition
* Option to send pin code with the MQTT payload for MQTT alarm
* publish code via json
Add publish code via json
add code_disarm_required
* publish code via json
Add publish code via json
add code_disarm_required
* implemented command_template
* Fix issue with night arm and add template test
* implemented value_template for mqtt alarm
* Fixed merge errors
* Requested changes
* Resolve lint errors
* Resolve hound issues
* Fix test formatting
* Set up Circleci workflow
* Update python tag
* Add pre-test job to cache the requirements
* Upgrade pip itself
* Use 3.7 for lint
* Parallelize pylint
* Tweak run gen_requirements_all
* tweak cache key
## Description:
Fix a lint issue in credstash script.
**Related issue (if applicable):** fixes #<home-assistant issue 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
```
## Checklist:
- [ ] The code change is tested and works locally.
- [ ] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [ ] There is no commented out code in this PR.
If user exposed functionality or configuration variables are added/changed:
- [ ] 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 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/__init__.py#L14
[ex-import]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L23
## Description:
Fix a lint issue in credstash script.
**Related issue (if applicable):** fixes #<home-assistant issue 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
```
## Checklist:
- [ ] The code change is tested and works locally.
- [ ] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [ ] There is no commented out code in this PR.
If user exposed functionality or configuration variables are added/changed:
- [ ] 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 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/__init__.py#L14
[ex-import]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L23
* Add circleci support
* Add buildpack-deps
* Install libudev-dev
* sudo
* always run test
* Add test report
* no sugar
* quite pytest
* better junit test result
* Add $CODE_COVERAGE env var
* Split out mopar into a component and sensor platform
* Add the mopar switch platform
* Add the mopar lock platform
* Clean up and bump version
* Update per review
* Re-add service to trigger horn
* Clean up again
* Don't call async from sync context
* Lint
* Implement changes from review
* Lint
* A little more clean up
* The Great Migration
* removed outdated tests
* Upgraded enturclient to v0.2.0
- client has gone async
- configurable if non boarding departures should be omitted from result
- configurable how many departures should be shown
- more clear which attributes are included and when
* reduced nesting and clearing of attributes
* Removed test data
* ensure attribution and stop id in attributes
* docstring fixes
* fix rebase errors
went a bit too fast on continue on one of the conflicts..
* fix test requirements comment from gen
* Remove check for public key
* Remove has_adb_files, directly call cv.isfile
* Check for missing adbkey.pub, create dummy if not found
* Reorder imports
* Bumped androidtv library version, deactivated pubkey test
* Code works without pubkey, removed function
* Removed "import os", not needed anymore
* Bump library version
## Description:
Current sensor updates run 7 additional SQLite database queries to populate attributes, on top of the bus schedule queries themselves. Double that if you have two sensors. That leads to a lot of slowdowns for everything else when using an SD card!
Considering that some data never changes (agency, routes...) and that others like departure times are good until invalidated, let's fetch such metadata at first then only when relevant changes do occur.
**Breaking Change:**
GTFS sensor attributes are now named using the standard snake_case format.
### Work performed:
- All metadata queries are now cached.
- Metadata queries are now all regrouped in the `update()` method.
- Attributes assembling is now done in ~~`device_state_attributes()` where it belongs.~~ in a utility method called from `update()`, for code clarity and since there is potential I/O from SQLAlchemy.
- As a bonus, many metadata entries with cryptic values have complementary entries added that provide easier to use data:
- .\* Stop Drop Off Type: .\* Stop Drop Off Type **State** -> (string, unknown)
- .\* Stop Pickup Type: .\* Stop Pickup Type **State** -> (string, unknown)
- .\* Stop Timepoint: .\* Stop Timepoint **Exact** -> boolean
- .\* Station Location Type: .\* Station Location Type **Name** -> string
- .\* Wheelchair Boarding: .\* Wheelchair Boarding **Available** -> (boolean, unknown)
- Route Type: Route Type **Name** (string)
- Trip Bikes Allowed: Trip Bikes Allowed **State** -> (boolean, unknown)
- Trip Wheelchair Access: Trip Wheelchair Access **Available** -> (boolean, unknown)
- Attribute names are now using snake_case.
- Added type hints.
**Related issue (if applicable):** fixes#21222
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
* Remove unused hass parameter for SolarEdgeData
* Add factory to create different types of sensors
Rename SolarEdgeSensor to SolarEdgeOverviewSensor
Rename SolarEdgeData to SolarEdgeOverviewDataService
Remove unused hass parameter in SolarEdgeOverviewDataService
* Add SolarEdgeDetailsDataService to retrieve details data
Add SolarEdgeDetailsSensor to report details data
Add abstract class SolarEdgeSensor
Add details sensor types
* Combine multiple details sensor into one sensor with attributes
* Fix pylint and flake8 errors
* Resolve conflict with solaredge component update
* Add SolarEdgeInventoryDataService to retrieve inventory information
Add SolarEdgeInventorySensor to view inventory information
Add inverters to monitored_conditions
* Fix pylint and flake8 errors
* Add additional monitored variables for solaredge
* Add new sensors to solaredge component
* Add SolarEdgePowerFlowDataService
Add SolarEdgePowerFlowSensor
Add new monitored_conditions for power consumption and grid, load and
solar power production/consumption
* Set entity_id for each sensor based on platform and sensor type
* Fix flake8 and pylint errors
* Add check for connections in return data
* Fix pylint and flake8 errors
* Renamed state_attributes to device_state_attributes
Moved request import to top
* Remove explicit definition of entity_id
* Fix pylint and flake8 errors
* Add check for None before adding sensor
* Update SolarEdgeSensorFactory with initial dict which maps sensor_key to
entity class and data service
* Update attribute values to snakecase
Added stingcase as requirement
* Update requirements_all.txt to include stringcase for solaredge
* Update some initial values for data and unit_of_measurement
Update sensor factory
* Improve fix in c90f0d5 (#22106). Schedule connect coroutine directly on the loop rather than waiting for EVENT_HOMEASSISTANT_START.
* Remove unused import.
## Description:
For RTSP streams, set the `prefer_tcp` FFMPEG flag. This should resolve some of the "green feed" issues that some users are reporting, likely due to packets being lost over UDP on their network.
Resources: [FFMPEG protocols documentation](https://ffmpeg.org/ffmpeg-protocols.html#rtsp)
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
* initial commit for camera preferences and preload stream
* cleanup and add tests
* respect camera preferences on each request stream call
* return the new prefs after update
* Set default parallel_update value should base on async_update
* Set default parallel_update value should base on async_update
* Delay the parallel_update_semaphore creation
* Remove outdated comment
* Add import_events(), small refactoring, traccar_id
I isolated the code that imports traccar tracking data and added a new function that imports the traccar events to make them run in parallel and reduce delay. The events that are imported in hass, will be fired with the prefix "traccar_". Furthermore a traccar_id is now imported in hass entities, useful for matching the traccar hass entities with the traccar hass events in the most accurate way.
* bump pytraccar version
* Code format fix
* Code format fix 2
* Code format fix 3
* Implement requested changes
* Add new traccar dependency
* Fix line too long
* Update device_tracker.py
* Update requirements_all.txt
Catch RequestException instead of ConnectionError
In some cases TpLinkDeviceScanner throws various successors of
RequestException. They should be caught.
* Allow panels to indicate they are meant for admins
* Panels to indicate when they require admin access
* Do not return admin-only panels to non-admin users
* Fix flake8
## Description:
This is a follow up to #22171. There we set the name of an entity based on the `accessory-information` homekit service, rather than using the zeroconf/avahi name metadata. Unfortunately Lock also sets its name from zeroconf directly, rather than picking it up from the base class. This test updates it to be like the other homekit entities and use the base class.
(This is from my ongoing homekit_controller configentry branch).
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
* removed "from" parameter from ClickSend API call
Removed "from" parameter from API call to let ClickSend choose a random number and be more compliant with some cellular networks that do not allow incoming calls from the same recipient number.
* fixed "line too long (94 > 79 characters)" houndci code review
fixed "line too long (94 > 79 characters)" houndci code review
* Added new component optional parameter "caller".
If defined is used to override default logic that uses recipient phone number in "from" API call parameter
* Removed default value for CALLER parameter. If not defined then will take the RECIPIENT value.
* ecobee: expose detailed equipment status
* Fix#18244 for ecobee by moving current_operation property to current_operation_mode which is more accurate and defining current_operation properly, thanks @ZetaPhoenix
* fix docstring and lint issue
* Revert "fix docstring and lint issue"
This reverts commit d3a645f075.
* Revert "Fix #18244 for ecobee by moving current_operation property to current_operation_mode which is more accurate and defining current_operation properly, thanks @ZetaPhoenix"
This reverts commit bfd90551ef.
* Check if mac is set when more than 2 gateways
When more than 2 gateways mac is required for each of them. Now voluptuous will require it.
* fix line length
* remove trailing whitespace
* Make it more readable
## Description:
Add support for AC-models that follows the Tfiac protocol. Built together with @mellado.
**Pull request in [home-assistant.io](https://github.com/home-assistant/home-assistant.io) with documentation (if applicable):** home-assistant/home-assistant.io#8910
## Example entry for `configuration.yaml` (if applicable):
```yaml
climate:
platform: tfiac
host: 192.168.10.26
```
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
If user exposed functionality or configuration variables are added/changed:
- [x] 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:
- [x] New dependencies have been added to the `REQUIREMENTS` variable ([example][ex-requir]).
- [x] New dependencies are only imported inside functions that use them ([example][ex-import]).
- [x] New or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`.
- [x] New files were added to `.coveragerc`.
[ex-requir]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L14
[ex-import]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L23
Co-authored-by: Robbie Trencheny <me@robbiet.us>
* Properly connect sensors to hub
Refs #20958
* Don't connect (merge) with main device
* Provide manufacturer
* Linting
* Do connect upnp-sensors to main device
* Linting
* Fix requirements_all.txt
* Turn the TV on via remote
* Turn the TV on via remote
* Use turn_on() from panasonic-viera==0.3.2
* make power option configurable
* add app_power as argument
* formatting
## Description:
For RTSP streams, set the `prefer_tcp` FFMPEG flag. This should resolve some of the "green feed" issues that some users are reporting, likely due to packets being lost over UDP on their network.
Resources: [FFMPEG protocols documentation](https://ffmpeg.org/ffmpeg-protocols.html#rtsp)
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
* Initial draft
* Add tests for init
Fix hound comments
* Add tests for device
Change parameter handling to make device easier to test
* Remove superfluous functionality per Martins request
* Fix hound comments
* Embedded platforms
* Fix device import
* Config flow retry
* Options default values will be set automatically to options in config entry before component can be used
* Clean up init
Add populate options
Fix small issues in config flow
Add tests covering init
* Improve device tests
* Add config flow tests
* Fix hound comments
* Rebase miss
* Initial tests for binary sensors
* Clean up
More binary sensor tests
* Hound comments
* Add camera tests
* Fix initial state of sensors
* Bump dependency to v17
* Fix pylint and flake8
* Fix comments
## Description:
Passing in a configuration for the embedded MQTT server has been broken for a while. This fixes that. See related issue number for further details.
**Related issue (if applicable):** fixes#18228
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
## Description:
Switches elevation helper to use [Open Elevation](https://open-elevation.com/) instead of Google Maps API which now requires a API key. It's a drop in replacement for Google Maps too!
**Related issue (if applicable):** fixes#19860
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
## Description:
Sort the code oweners list alphabetically.
**Related issue (if applicable):** fixes #<home-assistant issue 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
```
## Checklist:
- [ ] The code change is tested and works locally.
- [ ] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [ ] There is no commented out code in this PR.
If user exposed functionality or configuration variables are added/changed:
- [ ] 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 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/__init__.py#L14
[ex-import]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L23
## Description:
Fix Prometheus casting issues
**Related issue (if applicable):** fixes#8659.
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
* Return current position and last updated timestamp needed by UI
* Add throttling to position updating
* Simplify logic, don't clear position when refreshing
* Use seconds
* Update homeassistant/components/plex/media_player.py
Co-Authored-By: jjlawren <jjlawren@users.noreply.github.com>
* Add throttling to position updating
* Simplify logic, don't clear position when refreshing
* Fire events with websocket messages.
* Added tests to validate
* Fixed api_streams sensor to use new sensor
* Delete from coverageac as now works.
* Removed websocket request event.
* Use dispatcher instead of events.
* Moved sensor to under websocket_api
* Changes as per code review
* Fixed tests.
* Modified test
* Patch
* Bump python-miio version
* Rename speed property to motor_speed
* Enable set_led service of the Air Humidifier
* Allow a favorite level in [0...17]
* Allow a scene in [0...6]
* Fix breaking on HTML email without images
If using html emails with no images the code breaks since it is not tested for empty (uninitialized) key images.
* fixed long line
* Implemented suggested better solution
Better solution to allow data -> html email without images.
* Protecting data -> without html key from crashing
If the data key does not contain the html key, sending the email would crash this "script". Preventing this by returning an default empty array.
* Moved climate components with tests into platform dirs.
* Updated tests from climate component.
* Moved binary_sensor components with tests into platform dirs.
* Updated tests from binary_sensor component.
* Moved calendar components with tests into platform dirs.
* Updated tests from calendar component.
* Moved camera components with tests into platform dirs.
* Updated tests from camera component.
* Moved cover components with tests into platform dirs.
* Updated tests from cover component.
* Moved device_tracker components with tests into platform dirs.
* Updated tests from device_tracker component.
* Moved fan components with tests into platform dirs.
* Updated tests from fan component.
* Moved geo_location components with tests into platform dirs.
* Updated tests from geo_location component.
* Moved image_processing components with tests into platform dirs.
* Updated tests from image_processing component.
* Moved light components with tests into platform dirs.
* Updated tests from light component.
* Moved lock components with tests into platform dirs.
* Moved media_player components with tests into platform dirs.
* Updated tests from media_player component.
* Moved scene components with tests into platform dirs.
* Moved sensor components with tests into platform dirs.
* Updated tests from sensor component.
* Moved switch components with tests into platform dirs.
* Updated tests from sensor component.
* Moved vacuum components with tests into platform dirs.
* Updated tests from vacuum component.
* Moved weather components with tests into platform dirs.
* Fixed __init__.py files
* Fixes for stuff moved as part of this branch.
* Fix stuff needed to merge with balloob's branch.
* Formatting issues.
* Missing __init__.py files.
* Fix-ups
* Fixup
* Regenerated requirements.
* Linting errors fixed.
* Fixed more broken tests.
* Missing init files.
* Fix broken tests.
* More broken tests
* There seems to be a thread race condition.
I suspect the logger stuff is running in another thread, which means waiting until the aio loop is done is missing the log messages.
Used sleep instead because that allows the logger thread to run. I think the api_streams sensor might not be thread safe.
* Disabled tests, will remove sensor in #22147
* Updated coverage and codeowners.
* Consolidate
* Fix tests
* Update imports
* Fix import
* Use importlib because integration and package share name
* Fix more tests
* Update .coveragerc and CODEOWNERS
* Improve fix in c90f0d5 (#22106). Schedule connect coroutine directly on the loop rather than waiting for EVENT_HOMEASSISTANT_START.
* Remove unused import.
amcrest 1.2.7 now includes camera's configured RTSP port in generated URL. Necessary to make new stream component work correctly if camera does not use default RTSP port.
* Telegram_bot: Allow fetching data from unverified SSL endpoints (#22067)
This patch adds an extra option to the payload that describes the
resource to send to disable the SSL server verification when polling
data from URLs.
* Use the boolean interpretation of the variable directly
Co-Authored-By: nbarrientos <nacho@criptonita.com>
## Description:
**Related issue (if applicable):** fixes#21782
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
* Register devices into the registry
* Switch to device ID instead of webhook ID
* Rearchitect mobile_app to support config entries
* Kill DATA_REGISTRATIONS by migrating registrations into config entries
* Fix tests
* Improve how we get the config_entry_id
* Remove single_instance_allowed
* Simplify setup_registration
* Move webhook registering functions into __init__.py since they are only ever used once
* Kill get_registration websocket command
* Support description_placeholders in async_abort
* Add link to mobile_app implementing apps in abort dialog
* Store config entry and device registry entry in hass.data instead of looking it up
* Add testing to ensure that the config entry is created at registration
* Fix busted async_abort test
* Remove unnecessary check for entry is None
* Update location schema
* Generate a random device ID at registration time for later use with device_tracker.see
* Remove host name from device_tracker.see payload
* Drop consider_home from the payload
* Remove stale consider_home in schema
* Remove source_type
## Description:
**Related issue (if applicable):** fixes#21758
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
## Description:
**Related issue (if applicable):** fixes#21782
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
* Register devices into the registry
* Switch to device ID instead of webhook ID
* Rearchitect mobile_app to support config entries
* Kill DATA_REGISTRATIONS by migrating registrations into config entries
* Fix tests
* Improve how we get the config_entry_id
* Remove single_instance_allowed
* Simplify setup_registration
* Move webhook registering functions into __init__.py since they are only ever used once
* Kill get_registration websocket command
* Support description_placeholders in async_abort
* Add link to mobile_app implementing apps in abort dialog
* Store config entry and device registry entry in hass.data instead of looking it up
* Add testing to ensure that the config entry is created at registration
* Fix busted async_abort test
* Remove unnecessary check for entry is None
* Update location schema
* Generate a random device ID at registration time for later use with device_tracker.see
* Remove host name from device_tracker.see payload
* Drop consider_home from the payload
* Remove stale consider_home in schema
* Remove source_type
## Description:
**Related issue (if applicable):** fixes#21758
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
For example Discord webhooks returns a 204 success code as response, which gets logged as an error in the log, even though it is successful.
Update the allowed statuses to accept all 2xx responses as successful.
* Cleaned up named sensor handling for future
Breaking change for tellstick sensor configuration.
* Fixed linting of long lines and closing bracket
Linting warning for long line and not using best practice for visual indentation of closing bracket.
Who's a good boy..
* Whitespace on line was not cleaned.
* Removed spaces to clean up
* More.. whitespace. Sloppy.
* Constants from const, altered loops, added dictionary for sensor names.
* Fixed whitespace
* Inverted condition and created guard clause
* Changed condition from not ... in to not in.
* Fixed bad indentation on L91 and 92
* Working on adding androidtv functionality to firetv component
* 'should_poll' must return True
* Change 'properties' to 'device_properties'
* Also mention 'Android TV' in services.yaml
* Use GitHub for 'androidtv' requirement
* Add 'androidtv==0.0.10' to requirements, remove 'firetv==1.0.9'
* Add 'GET_PROPERTIES' adb command option; use pypi for REQUIREMENTS
* Rename integration from 'firetv' to 'androidtv'
* Change default name to 'Android TV'
* Rename integration from 'firetv' to 'androidtv'
* Change firetv to androidtv in .coveragerc
* Change firetv to androidtv in requirements_all.txt
* Remove 'DEFAULT_APPS'
* Update registration schema to add os_name (required) and make app_name required
* Ensure that a provided app_component is valid and available
* Ensure that component DEPENDENCIES declares mobile_app
* Update homeassistant/helpers/config_validation.py
* Standardize error responses
* Dont generalize REGISTER_BAD_COMPONENT
* Fix tests after merge
* bug fixing for MagicHome LEDs with flux_led component.
* corrections of the fixes for flux_led
* now asyncio sleep and turn on with brigthness possible
* indention fix with flux_led
* async now works
* houndci fixes
* little fixes for flux_led
* self._color fix for flux_led
* Add docstring
Assume a snapshot state with three speakers in two groups, AB and C. They will
be playing the A and C queues, respectively. The B queue exists but is hidden
in this topology.
Unjoin B and form a new group BC, playing the B queue (now with the C queue
hidden).
To restore the snapshot we would join B back to A. The BC group would now only
contain the C speaker, still playing the B queue. The C queue has been lost :-(
The problem is that unjoining a coordinator will elect a new coordinator that
inherits the group queue and thus has its hidden queue overwritten.
This commit avoids the situation by having restore unjoin all slaves. Above, C
would be unjoined before joining B to A. This restores the C queue and since B
is then alone, it can be joined to A without having to transfer its playing
queue to remaining speakers.
* initial commit of streams
* refactor stream component
* refactor so stream formats are not considered a platform
* initial test and minor refactor
* fix linting
* update requirements
* need av in tests as well
* fix import in class def vs method
* fix travis and docker builds
* address code review comments
* fix logger, add stream start/stop logs, listen to HASS stop
* address additional code review comments
* beef up tests
* fix tests
* fix lint
* add stream_source to onvif camera
* address pr comments
* add keepalive to camera play_stream service
* remove keepalive and move import
* implement registry and have output provider remove itself from stream after idle, set libav log level to error
Nanoleaf component now supports both nanoleaf lights, Aurora and Canvas
Changed the dependency to pynanoleaf, nanoleaf does not seem to be
maintained anymore
* Don't hang forever if manually added cast is down
* Adapt to pychromecast
* Do not set available until connected
* Update __init__.py
* Update requirements
* Lint, tests
* Fix tests
* Deprecated http.api_password
* Deprecated ApiConfig.api_password
GitHub Drafted PR would trigger CI after changed it to normal PR.
I have to commit a comment change to trigger it
* Trigger CI
* Adjust if- elif chain in auth middleware
## Description:
* Bump version to latest version of pyvlx: 0.2.10. Library more failure tolerant, when detecting an unsupported device.
* When calling API (e.g. run scene, change position) don't wait until device has reached target position (This caused HASS to be flaky while the device was moving)
* Support for vertical and horizontal awnings.
* timediff is of type timedelta. Divide by timedelta does not work.
- convert a timedelta to int
- make sure the test inputs real timestamps
* Convert the total_seconds to decimal and round the result
readings are of type Decimal, so fix test to reflect that
* split line into multiple statements
Line too long
* use total_seconds instead of timediff
* Make both values float instead of Decimal
* First webhook commands for getting and deleting single registrations
* Keep a list of deleted webhook IDs so we can 410 if the webhook receives traffic in the future
* Return a empty JSON object instead of None
* Split up mobile_app bits into individual files
* Add typing
* Sort keys
* Remove unused async_setup_entry
* New decorator method of registering webhooks
* Add tests for cloud hook forwarding and improve error handling for cloud hooks
* Initial implementation of platform specific logic
* Add get registrations by user ID websocket call, minor style fixes
* Stop using resp dictionary during registration
* Move mobile_app/ios.py to ios/mobile_app.py
* Log any errors encountered during webhook
* Improve update registration call
* Split up mobile_app tests to match split up component
* Fix tests
* Remove integration_map in favor of component name in registration
* Add a few helper functions for custom logic components to use
* Load the app_component platform at device registration or component setup time
* Remove extraneous function
* Use guard function for checking if component is in device
* Inline websocket schemas
* Rename ATTR_s used in storage to DATA_ prefix
* squash flake8 and pylint issues
* Remove ios.mobile_app platform
* Dont mark websocket_api as a dependency
* Return standard empty_okay_response with 400 if no JSON sent
* Ensure deleted webhook IDs are registered at launch
* Remove the creation of cloudhooks during handle_webhook
* Rename device to registration everywhere applicable
* Dont check if cloud is logged in, just check if cloud is in components
* Dont ever use cloudhook_id
* Remove component loading logic for a later PR
* Cast exception to string
* Remove unused functions
* fix empty TOPIC_BASE issue
if the value of the TOPIC_BASE is empty then we need to remove "~" from the topic value if it exists.
by doing `if base:` on line 239 the condition will be false if the value is empty so the '~' will not be stripped from the topic value.
I simply removed the `if base:` line and added `if TOPIC_BASE in payload:`
* Update homeassistant/components/mqtt/discovery.py
Co-Authored-By: engrbm87 <engrbm87@gmail.com>
* Quick return if attr is null
There are some case where attr is null. Returning null doesn't change anything (in my case this is mapped to a volume that doesn't exist, not sure what others are seeing).
If you have confirmed you hass instance for C instead of F you do not see this error.
* update == to is
* whitespace
* Move cisco me to new layout
* Add docstring
* Move items out of init method and pass the controller instance to the scanner in get_scanner
* Update homeassistant/components/cisco_mobility_express/device_tracker.py
Co-Authored-By: fbradyirl <fbradyirl@users.noreply.github.com>
* Update homeassistant/components/cisco_mobility_express/device_tracker.py
Co-Authored-By: fbradyirl <fbradyirl@users.noreply.github.com>
* Update homeassistant/components/cisco_mobility_express/device_tracker.py
Co-Authored-By: fbradyirl <fbradyirl@users.noreply.github.com>
* Update homeassistant/components/cisco_mobility_express/device_tracker.py
Co-Authored-By: fbradyirl <fbradyirl@users.noreply.github.com>
* Fix build error
* Cleanup based on comments.
* Add Time of Flight Sensor using VL53L1X
* Fix issues found by bot
* Fix issues from bot
* Remove extra logs
* Keep removing logs dependencies not used
* Remove log from update
* Add logger info to async_update
* Fix over-indented line
* Fix pylint error
* Remove logger reporting successful operation
* Update requirements
* Update requirements_all.txt
* Update requirements_test_all.txt
* Used isort to keep imports and added STMicroelectronics to docstring
* Replace time.sleep by asyncio.sleep
* Add requirements to COMMENT_REQUIREMENTS and fix typo
* Using async_add_executor_job to schedule the call in the pool
* Fix typo
* Optimize async_update
* Updated requirements files
* Group and schedule calls that should be run sequentially
* Fix lint errors
* Revision showing development history
* Cleaning and typos
* Cleaning and typos
* Fix wrong-import-order
* Fix gen_requirements_all
* Schedule rpi_gpio I/O on the executor thread pool
* Fix partial parameters
* Fix bot error - add blank line
* Fix lint error
* Remove dependencies from requirements
* Review initial commits
* Move all device I/O to async_update
* Update requirements_all.txt
* Revised header with no url to the docs
* Use async_added_to_hass to add and initialize the sensor
* Add docstring to init()
* Move sensor.open() to async_setup_platform
* Remove logging and async
* Fix typo
* Move sensor.open to safe initialization
* Fix typo
* Fix typo
* Add the new tof module to .coveragerc
* Move the sensor platform under a tof package
* Update .coveragerc and requirements_all for tof package
* Fix Name of Accesspoint if name is configured
* fix lint
* Simplyfied naming
* applied suggestion
Co-Authored-By: SukramJ <markus@mm-jankowski.de>
* update comment
* Fix Name of Accesspoint if name is configured
* fix lint
* Simplyfied naming
* applied suggestion
Co-Authored-By: SukramJ <markus@mm-jankowski.de>
* update comment
* Added updating alarm state after start of the HA. Still rough and dirty.
* Fixed initialization of the panel and binary sensor. Before cleanup.
* Added alarm clearing, linting fixes.
* Removed dead code, added style changes.
* Updated requirements
* Fixed linting errors.
* Fixed linting errors
* Fixed linter errors.
* Fixed hopefully last linter errors.
* Fixes after code review, imports sorted.
* Removed init debugging
* Start preparing for homekit_controller config entries
* Review feedback
* Review feedback
* Only use the vol.strip validator for pairing_code
* CV not required now
* Changes from review
* Changes after review
The REST notification component only allows 200 + 201 as a successful
response code to the submission. notify.me returns a 202 (Accepted)
response, which works fine but gets logged as a warning in the log.
Update the allowed statuses to treat the 202 as ok.
* Serialize snapshot commands and bump amcrest package to 1.2.4
Attempting to send a snapshot command when a previous one hasn't finished will result in warnings and/or errors. This can happen when the camera picture is clicked on in the frontend, resulting in the thread that updates the thumbnail in the background every 10 seconds to sometimes collide with the thread that updates the large picture in the foreground quickly. An automation that calls the camera.snapshot service in yet another thread can make the situation worse. Fix by adding a thread lock to serialize snapshot commands. Also bump the amcrest package to 1.2.4 which fixes error handling in the command method and improves performance by reusing requests sessions.
* Update amcrest package to 1.2.4
* Initial pass of a mobile_app component
* Fully support encryption, validation for the webhook payloads, and other general improvements
* Return same format as original API calls
* Minor encryption fixes, logging improvements
* Migrate Owntracks to use the superior PyNaCl instead of libnacl, mark it as a requirement in mobile_app
* Add mobile_app to .coveragerc
* Dont manually b64decode on OT
* Initial requested changes
* Round two of fixes
* Initial mobile_app tests
* Dont allow making registration requests for same/existing device
* Test formatting fixes
* Add mobile_app to default_config
* Add some more keys allowed in registration payloads
* Add support for getting a single device, updating a device, getting all devices. Also change from /api/mobile_app/register to /api/mobile_app/devices
* Change device_id to fingerprint
* Next round of changes
* Add keyword args and pass context on all relevant calls
* Remove SingleDeviceView in favor of webhook type to update registration
* Only allow some properties to be updated on registrations, rename integration_data to app_data
* Add call service test, ensure events actually fire, only run the encryption tests if sodium is installed
* pylint
* Fix OwnTracks test
* Fix iteration of devices and remove device_for_webhook_id
* Add SmartThingsAccelCluster to binary_sensor
* Make corrections per discussion with @dmulcahey
* Add missing const to gateway.py
* Remove Acceleration from no sensor
* mvp basic temperature sensor support
* support for DHT temperature & humidity
* add support for ds18b20 sensors
* improve resolution of device settings
* update requirements_all.txt
* re-organize new file
* don't use filter(lambda: syntax
* set unique_id on entities to allow renaming in the UI
* leverage base Entity module to do C to F conversion
* add option for setting poll_interval
* use handler pattern to handle updates from Konnected device
* cleanups from code review
* node descriptor implementation
add info to device info
disable pylint rule
check for success
* review comments
* send manufacturer code for get attr value for mfg clusters
* ST report configs
* do zdo task first
* add guard
* use faster reporting config
* disable false positive pylint
* fix derived rate, fixes#20097
* fix derived rate, fixes#20097
* Fix typo
thnx @amelchio
* Make the test more realistic
Took values from my own smart meter for the test
* Update test to ignore rounding issues
* climate/netatmo: Added support for muletiple thermostats/valves
* Adjusted the update interval throttle to 10 seconds
* Avoid returning 'homes' without 'therm_schedules'
* Requires home to have 'modules' as well as 'therm_schedules'; Using pyatmo 1.7
* Support multiple homes
* Fix nest level too deep issue
* Fix crashing bug when discovery is true
* Fix crashing bug when discovery is true
* Modifications according to review comments
* Resolve format issue
* Fix mode name issue
* Revisions according to review's suggestions
* Revisions according to review's comments
* Revisions according to review's comments
* Update requirements
Updated requirements
* Small bump for aioharmony
Small version bump increase for aioharmony
* Add attributes
Add firmware and config version attributes
* Add hold for button press on send_command
* Fix requirements file
For some reason aioharmony ended up in there as a duplicate. Fixed it.
* Revert rebase changes
Revert some changes that should have been reverted back as part of rebase.
* Updated based on review
Removed HOLD_SECS from platform schema (configuration)
Updated getting kwargs in async_send_command
Updated debug log to include delay_secs
* do not report on 0x1000 LightLink cluster
* don't flood Zigbee network during configuration or initialization
* add lifeline of 60 minutes to lights
* use ootb polling
* Change dependency to pyvesync-v2 for vesync switch
* Update requirements_all.txt
* Update Version - Wall Switch Support
Update required version for vesync outlets and switches. Eliminate API call for energy usage for wall switches that do not have that feature
* fix name convention
* Initial pass of a mobile_app component
* Fully support encryption, validation for the webhook payloads, and other general improvements
* Return same format as original API calls
* Minor encryption fixes, logging improvements
* Migrate Owntracks to use the superior PyNaCl instead of libnacl, mark it as a requirement in mobile_app
* Add mobile_app to .coveragerc
* Dont manually b64decode on OT
* Initial requested changes
* Round two of fixes
* Initial mobile_app tests
* Dont allow making registration requests for same/existing device
* Test formatting fixes
* Add mobile_app to default_config
* Add some more keys allowed in registration payloads
* Add support for getting a single device, updating a device, getting all devices. Also change from /api/mobile_app/register to /api/mobile_app/devices
* Change device_id to fingerprint
* Next round of changes
* Add keyword args and pass context on all relevant calls
* Remove SingleDeviceView in favor of webhook type to update registration
* Only allow some properties to be updated on registrations, rename integration_data to app_data
* Add call service test, ensure events actually fire, only run the encryption tests if sodium is installed
* pylint
* Fix OwnTracks test
* Fix iteration of devices and remove device_for_webhook_id
* Add support for separate on/off ids on manual configured IHC lights.
This makes it easier to support IHC code units thats relies on being
turned on and off through specific inputs.
Also adds a pulse service (ihc.pulse) that supports sending a short on/off pulse to an IHC input.
* Fix
* Lint fix
* Add on/off id support in switch
* Make pulse async
* Code review fixes
* Added value_template config for parsing json value from state topic
Added arm_code_required to avoid code enter when arming
* Renamed config parameter to code_arm_required
* Fix for discovery update compatibility
* Fixed lint error
* Added test
* Register 'media_player.firetv_adb_cmd' service
* Wrap the 'firetv_adb_cmd' service with 'adb_decorator'
* Address reviewer comments
* Move firetv to its own platform
* Move 'adb_command' service description
* Rename DOMAIN to FIRETV_DOMAIN
* Import KEYS in __init__ method
* Change 'self.KEYS' to 'self.keys'
* Update firetv in .coveragerc
* 'homeassistant.components.media_player.firetv' -> 'homeassistant.components.firetv'
* 'homeassistant.components.firetv' -> 'homeassistant.components.firetv.media_player'
<!-- What is breaking and why we have to break it. Remove this section only if it was NOT a breaking change. -->
## Description:
**Related issue (if applicable):** fixes #<home-assistant issue 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>
**Pull request with documentation for [home-assistant.io](https://github.com/home-assistant/home-assistant.io) (if applicable):** home-assistant/home-assistant.io#<home-assistant.io PR number goes here>
## Example entry for `configuration.yaml` (if applicable):
```yaml
@@ -14,18 +18,18 @@
- [ ] The code change is tested and works locally.
- [ ] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
- [ ] There is no commented out code in this PR.
- [ ] I have followed the [development checklist][dev-checklist]
If user exposed functionality or configuration variables are added/changed:
- [ ] 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 or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`.
- [ ] New files were added to `.coveragerc`.
- [ ][_The manifest file_][manifest-docs] has all fields filled out correctly. Update and include derived files by running `python3 -m script.hassfest`.
- [ ] New or updated dependencies have been added to `requirements_all.txt` by running `python3 -m script.gen_requirements_all`.
- [ ]Untested files have been added to `.coveragerc`.
If the code does not interact with devices:
- [ ] Tests have been added to verify that the new code works.
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.
"single_instance_allowed":"Solo se permite una \u00fanica configuraci\u00f3n de AdGuard Home."
},
"error":{
"connection_error":"Error al conectar."
},
"step":{
"hassio_confirm":{
"description":"\u00bfDesea configurar Home Assistant para conectarse a la p\u00e1gina principal de AdGuard proporcionada por el complemento Hass.io: {addon}?",
"title":"AdGuard Home a trav\u00e9s del complemento Hass.io"
},
"user":{
"data":{
"password":"Contrase\u00f1a",
"port":"Puerto",
"ssl":"AdGuard Home utiliza un certificado SSL",
"username":"Nombre de usuario",
"verify_ssl":"AdGuard Home utiliza un certificado adecuado"
},
"description":"Configure su instancia de AdGuard Home para permitir la supervisi\u00f3n y el control."
"single_instance_allowed":"N\u00ebmmen eng eenzeg Konfiguratioun vun AdGuard Home ass erlaabt."
},
"error":{
"connection_error":"Feeler beim verbannen."
},
"step":{
"hassio_confirm":{
"description":"W\u00ebllt dir Home Assistant konfigur\u00e9iere fir sech mam AdGuard Home ze verbannen dee vum hass.io add-on {addon} bereet gestallt g\u00ebtt?",
"title":"AdGuard Home via Hass.io add-on"
},
"user":{
"data":{
"host":"Apparat",
"password":"Passwuert",
"port":"Port",
"ssl":"AdGuard Home benotzt een SSL Zertifikat",
"username":"Benotzernumm",
"verify_ssl":"AdGuard Home benotzt een eegenen Zertifikat"
},
"description":"Konfigur\u00e9iert \u00e4r AdGuard Home Instanz fir d'Iwwerwaachung an d'Kontroll z'erlaben.",
"ssl":"AdGuard Home \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 SSL",
"username":"\u041b\u043e\u0433\u0438\u043d",
"verify_ssl":"AdGuard Home \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442"
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.