* Steam Online: Add last_online and Level attributes
* Steam Online: Add last_online and Level attributes
* Fixes from comments on initial pull request
* Push attributes only if they are not None
* Split async_update
* Use pytest parameters to avoid duplicate code
* Fix UnboundLocalError
* Test error rendering for template state
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* move constants, move schema validation to init, prepare for zeroconf/config flow
* mistake in refactor
* update .coveragerc, move validate_auth to __init__, only attempt to get ESN if device setup is validated
* fix schema validation
* remove suppress warning config option
* remove config_flow from manifest since its not ready yet
* update requirements_all.txt
* fix issue with merge conflict
* Refactor input_boolean to use config dict for instantiation.
* Refactor input_boolean to use YamlCollection.
* Add storage collection to input_boolean.
* Update homeassistant/components/input_boolean/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Doh.
* Address comments.
* Add editable device state attribute.
* Clean up entities from entity registry on removal.
Reload yaml from correct source.
* Add tests.
* Update homeassistant/components/input_boolean/__init__.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Don't reset entity state on updates.
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* move constants, move schema validation to init, prepare for zeroconf/config flow
* update requirements_all and make setup validation more pythonic
* mistake in refactor
* un-revert change from previous PR
* rename schema var
* update .coveragerc, move validate_auth to __init__, only attempt to get ESN if device setup is validated
* reinstate validate_setup but change logic to use new connection test function
* fix schema validation
* simplify string empty check logic
* missed commit
* Initial implementation
* Passing autobypass parameter to constructor, as suggested
* Black formatting
* Removed default value from autobypass parameter of the constructor, as it's redundant
* Add pilight dimmer as light component
* fix CI errors
* fix missing new lines
* improve formatting and addresses comments of @springstan
* rename config parameter and remove super() call to match pylint
* import only used constants of the pilight component
* Add myself to the code owners
* fix CODEOWNERS
* Add tests
* Add FileSync test
* Fill in services.yaml for 'androidtv.adb_filesync' service
* Update example paths in services.yaml
* Bump androidtv to 0.0.37
* Bump androidtv to 0.0.37
* Bump androidtv to 0.0.37
* Import LockNotAcquiredException
* Import LockNotAcquiredException from androidtv.exceptions
* Rename 'host' to 'address'
* Add a logging statement when an ADB command is skipped
* Check hass.config.is_allowed_path(local_path)
* Add return
* Fix pylint
* Reduce duplicated code (AndroidTVDevice vs. FireTVDevice)
* Split 'adb_filesync' service into 'download' and 'upload' services
* Don't use '.get()' for required data; return if the services are already registered
* Replace "command" with ATTR_COMMAND
* Don't try to connect to a device if it is a duplicate
* add surepetcare
* cleanup
* remove unused imports and comments
* remove comment
* fix bug which prevented updating the sensors
* improve config validation
* fix voluptuous usage
* fix format & credential storage
* various fixes to hass-conform
* small format fixes
* change False to None
* still trying to be hass-conform
* remove unused class
* fix imports
* fix f-string
* add guard clause?!
* central data fetch
* do not pass in hass, will be provided automatically
* make the linters happy
* disable constant-test warning and add commas
* worksforme
* fix link in manifest
* remove icon
* bump surepy to 0.1.5
* worksforme
* small doc fixes
* add discovery_info guard
* result of another awesome review
* and again :)
* exclude surepetcare in .coveragerc
* Add LED control
* Bump python-velbus library to 2.0.35
To have LED control available in library
* Apply black formating
* Fix no-else-return pylint error
* Changed to f-string and more dry code
* Rewrite turn_on for LED control
* Preserve new BLE device name if one seen before the last scan but not on it
* Save an indented else block
* Use async_fire_time_changed and mock_device_tracker_conf in tests
* Migrate automatic tests from coroutine to async/await
* Remove unneeded side effect
* Replace unittest with asynctest, add additional asserts to tests
* add unique id property for Vizio devices so they get added to entity registry
* update requirements
* small change to make code more readable
* update to use f-string for consistency
* fix property name
* set unique_id to none if serial number couldnt be found
* set unique_id to none
* ESN should be globally unique so no device type needed. pyvizio will set ESN to None if ESN is unobtainable
* Simplify media player source list
Google don't need a whitelisted set of modes anymore. So let's just forward any mode that we have.
* Report current mode with the setting name, not a synonym
* Refactor mode generation to support other modes
* Support sound mode as mode as well
* Adjust failing test now with sound modes
* Make sure first poll happens after sub-platforms are loaded and entities are created.
* Function dosn't need to return anything
* Don't forward entry if already forwarded it
* Don't expose flows that aren't initialised.
If a flow init does not return immediately then there is a window where our
behaviour is screwy:
* Can try to configure a flow that isn't ready
* Can show notifications for discoveries that might yet return an abort
This moves the flow discovery events and notifications to after the flow is
initialised and hides flows that don't have a cur_step from async_progress
* Fix tradfri test
* Black.
* Lint fixes
* add KEF speakers platform for the integration
This will work with the KEF LS50 Wireless and KEF LSX speakers.
The development of this code happened on https://github.com/basnijholt/media_player.kef
* rename DATA_KEF -> DOMAIN
* use aiokef v0.2.0 and support LSX and new features
* sort imports
* fix @MartinHjelmare's suggestions
* remove _CONFIGURING
* change STATE_UNKNOWN to None
* use lat and long for unique_id
* bump aiokef to v0.2.2
* use config[ATTR] instead of config.get(ATTR)
* use getmac
* fix case when MAC is None
* use host as instance lifetime id
* fix requirements
* HomeKit: update position state characteristic for covers
position state is a mandatory characteristic for HK window coverings
* Test position state characteristic
Convert values to integer if rounding precision is zero. With that a
value which is an integer before filtering can be configured to stay
integer when using precision = 0. This also aligns behavior of filters
to how rounding behaves in tempaltes (homeassistant/helpers/template.py,
function forgiving_round).
* Use config entry unique id
* Clean up
* Backwards compatiblity note
* Fix some of Balloobs comments
* Bump dependency to v66
* Black somehow missed config flow tests...
* Move set unique ID til after possibility to update existing entry
* Add SUPPORT_STREAM to supported_features.
* Implement stream_source with channel RTSP URIs.
* Add Tests for Stream Support.
* Make stream_source async.
* Removed unused import.
* Re-wrote test to remove warning, and lint error.
* Add generic command functionality to denonavr
* add minimal unit tests for denonavr
* fix import order
* simplify denonavr unit test
* handle domain specific service calls with dispatcher
* update unit tests
* update unit tests
* remove unnecessary return value
* fix handling of mock instances in unit tests
* migrate webostv to new aiopylgtv version of the library and add support
for generic commands, input/button commands, and callback state updates
* update requirements
* cleanup and bump aiopylgtv version
* update webostv unit tests
* make webostv unit tests work with python 3.7
* cleanup for code checks
* cleanup and code review
* make all client request functions coroutines
* make host required for webostv configuration
* remove generic command and button functionality plus related cleanup
* fix previous track function
* update unit tests
* fix imports for unit tests
* update unit test
* further unit test updates
* remove unnecessary setup call in unit tests
* restore previous behaviour with client key config file in hass configuration directory
* Refactor ZHA component tests fixtures.
* Add tests for ZHA device discovery.
* Refactor ZHA registry MatchRule.
Allow callables as a matching criteria.
Allow sets for model & manufacturer.
* Minor ZHA class registry refactoring.
Less cluttered strict_matching registrations.
* Add entities only if there are any.
* Migrate rest of ZHA platforms to ZHA registry.
* Pylint fixes.
* Update lock.py
Allow different command and state topic + different command and state values.
* Formatting updated after black run
* TC updated to reflect different state & cmd values
* Abbreviations for lock states added
* additional non-default state test
* whitespaces fixed
* black formatting run
* [solaredge] Reduce Severity of Log Line
This log error happens frequently for some sites, but it shouldn't be an error.
It is expected, per the SolarEdge Monitoring API, that some sites do not
support this information, and the expected result is that this would be
empty (see comments on #27959).
Fixes#27959
* Fix a typo
Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
* Added support for Somfy RTS wireless power socket and
Somfy Temperature Sensore Thermos Wirefree io
* Added code formatting fixes for commit 5faaf9c
* added support for RollerShutterRTSComponent from Somfy
* Added support for RTS roller shutter in set_cover_position
* Add support for Somfy RTS power socket and Somfy io temperature sensor
* black and isort fixes
* homematic: Add host port config for HMIP-only CCUs
When adding a host (CCU) to the homematic component currently the hardcoded port 2001 is used to communicate with it.
However that port is only available on the target if the target supports HM (wireless) protocol which is not the case e.g. for
the Hass.io Homematic CCU addon when running in HMIP-only mode with the HMIP-RFUSB stick.
This allows to change the port home assistant uses to talk to the CCU in order to provide services under hte homematic homain, e.g. homematic.set_variable_value
The default value for this option is the old hardcoded value this the change should be backwards compatible with existing configurations.
* Change style of config retrieval
* Added localip component
* Split config and core logic, and migrate to sensor platform (requested by @MartinHjelmare)
Also allow overriding the sensor name via the config
* Tweak docstring
Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch>
* Initial support for config entries
* Rename localip to local_ip (1/2)
* Rename localip to local_ip (2/2)
* Add test for config_flow
* Split and rename tests
* Remove unneeded code from config_flow
* Implement configuration as config entry import. Other misc requested changes from code review.
* Fix tests
* minor code review fixes
* remove unneeded code
Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
* Store capabilities and supported features in entity registry
* Restore states at startup
* Restore non-disabled entities on HA start
* Fix test
* Pass device class from entity platform
* Clean up restored entities from state machine
* Fix Z-Wave test?
* fix handling of symlinked device decriptors
* make check for symlinked paths more efficient
* make variable names pylint compliant
* move sync io during setup and device connect/disconnect to executor thread pool
* move remaining sync io during setup to executor thread pool
* remove unnecessary lambda functions
* Added support for Somfy RTS wireless power socket and
Somfy Temperature Sensore Thermos Wirefree io
* Added code formatting fixes for commit 5faaf9c
* added support for RollerShutterRTSComponent from Somfy
* Added support for RTS roller shutter in set_cover_position
* added support for enocean window handle FA 10 00 (Hoppe)
* removed spaces in empty lines
* removal of rawdata attribute / code style
* isort fix
* PyLint fixes
* Improvements after review suggestions: rename device class to sensor type to avoid ambiguousness
* added import for DEVICE_CLASS_POWER from const.py
* removed window handle unit
* Pull track position from MPD status()
This allows the progress bar to work when using the media-control card in lovelace.
* Actually commit flake8 fix!
* Extra documentation.
Mainly to trigger CI rerun.
* Updated to use self._media_position
* Add support for HobbyBoards sensors: Hub, Humidity, Moisture, PulseCounter
Add support for an owserver running on a remote host
* Cleanup and fixes for style/etc
* Forgot to convert to f-strings.
* Update with changes requested by @MartinHjelmare
* Pylint
* Fix to None
* Reverse logic for hobbyboard test to eliminate pylint complaint
* Modified manifest to list myself as codeowner
* Move some functions down into OneWireProxy instead of the top OneWire
* Oops, missed some decode()'s
* And another!
The number of total blocks is always a round number. There can't be .1 or .11 blocks for example. The output is now always formatted with two decimals that are always 00.
* Add support for input_number entities
* Update homeassistant/components/alexa/capabilities.py
Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>
* Removed get methods to directly access required attributes dicts.
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* fixed parsing of current to float in service set_current
* Added optional name in the config file in order to get a better entety naming (easier to find)
* fix parsing of all parameters to service calls
* addressed code review comments + updated pypi dependency
* config name imported from cont.py + minor naming changes to be more clear about the meaning of a sensor
* removed name in config again, use product name gathered from the charging station instead
* implemented suggested changes
* changed variable naming as requested
* Mechanism to rediscover a discovery that was ignored
* Add core config entry tests for new rediscover step
* Add tests for homekit_controller implementation of async_step_rediscover
* Rename rediscover to unignore
* Comment the new ignore/unignore mechanisms
* fix binary sensor offline/online
fixed self._handle_update on line 66 to produce args, kwargs.
Updated the binary sensor to check the correct index in the tuple.
* Fixed Standby switch
Set standby switch to poll in order to get status when homeassistant starts up.
Updated the index for the switch to get the status from the tuple.
* Fix imports so it works in custom_components
* Rework tado component
* Code cleanup
* Remove water_heater
* Address pylint warnings
* Remove water_heater from components
* Raise PlatformNotReady when we couldn't connect
* Revert PlatformNotReady since we are not a platform
* Add debugging information
* Add fallback setting
* Import with relative path
* Address race condition
* Cleanup
* Catch 422 Errors and log the real error
* Use async_schedule_update_ha_state to update the entities
* Forgot the True
* Include all SSDP data in discovery info
* Use UPnP device description as discovery info, inject some SSDP attrs
* Clean up attribute names
* Adapt existing SSDP flows to changed attribute names
* Prefix all SSDP UPnP attribute name constants with ATTR_UPNP, tweak a bit
* Make name customizable for nmbs live sensors
* Change order of the live name
* Added unique id to live nmbs sensor
* Revert changing the name of the live sensor
* Refactor capabilityResources object into class.
Implement semantics object to support open, close, raise, lower utterences.
Replace covers PercentageController with RangeController.
Add semantics for covers.
Remove PowerController for covers.
Add new display categories.
Add new items to Alexa Global Catalog.
Implement garage door voice PIN code support though Alexa app.
Fixed bug with getting property for ModeController.
Fixed bug were PercentageController AdjustPercentage would exceed 100.
* Comment fixes in Tests.
* Reorder imports.
* Added additional tests for more code coverage.
* Added and additional test for more code coverage.
* Explicitly return None for configuration() if not instance of AlexaCapabilityResource.
* Add unit_of_measurement to various Transmission sensors
Without unit_of_measurement, the history graph card will not show those sensors as line chart.
* Change Counts to Torrents.
* fix binary sensor offline/online
fixed self._handle_update on line 66 to produce args, kwargs.
Updated the binary sensor to check the correct index in the tuple.
* Fixed Standby switch
Set standby switch to poll in order to get status when homeassistant starts up.
Updated the index for the switch to get the status from the tuple.
* Update manifest.json
Updated sensor to use the latest version of the API to be able to use the new features.
* Updated sensor to use new API features. Configurable credentials and Inverter last reported date.
* EnvoyReader is passed to Envoy uses async update()
* Fixed pydocstyle warnings
* Fixed merge issue. Had extra variable.
* Added warning message when authentication for Inverter data fails
* Added continue after exception for loop
* Moved if statement outside of try/except
* Removed unneeded boolean attribute
The Fibaro FGR-222/FGRM-2222 ZWave roller shutter devices have a proprietary
command class to support setting the tilt angle of venetian blinds (= type of
window cover). This PR adds the support to HA for this. This allows the user to
set the height of the blinds and the tilt angle separately.
Original patch by @ChristianKuehnel #24405.
* Making tplink light more responsive.
* Adding light platform tests.
* Addressing PR feedback.
* Mocking the module, not the api.
* Using sync method for background update.
* Show current effect in yeelight device
* Use device_state_attributes instead of state_attributes
* Add early return in set effect
* Make single if elif chain
* Fix if elif
* Fix if elif
* Add unique ID to config entries
* Unload existing entries with same unique ID if flow with unique ID is
finished
* Remove unused exception
* Fix typing
* silence pylint
* Fix tests
* Add unique ID to Hue
* Address typing comment
* Tweaks to comments
* lint
Using the locals parameter makes it so that the code of a Python script runs as
if it were in the body of a ``class``. One effect of this is that functions
defined as part of a script cannot call one another directly.
Fixes: #24704, #13653
This brings back support for Z-Wave thermostats
of SETPOINT_THERMOSTAT specific device class.
Such devices don't have COMMAND_CLASS_THERMOSTAT_MODE
and are now handled separately.
* Bump adb-shell to 0.1.0 and androidtv to 0.0.36
* Add test for setting up two devices
* Add test_setup_same_device_twice
* Fix test_setup_two_devices
* Fix coverage
* Coverage
* Fix flaky 'test_setup_two_devices'
* Another stab at coverage
* Rename 'address' back to 'host'
* Fix https://github.com/home-assistant/home-assistant/issues/29853
* Run script.gen_requirements
* Update to store Token File in config directory
* Update to store Token File in config directory
* Update to store Token File in config directory
* Implement Alexa.EventDetectionSensor Interface
* Removed references to PR #28218 not yet merged into dev.
* Update tests to include Alexa Interface
* Guard for `unknown` and `unavailible` states.
* Fixed Unnecessary "elif" after "return"
* Adding filters for keypad dimmers and smoke sensor
* ran black --fast as suggested
* Adding filters for keypad dimmers and smoke sensor
* ran black --fast as suggested
* Update configuration schema to support multiple Pi-holes
* Construct sensors for each configured Pi-hole
* Ensure each Pi-hole has a unique name
* Update services to handle multiple Pi-holes
* Update tests for multiple configurations
* Refactor tests to support service testing
* Fix else-raise per pyliunt
* Per code review, add all entities in a single call
* Per code review, add the default name as default.
* Per code review, add cv.ensure_list to prevent breaking change
* Per code review, move name validation to schema
* Remove default name
* Per code review, validate api_key in schema definition
* Per code review, rename variables
* Per code review, use list comprehension
* Ensure unique slug names in config validation
* Per code review, refactor to CoroutineMock
* Fix adding sensor entities
* Per code review, refactor mock function creation
* Per code review, refactor mock function return values
* Added dummy user-agent to http request to fix setup error
* Replace dummy user-agent with the user-agent of the global home assistant session
* Adjust comment and rename user-agent constant
* Added a check for Connect actually returning something before telling the user the setup succeeded
* Added handling for KeyError in case API returns empty response, formatting
* Trying to please the linter
* Fixing issue where wrong sleep state entry was being used. closes #28370,#29397
* Fixing formatting.
* Sorting imports to get black checks to pass.
* Using lambda for getting latest sleep serie.
* Re-authorize Huawei LTE on login required error
Closes https://github.com/home-assistant/home-assistant/issues/29531
* Eliminate one indented "else" block
* Convert get_data from inline to instance method
* Use .get instead of [] for checking subscriptions for clarity
* add skeleton to retrieve zigbee groups
* get single group
* add a group
* return group members with group
* add comment
* fix group members
* add function to add device to group
* add group members
* add remove from group method
* add api to remove members from group
* add remove groups method
* clean up group add and remove
* fix remove group
* fix remove groups
* add api to get only groupable devices
* change var init
* add tests
* address review comment
* use isort to sort imports for components starting with 'z'
* add skip to end of zha/core/channels/__init__.py
* put 'pylint: disable=import-error' at the right place
* remove the import of config_flow in zha/__init__.py
According to @balloob it is no longer needed.
* revert previous commit
* isort:skip homeassistant/components/zha/__init__.py completely
* iCloud: setup ConfigFlow and prepare for more platforms
- add config flow + tests
- fix existing services
- add play_sound & display_message services
- document services
- can use devices with the same name
- prepare to add sensor platform
* Review : not copy account conf
* Review: Safer test patch
* Review: remove reset_account
* Review: Use executor_job while IO
* Review: Use executor_job while IO 2
* Review: use hass.helpers.storage.Store()
* Review: no IO in tests
* Remove reset from services.yaml
* Review: remove authenticate.return_value = Mock()
* Review: do not initialize the api with the mocked service
* isort
* Review: @MartinHjelmare Test config flow with all steps
* Review: Fix failed tests names
* Codevov: Add one missing test
* Move imports to top for homekit
* Moved back a couple imports, added annotation to disable import-outside-toplevel
* Fix all tests in test_homekit.py
* Wrap connection attempt by try/except block so an individual downed doorbird does not fail the whole platform
* Fixed lint warning
* Disable too-broad-exception pylint warning since the whole point of this is to catch all exceptions and log them while letting processing continue; I don't disable a lint warning lightly, but this is the entire intent of this PR.
* Fixed name of pylint warning to broad-except
* Use _LOGGER.exception to get the stack trace too, per PEP8 recommendation for a bare Exception being caught.
* per @balloob, switch to just catching OSError on a narrow block; I'm not sure this protects all problems with Doorbird device startup, but it protects against the primary one I experience.
* added signalmessenger integration
* allows to send a message (with an attachment) to one or more
recipients
* added signalmessenger documentation to manifest file
* remove debug logging from signalmessenger integration
* add signalmessenger to .coveragerc
* fixed typo in signalmessenger manifes
* moved service specific code to own pypi library
* updated pysignalclirestapi dependeny in manifest.json
* added pysignalclirestapi requirement for signalmessenger component
* fixed typo in codeowners
* reworked signalmessenger integration based on code review input
* updated requirements for signalmessenger
* small code improvements in signalmessenger integration
* no need to use the get() method to access dict parameters that are
required
* small changes in signalmessenger integration
* re-ordered import statements
* removed empty "requirements" list (not needed)
* changed import order in signalmessenger integration according to PEP 8
* used isort to order includes in signalmessenger integration
* renamed signalmessenger to signal_messenger
* renamed signalmessenger to signal_messenger in CODEOWNERS file
* changed documentation url in signal_messenger integration to new name
* changed signal messenger naming in .coveragerc
* Adding tests for vera component.
Fixing update bug in the vera climate platform.
* Updating requrements file.
* Moving vera stop to a job.
Sorting imports.
* Addressing simple PR feedback.
* Splitting tests into platforms.
* Mocking controller instead of using requests_mock.
* Updating pyvera to use version that stops threads quickly.
* Updating requirements files.
* Mocking the pyvera module, not the API.
* Addressing PR feedback.
Handling start/stop of patch in fixture.
Removing unecessary code.
* Using generator
The obj["state"] contains already several named return states as
following: "grass cutting", "trapped recovery", "searching wire",
"following wire", "searching home", "home", "idle"
And with the batteryChargerState also the "charging"
Fixes#455
* Don't escape command parameters
Escaping should only be done when using the tcp socket cli interface which we aren't.
* Updated comment to reflect the changes
* Add clear traffic statistics service
* Add reboot service
* Register services as admin ones
* Make URL optional when there's only one router configured
* Eliminate one if/else indent level
* Remove unnecessary .keys() with sorted()
* Add quarterly tariff period to utility_meter
Many tariff cycles in Australia are 3 monthly (quarterly).
Add quarterly tariff cycle handling to the utility_meter component.
* Add quarterly tariff period to utility_meter
Many tariff cycles in Australia are 3 monthly (quarterly).
Add quarterly tariff cycle handling to the utility_meter component.
* Change date for test for utility_meter
* Add quarterly tariff period to utility_meter
Many tariff cycles in Australia are 3 monthly (quarterly).
Add quarterly tariff cycle handling to the utility_meter component.
* Move imports to top for google_assistant
* Fix pylint error caused by isorting the imports with noqa: F401
* Move back an import because of circular dependency, add annotations
* Add Elgato Key Light integration
* Remove passing in of hass loop
* Tweaks a comment
* Tweaks a function name
* Ensure domain namespace in data exists in entry setup
* Move imports to top for zha
* Move back some imports, add annotation for disabling import-outside-toplevel
* Move import config_flow before import api
* Include MAC address in device state attributes for absent devices too
* Use MAC address as default name whether device is connected or not
* Fix initialization of known entities
Closes https://github.com/home-assistant/home-assistant/issues/29354
* Move imports to top for soundtouch
* Format with black
* Fix pyling error by renaming variable
* Rename entity instances to include entity instead of device
* Limit available heat/cool modes for HomeKit thermostats.
The Home app only shows appropriate modes (heat/cool/auto) for the device. Depending on the climate integration, disabling the auto start might be needed.
* Include improved mapping for HVAC modes in tests
* Add input_boolean reload service.
* Add reload test.
* Address comments.
Register reload service as an admin service
Setup platform even if there're no entities
* Move imports to top for mochad
* Fix test test_light.py for mochad
* Fix test test_switch.py for mochad
* Make intra package imports relative in switch and light
* Move imports to top for statistics
* Added recorder to manifest.json
* Deleted recorder from manifest.json, moved import back into method, added pylint disable comment
* Moved recorder util imports away from the top
* Move recorder imports to top, add recorder as after_dependency to manifest.json
* Move imports to top for islamic_prayer_times
* Fix test_sensor.py for islamic_prayer_times
* Format test_sensor.py with black
* Fix tests for islamic prayer times sensor
@@ -4,7 +4,7 @@ Everybody is invited and welcome to contribute to Home Assistant. There is a lot
The process is straight-forward.
- Read [How to get faster PR reviews](https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md#best-practices-for-faster-reviews) by Kubernetes (but skip step 0)
- Read [How to get faster PR reviews](https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md#best-practices-for-faster-reviews) by Kubernetes (but skip step 0 and 1)
- Fork the Home Assistant [git repository](https://github.com/home-assistant/home-assistant).
- Write the code for your device, notification service, sensor, or IoT thing.
- Ensure tests work.
@@ -12,3 +12,7 @@ The process is straight-forward.
Still interested? Then you should take a peek at the [developer documentation](https://developers.home-assistant.io/) to get more details.
## Feature suggestions
If you want to suggest a new feature for Home Assistant (e.g., new integrations), please open a thread in our [Community Forum: Feature Requests](https://community.home-assistant.io/c/feature-requests).
We use [GitHub for tracking issues](https://github.com/home-assistant/home-assistant/issues), not for tracking feature requests.
Home Assistant is a home automation platform running on Python 3. It is able to track and control all devices at home and offer a platform for automating control.
To get started:
..code::bash
python3 -m pip install homeassistant
hass --open-ui
Open source home automation that puts local control and privacy first. Powered by a worldwide community of tinkerers and DIY enthusiasts. Perfect to run on a Raspberry Pi or a local server.
Check out `home-assistant.io <https://home-assistant.io>`__ for `a
"adguard_home_addon_outdated":"Denne integration kr\u00e6ver AdGuard Home {minimal_version} eller h\u00f8jere, du har {current_version}. Opdater venligst din Hass.io AdGuard Home-tilf\u00f8jelse.",
"adguard_home_outdated":"Denne integration kr\u00e6ver AdGuard Home {minimal_version} eller h\u00f8jere, du har {current_version}.",
"adguard_home_addon_outdated":"Diese Integration erfordert AdGuard Home {minimal_version} oder h\u00f6her, Sie haben {current_version}. Bitte aktualisieren Sie Ihr Hass.io AdGuard Home Add-on.",
"adguard_home_outdated":"Diese Integration erfordert AdGuard Home {minimal_version} oder h\u00f6her, Sie haben {current_version}.",
"existing_instance_updated":"Bestehende Konfiguration wurde aktualisiert.",
"single_instance_allowed":"Es ist nur eine einzige Konfiguration von AdGuard Home zul\u00e4ssig."
"adguard_home_addon_outdated":"Questa integrazione richiede AdGuard Home {minimal_version} o versione successiva, si dispone di {current_version}. Aggiorna il componente aggiuntivo Hass.io AdGuard Home.",
"adguard_home_addon_outdated":"Questa integrazione richiede AdGuard Home {minimal_version} o versione successiva, si dispone di {current_version}. Aggiorna il componente aggiuntivo AdGuard Home di Hass.io.",
"adguard_home_outdated":"Questa integrazione richiede AdGuard Home {minimal_version} o versione successiva, si dispone di {current_version}.",
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.