* Update to next version with enum states
* Change to generic dimmer class
* Update of requirement files
* Update to hmip lib to v0.9.7
* Missing update of requirements files
* Cleanup of icon properties
* Fix ZWave RGBW lights not producing color without explicit white_value (#13930)
* simplify conditional in previous commit (#13930)
* ZwaveColorLight - only zero _white if white_value not specified in call (#13930)
## Description:
More typing improvements.
Switch to using `mypy.ini` for flexibility
Add `warn_return_any` check except in `homeassistant.util.yaml` that does typing hacks. Fix some type annotations as resulting from this check and ignore others were fixing is hard.
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
## Description:
Make typing checks more strict: add `--strict-optional` flag that forbids implicit None return type. This flag will become default in the next version of mypy (0.600)
Add `homeassistant/util/` to checked dirs.
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
* Add HomematicIP security zone
* Update access point tests
* Fix state if not armed and coments
* Add comment for the empty state_attributes
* Fix comment
* Fix spelling
There are some devices that speak HomeKit that we shouldn't expose. Some
bridges (such as the Hue) provide reduced functionality over HomeKit and
have a functional native API, so should be ignored. We also shouldn't
offer to configure the built-in Home Assistant HomeKit bridge.
* support for tuya platform
* support tuya platform
* lint fix
* change dependency
* add tuya platform support
* remove tuya platform except switch. fix code as required
* fix the code as review required
* fix as required
* fix a mistake
* Added a "last update" sensor that could be used by automations + cosmetic changes
* Improved the update logic of sensor data
The platform is now continuously adjusting the refresh interval
in order to synchronize with the expected next update from the
NetAtmo cloud. This significantly improves reaction time of
automations while keeping the refresh time to the recommended
value (10 minutes).
* Linting
* Incorporated the advanced Throttle class to support adaptive
throttling, as opposed to integrating it in the core framework.
Following code review, it was suggested to implement the
specialised Throttle class in this platform instead of making a
change in the general util package. Except that the required change
(about 4 LoC) is part of the only relevant piece of code of that
class, therefore this commit includes a full copy of the Throttle
class from homeassistant.util, plus the extra feature to support
adaptive throttling.
* Cosmetic changes on the introduced "last updated" sensor
* Alternate implementation for the adaptive throttling
Ensure the updates from the cloud are throttled and adapted to the
last update time provided by NetAtmo, without using the Throttle
decorator. Similar logic and similar usage of a lock to protect
the execution of the remote update.
* Linting
* Add Cloudflare DNS component
* Removed man
* Update .coveragerc
* Update cloudflare.py
* Update cloudflare.py
* Changed records to be required
* Fix typos, update order and other minor changes
* Add sound mode support
* continuation line indent
* indentation
* indentation
* Remove option to configure sound_mode_dict
* Sound mode support
- removed the sound_mode_raw propertie because it was not used, (still available through self._sound_mode_raw (as device attribute for automations and diagnostics)
* Detect sound mode support from device
Removed the config option to indicate if sound mode is supported.
Added detection if sound mode is supported from the receiver itself.
Pushed denonavr library to V.0.7.4
* Pushed denonavr to v.0.7.4
* Add python 3.7 to travis and tox
* Use pyyaml from github
* Don't version constraints
* Fix version tag
* Change to new pyyaml release
* Python 3.7 requires xenial
* Fix namespace detection
* Use correct RegEx type
* Update pexpect to 4.6
* Use correct validation for dictionaries
* Disable Py37 incompatible packages
* Upgrade all pexpect to 4.6
* Add explicit None as default param
* Add HomematicIP Cloud to config flow
* Inititial trial for config_flow
* Integrations text files
* Load and write config_flow and init homematicip_cloud
* Split into dedicated files
* Ceanup of text messages
* Working config_flow
* Move imports inside a function
* Enable laoding even no accesspoints are defined
* Revert unnecassary changes in CONFIG_SCHEMA
* Better error handling
* fix flask8
* Migration to async for token generation
* A few fixes
* Simplify config_flow
* Bump version to 9.6 with renamed package
* Requirements file
* First fixes after review
* Implement async_step_import
* Cleanup for Config Flow
* First tests for homematicip_cloud setup
* Remove config_flow tests
* Really remove all things
* Fix comment
* Update picture
* Add support for async_setup_entry to switch and climate platform
* Update path of the config_flow picture
* Refactoring for better tesability
* Further tests implemented
* Move 3th party lib inside function
* Fix lint
* Update requirments_test_all.txt file
* UPdate of requirments_test_all.txt did not work
* Furder cleanup in websocket connection
* Remove a test for the hap
* Revert "Remove a test for the hap"
This reverts commit 968d58cba1.
* First tests implemented for config_flow
* Fix lint
* Rework of client registration process
* Implemented tests for config_flow 100% coverage
* Cleanup
* Cleanup comments and code
* Try to fix import problem
* Add homematicip to the test env requirements
* Added support to HTTPS URLs on SynologyDSM
* Bumped python-synology to 0.1.1
* Makes lint happy
* Added attribution to Synology and fixed 3rd library version
* Fixed requirements_all.txt
* Makes SynologyDSM defaults to 5001 using SSL
* Added push camera
* add camera.push
* Address comments and add tests
* auff auff
* trip time made no sense
* travis lint
* Mock dependency
* hound
* long line
* long line
* better mocking
* remove blank image
* no more need to mock dependency
* remove import
* cleanup
* no longer needed
* unused constant
* address @pvizeli review
* add force_update
* Revert "add force_update"
This reverts commit e203785ea8.
* rename parameter
* expose climate current temperature in prometeus metrics
* import ATTR_CURRENT_TEMPERATURE from climate instead of const
* remove duplicated ATTR_CURRENT_TEMPERATURE from const
* fix ATTR_CURRENT_TEMPERATURE import
* Added support for Duke Energy smart meters
* Fixed hound
* Added function docstring
* Moved strings to constants, implemented unique_id, and cleaned up setup.
* Added doc string.
* Fixed review issues.
* Updated pydukenergy to 0.0.6 and set update interval to 2 hours
* Updated requirements_all
## Description:
This feature adds possibly of setting tilt_position in scene for covers.
**Related issue (if applicable):** fixes #<home-assistant issue number goes here>
**Pull request in [home-assistant.github.io](https://github.com/home-assistant/home-assistant.github.io) with documentation (if applicable):** home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>
## Example entry for `configuration.yaml` (if applicable):
```yaml
scene:
- name: Close Cover Tilt
entities:
cover.c_office_north:
tilt_position: 0
- name: Open Cover Tilt
entities:
cover.c_office_north:
tilt_position: 100
```
## Checklist:
- [x] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated in [home-assistant.github.io](https://github.com/home-assistant/home-assistant.github.io)
If the code communicates with devices, web services, or third-party tools:
- [ ] New dependencies have been added to the `REQUIREMENTS` variable ([example][ex-requir]).
- [ ] New dependencies are only imported inside functions that use them ([example][ex-import]).
- [ ] New or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`.
- [ ] New files were added to `.coveragerc`.
If the code does not interact with devices:
- [ ] Tests have been added to verify that the new code works.
[ex-requir]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard.py#L14
[ex-import]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard.py#L54
## Description:
Switch to own packaged version of pylgnetcast
Request to make a pypi package didn't get any response: https://github.com/wokar/pylgnetcast/issues/1
**Related issue (if applicable):** #7069
* Force to use access_token if hass.auth.active
* Not allow Basic auth with api_password if hass.auth.active
* Block websocket api_password auth when hass.auth.active
* Add legacy_api_password auth provider
* lint
* lint
* Only create frontend client_id once
* Check user and client_id before create refresh token
* Lint
* Follow code review comment
* Minor clenaup
* Update doc string
* Only create frontend client_id once
* Check user and client_id before create refresh token
* Lint
* Follow code review comment
* Minor clenaup
* Update doc string
Previous commit d4f7dfa successfully fixed the bug in which lights
would not turn off if a transition was specified, however if 'bri' is not
present in the payload of the PUT request set to deCONZ, then any
'transitiontime' ends up being ignored. This commit addresses the
unintended side effect by reintroducing 'bri', resulting in the following
payload:
{ "on": false, "bri": 0, "transitiontime": ... }
* Force to use access_token if hass.auth.active
* Not allow Basic auth with api_password if hass.auth.active
* Block websocket api_password auth when hass.auth.active
* Add legacy_api_password auth provider
* lint
* lint
* Update nut.py
Added input.frequency and a number of output parameters.
* Update nut.py
Fixed formatting issues
Added "devices" fields
* Separated "device.description" line to two lines.
* Update nut.py
Removed device.* sensors
When light.turn_off is invoked with a transition, the following payload was
sent to deCONZ via PUT to /light/N/state:
{ "bri": 0, "transitiontime": transition }
However, on recent versions of deCONZ (latest is 2.05.31 at the time of
writing) this does not turn off the light, just sets it to minimum brightness
level (brightness is clamped to minimum level the light supports without
turning it off).
This commit makes the code send this payload instead:
{ "on": false, "transitiontime": transition }
This works as intended and the light does transition to the 'off' state.
This change was tested with Philips Hue colored lights, IKEA colored lights
and IKEA white spectrum lights: they were all able to be turned off
successfully with the new payload, and none of them could be turned off with
the old payload.
* Use new trusted_proxies setting for X-Forwarded-For whitelist
* Only use the last IP in the header
Per Wikipedia (https://en.wikipedia.org/wiki/X-Forwarded-For#Format):
> The last IP address is always the IP address that connects to the last proxy,
> which means it is the most reliable source of information.
* Add two additional tests
* Ignore nonsense header values instead of failing
* Address inconsistent behavior between different controllers.
Correct issue with comparison that was preventing white value slider from being shown.
* Add white mode for Flux LED
* Call _bulb.turnOn() after bulb properties have been set to prevent immediate on action
* Only use existing brightness if rgb is None to prevent unexpected recalculation of passed rgb values.
* Remove blank line
* Undo change so current brightness is used in all cases.
* Revert "Fix #14919. Should throw exception when camera stream closed by frontend (#15028)"
This reverts commit 508d0459a7.
* Revert "Fix pylintrc section order and option placements (#15120)"
This reverts commit dbae410cf4.
* Revert "Add storage helper and migrate config entries (#15045)"
This reverts commit ae51dc08bf.
* Revert "Add language to dark sky weather component (#15130)"
This reverts commit 672a3c7178.
* Add storage helper
* Migrate config entries to use the storage helper
* Make sure tests do not do I/O
* Lint
* Add versions to stored data
* Add more instance variables
* Make migrator load config if nothing to migrate
* Address comments
* Add discovery support to mqtt climate component.
* - Fix flake8 error (./homeassistant/components/climate/mqtt.py:130:1: D202 No blank lines allowed after function docstring)
- Fix test error (since climate component was expected not to work - changed it to "lock" component, which also does not have MQTT discovery support yet)
* Fix old assert statement to reflect new lock component usage
* Change invalid MQTT discovery component type from 'lock' to 'timer', since contrary to the documentation the lock component is properly supported when using MQTT discovery.
* Make configuration of invalid MQTT config component a single point of entry to prevent missing the assertion later in the code when changing.
* Add new testcases to cover not-yet-covered code paths in https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/climate/mqtt.py
* MQTT Alarm Control Panel: add retain option for publishing for cases where receiver is asleep
* MQTT Alarm Control Panel: add retain option for publishing for cases where receiver is asleep
* MQTT Alarm Control Panel: add retain option for publishing for cases where receiver is asleep
* Fix MQTT Light with RGB and Brightness
When an MQTT light is given an RGB and Brightness topic, the RGB
is scaled by the brightness *as well* as the brightness being set
This causes 255,0,0 at 50% brightness to be sent as 127,0,0 at 50%
brightness, which ends up as 63,0,0 after the RGB bulb has applied
its brightness scaling.
Fixes the same issue in mqtt, mqtt-json and mqtt-template.
Related Issue: #13725
* Add comment to mqtt_json as well
* Implement X10
* Add X10 after add_device_callback
* Ref device by id not hex and add x10OnOffSwitch name
* X10 services and add sensor device
* Correctly reference X10_HOUSECODE_SCHEMA
* Log adding of X10 devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct ref to X10 states vs devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct X10 config
* Debug x10 device additions
* Config x10 from bool to housecode char
* Pass PLM to X10 device create
* Remove PLM to call to add_x10_device
* Unconfuse x10 config and method names
* Correct spelling of x10_all_lights_off_housecode
* Bump insteonplm to 0.10.0 to support X10
* Fix MQTT Light with RGB and Brightness
When an MQTT light is given an RGB and Brightness topic, the RGB
is scaled by the brightness *as well* as the brightness being set
This causes 255,0,0 at 50% brightness to be sent as 127,0,0 at 50%
brightness, which ends up as 63,0,0 after the RGB bulb has applied
its brightness scaling.
Fixes the same issue in mqtt, mqtt-json and mqtt-template.
Related Issue: #13725
* Add comment to mqtt_json as well
* The monkeytype script takes an optional argument to specify a test
module or directory to run. Otherwise the whole test suite will run.
* Add monkeytype sqlite db to gitignore.
* Implement X10
* Add X10 after add_device_callback
* Ref device by id not hex and add x10OnOffSwitch name
* X10 services and add sensor device
* Correctly reference X10_HOUSECODE_SCHEMA
* Log adding of X10 devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct ref to X10 states vs devices
* Add X10 All Units Off, All Lights On and All Lights Off devices
* Correct X10 config
* Debug x10 device additions
* Config x10 from bool to housecode char
* Pass PLM to X10 device create
* Remove PLM to call to add_x10_device
* Unconfuse x10 config and method names
* Correct spelling of x10_all_lights_off_housecode
* Bump insteonplm to 0.10.0 to support X10
* Update condition.py
Added code that writes to warning-log what entity causes a problem when 'value cannot be processed as a number', making troubleshooting easier.
* Make a one-line warning
* Show running apps as sources for Fire TV
* Fix unnecessary 'else' after 'return' (no-else-return)
* Remove 'pylint: disable=unused-argument'
* cleanup
* Improve volume support for Vizio Smartcast
* Vizio: avoid an error when 'self._device.get_current_volume()' returns 'None'
* Improve volume support for Vizio Smartcast
* Vizio: avoid an error when 'self._device.get_current_volume()' returns 'None'
* First line should end with a period
* Expose Wemo component availability to home assistant
* Do not add availability feature to dimmer - it works differently
* Brain fade, deleted completely the wrong thing.
Revert "Do not add availability feature to dimmer - it works differently"
This reverts commit f64e717981.
* (2nd attempt) Do not add availability feature to dimmer - it works differently
Current version only supports latitude and longitude or an address for the origin and destination fields. This update allows those fields to use entity IDs of device_tracker, zone, and sensor.
* Added support for Xiaofang Camera
* Added entry for Xiaofang 1080p camera
* Code fix
* Minor comment fix
* Updated coveragerc for Xiaomi cameras
* Added Xiaomi Camera
Added Xiaomi Camera to accommodate multiple models like Yi, Xiaofang, etc.
* Minor code fix
* Minor code fix
* Added model property
* Update xiaomi.py
* Minor code fix
* Update xiaomi.py
* Update xiaomi.py
* Minor code fix
* Package requirement fix due to Version conflict
* To fix conflicts
* Update package_constraints.txt
* Minor fix
* Update xiaomi.py
* Update xiaomi.py
Changes made per comment
* Update xiaomi.py
* Don't update on add.
* Add Calendar API endpoint to get events
* Set default event color
* Fix PR comments
* Fix PR comments
* Fix PR comments
* Remote local.py file
* Use iso 8601
* Fix lint
* Fix PR comments
* Fix PR comments
* Add Support for todoist and demo calendar
* Todoist events are allday events
* Add calendar demo api endpoint test
* Register only one api endpoint for calendar
* Rename demo calendar
By default simulated sensors are relative to when they're activated,
instead we make this togglable with this new option 'relative_to_epoch',
and instead they become relative to 1970-01-01 00:00:00.
* first blood for ZhongHong HVAC Controller
* add requirements
* requirements_all.txt updated
* add zhong_hong.py to coveragerc
* add comments
* unique_id add platform name
* zhong_hong_hvac version bump to 1.0.1
* improve some coding style to match the project standard
* zhong_hong_hvac version bump to 1.0.4
* zhong_hong_hvac version require 1.0.7
* update requirements by script/gen_requirements_all.py
* zhong_hong_hvac version bump to 1.0.8
* fix startup problem
* remove unused import
* zhong_hong_hvac version bump to 1.0.9
- operation_mode: cold -> cool
* start hub listen event when all climate entities is ready
* use dispatcher to setup hub
* var name change
SIGNAL_DEVICE_SETTED_UP -> SIGNAL_DEVICE_ADDED
* async problem fix
* bugfix: set_operation_mode forget to use upper case
* stringify the exception instead of print full stack of traceback
* avoid to call str(exception) explicity
* remove unnecessary try...except clause
* remove unused import
* wink: Update to python-wink 1.8.0
This pulls in a patch to expose the GE Z-Wave in wall fan switch
as a fan component instead of a light dimmer switch component.
* Update requirements_all.txt
* Epson projector support. Version based on external library
* Epson projector support. Version based on external library
* modified epson according to MartinHjelmare review.
Added description of cmode to services.yaml
* renamed EPSON_SCHEMA to epson_schema
* removed method of getting cmode property
* removed unnecessary checks
change name of cmode service
* renamed SERVICE_ATTR_CMODE to SERVICE_SELECT_CMODE
Current uuid is ok when using only 1 snapserver
New uuid is needed when using multiple snapserver
Because the client can connect to more snapservers and
then uuid based on client MAC is not enough
* initial commit for kiwi door locks
bugfixes
improved attribute display
flake8
more style adjustments
* added session handling
flake8
* added requirements_all
reordered imports and flake8
attempt to pelase a very picky linter
also pleasing pylint now :)
* re-try the build
* added kiwi.py to .coveragerc
* reorganized datetime handling and attribute naming
* created pypi package for door lock library
* updated requirements_all.txt
* code review changes
* added async lock state reset for locking state
* refactored lat/lon attribute updates
* initial locked state changed from undefined to locked
* refactored is_locked property check
* handling authentication exception in setup_platform
* added more check in setup_platform
* code review changes: return type in setup_platform
* fixed logging issue
* event handling in main thread
* updated kiwiki-client to version 0.1.1
* renamed alias e to exc
* start arlo refactoring
* Refactored Arlo Hub to avoid uncessary and duplicated GETs to Arlo API
* Refactored Arlo camera component to avoid duplicate queries
* Added debug and error messages when video is not found
* Transformed Arlo Control Panel to Sync
* Makes linter happy
* Uses total_seconds() for scan_interval
* Added callback and fixed scan_interval issue
* Disable multiple tries and supported custom modes set in Arlo
* Bump PyArlo version to 0.1.4
* Makes lint happy
* Removed ArloHub object and added some tweaks
* Fixed hub_refresh method
* Makes lint happy
* Ajusted async syntax and added callbacks decorators
* Bump PyArlo version to 0.1.6 to include some enhacements
* Refined code
* Update mqtt_eventstream.py
Remove a line setting an internal state mqtt_eventstream.initialized to True since:
1. No other platform is doing this
2. This will create an annoying entity/item in the user interface which the user will have to explicitly hide
* Update mqtt_eventstream.py
* added new platform for the Unitymedia Horizon HD Recorder
* improve connection handling of the horizon platform
* remove unneeded parameters and fix spelling in the horizon platform
* abort or raise exception if connection to the device could not be established
* remove channel/source list and SELECT_SOURCE feature
* remove useless type check after cast and use a try block instead
* abort or raise exception if reconnect to device fails
* remove protocol specific code and restructure sending logic accordingly
* fix indentation to be pep8 complaint
* remove unused methods/properties
* fix unnecessary pylint commands and use a return to abert outside of setup_platform
* directly access config values
* Added Uptime Robot sensor
* added newline at the end and corrected doclink
* Added changes form @cdce8p
* Convert to binary_sensor
* updated requirements
* moved to correct dir
* Update uptimerobot.py
Unique id for client is generated from prefix 'snapcast_client_'
and MAC address
Unique id for group is generated from prefix 'snapcast_group_'
and UUID provided by snapcast library
When Samsung TV is idle for a period of time after issued a command,
subsequent 'turn_off' command won't turn off the TV. The issue is seen
in Samsung models with websocket as discussed in #12302.
== Reproducible Steps
1. Turn on TV (either via HA or directly).
2. Issue some commands e.g. volume ups / downs.
3. Wait for ~1 minute.
4. Issue turn_off command via HA. TV won't turn off.
5. Issue subsequent turn off commands won't turn off TV still.
6. However, issue some other commands e.g. volume ups / downs multiple
times in a row and then turn_off will turn off the TV.
== Root Cause
The underlying websocket connection opened by samsungctl get closed
after some idle time. There was no retry mechanism so issued commands
would intermittently fail but the subsequent one would succeed when
`_remote` get recreated. With `turn_off()`, however, there is an
additional call to `self.get_remote().close()` which indirectly caused
new connection to be created and then closed immediately. This causes the
component to stuck in failure mode when turn_off command is repeatly
issued.
== The Fix
Recreate the connection and retry the command if connection is closed
to avoid silent failures due to connection closed. Also set `_remote`
to None after calling close() to put it in correct state.
This fix eliminates intermittent command failure and failure mode in
turn_off().
* fixed tests: using correct camera configuration now and error handling tests must be separated out to ensure that the setup_component call is actually executed
* better error handling during setup; raising PlatformNotReady in likely recoverable cases; added tests
* Hass configuration name is optional
* Check explicitly if name is none
* Reverted back to old logic for zones configured in configuration.yaml, where many zones can have the same name
* New test to verify use case of allowing multiple zones having the same name
* Fix too long line
* reviewing this code min_temp and max_temp are always present and always in celsius
* revert change (preserve unit conversion)
* revert (due to unit conversion)
* self
* clean
* cleaner
* Hass configuration name is optional
* Check explicitly if name is none
* Reverted back to old logic for zones configured in configuration.yaml, where many zones can have the same name
* New test to verify use case of allowing multiple zones having the same name
* Fix too long line
* Add set_default_service to logger
* Fix 2-line lint error
* Add set_default_level to services.yaml
* Add tests for set_default_level
* Remove function and add else when setting default
Right now, "Hub Status" is very generic, I didn't know what component it was coming from, and the only way to tell was searching the source code to find the reference.
* Initial version of wirelesstags platform support.
* Pinned wirelesstagpy, generated requirements_all.
* Fixed temperature units in imperial units systems, make binary events more tags specific.
* Lowercased tag name during entity_id generation.
* Fixed: tag_id template for tag_binary_events, support of light sensor for homebridge.
* Minor style cleanup.
* Removed state, define_name, icon. Reworked async arm/disarm update. Removed static attrs. Introduced available property. Custom events contains components name now. Cleaned dedundant items from schema definition.
* Removed comment and beep duration from attributes. Minor cleanup of documentation comment.
* Ignoring Wemo switches linked in iOS app.
* Reworked passing data from platform to components using signals.
This commit adds a new history component for the IBM Watson IoT
Platform. The IBM Watson IoT Platform allows for tracking of devices
and analytics on top of the device data. This new component allows
users to have home assistant automatically populate a watson iot
platform board with device data from devices managed by home assistant.
* Media player: general sound mode support
* General sound mode support
* White spaces
* Add sound mode support to demo media player
* white space
* remove unnessesary code
* Add a device tracker for Freebox routers
* Automatic setup of Freebox device tracker based on discovery
* Make the Freebox device tracker asynchronous
* initial commit
* lint
* update with pyipma
* Added test
* Added test
* lint
* missing dep
* address comments
* lint
* make sure list is iterable
* don't bother with list
* mock dependency
* no need to add test requirements
* last correction
* Assign device class to nest sensors
sensor/nest.NestSensor => /nest.NestSensorDevice,
so that BinarySensor platform do not reference Sensor platform anymore
* Resolve code review comment
* Follow code review comment
* Version Requirement bump
Bump required version to 0.5 to allow component to work with Genie Mini clients using the clientAddr variable.
* Ran script/gen_requirements_all.py as requested.
* Change nest component to Cloud Push
Change sensors.nest, binary_sensors.nest and climate.nest to push mode
nest camera still need poll to update snapshot image
Also change nest component to async
* Flake8 lint
* Fix async_notify_errors, it is not a coroutine
* Fix pylint
* Fix pylint, function name should shall shorter than 32
* Use dispatcher helper instead event bus
* Use async_update_ha_state(True)
* Refactoring load_platform
Move service registration into async_setup_nest(),
resolve an issue that before the first time configuration done,
set_mode service should not be registered
* Fix an issue that authorization failure may leave a blocked thread
* Pylinting
* async_nest_update_callback => async_update_state to avoid confusion
* Move signal handler register to async_added_to_hass
* Better handle nest api error
* Remove unnecessary register for binary_sensor
* Remove unused import
* Upgrade to python-nest 4.0.1
Fix a thread race condition issue
* Address my own comments
* Address my own comment
* Add device_descriptor and device_name to keyboard event
This allows automations to identify which device has generated the
keypress. This is especially useful for bluetooth remotes to control different
devices.
* Remove line breaks
* Fix
* Starting to add attributes
* All attributes added to programs
* Basic zone attributes in place
* Added advanced properties for zones
* We shouldn't calculate the MAC with every entity
* Small fixes
* Basic framework for push in play
* I THINK IT'S WORKING
* Some state cleanup
* Restart
* Restart part 2
* Added stub for service schema
* Update
* Added services
* Small service description update
* Lint
* Updated CODEOWNERS
* Moving to async methods
* Fixed coverage test
* Lint
* Removed unnecessary hass reference
* Lint
* Lint
* Round 1 of Owner-requested changes
* Round 2 of Owner-requested changes
* Round 3 of Owner-requested changes
* Round 4 (final for now) of Owner-requested changes
* Hound
* Updated package requirements
* Lint
* Collaborator-requested changes
* Collaborator-requested changes
* More small tweaks
* One more small tweak
* Bumping Travis and Coveralls
* Option to load or not to load clip sensors on start
* Full flow
* Fix config flow and add tests
* Fix attribute dark reporting properly
* Imported and properly configured deCONZ shouldn't need extra input to create config entry
* Add pin pad to alarm panel
* Add pin pad to alarm panel
* Update regex
* Update regex
* Update regex
* Add pin pad to alarm panel
* Add pin pad to alarm panel
* Add pin pad to alarm panel
* Add pin pad to alarm panel
* Fix typos
* Fix typos
* Fix typos
* Add pin pad to alarm panel
* Fix errors
The Envisalink binary sensor was logging events with a relative
timestamp that updated every time it polled, so even when nothing
new was happening, the event log would be full of meaningless
state changes. Modify the sensor code to use an absolute time
which stays stable when there isn't new activity.
* Added the Hydrawise component.
* Fixed lint errors.
* Multiple changes due to review comments addressed.
* Simplified boolean test. Passes pylint.
* Need hydrawiser package version 0.1.1.
* Added a docstring to the device_class method.
* Addressed all review comments from MartinHjelmare.
* Changed keys to single quote. Removed unnecessary duplicate method.
* Removed unused imports.
* Changed state to lowercase snakecase.
* Changes & fixes from review comments.
* Add support for climatic devices
* Update requirements_all
* Change icon to mdi:thermostat
* Update of homematicip-rest-api lib version
* Remove all mode or state relevant things - will come later
* Add current_operation again to see proper status
* Remove STATE_PERFORMANCE import
* Remove trailing whitespace
* Update requirements file
* Fix ISY leak sensors always showing UNKNOWN until a leak is detected
Added some logic that handles both moisture sensors and door/window sensors
* Handle edge case of leak sensor status update after ISY reboot
If a leak sensor is unknown, due to a recent reboot of the ISY, the status will get updated to dry upon the first heartbeat. This status update is the only way that a leak sensor's status changes without an accompanying Control event, so we need to watch for it.
* Fixes from overnight testing
State was checking the incorrect parameter, and wasn't calling schedule update
* Remove leftover debug log line
* Remove unnecessary pylint instruction
* Remove access of protected property
We can't cast _.status directly to a bool for some unknown reason (possibly with the VarEvents library), but casting to an int then bool does work.
* removed default value from required parameter; raising PlatformNotReady when connection to nut unavailable; output human-readable state name by default
* removed superfluous sensor name part; showing human-readable form and raw value of current status in more info dialog
* introduced a new virtual sensor type based on the raw status value but used to display a human-readable form of the status
* renamed method
* format string instead of concatenation
* revert the change to the device state attributes - only output the human-readable status without the raw value
* Added platform lw12wifi for Lagute LW-12 Wifi Lights
Supported features:
* RGB colors
* Variable brightness
* 29 effects
* Changing transitions speed for animated effects
* Added lw12wifi to the list of omitted files to test
* Added lw12 module as new requirement for lw12wifi platform
* Added configuration example docstring for platform lw12wifi
* Updating code according to review in PR:
* Removed unused imports: enum, socket.
* Unused and not imported feature SUPPORT_FLASH was removed.
* Unused import lw12 in setup_platform method removed.
* Fixed indention for valuptuous.
* Changed check if effect is None.
* Removed personal debug output.
* Blocking function are not async anymore.
* Further improvements to satisfy PR.
* Unused import asyncio removed.
* Fixed: Return value and docstring no match up for `assumed_state`.
* Check if the set effect is supported, otherwise revert to normal light.
* Added describing missing docstrings to all functions.
* Adopted code to work with HS color setting.
* Syntactical change in comment.
* Removed redefinition of DOMAIN.
* Refactored lw12 controller setup: removed requirement for host and port in LW12Wifi class.
* Rewritten supported feature setup to a more static expression.
* Removed unused rgb_color property
* Fixed typo in comment for set_light_option
* Changed RGB option validation schema
* Removed instance properties as config options
* Removed optional settings to be more inline with code style.
* Removed unused option from config example
* Removal of unused import
* Added property to disable state polling for this entity.
* Raise an exception if an unknown effect was selected.
* Fixed an issue with the check for known effects.
* As we do not need to set a default, use simple accessing by key.
* Log if an unknown effect was selected.
* Added link to future documentation.
* Fix ISY leak sensors always showing UNKNOWN until a leak is detected
Added some logic that handles both moisture sensors and door/window sensors
* Handle edge case of leak sensor status update after ISY reboot
If a leak sensor is unknown, due to a recent reboot of the ISY, the status will get updated to dry upon the first heartbeat. This status update is the only way that a leak sensor's status changes without an accompanying Control event, so we need to watch for it.
* Fixes from overnight testing
State was checking the incorrect parameter, and wasn't calling schedule update
* Remove leftover debug log line
* Remove unnecessary pylint instruction
* Remove access of protected property
We can't cast _.status directly to a bool for some unknown reason (possibly with the VarEvents library), but casting to an int then bool does work.
* Wait for future mysensors gateway ready
* Add an asyncio future that is done when the gateway reports the
gateway ready message, I_GATEWAY_READY.
* This will make sure that the gateway is ready before home assistant
fires the home assistant start event. Automations can now send
messages to the gateway when home assistant is started.
* Use async timeout to wait max 15 seconds for ready gateway.
* Address comments
* Wait for future mysensors gateway ready
* Add an asyncio future that is done when the gateway reports the
gateway ready message, I_GATEWAY_READY.
* This will make sure that the gateway is ready before home assistant
fires the home assistant start event. Automations can now send
messages to the gateway when home assistant is started.
* Use async timeout to wait max 15 seconds for ready gateway.
* Address comments
After 2 months of being offline, the my.chevy website seems to be
working again. Some data structures changed in the mean time. The new
library will handle multiple cars. This involves a breaking change in
slug urls for devices where these now include the car make, model, and
year in them.
Discovery has to be delayed until after the initial site login to get
the car metadata.
Sensors that were defined via sensor_string were not getting properly identified as binary sensors when they had a uom defining them as binary (the other three methods of detecting binary sensors worked though.)
* Add Homematic IP RotaryHandleSensor support
HmIP-SRH was in the RotaryHandleSensor class and threw errors that LOWBAT and ERROR could not be found (they are LOW_BAT and SABOTAGE).
* Revert REQUIREMENTS change
* Simplify conditionals.
* Send white_value on service call.
* Remove extra blank line
* Further simplification of conditionals
* Requested changes
* Do not call getRgb if not needed
* Update log message
* make device_discovered synchronous
* small fixes from code review
* use dispatcher to update sensor state
* update switch state based on response from the device
* interpolate entity_id into dispatcher signal
* cleanup lint
* change coroutine to callback
* Added option to invert aREST pin switch logic for active low relays
* Fixed line lengths
* Changed naming and set optional invert default value.
* Fixed line length
* Removed default from get
The Universal media player inherits the states of the first child player that is not in some sort of "Off" state (including idle.) It was not considering the "unavailable" state to be off. Now it does.
* moved regular updates definition to own method to be able to override behaviour in subclass
* moved filter by max entries to own method to be able to override behaviour in subclass
* event type used when firing events to the bus now based on variable to be able to override behaviour in subclass
* feed id introduced instead of url for storing meta-data about the feed to be able to fetch the same feed from different configs with different filtering rules applied
* keep the status of the last update; continue processing the entries retrieved even if a recoverable error was detected while fetching the feed
* added test cases for feedreader component
* better explanation around breaking change
* fixing lint issues and hound violations
* fixing lint issue
* using assert_called_once_with instead of assert_called_once to make it compatible with python 3.5
* add familyhub.py camera
* fix import and REQUIREMENTS
* add to coveragerc
* fix formatting to make houndci-bot happy
* ran scripts/gen_requirements_all.py
* use CONF_IP_ADDRESS
* Revert "ran scripts/gen_requirements_all.py"
This reverts commit 3a38681d8a.
* fix library name
* add missing docstrings and enable polling
* Sort imports
zigpy now allows custom devices, which might mean that devices have cluster
objects which are not instances of the default, but may be instances of
sub-classes of the default. This fixes the check for finding single-cluster
device entities to handle sub-classes properly.
* Add priority and cycles to LaMetric
Priority can be "info", "warning" (default), or "critical" and
cycles is the number of times the message is displayed. If cycles
is set to 0 we get a persistent notification that has to be dismissed
manually.
* Fix for schema and style
* Fix for style
This commit bumps the pycmus version used by the cmus component. There
was a bug in the previous version used, 1.0.0, when running in local
mode. This was caused by a mtreinish/pycmus#1 and also was reported in
the home-assistant forums (but not as an issue):
https://community.home-assistant.io/t/cant-install-cmus-component/7961
Version 0.1.1 of pycmus fixes this issue so it should work properly for
users running cmus and home-assistant on the same machine.
* Make mysensors component async
* Use async dispatcher and discovery.
* Run I/O in executor.
* Make mysensors actuator methods async.
* Upgrade pymysensors to 0.13.0.
* Use async serial gateway.
* Use async TCP gateway.
* Use async mqtt gateway.
* Start gateway before hass start event
* Make sure gateway is started after discovery of persistent devices
and after corresponding platforms have been loaded.
* Don't wait to start gateway until after hass start.
* Bump pymysensors to 0.14.0
* Implement support for away mode and hold mode in Venstar component
* Fix Venstar humidifier capability detection
* Add option to configure humidifier control in Venstar component
* style fix: add missing space and resolve pylint issues
* Remove quotes
* Waze Travel Time: optional inclusive/exclusive filters
Added optional `inc_filter` and `excl_filter' params that allow to refine the reported routes: the first is not always the best/desired. A simple case-insensitive filtering (no regular expression) is used.
* fix line lenght
* fix spaces
* Rename var
* Fix typo
* Fix missing var
* Starting to add attributes
* All attributes added to programs
* Basic zone attributes in place
* Added advanced properties for zones
* Working to move common logic into component + dispatcher
* We shouldn't calculate the MAC with every entity
* Small fixes
* Small adjustments
* Owner-requested changes
* Restart
* Restart part 2
* Added ID attribute to each switch
* Collaborator-requested changes
* Improving icloud device tracker
* Adding config validations for new values
* Adding config validations for new values
* Moving icloud specific setup to platform schema. Setting default in platform schema.
* When zwave node's info is parsed remove it and re-add back.
* Delay value entity if not ready
* If node is ready consider it parsed even if manufacturer/product are missing.
* Add annotations
* Gogogate2 - bump version
Uses latest version of library which ensures commands to device are idempotent
* Update requirements_all
* Expose sensor temperature
* update version
* import attribute
* Set temperature
* Remove temperature attribute
Removed temperature attribute until it can be re-implemented as a separate sensor.
* Update ordering
* Fix copy-&-paste issue
* add 2 devices
io:RollerShutterUnoIOComponent
io:ExteriorVenetianBlindIOComponent
* add 2 devices
* Update tahoma.py
* Fix hounci-bot violation
* Fixed Travis CI build failure
./homeassistant/components/cover/tahoma.py:83:13: E125 continuation line with same indent as next logical line
* Fixed Travis CI build failure
E125 continuation line with same indent as next logical line
* Fixed Travis CI build failure
E127 continuation line over-indented for visual indent
* Fix indent
* Change check
* Add support for shutter contact and motion detector device
* Add support for power switch devices
* Add support for light switch device
* Cleanup binary_switch and light platform
* Update comment
I have a Hitron modem provided by Shaw communications rather than from Rogers as the Docs specify for this device_tracker but it seems like the api/code is all the same except that the login failed due to the password being passed as "pws" instead of "pwd". Making that one character change allowed HASS to read the connected device details from my Hitron modem. If this difference is actually one that stands between the Rogers-provided Hitron modems and the Shaw-provided variant, I am happy to create another device-tracker file for the Shaw modem. I just figured I would go with the simplest solution first.
* Setup all-linking service
* Remove extra line
* Remove linefeed and tab escape chars
* Add services delete_all_link, load_all_link_database and print_all_link_database
* Check if reload is set
* Confirm entity is InsteonPLMEntity before attempting to load or print ALDB
* Debug load and print ALDB
* Debug print aldb
* Debug print_aldb
* Get entity via platform
* Track Insteon entities in component
* Store entity list in hass.data
* Add entity to hass.data
* Add ref to hass in InsteonPLMEntity
* Pass hass correctly to InsteonPLMBinarySensor
* Fix reference to ALDBStatus.PARTIAL
* Print ALDB record as string
* Get ALDB record from memory address
* Reformat ALDB log output
* Add print_im_aldb service
* Remove reference to self in print_aldb_to_log
* Remove reference to self in print_aldb_to_log
* Fix spelling issue with load_all_link_database service
* Bump insteonplm to 0.9.1
* Changes from code review
* Code review changes
* Fix syntax error
* Correct reference to cv.boolean and update requirements
* Update requirements
* Fix flake8 errors
* Reload as boolean test
* Remove hass from entity init
* onkyo: add support for max volume range
* onkyo: make flake8 happy
* onkyo: fix PEP8 D205 on line 181
* onkyo: use range for max_volume configuration
* onkyo: fix line too long
* Add new device without restarting hass
* Remove debug prints
* Fix copy paste error
* Fix comments from balloob
Add tests to verify signalling with new added devices
* Fix hound comments
Add test to verify when new sensor is added
* Fix tests
* Unload entry should unsubscribe all deconz dispatchers
* Make sure mock setup also creates unsub in hass data
* Fix copy paste issue
* Lint
* Add first version of the Matrix bot
* It's a stupid but necessary change…
* Dont list it twice
* All hail the linter!
* More linter-pleasing
* Use the correct user ID
* Add expression commands
* Add tests for new validators
* Fix room alias handling
* Wording
* Defer setup
* Simplify commands
* Handle exceptions
* Update requirements
* Review
* Move login back to constructor
* Fix review comments
* Publish attributes unconditionally
Because the attribute publish command was previously hidden behind `if val:`, falsy values like False and 0.0 weren't being published, thereby making Statestream -- particularly in the case of booleans, where the first True would be retained indefinitely -- a completely worthless indicator of state.
* Change bool test to False to confirm falsy values pass
* Add unique_id to zwave node entity
* Wait 30s before adding zwave node if its unique_id is not ready
* Use only node_id in unique_id. Update name, manufacturer, and product attributes on node update.
* Add basic PostNL sensor (WIP)
* Update PostNL sensor
* Bump version
* Small updates to PostNL package based on feedback
* Remove unused import
* Pass api to sensor
* Refactor based on feedback
* Update based on feedback
* Fix feedback
* Clean up
* Bugfiix
* Bugfix
* SCAN_INTERVAL fix
* Remove unused import
* Refactor for new wrapper implementation
* Update postnl package requirement
* Change throttle logic
* Update package version
* Add new line
* Minor changes
* Change refresh time to 30 minutes
* Update requirements_all.txt
* Allow independent control of white level on flux_led component.
Also preserve brightness on color change.
* Limit white value support to RGBW mode.
* Requested changes.
* Correct liniting issues
* Formatting
* Converts RainMachine to hub model (part 2)
* Small style adjustments for consistency
* Moving MAC calculation to one-time call in component
* Removing unneeded attribute
* Bumping Travis
* Lint
* Force update continuous sensors when new measurement available.
* Added unique ID's based on coordinates, sensor type and client name.
* Fixed over-indentation (hound review)
* Revert "Added unique ID's based on coordinates, sensor type and client name."
This reverts commit 3345e67a15.
* Fix lint errors.
* Re-added unique ID's based on location.
* Removed wrong error logging.
* Removed creating UUID from unique id
* Lint
* allow to set a desired update interval for camera_proxy_stream view
* lint
* refactor into a seperate method.
Keep the handle_async_mjpeg_stream method to be overridden by platforms
so they can keep proxying the direct streams from the camera
* change descriptions
* consolidate
* lint
* travis
* async/await and force min stream interval for fallback stream.
* guard clause. Let the method raise error on interval.
* is is not =
* what to except when you're excepting
* raise ValueError, remove unnecessary 500 response
* Add more parameters for DSMR component
* Add suiting icon for power failure
* Add suiting icon for swells & sags
* Fix tab indentation -> spaces
* Fix too long lines (PEP8)
According to my observations, the "switch_energy" value displayed by Pyfritzhome is the sum of Wh over the last week since measurement.
As a result, the correct divisor for representing output as kWh would be 1000 instead of 10000.
* Add initial user foundation to Home Assistant
* Address comments
* Address comments
* Allow non-ascii passwords
* One more utf-8 hmac compare digest
* Add new line
- Instead of registering listeners in the entity __init__, do it in
async_added_to_hass to avoid errors updating an entity which isn't fully
set up yet
- Change from schedule_update_ha_state to async_schedule_update_ha_state
* Fix TypeError on round(self.humidity)
Some weather platforms postpone the first data fetch for a while on init. As a result round(self.humidity is called before it is assigned a value, producing an error. This is a fix for that.
* Rewrite to avoid false negative evaluation
As per the suggestion from @OttoWinter, rewrite to avoid matching e.g. 0.0 as false.
With Darksky allowing only 1000 API requests per day, 2 minutes retry seems to be bit closer to running over the limit and actually it did for 5 days in my account. Hence proposing a change to 5 minutes to keep the API happy and also it doesn't hurt to check the weather for every 5 mins than 2 mins someone lives in Jupiter :-P
* add initial precipitation support
* move attr to component
* remove blank line
* add forecast attributes to platform and update demo
* add tests
* break long lines
* calc lower temp correctly
* move all new attributes to component
* convert temp low only when existing
* Working but incomplete
* Remove events on unload
* Add unload test
* Fix failing sensor test
* Improve unload test
* Move DeconzEvent to init
* Fix visual under-indentation
* Update hue_api.py
add dummy group handler for logitech-pop
* Update __init__.py
add HueGroupView for logitech pop
* Update __init__.py
removed whitespace on blankline
* fix line limit and space
* fix indents
* fix more docstring and formatting issues.
* fix more whitespace issues
* Fix pylint issue
There's one particular QNAP model which sometimes return empty/null temperatures
for certain disks. This commit ensures that this model can be integrated with HASS
without causing KeyErrors or other exceptions - if this edge case is hit, the
sensor will simply show `0` instead.
Eufy device state isn't reported if the bulb is off, so avoid stamping on
the previous values if the bulb isn't going to give us useful information.
In addition, improve handling of bulb turn on if we aren't provided with a
brightness - this should avoid the bulb tending to end up with a brightness of
1 after power cycling.
Eufy device state isn't reported if the bulb is off, so avoid stamping on
the previous values if the bulb isn't going to give us useful information.
In addition, improve handling of bulb turn on if we aren't provided with a
brightness - this should avoid the bulb tending to end up with a brightness of
1 after power cycling.
* Initial commit
* Add error handling to config flow
Change unique identifyer to name
Clean up hound comments
* Ensure hass home zone is created with correct entity id
Fix failing tests
* Fix rest of tests
* Move zone tests to zone folder
Create config flow tests
* Add possibility to unload entry
* Use hass.data instead of globas
* Don't calculate configures zones every loop iteration
* No need to know about home zone during setup of entry
* Only use name as title
* Don't cache hass home zone
* Add new tests for setup and setup entry
* Break out functionality from init to zone.py
* Make hass home zone be created directly
* Make sure that config flow doesn't override hass home zone
* A newline was missing in const
* Configured zones shall not be imported
Removed config flow import functionality
Improved tests
* Recode to async version of homematicip-rest-api
* Remove blank line
* Cleanup of access point status class
* Fix to loong line
* Fix import errors
* Bugfix missing wait the _retry_task for sleep command
* Update comment
* Updates after review
* Small updates of logging and property name
* Fix DOMAIN and revert back to lowercase snakecase strings
* Fix intention and tripple double quotes
* Fix travis build
* Remove unnecessary state attributes
* Fix optional name in configuration
* Further reduction of state attributes
* Handle HomeKit configuration failure more cleanly
Add support for handling cases where HomeKit configuration fails, and give
the user more information about what to do.
* Don't consume the exception for a homekit.UnknownError
If we get an UnknownError then we should alert the user but also still
generate the backtrace so there's actually something for them to file in
a bug report.
* Use forward entry setup with light platform
* Move sensor to forward entry setup
* Use forward entry setup with binary sensors
* Use forward entry setup with scene platform
* Remove import of unused functionality
* Move deconz setup in to setup entry
Create initial negative tests for setup entry
* Fix hound comment
* Improved tests
* Add test for scene platform
* Add test for binary sensor platform
* Add test for light platform
* Add test for light platform
* Add test for sensor platform
* Fix hound comment
* More asserts on sensor types
* Handle HomeKit configuration failure more cleanly
Add support for handling cases where HomeKit configuration fails, and give
the user more information about what to do.
* Don't consume the exception for a homekit.UnknownError
If we get an UnknownError then we should alert the user but also still
generate the backtrace so there's actually something for them to file in
a bug report.
When an OpenWrt device monitored via ubus is offline, this causes the
log to be flooded with several exceptions. Avoid this by catching
requests.exceptions.ConnectionError in addition to
requests.exceptions.Timeout.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
The Lokalise server has a bug that the internal portion of key
references was misinterpreted as a symfony key, and was getting auto
converted by the convert placeholders feature. Since we don't use this
we're turning it off to work around the bug.
* Initial working config entry with discovery
* No need for else
* Make sure that imported config doesnt exist as a config entry
* Improve checks to make sure there is only instance of deconz
* Fix tests and add new tests
* Follow upstream changes
Fix case when discovery started ongoing config entry and user completes setup from other path it was possible to complete discovered config entry as well
* Add test to make sure link doesn't bypass any check for only allowing one config entry
* Dont use len to determine an empty sequence
* Cleanup
* Allways get bridgeid to use as unique identifier for bridge
* Fix colorlog on windows
Modified the way logging is initialized to fix two things.
1. If the import of `colorlog` fails the logs will still be formatted
using the expected HASS log format.
2. Ensure that `logging.basicConfig` is called AFTER `colorlog` is
imported so that the default handler generated will be writing to the
wrapped stream generated when `colorama` is initialized. This allows
colored logging to work on Windows.
Added support for a `--log-no-color` command line switch in the event
that someone just wants to disable colored log output entirely.
* Fix line lengths
* Switch default value
* implemented services for bmw remote services
* added vin to attributes of tracker
* moved component to new package
* added service description
* fixed static analysis warnings
* implemented first set of code reviews
* removed locking related services
* fixed static analysis warnings
* removed excess blank lines
* refactoring of setup() to resolve warning
"Cell variable bimmer defined in loop (cell-var-from-loop)"
* added missing docstring
* added service to update all vehicles from the server
* implemented changes requested in code review
* added check if invalid vin is entered
* Added web view for to get url
* Added web view for TTS to get url
* Added web view for TTS to get url
* Added web view for TTS to get url
* Fixed test
* added auth
* Update __init__.py
* Added ability to use FB messenger broadcast api. use 'BROADCAST' keyword for first target in the facebook notifiy component to enable.
* Added ability to use FB messenger broadcast api. use 'BROADCAST' keyword for first target in the facebook notifiy component to enable.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Added ability for broadcast messaging for facebook messenger notify platform.
* Update facebook.py
* Update facebook.py
* Update facebook.py
* Update facebook.py
* Added support for a new platform: climate.modbus
* Made changes based on code review.
* Made changes based on code review
* Made changes that were recommended in the pull request review.
* Fixed spacing line 144
* Added docstrings for the added helper functions.
* Fixed set_temperature() function to use a variable local to the function for the target temp.
* Fixed lint formatting error
* Modified logic when checking the target temperature, as well as fixing the setup_platform function
* Broadlink Sensor - switch to connection-less mode
Solved the issue with broadlink sensor that occurs when short connection loss with RM2/3 is present on poor WiFi networks.
* Update broadlink.py
* Update broadlink.py
* Update broadlink.py
* Update broadlink.py
* Update broadlink.py
* Update broadlink.py
* Update broadlink.py
* Start of development
* Add extra attributes from unifi scanner
* Store IP of the device in the state attributes with nmap
* Allow not defining get_extra_attributes method in derived classes
* Fix up Eufy handling of colour lights
The Eufy colour lights have separate colour and temperature modes, and give
much less light output when in colour mode. Brightness is also handled in
a slightly confusing way, which means that state must be maintained in
order to avoid switching the light between modes by accident. Add some
additional handling for that.
* Bump the lakeside version
This version has important bugfixes for colour bulbs.
* Hound fixes
* Adding USCIS component
* Adding Line after the class DOC
* Update : Extract USCIS logic code to Component
* Update : Extract USCIS logic code to Component
* Adding CURRENT_STATUS
* Change Error handling, remove date from attributes
* Update the Version for USCIS
* Update uscis.py
* Add support for controlling homekit lights and switches
This adds support for controlling lights and switches that expose a HomeKit
control interface, avoiding the requirement to implement protocol-specific
components.
* Comment out the homekit requirement
This needs to build native code, so leave it commented for now
* Review updates
* Make HomeKit auto-discovery optional
Add an "enable" argument to the discovery component and add a list of
optional devices types (currently just HomeKit) to discover
* Further review comments
* Update requirements_all.txt
* Fix houndci complaints
* Further review updates
* Final review fixup
* Lint fixups
* Fix discovery tests
* Further review updates
* Add support for Eufy bulbs and switches
Add support for driving bulbs and switches from the Eufy range.
* Fix hound checks
* Satisfy pylint
* Handle review comments
* Review updates and test fixes
* PyLint is a bit too aggressive
* Added feedback sound configuration
* Added feedback sound configuration
* Cleaned up feedback off
* Cleaned up whitespace
* Moved feedback pus to helper funx
* Async
* Used async_mock_service for tests
* Lint
* Support binary_sensor and device_tracker for HomeKit
* Add test for get_accessory and binary sensor
* Test service.display_name and char_detected.display_name
* Split test to improve speed
With AbodePy 0.12.3, dimmers will now work but a conversion of the brightness is required. Additionally, when a brightness value of 100 is sent to Abode, 99 is returned causing AbodePy to throw an error so this component will send 99 instead of 100.
Keeps the brightness value sent and returned from the device response consistent. However, during initialization and when a device refresh is received, Abode can return 100 thus we'll convert that case back to 99.
* Initialise filter with historical values
Added get_last_state_changes()
* fix test
* Major changes to accommodate history + time_SMA
# Conflicts:
# homeassistant/components/sensor/filter.py
* hail the hound!
* lint fixed
* less debug
* ups
* get state from the proper entity
* sensible default
* No defaults in get_last_state_changes
* list_reverseiterator instead of list
* prev_state to state
* Initialise filter with historical values
Added get_last_state_changes()
* fix test
* Major changes to accommodate history + time_SMA
# Conflicts:
# homeassistant/components/sensor/filter.py
* hail the hound!
* lint fixed
* less debug
* ups
* get state from the proper entity
* sensible default
* No defaults in get_last_state_changes
* list_reverseiterator instead of list
* prev_state to state
* update
* added window_unit
* replace isinstance with window_unit
* Add async timeout feature
* Decorator for setter methods to limit service calls to HA
* Changed to async
* Use async_call_later
* Use lastargs, async_add_job
* Use dict for lastargs
* Updated tests to stop patch
description:Returns message if API is up and running.
tags:
- Core
security:
- api_key:[]
responses:
200:
description:API is up and running
schema:
$ref:'#/definitions/Message'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/config:
get:
summary:API alive message
description:Returns the current configuration as JSON.
tags:
- Core
security:
- api_key:[]
responses:
200:
description:Current configuration
schema:
$ref:'#/definitions/ApiConfig'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/discovery_info:
get:
summary:Basic information about Home Assistant instance
tags:
- Core
responses:
200:
description:Basic information
schema:
$ref:'#/definitions/DiscoveryInfo'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/bootstrap:
get:
summary:Returns all data needed to bootstrap Home Assistant.
tags:
- Core
security:
- api_key:[]
responses:
200:
description:Bootstrap information
schema:
$ref:'#/definitions/BootstrapInfo'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/events:
get:
summary:Array of event objects.
description:Returns an array of event objects. Each event object contain event name and listener count.
tags:
- Events
security:
- api_key:[]
responses:
200:
description:Events
schema:
type:array
items:
$ref:'#/definitions/Event'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/services:
get:
summary:Array of service objects.
description:Returns an array of service objects. Each object contains the domain and which services it contains.
tags:
- Services
security:
- api_key:[]
responses:
200:
description:Services
schema:
type:array
items:
$ref:'#/definitions/Service'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/history:
get:
summary:Array of state changes in the past.
description:Returns an array of state changes in the past. Each object contains further detail for the entities.
tags:
- State
security:
- api_key:[]
responses:
200:
description:State changes
schema:
type:array
items:
$ref:'#/definitions/History'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/states:
get:
summary:Array of state objects.
description:|
Returns an array of state objects. Each state has the following attributes: entity_id, state, last_changed and attributes.
tags:
- State
security:
- api_key:[]
responses:
200:
description:States
schema:
type:array
items:
$ref:'#/definitions/State'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/states/{entity_id}:
get:
summary:Specific state object.
description:|
Returns a state object for specified entity_id.
tags:
- State
security:
- api_key:[]
parameters:
- name:entity_id
in:path
description:entity_id of the entity to query
required:true
type:string
responses:
200:
description:State
schema:
$ref:'#/definitions/State'
404:
description:Not found
schema:
$ref:'#/definitions/Message'
default:
description:Error
schema:
$ref:'#/definitions/Message'
post:
description:|
Updates or creates the current state of an entity.
tags:
- State
consumes:
- application/json
parameters:
- name:entity_id
in:path
description:entity_id to set the state of
required:true
type:string
- $ref:'#/parameters/State'
responses:
200:
description:State of existing entity was set
schema:
$ref:'#/definitions/State'
201:
description:State of new entity was set
schema:
$ref:'#/definitions/State'
headers:
location:
type:string
description:location of the new entity
default:
description:Error
schema:
$ref:'#/definitions/Message'
/error_log:
get:
summary:Error log
description:|
Retrieve all errors logged during the current session of Home Assistant as a plaintext response.
tags:
- Core
security:
- api_key:[]
produces:
- text/plain
responses:
200:
description:Plain text error log
default:
description:Error
schema:
$ref:'#/definitions/Message'
/camera_proxy/camera.{entity_id}:
get:
summary:Camera image.
description:|
Returns the data (image) from the specified camera entity_id.
tags:
- Camera
security:
- api_key:[]
produces:
- image/jpeg
parameters:
- name:entity_id
in:path
description:entity_id of the camera to query
required:true
type:string
responses:
200:
description:Camera image
schema:
type:file
default:
description:Error
schema:
$ref:'#/definitions/Message'
/events/{event_type}:
post:
description:|
Fires an event with event_type
tags:
- Events
security:
- api_key:[]
consumes:
- application/json
parameters:
- name:event_type
in:path
description:event_type to fire event with
required:true
type:string
- $ref:'#/parameters/EventData'
responses:
200:
description:Response message
schema:
$ref:'#/definitions/Message'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/services/{domain}/{service}:
post:
description:|
Calls a service within a specific domain. Will return when the service has been executed or 10 seconds has past, whichever comes first.
tags:
- Services
security:
- api_key:[]
consumes:
- application/json
parameters:
- name:domain
in:path
description:domain of the service
required:true
type:string
- name:service
in:path
description:service to call
required:true
type:string
- $ref:'#/parameters/ServiceData'
responses:
200:
description:List of states that have changed while the service was being executed. The result will include any changed states that changed while the service was being executed, even if their change was the result of something else happening in the system.
schema:
type:array
items:
$ref:'#/definitions/State'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/template:
post:
description:|
Render a Home Assistant template.
tags:
- Template
security:
- api_key:[]
consumes:
- application/json
produces:
- text/plain
parameters:
- $ref:'#/parameters/Template'
responses:
200:
description:Returns the rendered template in plain text.
schema:
type:string
default:
description:Error
schema:
$ref:'#/definitions/Message'
/event_forwarding:
post:
description:|
Setup event forwarding to another Home Assistant instance.
tags:
- Core
security:
- api_key:[]
consumes:
- application/json
parameters:
- $ref:'#/parameters/EventForwarding'
responses:
200:
description:It will return a message if event forwarding was setup successful.
schema:
$ref:'#/definitions/Message'
default:
description:Error
schema:
$ref:'#/definitions/Message'
delete:
description:|
Cancel event forwarding to another Home Assistant instance.
tags:
- Core
consumes:
- application/json
parameters:
- $ref:'#/parameters/EventForwarding'
responses:
200:
description:It will return a message if event forwarding was cancelled successful.
schema:
$ref:'#/definitions/Message'
default:
description:Error
schema:
$ref:'#/definitions/Message'
/stream:
get:
summary:Server-sent events
description:The server-sent events feature is a one-way channel from your Home Assistant server to a client which is acting as a consumer.
tags:
- Core
- Events
security:
- api_key:[]
produces:
- text/event-stream
parameters:
- name:restrict
in:query
description:comma-separated list of event_types to filter
required:false
type:string
responses:
default:
description:Stream of events
schema:
type:object
x-events:
state_changed:
type:object
properties:
entity_id:
type:string
old_state:
$ref:'#/definitions/State'
new_state:
$ref:'#/definitions/State'
definitions:
ApiConfig:
type:object
properties:
components:
type:array
description:List of component types
items:
type:string
description:Component type
latitude:
type:number
format:float
description:Latitude of Home Assistant server
longitude:
type:number
format:float
description:Longitude of Home Assistant server
location_name:
type:string
unit_system:
type:object
properties:
length:
type:string
mass:
type:string
temperature:
type:string
volume:
type:string
time_zone:
type:string
version:
type:string
DiscoveryInfo:
type:object
properties:
base_url:
type:string
location_name:
type:string
requires_api_password:
type:boolean
version:
type:string
BootstrapInfo:
type:object
properties:
config:
$ref:'#/definitions/ApiConfig'
events:
type:array
items:
$ref:'#/definitions/Event'
services:
type:array
items:
$ref:'#/definitions/Service'
states:
type:array
items:
$ref:'#/definitions/State'
Event:
type:object
properties:
event:
type:string
listener_count:
type:integer
Service:
type:object
properties:
domain:
type:string
services:
type:object
additionalProperties:
$ref:'#/definitions/DomainService'
DomainService:
type:object
properties:
description:
type:string
fields:
type:object
description:Object with service fields that can be called
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.