## 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 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
* 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
* 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
* 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
## 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
* 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 d3a645f075f8a4017756f5eae05f00f05e2556cf.
* 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 bfd90551ef759b2c160d69da0778df89251e156b.
* 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'
* add device_info to device
* added checks
* Fixes based on feedback
* Fix spelling
* Simplified implementation
On homematicip devices and the ap are created
* small fix with device.id
* hub/ap device creation moved to __init__.py
* Fixed result handling
* fixes after review.
* Fix test
* Refactor async_turn_on() for ZHA Light.
Use "move_to_level_with_on_off" if brightness or transition attributes
are present in the service call data, otherwise issue "On" Zigbee
command.
Allow brightness of 0 for service call -- effectively turning the light
off.
Send color commands only after the light was turned on.
* Fix zha.light tests.
* Fix HomeKit missing humidity issue
When using HomeKit components, MiTemp BT's humidity state will not display in Home.app.
After Added home-assistant device class into property, this problem is solved.
* Add Device_Class_Battery to property
* Break long lines.
* Lint
* Add the destination stations to the attributes
* Add support for showing station on map
* Add option to exclude via connections
* Cleanup the live sensor
* Perform better checking against false i/o None values
* Add support for excluding vias
* Add more details for via trains
* Lint file
* Update logger level
* 🚜 Rewrite of Toon component
* 🔥 Removed manual state from list
* 👕 Addresses code review comments
* 🔥 Removes a log line that should not have been left behind
* 👕 Addresses linting warnings
* 👕 Addresses Hound CI warning
* 👕 Fixes small code styling issues
* ✨ Sets an appropriate SCAN_INTERVAL
* ✨ Sets min/max temperature for climate platform
* 👕 Makes imports more consistent with codebase
* 🚑 Fixes incorrect SCAN_INTERVAL value in climate platform
* 🚑 Uses OrderedDict for config_flow schema
* 👕 Adds return types for min/max temp
* 🚜 Refactors entities into their actual devices
* ⬆️ Updates toonapilib to 3.0.7
* 🚜 Refactors binary sensor state inversion
* 🚑 Fixes states of OpenTherm connection and Hot Tap Water
* ✨ Adds Boiler Preheat binary sensor
* ✨ Adds Toon Thermostat Program binary sensor
* ✨ Adds Boiler Modulation Level sensor
* ✨ Adds Daily Power Cost sensor
* 🔥 Cleanup of Toon Thermostat climate attributes
* 🚜 Adjusts config_flow with Tenant selection
* 🙋 Adds myself to codeowners file as maintainer
* ⬆️ Gen requirements
* ⬆️ Updates toonapilib to 3.0.9
* ☔ Adds config_flow tests
* Add additional device classes to Cover component; Add SmartThings cover platform; Improve lock test coverage
* Enhance cover platform to support position and battery level reporting.
* Add additional classes
* Removed device class descriptions
* Updates based on review feedback
* Add test case for closed
* Bump firetv to 1.0.8
* Update the 'update' function for Fire TV
* Return None for properties when unavailable
* Remove 'self.adb_lock' attribute
* Remove threading import
* Update configuration for Fire TV component
* Clarify 'python-adb' vs. 'pure-python-adb'
* Rename '__adb_decorator' to '_adb_exception_catcher'
* Don't check 'self._available' in properties
* Bump firetv to 1.0.9
* Switch to SCAN_INTERVAL instead of throttle
This allows forced update of state
* Don't change tv on/off state in services
* Drop unused variables
* Only send mute if different from current state
* No need to update variables, will behandled on update
* Drop unused import
The Velux ACTIVE gateway uses `C#` rather than `c#` as the name of
the property that holds the count of accessories. Apple's HomeKit docs
suggest that properties should be case-insensitive, so update the
code to not assume the property names are lower case.
* Generate new sensors for discogs:
- Generate collection sensor
- Generate wantlist sensor
- Generate random record sensor
- Removes the option to set a name
* Make it so name can still be configured
* Fix invalid syntax
* Use shared data object + 1 sensor
* Linting
* Remove straying comment
* Dont use async for non-async stuff
* Don't use separate list for conf already in dict
* Use consts for keys
* Copy dict to list for sensors
* Fix syntax for computed keys in SENSORS dict
* Adding custom and zone cleaning to Neato Vacuums
* Fixing line length and missing imports
* Line too long
* Adding details to the custom service
* Fix linting issues
* Reverting ACTION
* Code cleanup
* Typo
* Requested modifications
* Changing the custom service domain
* No service schema depency anymore
* Removing useless code
* Linting
* Requested changes
* Requested changes for domain
* Revert the service domain back to vacuum
* Move iperf3 sensor to a standalone component
* Split out iperf3 into a component with a sensor platform
* Update coverage and requirements
* Add services.yaml
* Clean up a little bit
* Lint
* Lint
* * bump pip module version.
* moved named tuple into the module.
* pass SSL bool into the object init.
* support get_extra_attributes
* Update homeassistant/components/device_tracker/luci.py
* Allow the utility_meter to net meter rather than only allow increases.
* Fix PR issues around CI.
* Fix line length fallout.
* Change rollover to net_consumption. Add unit tests.
* Fix test style issues.
* Fix style in tests.
* Add LCN cover platform
* Removed unused default value
* Moved cover component to lcn platform directory. Small changes due to change request
* Closed state is set before updating
* Remove unneeded returns from handle_update()
* Start __init__() params with hass.
* Remove excess logging and downgrade remaining logging.
* Remove period from end of comment
* Decorate callback with @callback
* Use more descriptive variables than key and value.
* Inherit from BinarySensorDevice and overwrite is_on rather than state.
* Removed uncheckedreturn values.
* Use super() rather than explicit object.
* Use add_entities instead of add_devices.
* Don't use listener when calling immediately.
* Remove some excess logging.
* Switch to sync since pycarwings2 is sync.
* Remove RuntimeError exception matching.
* Add temporary reviewer comments.
* Add UI help descriptions for update service.
* Fix hound errors.
* Replaced time.sleep() with await asyncio.sleep()
* Removed location_updateon_on attribute since on device_tracker.
* Use async_added_to_hass() and async_dispatcher_connect().
* Use dict[key] because schema key is required.
* Clarify variable names.
* Remove icon for charging switch.
* Convert LeafChargeSwitch into service and sensor.
* Use async_dispatcher_send().
* Add guard checks for discovery_info. Consistent logs.
* Use async_schedul_update_ha_state().
* Device tracker should return true.
* Remove icon for climate control.
* Really remove icon for climate control.
* Use register() instead of async_register().
* Add guard on device tracker if discovery_info is None.
* {switch,light}.tplink: use deviceid as unique id, fetch name from the device during initialization
* raise PlatformNotReady when no device is available
* Use mac instead of deviceid
* remove name option as obsolete
* Add support for configuration flow / integration
Allows activating automatic discovery of supported devices from the configuration
* Fix linting, update requirements_all.txt
* start cleaning up tplink component based on feedback
* add device info, improve config handling
* Allow overriding detected devices via configuration file
* Update requirements.txt
* Remove debug logging
* make hound happy
* Avoid I/O during init and simplify the code, remove remains of leds_on
* Fix issues based on feedback, use consistent quotation marks for device info
* add async_setup_platform emiting a deprecation warning
* Avoid blocking the I/O, check for None on features
* handle some Martin's comments, schema-validation is still missing
* use async_create_task instead of async_add_job, let core validate the schema
* simplify configuration handling by storing the configuration data separately from initialized instances
* add default values to schema, make hound happy
* with defaults set by schema, simplify the checks. add async_unload_entry
* Use constant for data structure access
* REWORD add a short note about async_unload_entry
* handle feedback from Martin, config_data is checked against Noneness
* use pop to remove the domain on unload
* First steps to add tests for the new tplink component
* embed platforms under the component directory
* Fix tests by mocking the pyhs100 internals
* Fix linting
* Test against multiple instances of devices, tidy up
* (hopefully) final linting round
* Add pyHS100 to test requirements
* log always the warnings occured during an update to make them easy to see
* revert back the warning behavior (requirement for silver level in IQS)
* Unload only when an entry is being loaded and add tests for that
Thanks @MartinHjelmare for pointing this out!
* Fix linting
* Bump the upstream lib, fixes most prominently the HSV setting on bulbs
* Test unloading for all platforms, clear the data storage instead of popping it out, making it possible to reconfigure after removal without restarting hass first
* Use class variables instead of instance variables for bulb states, required for HS220
* Use new-style format string
* Fix indenting, uppercase the mock constant
* Run black on test_init, hopefully that will finally fix the weird formatting (pycharm, pylint and hound seems to have different opinions...)
* Add a prompt if bridge update is available.
* Change logger warning for light update
The self.light.swupdatestate only checks for updates of that specific light, it does not check for updates of the bridge.
Theirfore the warning message schould be updated.
* add space
* fix tests
* rename to swupdate2_bridge_state
* update aiohue to v1.9.1
* update aiohue to v1.9.1
* update aiohue to v1.9.1
* Fix for #19072
PR #19072 introduced the custom_effect feature but it didnt make it optional as the documentation states.
This causes error on startup and the component does not work.
```
Error while setting up platform flux_led
Traceback (most recent call last):
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity_platform.py", line 128, in _async_setup_platform
SLOW_SETUP_MAX_WAIT, loop=hass.loop)
File "/usr/lib/python3.5/asyncio/tasks.py", line 400, in wait_for
return fut.result()
File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
raise self._exception
File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
result = self.fn(*self.args, **self.kwargs)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/light/flux_led.py", line 135, in setup_platform
device[CONF_CUSTOM_EFFECT] = device_config[CONF_CUSTOM_EFFECT]
KeyError: 'custom_effect'
```
Changing this line to make the custom_effect optional as the original intention.
* Update flux_led.py
* Fix#20900: RSSI_PEER and RSSI_DEVICE are different things
This change is fixing issue #20900.
Wireless actors are having two RSSI values. The way the component was programmed one of them was overwritten.
* Added deprecation comment
* Fixed long line
* Fix: pylint comment
* Lint
* flake8
* flake8 again
* Update __init__.py
* Add traccar monitored_conditions option
User defined additional parameters to track from the traccar platform
* Version bump for pytraccar client
* Update traccar.py
* Remove default value
* Update homeassistant/components/device_tracker/traccar.py
Co-Authored-By: lapy <lapy@users.noreply.github.com>
* Update traccar.py
* Deprecate update_interval and replace with scan_interval
* Update tests
* Fix Darksky tests
* Fix Darksky tests correctly
This reverts commit a73384a223ba8a93c682042d9351cd5a7a399183.
* Provide the default for the non deprecated option
* Don't override default schema for sensors
* Add index parameter to scrape sensor
The scrape sensor selects the first element of the list returned by
BeautifulSoup. This commit adds an optional index parameter to allow the
selection of a different element from the list of results. To make this
a non-breaking change, if no index value is configured, the sensor
defaults to the previous behaviour of returning the first element.
* Set default value for index to avoid later checks
This sets the uvloop version in Docker containers to 0.11.3, which is the
same version that hass.io uses.
uvloop might be causing issues with some Docker containers on some host
systems, as reported in #20829
* Updated per review feedback.
* Fixed line length
* Review comments and lint error
* Fixed mypy typeing error
* Moved migration logic to setup
* Use new migration error state
* Fix bug and ignore mypy type error
* Removed SmartThings example and added unit tests.
* Fixed test comments.
* Improve component setup error logging/notification
* Prevent capabilities from being represented my multiple platforms
* Improved logging of received updates
* Updates based on review feedback
* Add switch platform for Danfoss Air and additional sensors.
* Solve lint issues.
* Correct style.
* Minor changes
* Minor changes
* Minor changes
* Update file header
* Remove space
* Remove space
* Added work so far.
* Change interval so nobody drains their battery when I put this online
* Added the warning notice.
* Async setup
* Still broken, but we're getting there.
* Back to synchronous, moved refresh stuff into DataStore
* Functional sensors!
* Added working switches, tweaked intervals a bit
* Fixed turn off result
* Moved plug status to binary_sensor, added smart intervals
* Documentation and car nickname stuff
* Syntax fixes and coveragerc additions
* Style fixes
* Fixing the final line length
* Fixed an issue with newer models and bad climate data
* Forgot to check my line endings.
* New icons for most of the components
* Hotfix for handling Nissan's awful servers
* Merge in fixes made by Phil Cole
Remove invalid FIXMEs and update TODOs
Fixes for pylint and test for CarwingsError exception rather than Exception
Flake8 fixes
Add pycarwings2 to requirements_all.txt
Add extra configuration documentation.
Use pycarwings2 from pip. Check server dates between requests.
Add sensor device class for battery.
Async conversion fixes
flake8 fixes and docstrings
Non-async charging is OK
Handle multiple cars in the configuration
Convert to async. Better imports for platforms
Fix scanning interval & prevent extra refreshes. async switchover
Check discovery_info to prevent load of platforms
Ensure update frequency is always above a minimum interval (1 min).
Platforms don't have return values
Use values() instead of items() when not using key
Use snake_case (LeafCore becomes leaf_core)
commit 418b6bbcc49cf2909aac85869440435410abf3fd
* Add pycarwings2 to requirements_all.txt
* Make stopping charge error an 'info'. Remove TODO.
* Request update from car after sending start charging command.
* Delay initial (slow) update for 15 seconds and make async
* Flake8 line length fixes
* Try to fix D401 'imperative mood' git diff tox errors
* Try to fix more D401 'imperative mood' tox errors
* Default interval of an hour in code, to match comments.
* Update to pycarwings2 2.3
* Update to pycarwings2 2.3 in requirements_all.txt
* Remove documentation, instead refering to home-assistant.io
* Remove unneeded dispatcher_send()
* Remove unneeded requirements comments
* Combine excess debugging.
* Remove single line method signal_components()
* Bump to version 2.4 of pycarwings2
* Remove unused dispatcher_send
* Simplify logging of LeafEntity registration
* Update requirements_all.txt
* Multiple changes
Increase timeout to 30 seconds
Only consider battery_status
Fix plugged in status
Better attempts at try/exception handling
* Fix line length
* Use pycarwings 2.5
* Remove pointless 'is True'
* Remove unnecessary 'is True/False'
* Remove unnecessary 'is True/False'
* Use LENGTH_MILES and LENGTH_KILOMETERS
* Remove excess logging in setup_platform()
* Remove unnecessary 'is True'
* Use pycarwings2 version 2.6
* Require pycarwings2 version 2.7.
* Increase sleep delay for climate and location reponses.
* Remove unnecessary 'is True'
* Increase frequent polling warning to _LOGGER.warning()
* Use DEVICE_CLASS_BATTERY
* Remove extraneous 'is True'.
* Move icon strings to constants.
* Remove unneeded key.
* LeafRangeSensor ac_on property is internal.
* Flake8 missing line
* Remove homebridge attributes.
* Remove round battery % and range to whole numbers
* Use pycarwings2 2.8
* Move to embedded component model
* Reduce maximum attempts to 10 (5 mins)
* Include attempt count in 'waiting' log message
* Use await instead of yield. Remove @asyncio.coroutine decorators.
* Add @filcole as nissan_leaf codeowner
* Fix checking for if not data returned from vehicle. Don't double send signal on location update.
* Exposed updated_on, update_in_progress and next_update attributes.
* Add nissan_leaf.update service that triggers an update.
* Flake8 line fixes
* Remove excess and double logging.
* Add updated_on attribute for device tracker.
* Fix crash if pycarwings2 doesn't provide cruising ranges.
* Minor changes
* Minor changes
* Minor changes
* Minor changes
* Minor changes
* First commit
* Times of the Day binary sensor added
* Python 3.5 fixes and logging removed
* Code refactored according to reviewer's suggestions
* Fixed config template with friendly name support
* Finall pep8 fixes
* Removed async_generate_entity_id and moved initial calculation to async_added_to_hass
* Change the configuration schema to follow the current requirements
* Update according latest suggestsion
* Fix typos and minor changes
* Fix lint issue
* initial working example of alarm_control
* fixes for alarm_control
* arm home is the same as arm away
* updated documentation
* final fixes
* pypoint version up
* fixes for Martin
* new weather component for meteofrance
* linting
* upgrade meteofrance package version
* Update .coveragerc
* Remove updates to the weather component architecture
* Rewrite Météo-France as a component
* Update .coveragerc
* Update requirements_all.txt
* remove Weather Card option
* Update conf name
Changing conf name to something more universal for worldwide weather forecast (postal code was only relevent for France)
* Update meteofrance pypi package
* fix line too long
* Update requirements_all.txt
* prevent from calling an API endpoint if not in monitored conditions
* fix stale url and remove blank line
* Insure that all cities are unique
* rename CONF_ATTRIBUTION
* Updating data from component setup
* fix missing extra lines
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.
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.