* Remove FFmpeg input tests
* Not needed here
* Removing tests for removed functionality
* Minor lint
* Fix tests to reflect removed config option
* Remove async service registration by request
* More lint
* Unused imports
* Make it a non-breaking change
* Update ffmpeg.py
* Remove FFmpeg input tests
* Not needed here
* Removing tests for removed functionality
* Minor lint
* Fix tests to reflect removed config option
* Remove async service registration by request
* More lint
* Unused imports
* Make it a non-breaking change
* Update ffmpeg.py
* initial tensorflow image_processing component
* linting fixes
* make displayed attribute a summary of objects
* fix missed merge conflict and add warning supression back in for CPU type
* restructure tensorflow component to install on the fly, remove from Docker
* add both matches and summary as attributes
* address review comments
* do not use deps folder as default, as it should only be managed by HA. Update to have tensorflow in root config directory
* Added service select_video_output and video_out attribute
* Fixed white lines and long lines
* Made line shorter
* Added period to comment according to flake8 rules
* Imported domain const
* Prefixed service with platform name
* changed "video output" to "hdmi output" to better reflect eiscp cammand
* video_output to hdmi_output rename
* Allow Microsoft face detection to handle updating entities when no face is detected
* Remove microsoft_face_detect_no_face_detected.json and hard code in simple empty list into the tests
* Added error handling for sense API timeouts
* Moved imports in function
* Moved imports to more appropriate function
* Change exception to custom package version
* Updated sense_energy library to 0.4.2
* Added binary sensors for individual devices
* Whitespace updates
* Split into component, sensors, binary sensors
* Fixed whitespace
* Fixed whitespace
* Moved time constant into sensor file
* Regenerated requirements
* Fixed whitespace
* Updated component dependency
* Fixed whitespace
* Code cleanup
* High and low target temps are also supported if target is supported
* Revert "High and low target temps are also supported if target is supported"
This reverts commit 66b33dc2b8.
* Added all sense components to .coveragerc
* Added check authentication exception
* binary/sensor platforms loaded in setup
* Changed to add all detected devices
* Changed to add all sensors on setup
* Code cleanup
* Whitespace
* Whitespace
* Added sense as requirement for platform
* pylint fixes
* Whitespace
* Switched requirement to dependency
* Made non-class function
* Whitespace
* Removed unneeded checks
* Increased API delay to 60 seconds
* Added guard clause for discovery_info
* Tidy code
* Whitespace
* Add surround programs to zone 2+
Add surround programs and surround program to any zone that supports it.
* Update yamaha.py
removed double fetching.
* Ignore min_cycle_duration when manually controlling the thermostat.
* style
* Generic thermostat: add minimum cycle duration to keep-alive tests.
There was a bug in previous versions of the code, that would not execute
the keep-alive action if the minimum cycle duration hasn't passed.
This test verifies that the keep-alive action is executed correctly.
* Generic thermostat: added tests to verify that changing the
thermostat mode manually triggers the switch, regardless of
minimum cycle duration.
* Updated tests to use `common` module instead of the deprecated `climate`
* Change of behaviour. Allow user to configure either a position topic or a state topic but not
both.
* optimistic mode in set_cover and tests added
* optimistic mode in set_cover_position using percentage_position
* fixes accroding to Martin review.
* added validation schema for set_position_topic and get_position_topic
* check only set_position_topic in supported_features.
* Multidoc string fix.
* Add a component for GreenEye Monitor
[GreenEye Monitor](http://www.brultech.com/greeneye/) is an energy
monitor that can monitor emergy usage of individual circuits, count pulses
from things like water or gas meters, and monitor temperatures. This component
exposes these various sensors in Home Assistant, for both data tracking and
automation triggering purposes.
* Consolidate sensors
* lint
* .coveragerc
* - cv.ensure_list
- DOMAIN, where appropriate
- defaults to schema
- single invocation of async_load_platform
- async_create_task instead of async_add_job
- fail if no sensors
- monitors required
- async_add_entities
- call add_devices once
- remove unused schema
- use properties rather than set fields
- move _number and unique_id to GEMSensor
- remove unnecessary get(xxx, None)
- keep params on one line when possible
- new-style string format
* Fix `ensure_list` usage, log message
* Pass config through
* Add problem text to message if available
* Revert "Add problem text to message if available"
This reverts commit 7be519bf7f.
* Cleanup setup
* Add message template support
* Fix for failing test
* Added tests
* Refactor changes
* Fix lint violation
* Fix failing tests
* Unify handling for message and done_message parameter and sending function
* Update tests
* Fix lint warnings
* Added functionality to the version sensor.
* Corrected typo.
* Change default name to not cause a breaking change.
* Use vol.lower in the schema.
* Add missing blank line.
* Change order of cv.string and vol.Lower.
We were erroneously reporting the _previous_ mode. So if the thermostat was off
and the user asks, "Alexa, set the thermostat to heat", the thermostat would be
set to heat but Alexa would respond, "The thermostat is off."
Bug caught by @Thunderbird2086 at
https://github.com/home-assistant/home-assistant/pull/17969#issuecomment-434654345
* Move components/opentherm_gw.py to components/opentherm_gw/__init__.py
* Update requirements-all.txt
* Await set_clock coroutine rather than scheduling it.
* Create task for async_load_platform
* Upgrade to asuswrt 1.1.1 to better handle mac addresses with letters in them
Signed-off-by: Gavin Mogan <git@gavinmogan.com>
* Update requirements_all as well
Signed-off-by: Gavin Mogan <git@gavinmogan.com>
* Fix Vera climate component to use correct states
Changed the Vera climate component so it uses the STATE_* states from the base climate component. This will allow it to work with Google Assistant.
* Wemo Humidifier - Initial Commit
* WeMo Humidifier - First draft of component
* WeMo Humidifier - Removed direct IO from property
* WeMo Humidifier - Trivial comment change
* Added myself as codeowner for WeMo
* WeMo Humidifier - Fixed various syntax & lint issue
* WeMo Humidifier - Small comment addition
* WeMo Humidifier - Fix TypeError: 'WemoHumidifier' object is not iterable
* WeMo Humidifier - Rename set humidity service
* WeMo Humidifier - Add to .coveragerc
* WeMo Humidifier - Fixed lint/pylint issues
* WeMo Humidifier - First round of requested changes
* WeMo Humidifier - Round two of requested changes
* WeMo Humidifier - Third round of requested changes
* WeMo Humidifier - Fixed whitespace issue on dict comprehension
* WeMo Humidifier - Fourth round of requested changes
* WeMo Humidifier - Corrected typo in async_add_executor_job call
* WeMo Humidifier - Fixed spacing before inline comments
* Change date at sunset
* Fix tests to actually run and add fix to component
* Make tests pass
* Use get_astral_event_next instead of get_astral_event_date
* Revert to using get_astral_event_date
* Make tox happy: reset state on tearDown
* Switch mailgun webhooks to the webhook api
* Change mailgun strings to indicate application/json is in use
* Lint
* Revert Changes to .translations.
* Don't fail if the API key isn't set
* Reverse out change #14234 BOM Weather throttle fix
Reverted back to original throttle code to ensure sensors are updated on time.
* Fixed lint issues
* Review as a commit
* Use last_updated for attributes
* lint
* lint
* Refactor Alexa API to use objects for requests
This introduces _AlexaDirective to stand in for the previous model of passing
basic dict and list data structures to and from handlers. This gives a more
expressive platform for functionality common to most or all handlers.
I had two use cases in mind:
1) Most responses should include current properties. In the case of locks and
thermostats, the response must include the properties or Alexa will give the
user a vague error like "Hmm, $device is not responding." Locks currently work,
but thermostats do not. I wanted a way to automatically include properties in
all responses. This is implemented in a subsequent commit.
2) The previous model had a 1:1 mapping between Alexa endpoints and Home
Assistant entities. This works most of the time, but sometimes it's not so
great. For example, my Z-wave thermostat shows as three devices in Alexa: one
for the temperature sensor, one for the heat, and one for the AC. I'd like to
merge these into one device from Alexa's perspective. I believe this will be
facilitated with the `endpoint` attribute on `_AlexaDirective`.
* Include properties in all Alexa responses
The added _AlexaResponse class provides a richer vocabulary for handlers.
Among that vocabulary is .merge_context_properties(), which is invoked
automatically for any request directed at an endpoint. This adds all supported
properties to the response as recommended by the Alexa API docs, and in some
cases (locks, thermostats at least) the user will get an error "Hmm, $device is
not responding" if properties are not provided in the response.
* Fix setting temperature with Alexa thermostats
Fixes https://github.com/home-assistant/home-assistant/issues/16577
* Update Avi-On to work with the API.
* Use voluptuous defaults instead of .get()
* Bump library version.
* Remove unnecessary voluptuous defaults. Fix manually-configured devices.
API-discovered devices are already Avion objects, but manually-configured devices need to be instantiated as Avion objects first.
* Use .get() where appropriate.
* Remove default
* 🌧 Meteo France rain forecast
* do not fail on wrong config
* Update name of sensor class
* do not show sensor if not working
* Update .coveragerc
* ability to submit insee location code without final 0 needed by meteo-france
* Lynting
* more lynting
* update comment
* block comment linting
* reducing length of long lines
* linting
* Update météo-france platform
Now work with pypi package and monitored conditions
* remove error log
* Update requirements_all.txt
* Increase scan interval to 5 minutes
* Update meteo_france according to review
* better error handling of location missing some monitored conditions
* fix lint error
* moving error log
Errors are now catched at sensor initialization and state is set when updating the data
* Update updating of sensor
* Enhancements for DirecTV media player
Following enhancements have been made:
1. Added debug logging
2. Added ability to change channel using select_source service of the remote platform.
3. State will now show paused if a recorded program is paused, for live TV playing will always be returned.
4. Added the following attributes:
a. media_position: current position of the media (in seconds)
b. media_position_updated_at: timestamp when media_position was updated.
c. source: current source (channel).
d. media_isbeingrecorded: if current media is being recorded or not.
e. media_rating: TV/Movie rating of the media
f. media_recorded: if current media is recorded or live TV
g. media_starttime: Timestamp media was aired
Reordered properties to follow same order as how they are in __init__.py of remote platform.
* Fixed error and cleaned up few items
Fixed an issue when determining if a program is recorded or not.
Cleaned up some coding.
* Attribute last position update only updated when position changed.
The attribute media_position_updated_at will only be updated if the position changed (thus media is playing for recorded or live TV).
Added assumed_state; will be set to False if in standby or when a recorded show is watched. For live TV it will be set to True.
* Added some empty lines for easier reading
Added some empty lines before returns to improve readability.
* Seperated words in constants
Seperated the words in constants.
* Fix _lastupdate to _last_update
Split words in _lastupdate to _last_update as I missed it.
* Add type hints to helpers.intent and location
* Test typing for helpers.icon, json, and typing
* Add type hints to helpers.state
* Add type hints to helpers.translation
* Migrate dialogflow over to the new webhook component
* Updating dialogflow unit tests
* Lint
* Revert changes to HomeAssistantView
* Use json_response from aiohttp
* Raise PlatformNotReady if API not available
* Delete whitespaces
* Revert unwanted breaking changes
* Revert deleted line
* Update homeassistant/components/sensor/rmvtransport.py
* Use await asyncio.wait
* Add test that tests unloading on remove
* Add more test things
* Untangle entity remove code from entity platform
* Don't add default implementation of async_will_remove
* Keep entity weakref alive
* Add test that tests unloading on remove
* Add more test things
* Untangle entity remove code from entity platform
* Don't add default implementation of async_will_remove
* Keep entity weakref alive
* Restore manual alarm-control-panel state using async_get_last_state
This is to address issue #10793
* Added tests for restoring manual alarm state on startup
* Cleaned up test formatting
* Fixed more linting errors
* Changed async methods to use asynch/await syntax
* Removed unused asyncio import
Zigbee Alliance has changed their stylized writing (and logo) of the Zigbee name from “ZigBee” to “Zigbee”, as in they are no longer writing Zigbee with a capital “B” in the middle of the name.
* Fix discovery-dependency for upnp
* Only delete port mappings on EVENT_HOMEASSISTANT_STOP + refactoring MockDevice
* Call and store local_ip from async_setup
* Don't depend on http-component
* Remove discovery dependency
* Bug fix
Current version causes 500 error since it is sending an array of from numbers to ClickSend. Changing the from number to 'hass' identifies all messages as coming from Home Assistant making them more recognisable and removes the bug.
* Amendment
Changed it to use 'hass' as the default instead of defaulting to the recipient which is the array. Would have worked if users set their own name but users who were using the default were experiencing the issue.
* Added DEFAULT_SENDER variable
* Add ws get, set card
* lint+fix test
* Add test for set
* Added more tests, catch unsupported yaml constructors
Like !include will now give an error in the frontend.
* lint
* zone trigger supports entity id pattern
* fixed lint error
* fixed test code
* initial version of new geo_location trigger
* revert to original
* simplified code and added tests
* refactored geo_location trigger to be based on a source defined by the entity
* amended test cases
* small refactorings
Will set the available property to False if unable to communicate with August lock or doorbell.
HTTP request errors (i.e. timeout, connection error, HTTP error) will not result in traceback. Instead an error will be logged.
This prevents the following traceback that will otherwise occur.
Traceback (most recent call last):
File "/usr/local/lib/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/device_tracker/bluetooth_le_tracker.py", line 107, in update_ble
see_device(address, devs[address], new_device=True)
File "/usr/local/lib/python3.6/site-packages/homeassistant/components/device_tracker/bluetooth_le_tracker.py", line 47, in see_device
see(mac=BLE_PREFIX + address, host_name=name.strip("\x00"),
AttributeError: 'NoneType' object has no attribute 'strip'
* Switch mailgun to use webhook api
* Generalize webhook_config_entry_flow
* Add tests for webhook_config_entry_flow
* Add tests for mailgun
* Remove old mailgun file from .coveragerc
* Refactor WebhookFlowHandler into config_entry_flow
* Remove test of helper func from IFTTT
* Lint
* Bug fix
Current version causes 500 error since it is sending an array of from numbers to ClickSend. Changing the from number to 'hass' identifies all messages as coming from Home Assistant making them more recognisable and removes the bug.
* Amendment
Changed it to use 'hass' as the default instead of defaulting to the recipient which is the array. Would have worked if users set their own name but users who were using the default were experiencing the issue.
* Added DEFAULT_SENDER variable
* Resolves /home-assistant/home-assistant#17433
Away mode temperature issue fix for generic_thermostat
* Debug messages removed from generic_thermostat.py
* Test for repeat away_mode set
Test for fix of generic thermostat issue when away_mode was set several times in a row.
* Code style fix in generic_thermostat
* Remove blank line in the end of generic_thermostat
* Fix style
* zone trigger supports entity id pattern
* fixed lint error
* fixed test code
* initial version of new geo_location trigger
* revert to original
* simplified code and added tests
* refactored geo_location trigger to be based on a source defined by the entity
* amended test cases
* small refactorings
* Add ws get, set card
* lint+fix test
* Add test for set
* Added more tests, catch unsupported yaml constructors
Like !include will now give an error in the frontend.
* lint
* New rtorrent sensor
* Fix lint issue
* Fix another lint issue
* Fix pylint issue
* how many python linters do you guys use
* Cleanup code
* python linting
* newline
* Added support for dyson hot+cool fan as climate device
* Removed decimal place in kelvin units conversion
Minor edits to be consistent with Dyson's internal conversion of temperature from kelvin to celsius. It does not include decimal place to convert between kelvin and celsius.
* made changes according to comments
* Refactored target temp logics, fixed enum issues
* changed name of component to entity
* removed temperature conversion for min/max property
* changed back to 644 permission
* added extra tests for almost-all coverage
* changed assert method to avoid lack of certain method in py35
* added test_setup_component
* shorten line length
* fixed mock spec and added checking of message listener is called
* added doc string and debug msg
* shorten line length
* removed pending target temp
* Enable brightness slider for RGB
If we are using RGB with no brightness topic, the brighness slider
should still be visible, as we can scale the RGB amount to give us the
brightness.
* Output RGB scaled by brightness
If we are outputting to an RGB device, but do not have a dedicated
brightness topic set, when the brightness slider is changed, we should
output the current colour's HS, with the V coming from the brightness
slider.
* Brightness from RGB when we're not using a brightness topic
When we aren't using a brightness topic, set the brightness slider based
on the received value from an RGB -> HSV conversion.
* Test for new brightness state scaled by RGB
This adds a test to make sure the brightness stored in the state is
being computed correctly from the RGB value when a dedicated brightness
topic is not set.
* Changes from review
Fixes formatting of supported features flags, and checks HS colour
hasn't been set when operating in RGB-only mode
* Set optimistic brightness correctly in rgb mode
When we're using rgb mode to set the brightness, we want to set
optimistic brightness if:
we are running in optimistic mode
OR
the brightness state topic isn't set and we have a brightness command topic
OR
the rgb state topic isn't set and we don't have a brightness command topic
* Add test for turn_on in RGB brightness mode
* Fix linky sensor login error
* Make platform fail-safe
Adding following enhancements:
* Make sure the platform loads correctly by making the first API request in setup_platform.
* Close the session after each API call.
* Use timeout parameter everywhere.
* Fix Hound CI error: line too long.
* Update pylinky library
* Remove LinkyClient from update()
* hass.async_add_executor_job
* Fix accessories.run -> async_track_state_change
* Fixed media_player test
* Flags are now local vars
* consistent use of " and '
* Add doorsense sensor for August 3rd Gen Smart Lock Pro
Add a binary sensor to August for the August 3rd Gen Smart Lock Pro doorsense sensor.
This is a re-do from PR 17116 https://github.com/home-assistant/home-assistant/pull/17116 that I closed due to rebase issue on my end.
* Changed to use snjoetw provided code
Going through the py-august I found that snjoetw had provided updated versions for the august component (august.py and binary_sensor/august.py) to include DoorSense sensor.
Changed what I did to to what snjoetw provided instead as he split it into 2 classes; much cleaner I think.
I modified his coding with:
Fixes that were done to the August component and not part of the coding snjoetw provided.
Added the debug logging improvement I had done in the code.
Note, fix I committed earlier for lock atribute (lock/august.py) is thus still the same.
* Reverted change from add_device to add_entities
Missed an item when merging snjoetw's code with current. Fixed.
* Updated call from add_devices to add_entities as well
Updated the call from add_devices to add_entities.
* Fixed permissions on files
Fixed permissions on components/august.py and binary_snesor/august.py
* Changed if/else to if/continue
Changed logic so that if the door sensor state is unknown during initalization the debug log is written and then continue the loop instead of using if/else logic.
* Added available property for Door Sensor
Added the available property for the Door Sensor and setting it to False if a status unknown is received.
* Updated setting self._available
Changed line for setting self._available to what Martin provided. Much more efficient to read. :-)
* Add OpenTherm Gateway sensor platform.
* Add OTGW_ variables to list of supported sensors.
* Order imports.
* Add OpenTherm Gateway binary sensor support.
* Revert "Add OpenTherm Gateway binary sensor support."
This reverts commit 115acaa912.
* Import COMP_SENSOR from sensor component rather than defining it.
* Update opentherm_gw sensor platform docs url.
* Update dependency to v0.2b1
Old version had incorrect variable names for some of the sensors
* Update requirements_all.txt
* Address review findings.
* Update .coveragerc
* Add LG soundbar support
We can autodiscover these, so for now let's skip any local configuration.
Currently we expose volume, source and equaliser preset - we can expose the
other volume controls and options as well if necessary, but I don't know
whether it's worth it.
* Add discovery of LG devices
This is a generic discovery type that doesn't obviously contain enough
information to identify whether we're talking to a speaker system or any
other kind of device - on the other hand I haven't been able to find any
other LG devices that respond like this, so we can cross that bridge when
we get to it.
* Lint
- Bump twilio requirement to latest 6.19.1 version
- The generic response type is gone in the latest
versions of the twilio package. It appears we were
generating an empty response just to get the empty
xml body. TwilML is the new base class all responses
inherit from. So I've switched the code over to using
and empty TwilML object instead.
- The exception type was moved to a different location.
* Validate ports as port
Better than just a positive integer since it limits the range from 1 to 65535.
* Validate port for Axis
* Validate port for Xiaomi Home Camera
* Validate port for Modbus
* Validate port for Yamaha MusicCast Receivers
* Update zhong_hong.py
Validate port as a port, the gateway address as positive_int
Also moved the default values to their variable
* Validate port for the Asterisk Voicemail interface
* Fix lint
* Validate port for Xiaomi Cameras
* Initial changes to resolve issue 16733
Added logic to ensure that if the state is unknown during startup that the error about being unable to parse the value is not logged.
Further, also ensured that if an attribute is set to None it does not try to convert the None value to Fahrenheit as that will cause an error.
* Cleaned up and added few comments
Cleaned up some lines based on flake8 and pylint.
Added some comment lines on the items added.
* Changed to async and using async_added_to_hass
Changed sensor to use async.
Registering state tracking for sensors and initial setup is now done upon the home assistant start event.
* Updated test and small fix
Updated test to handle unavailable state of sensor and return of None for attributes when data is unavailable.
Ensured that atributes are set to None when state is unavailable due to incorrect data.
* Fixed some flake8 issues in test
Fixed some flake8 issues in test_moldindicator.py.
* Updates based on review
Updates based on review from MartinHjelmare
* Added sensor entity_id to logger errors
Added sensor entity_id to logger error messages
Update test to use constant STATE_UNKNOWN instead of fixed string.
* ID is added to cards without ID in ui-lovelace.yaml when loaded
* Hound
* Remove ui-lovelace.yaml
* Nicer get
* Update tests
* If YAML dump fails, config not gone
* Add tests
* Woof!
* Remove nosetests
* Address comments
* Woof...
* Delete test.yaml
* update rights to saved file
* fix
* line break
* Updgrae blinkpy to 0.10.0
- Remove status sensor (API endpoint unreliable for this)
- Wifi strength reports in wifi bars rather than dBm (result of new API
endpoint)
- Added unique ids based on serial number
* Update requirements
* Updgrae blinkpy to 0.10.0
- Remove status sensor (API endpoint unreliable for this)
- Wifi strength reports in wifi bars rather than dBm (result of new API
endpoint)
- Added unique ids based on serial number
* Update requirements
* add capability for manually specifying IP and port of Konnected device(s)
* add config options for blink and discovery settings
* import konnected only in functions where needed
* updates from code review feedback
* convert manual_discovery to async
* code review updates; use correct sync vs async
I believe this adds registry support. The UI allows me to change
the entity ID now.
For example, a light bulb called "BasementHallLight" in the Vera
has an initial Entity ID like light.basementhalllight_108, where
108 is the unique ID that the Vera assigned the device when I
added it to the z-wave network.
Now I can use the UI to change the Entity ID to
light.basementhalllight and I can still turn it on and off.
* Add device_registry support for sensor and switch domains
* Add device_registry support for light
* Add device registry to binary_sensor, climate, cover
* Add device registry to zwave fan
* Fix test for config entry loading
* lint
* revert erroneous modification
* Revert device_registry.py change
* First commit
* Feature complete?
* Add dependency
* Move setting poe mode logic to library
* Use guard clauses
* Bump requirement to 2
* Simplify saving switches with poe off
* Store and use poe mode
* Fix indentation
* Fix flake8
* Configuration future proofing
* Bump dependency to v3
* Add first test
* Proper use of defaults with config flow (thanks helto)
* Appease hound
* Make sure there can't be duplicate entries of combination host+site
* More tests
* More tests
* 98% coverage of controller
* Fix hound comments
* Config flow step init not necessary
* Use async_current_entries to check if host and site for controller is used
* Remove storing/restoring poe off devices to slim PR
* First batch of switch tests
* More switch tests.
* Small improvements and clean up
* Make tests pass
Don't name device in device registry
* Dont process clients that belong to non-UniFi POE switches
* Allow selection of site from a list in config flow
* Fix double blank lines in method
* Update codeowners
* Fix rangefilter
RangeFilter would break for lower or upper bounds of 0, evaluating to False and thus not being handled correctly as bounds
* Add test for zero bounds
* Migrate CONF_WEBHOOK_ID to homeassistant.const
* Switch over all instances of webhook_id to the const
* Switch last instance of webhook_id to the const
* automation: conf constants for conf
* webhook: conf constants for conf
* new lib dependencies, working old xmpp
* non working aioxmpp
* reverting to sync xmpp
will try slixmpp instead of aioxmpp
reasons:
echo bot example of aioxmpp had blocking behavior (slixmpp echo bot works fine)
closer API to sleekxmpp
less dependencies than aioxmpp
* first working slixmpp version
* DEBUG messages, changed MUC call
the joinMUC method changed from sleekxmpp to slixmpp
added debug messages
better name for cleanup callback
* flake8
* little cleanup, tested MUC
* requirements_all
* dependencies managed by slixmpp, removed debug messages
* resource configurable by user, requirements updated
* changed __init__ parameter code format
* removed trailing dots from LOG messages
* changed super call to python3 format
* Clean up leftover config schema option
* Allow import groups via new config yaml setup
* Fix and add test
* Add a test without groups for legacy import
* Change default import groups to False
* Fix I/O in test
* Provide an individual color temperature range per Yeelight model
* Fix lint
* Bump yeelight version
* Remove unused const
* Enable SUPPORT_COLOR_TEMP for BulbType.WhiteTemp
* Add notify.homematic_signalgen
* Update homematic_signalgen.py, test_homematic_signalgen.py
* Added new files to .coveragerc
* Fixed review comments from houndci-bot
* Fixed pylint errors
* Regenerate requirements_test_all.txt by script/gen_requirements_all.py
* Fix flake8 warnings
* Renamed notify.homematic_signalgen to notify.homematic and made it generic
* Update .coveragerc and requirements_test_all.txt
* Removed the terms signal generator from the sources.
* Support abbreviations in discovery topic
* Add abbreviations for all words. Add testcase.
Add missing docstring.
* Add missing abbreviations
* Support topic prefix
* Update test case
* Restrict topic prefix
* Fix merge
* Simplify abbreviations expanding, assume TOPIC_PREFIX is one character long
* Support abbreviated keys instead of words
* Remove redundant abbreviations
* Remove extra spaces in abbreviation list
* Make topic prefix less restrictive
* Make topix prefix a bit more restrictive again
* Add permission foundation
* Address comments
* typing
* False > True
* Convert more lambdas
* Use constants
* Remove support for False
* Fix only allow True
* Add support for off_delay to MQTT binary_sensor
* Fix debounce, add testcase
* Make off_delay number of seconds instead of timedelta
* Update mqtt.py
* Fix testcase, remove CONF_OFF_DELAY from const.py
* Implement turn_off and turn_on actions for eq3btsmart
This commit implements the turn_off and turn_on methods for eq3btsmart. Turning the device off will set the thermostat to "OFF". Turning it on will set it to "AUTO".
* Add missing support flags for on/off feature
* Fix line length
* Enable BMW component to be unit system aware
* lint fixes
* use constants for config entries
* remove configuration from component and rely only on HA config of unit_system
* remove unused import
* update code to reflect feedback
* lint fixes
* remove unnecessary comments
* rework return statement to satisfy pylint
* more lint fixes
* add tests for volume utils
* lint fixes
* more lint fixes
* remove unnecessary comments
* Clean up leftover config schema option
* Allow import groups via new config yaml setup
* Fix and add test
* Add a test without groups for legacy import
* Change default import groups to False
* Fix I/O in test
* Made it possible to define multiple octoprint printers
* style fix
* Added configuration option for octoprint port
* SSL support in octoprint platform configuration
* Octoprint component now auto loads sensor and binary_sensor platforms
* preliminary support for auto discovery of octoprint servers
* Moved sensors and binary sensors configuration into main octoprint configuration
* Using base_url as the key for storing api in the octoprint component
* made sure to not supersede the platforms' domains
* bugfix: continue setting up other printers if one fails
* flake8 style correction
* Added icons to sensors
* Fail platform setup if no printers were successfully added
* Simplified custom validator
* Add support for sound_mode for Yamaha rxv media_player
* Catch ParseError Exeption on surround_program for unsupported models
* Catch all Exeptions from rxv
* only get sound mode list / current sound mode on main_zone
* Don't set initial temperature in non-optimistic mode
* Fix tests
* Don't set initial values in non-optimistic mode
For fan mode, current operation and swing mode
* Fix tests again
* Initial Z-Wave Config Entry Support
* Use conf.get() for config import
* Uncomment test
* Re-add line breaks
* tabs -> space
* Unused import cleanup & lint fixes
* Remove unused config flow link step
* Address comments
* Remove unused import
* Fix tests
* Check for valid usb_path
* Test for Z-Stick in config flow
* Pass config dir to ZWaveOption
* Auto-generate Network Key if none provided
* Test fixes
* Address comments & more start network service registration
* add_executor_job for options.lock()
* SMHI Component
* Clean up typos
* Fixed default values first config to home location (tests will follow)
* Fixed tests and removed unused function
* Minor fixup after comments from @kane610
* add support for precipitation in forecast
* Removed old async_step_init not needed.
* Add support for monitoring the temperature of a thermoworks smoke thermometer.
* Use string formatting.
* Add line break.
* Add error handling for authentication.
* Fix linting errors.
* Fix quotes.
* Bump thermoworks_smoke library version.
* Review changes for @MartinHjelmare
* Add unique id attribute and change battery attribute to the standard "battery_level".
* requested changes to snake case and monitored conditions
* fix lint error
* exclude firmware from state attrs. rename original_unit to unit_of_min_max so it's more clear what it is for.
* add device_info
* add regex validator for exclude
* undo device info stuff
* remove serial number from attributes even though other components are allowed to have it...
* exclude firmware
* Daikin Climate - Better integration with Climate base component
Made some modification in order to better integrate the Daikin AC Component with the base Climate Component.
Benefits are:
Support localization for Operation Mode
Support for Homekit Integration (if the AC is turned On, now the status is updated in Homekit)
* Build bug fixing
* Bug fixing in Set Operation_Mode functionality
Fixed to .title() functionality in matching the Operation_Mode
* Fix useless code
* Fix hound bug
* Bug fixing
Change in list of Operation Mode
* Trailing white space fix
* Compile fixing
* Whitespace fix
* Moved econet to water_heater
* Wink and Econet are now in water heater!
* Removed away mode from econet and added demo water heater
* Added demo tests
* Updated coveragerc
* Fix lint issues.
* updated requirements all
* Requirements all actually updated.
* Reset wink and econet and fixed service.
* Reset wink and econet to the correct dev state
* Reset requirements_all and .coveragerc and removed the new econet and wink water_heater files
* Removed @bind_hass service methods
* Actually reset the .coverage file
* Fixed the tests
* Addressed @MartinHjelmare's comments
* Removed unused import
* Switched to async_add_executor_job
* Fixed lint
* Removed is_on
* Added celsius demo water heater and tests.
* Removed metric import
* Add additional model name of the Xiaomi Aqara Button (WXKG11LM)
* Add additional model name of the Xiaomi Aqara Wireless Switch (WXKG02LM, WXKG03LM)
* Bump PyXiaomiGateway version
* Fix Todoist custom project update
Custom projects were not refreshing the API state and were using
local/stored state. This resulted in invalid tasks being retained upon
update. This change resets the local Todoist API state, syncs it, and
then continues normal update operation(s) on the Todoist project data
object.
* Remove blank line after docstring
* Update logging call
* Simplify logging
Allows the Danfoss/Devolo RS Room Sensor thermostat to be discovered as climate device in homeassistant.
This device is defined as GENERIC_TYPE_MULTILEVEL_SENSOR, and not GENERIC_TYPE_THERMOSTAT.
Ref: https://community.home-assistant.io/t/devolo-zwave-thermostat/58739
* YesssSMS handling more errors, upgrade to version 0.2.1
- handling missing internet connection nicely
- disabling login with non-working credentials (website locked account for 1 hour)
- upgrade to new upstream version of YesssSMS
* notify.yessssms tests
* test requirements
* flake8 fix
* fixing tests, new upstream version 0.2.3
fixing tests based on requested changes, coverage
* removing unmotivated print
* passing exception to ConnectionError and SMSSendingError logger
* Pass headers to webhook handler
* Refactors webhook component to post Request object instead of data
* Update webhook tests
* Cleanup webhook test and fix a bug in ifttt
* Address code review comments
* Using new methods for blink camera
- Refactored blink platform (breaking change)
- Camera needs to be uniquely enabled in config from now on
- Added motion detection enable/disable to camera platform
* Fix motion detection
- bumped blinkpy to 0.8.1
- Added wifi strength sensor
* Added platform schema to sensor
- Added global variables for brand and attribution to main platform
* Removed blink binary sensor
* Add alarm control panel
* Fixed dependency, added alarm_home
* Update requirements
* Fix lint errors
* Updated throttle times
* Add trigger_camera service (replaced snap_picture)
* Add refresh after camera trigger
* Update blinkpy version
* Wait for valid camera response before returning image
- Motion detection now working!
* Updated for new blinkpy 0.9.0
* Add refresh control and other fixes for new blinkpy release
* Add save video service
* Pushing to force bot to update
* Changed based on first review
- Pass blink as BLINK_DATA instead of DOMAIN
- Remove alarm_arm_home from alarm_control_panel
- Re-add discovery with schema for sensors/binar_sensors
- Change motion_detected to a binary_sensor
- Added camera_armed binary sensor
- Update camera device_state_attributes rather than state_attributes
* Moved blink.py to own folder. Added service hints.
* Updated coveragerc to reflect previous change
* Register services with DOMAIN
- Change device add for loop order in binary_sensor
* Fix lint error
* services.async_register -> services.register
* Fixed file corruption bugs in private storage code.
* Restoring fixed test case.
* Implemented test suite for utils/json.py
* Added new unit test cases for util/json.py
* Dixed formatting nags
* Fixed more nags from the Hound
* Added doc strings to some very short functions
* Fixing lint's complains about my choice of parts of speach. Sigh.
* Moved atomic save operations down into util/json.py so that all benefit.
Added extra clean-up code to ensure that temporary files are removed in
case of errors.
Updated emulated_hue unit tests to avoid errors.
* Apparently 'e' is not allows as a variable name for an exception...
* Initial commit
* Sockets have been moved to separate component
* Sockets have been moved to separate component
* Fix const PLATFORM_SCHEMA
* Fix unique id
* Fix async_create_task
* Fix PLATFORM_SCHEMA
* Fix typo
* Remove pylint disable
* Google Maps supports battery level and charging.
With 3.0.2 locationsharinglib now the battery level and the charging attributes are available.
* Update google_maps.py
fix too long line error
* Update google_maps.py
Fix multi line import, and line length limit
* Update gen_requirements_all.py
Add locationsharinglib to gen_requirements_all
* update requirements_all
* Last try to fix requirements_all...
* Add zwave.network_complete_some_dead event
* add missing comma
* typo
* Add SIGNAL_AWAKE_NODES_QUERIED_SOME_DEAD Test
* Add blank lines
* fix linter warnings
Line too long
* remove trailing whitespace
* Change test signal
* Listen to other event
Add `unique_id` to all rachio entities
Add platform discovery to rachio component
Move config options from switch.rachio platform to the rachio component
* Add support for Honeywell evohome CH/DHW systems
More flake8 corrections
Passes Flake8 tests
Almost passed flake8.pylint!
Passed all tox tests
Now it needs serious testing!
Almost ready to submit
BUGFIX: DHW state now functional
More improvements to available()
Solved the DHW temp units problem!
Last minute bug squash
to improve dicts merge
Trying to rebase
fixing more rbase errors
revert to creating HTTP_error_code internally for now
ready to submit PR
Added support for Honeywell evohome CH/DHW systems
* Updated requirements_test_all.txt
* Fix: D401 First line should be in imperative mood
* Remove _LOGGER.info (replace with _LOGGER.debug)
* raise PlatformNotReady when RequestException during setup()
* Revert some LOGGER.debug to LOGGER.warning
* Improved logging levels, and removed some unwanted comments
* Improvments to logging - additional self._status info
* BUGFIX: DHW wrongly showing available = False (and some other tweaks)
* Fix trailing whitespace
* Remove state_attributes override and API_VER code
* Removed heating zones, DHW and heuristics to reduce # lines of code
* Removed some more lines of code
* Removed unused configuration parameters
* Remove some more un-needed lines
* Removed more (uneeded) lines of code & fixed two minor typos
* Improvements to debug logging of available() = False
* Improvements to code, and code clean-up
* Corrected a minor typo
* A small tidy up
* reduces precision of emulated temps floats to 0.1
* Some code improvements as suggested by JeardM
* Rewrite of exception handler
* Removed another unwanted logging in properties
* Remove async_ version of various methods
* moved available heuristics to update()
* Cleanup of code, and re-work linter hints
* fixed a minor documentation typo
* scan_interval is now no longer a configurable option
* Change from Master/Slave to Parent/Child
* Removed the last of the slaves
* Removed the last of the masters
* Move -PARALLEL_UPDATES to .\climate\evohome.py'
* main code moved to climate/evohome.py
* merge EvoEntity into EvoController class
* remove should_poll (for now)
* woops! left a hint in
* removed icon
* only log a WARNING the first time available = False
* cleanup dodgy exception handling
* Tidy up exception handling
* Many changes as suggested by @MartinHjelmare, thanks
* remove hass from init, part 1
* use async_added_to_hass instead of dispatcher_connect
* remove hass from init, part 2 (done)
* add 1-2 arrays, and tidied up some comments
* from dispatcher to async_added_to_hass
* cleaned up some logging, and removed others
* Many changes as request by @MartinHjelmare
* Homage to the lint
* Changed to the HA of doing operating_mode
* Now using update_before_add=True
* reduced logging further still...
* fixed minor lint
* fix a small logic error
* Add device_state_attributes to track actual operating mode
* Clean up doc quotes caused by previous changes
* Woops! removed some debug lines that shoudln't have stayed in
* Add a complete set of device_state_attributes
* Cleanup some constants
* Remove more legacy code
* domain_data to evo_data & this else should be a finally
* minor change for readability
* Minor change for readability #2
* removed unused code
* small tidy up - no code changes
* fix minor lint
* Correct URLs & descriptions in docstring
* whoops - fixed a typo in docstrings
* remove an unused line of cide & a small tidy-up
* Add services for getting and setting indicator values for Z-Wave
* Add service to manually refresh Z-Wave node value by value_id
* Remove refresh_indicator service
* Coerce to int
* Add generic set_node_value service
* Remove set_indicator service
* Addded support for private storage.
Include 'private' flag parameters to the Store class and save_json function.
Updated various authentication and onboarding classes to use private stores.
Fixed unit test for emulated_hue which used a mock patch on save_json().
* Fixed Hound formatting issues not detected by local linting.
* Updates to GitLab Sensor
* Updates to GitLab_CI sensor.
* Added GitLab_CI sensor.
* Updated interval to a more appropriate 300 seconds.
* Added GitLab_CI.py to ommitted files.
* Initial refactor to use python-gitlab PyPI module.
* Fixes to dict parsing.
* Updated required packages for GitLab_CI requirements.
* Updates and refactoring to more closely align with Home-Assistant standards.
* Moved import to init, removed unreachable requests exception.
* Removed references to STATE_UNKNOWN and replaced with None
* Removed extra whitespace
* Changed PLATFORM_SCHEMA and renamed add_devices.
Changed PLATFORM_SCHEMA to use SCAN_INTERVAL and add_devices to add_entities
* Added configurable name, changed logger and removed cruft.
* Removed _status to use _state instead, as both held same value.
* Fixed ATTR_BUILD_BRANCH, removed more extraneous cruft.
* Changed required config keys to dict[key] format.
* Removed extraneous CONF_SCAN_INTERVAL as it's already defined.
"invalid_code":"\u00c9rv\u00e9nytelen k\u00f3d, pr\u00f3b\u00e1ld \u00fajra. Ha ez a hiba folyamatosan el\u0151fordul, akkor gy\u0151z\u0151dj meg r\u00f3la, hogy a Home Assistant rendszered \u00f3r\u00e1ja pontosan j\u00e1r."
"description":"Selecteer een van de meldingsdiensten:",
"title":"Stel een \u00e9\u00e9nmalig wachtwoord in dat wordt afgegeven door een meldingscomponent"
},
"setup":{
"description":"Een \u00e9\u00e9nmalig wachtwoord is verzonden via **notify. {notify_service}**. Voer het hieronder in:",
"title":"Controleer de instellingen"
}
},
"title":"Eenmalig wachtwoord melden"
},
"totp":{
"error":{
"invalid_code":"Ongeldige code, probeer het opnieuw. Als u deze fout blijft krijgen, controleer dan of de klok van uw Home Assistant systeem correct is ingesteld."
"description":"Vennligst velg en av varslingstjenestene:",
"title":"Sett opp engangspassord levert av varsel komponent"
},
"setup":{
"description":"Et engangspassord har blitt sendt via **notify.{notify_service}**. Vennligst skriv det inn nedenfor:",
"title":"Bekreft oppsettet"
}
},
"title":"Varsle engangspassord"
},
"totp":{
"error":{
"invalid_code":"Ugyldig kode, pr\u00f8v igjen. Hvis du f\u00e5r denne feilen konsekvent, m\u00e5 du s\u00f8rge for at klokken p\u00e5 Home Assistant systemet er riktig."
"invalid_code":"C\u00f3digo inv\u00e1lido, por favor tente novamente. Se voc\u00ea obtiver este erro de forma consistente, certifique-se de que o rel\u00f3gio do sistema Home Assistant esteja correto."
"no_available_service":"Nenhum servi\u00e7o de notifica\u00e7\u00e3o dispon\u00edvel."
},
"error":{
"invalid_code":"C\u00f3digo inv\u00e1lido, por favor, tente novamente. Se receber este erro constantemente, por favor, certifique-se de que o rel\u00f3gio do sistema que hospeda o Home Assistent \u00e9 preciso."
"invalid_code":"C\u00f3digo inv\u00e1lido, por favor tente novamente."
},
"step":{
"init":{
"description":"Para ativar a autentica\u00e7\u00e3o com dois fatores utilizando passwords unicas temporais (OTP), ler o c\u00f3digo QR com a sua aplica\u00e7\u00e3o de autentica\u00e7\u00e3o. Se voc\u00ea n\u00e3o tiver uma, recomendamos [Google Authenticator](https://support.google.com/accounts/answer/1066447) ou [Authy](https://authy.com/).\n\n{qr_code}\n\nDepois de ler o c\u00f3digo, introduza o c\u00f3digo de seis d\u00edgitos fornecido pela sua aplica\u00e7\u00e3o para verificar a configura\u00e7\u00e3o. Se tiver problemas a ler o c\u00f3digo QR, fa\u00e7a uma configura\u00e7\u00e3o manual com o c\u00f3digo **`{c\u00f3digo}`**.",
"description":"Por favor, selecione um dos servi\u00e7os de notifica\u00e7\u00e3o:",
"title":"Configurar uma palavra-passe entregue pela componente de notifica\u00e7\u00e3o"
},
"setup":{
"description":"Foi enviada uma palavra-passe atrav\u00e9s de **notify.{notify_service}**. Por favor, insira-a:",
"title":"Verificar a configura\u00e7\u00e3o"
}
},
"title":"Notificar palavra-passe de uso \u00fanico"
},
"totp":{
"error":{
"invalid_code":"C\u00f3digo inv\u00e1lido, por favor, tente novamente. Se receber este erro constantemente, por favor, certifique-se de que o rel\u00f3gio do sistema que hospeda o Home Assistant \u00e9 preciso."
},
"step":{
"init":{
"description":"Para ativar a autentica\u00e7\u00e3o com dois fatores utilizando palavras-passe de uso \u00fanico (OTP), ler o c\u00f3digo QR com a sua aplica\u00e7\u00e3o de autentica\u00e7\u00e3o. Se n\u00e3o tiver uma, recomendamos [Google Authenticator](https://support.google.com/accounts/answer/1066447) ou [Authy](https://authy.com/).\n\n{qr_code}\n\nDepois de ler o c\u00f3digo, introduza o c\u00f3digo de seis d\u00edgitos fornecido pela sua aplica\u00e7\u00e3o para verificar a configura\u00e7\u00e3o. Se tiver problemas a ler o c\u00f3digo QR, fa\u00e7a uma configura\u00e7\u00e3o manual com o c\u00f3digo **`{code}`**.",
"title":"Configurar autentica\u00e7\u00e3o com dois fatores usando TOTP"
"no_available_service":"Nu sunt disponibile servicii de notificare."
},
"error":{
"invalid_code":"Cod invalid, va rugam incercati din nou."
},
"step":{
"init":{
"description":"Selecta\u021bi unul dintre serviciile de notificare:",
"title":"Configura\u021bi o parol\u0103 unic\u0103 livrat\u0103 de o component\u0103 de notificare"
},
"setup":{
"description":"O parol\u0103 unic\u0103 a fost trimis\u0103 prin **notify.{notify_service}**. Introduce\u021bi parola mai jos:",
"title":"Verifica\u021bi configurarea"
}
},
"title":"Notifica\u021bi o parol\u0103 unic\u0103"
},
"totp":{
"error":{
"invalid_code":"Cod invalid, va rugam incercati din nou. Dac\u0103 primi\u021bi aceast\u0103 eroare \u00een mod consecvent, asigura\u021bi-v\u0103 c\u0103 ceasul sistemului dvs. Home Assistant este corect."
},
"step":{
"init":{
"title":"Configura\u021bi autentificarea cu doi factori utiliz\u00e2nd TOTP"
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.