ha-core/CODEOWNERS

1135 lines
52 KiB
Plaintext
Raw Normal View History

# This file is generated by script/hassfest/codeowners.py
# People marked here will be automatically requested for a review
# when the code that they own is touched.
# https://github.com/blog/2392-introducing-code-owners
# Home Assistant Core
setup.py @home-assistant/core
homeassistant/*.py @home-assistant/core
homeassistant/helpers/* @home-assistant/core
homeassistant/util/* @home-assistant/core
2020-11-02 11:54:16 +01:00
# Home Assistant Supervisor
build.json @home-assistant/supervisor
machine/* @home-assistant/supervisor
rootfs/* @home-assistant/supervisor
Dockerfile @home-assistant/supervisor
# Other code
homeassistant/scripts/check_config.py @kellerza
2017-10-08 22:32:42 +02:00
# Integrations
homeassistant/components/abode/* @shred86
tests/components/abode/* @shred86
homeassistant/components/accuweather/* @bieniu
tests/components/accuweather/* @bieniu
Add Acmeda integration (#33384) * First cut of Rollease Acmeda Pulse Hub integration. * Acmeda integration improvements: - Moved common code into a base entity - Battery level sensor added - Localisation now working * Added requirement for aiopulse now that it has been uploaded to PyPI. * Exclude acmeda integration from coverage check as it relies on a hub being present. * Fix Travis CI build issues. * Remove unused constants. * Remove unused group logic from cover.py * Removed commented code from base.py * Remove sensors (battery entities) on removal of hub. * Remove unused groups from sensor.py * Acmeda device and entity update made fully asynchronous using subscriptions to remove need for config polling. * Updated aiopulse version dependency. Removed non-functional battery charging indication. * Rationalised common code to update entities into helpers.py * Fix linting issue. * Correct additional CI pylint errors. * Index config_entries by entry_id. Move entity loading and unloading to __init__.py Add entry_id to dispatcher signal Removed now unused polling code hub Added config_flow unit tests * Tweak to integration config_entry title. * Bumped aiopulse module to 0.3.2. Reduced verbosity of aiopulse module. * Changed to using direct write of device state. Removed old style async_step_init config_flow step. * Remove superfluous battery_level and device_state_attributes from battery entity. * Removal of unused strings. Removal of unused create_config_flow helper. Removal of stale comment. * Remove use of shared container to track existing enities. Moved removal and deregistration of entities to base class through use of dispatch helper. * Fixed strings.json * Fix incorrect use of remove instead of pop on dict. * Add support for tilting covers, bump aiopulse version number. * Bump aiopulse version to v0.3.4. Fixed bug in cover supported_features. * Bumped aiopulse version to 0.4.0 Update acmeda .coveragerc exclusions * Removed already configured hub check from __init__.py async_setup_entry Removed passing in hass reference to base entity class Renamed entity async_reset to async_will_remove_from_hass Changed device_info and properties Migrated to CoveEntity from CoverDevice Added dispatched_connect cleanup on hub removal Removed unused entries from manifest Removed override of battery icon Renamed translations folder * Reversed unintended change to .coveragerc * Fixed config flow for multi-hub discovery. * Acmeda enhancements as requested by MartinHjelmare * Force import to connect to hub to retrieve id prior to creating entry * Remove YAML configuration support. * Tidied up config_flow and tests: - removed unnecessary steps - fixed typos * Removed storage of hub in config_flow.
2020-05-17 12:15:06 +02:00
homeassistant/components/acmeda/* @atmurray
tests/components/acmeda/* @atmurray
homeassistant/components/adax/* @danielhiversen
tests/components/adax/* @danielhiversen
homeassistant/components/adguard/* @frenck
tests/components/adguard/* @frenck
homeassistant/components/advantage_air/* @Bre77
tests/components/advantage_air/* @Bre77
Add agent_dvr integration (#32711) * initial * add missing fixture * fix mocks * fix mocks 2 * update coverage * fix broken sync between agent and integration * Update homeassistant/components/agent_dvr/camera.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/agent_dvr/camera.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/agent_dvr/camera.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/agent_dvr/camera.py Co-authored-by: J. Nick Koston <nick@koston.org> * updates for review * add back in should poll again * revert motion detection enabled flag in state attributes * Update homeassistant/components/agent_dvr/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/agent_dvr/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/agent_dvr/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/agent_dvr/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/agent_dvr/__init__.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/agent_dvr/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/agent_dvr/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/agent_dvr/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * add is_streaming * fix is_streaming bug, remove mp4 stream * cleanup Co-authored-by: J. Nick Koston <nick@koston.org> Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-08 16:49:47 +02:00
homeassistant/components/agent_dvr/* @ispysoftware
tests/components/agent_dvr/* @ispysoftware
homeassistant/components/airly/* @bieniu
tests/components/airly/* @bieniu
2020-12-30 20:25:57 +01:00
homeassistant/components/airnow/* @asymworks
tests/components/airnow/* @asymworks
2021-09-23 22:20:30 +02:00
homeassistant/components/airthings/* @danielhiversen
tests/components/airthings/* @danielhiversen
homeassistant/components/airtouch4/* @LonePurpleWolf
tests/components/airtouch4/* @LonePurpleWolf
homeassistant/components/airvisual/* @bachya
tests/components/airvisual/* @bachya
homeassistant/components/alexa/* @home-assistant/cloud @ochlocracy
tests/components/alexa/* @home-assistant/cloud @ochlocracy
homeassistant/components/almond/* @gcampax @balloob
tests/components/almond/* @gcampax @balloob
homeassistant/components/alpha_vantage/* @fabaff
2021-06-09 13:22:37 +02:00
homeassistant/components/ambee/* @frenck
tests/components/ambee/* @frenck
Amberelectric (#56448) * Add Amber Electric integration * Linting * Fixing some type hinting * Adding docstrings * Removing files that shouldn't have been changed * Splitting out test helpers * Testing the price sensor * Testing Controlled load and feed in channels * Refactoring mocks * switching state for native_value and unit_of_measurement for native_unit_of_measurement * Fixing docstrings * Fixing requiremennts_all.txt * isort fixes * Fixing pylint errors * Omitting __init__.py from test coverage * Add missing config_flow tests * Adding more sensor tests * Applying suggested changes to __init.py__ * Refactor coordinator to return the data object with all of the relevent data already setup * Another coordinator refactor - Better use the dictionary for when we build the sensors * Removing first function * Refactoring sensor files to use entity descriptions, remove factory * Rounding renewable percentage, return icons correctly * Cleaning up translation strings * Fixing relative path, removing TODO * Coordintator tests now accept new (more accurate) fixtures * Using a description placeholder * Putting missing translations strings back in * tighten up the no site error logic - self._site_id should never be None at the point of loading async_step_site * Removing DEVICE_CLASS, replacing the units with AUD/kWh * Settings _attr_unique_id * Removing icon function (it's already the default) * Apply suggestions from code review Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> * Adding strings.json * Tighter wrapping for try/except * Generating translations * Removing update_method - not needed as it's being overriden * Apply suggestions from code review Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> * Fixing tests * Add missing description placeholder * Fix warning * changing name from update to update_data to match async_update_data * renaming [async_]update_data => [async_]update_price_data to avoid confusion * Creating too man renewable sensors * Override update method * Coordinator tests use _async_update_data * Using $/kWh as the units * Using isinstance instead of __class__ test. Removing a zero len check * Asserting self._sites in second step * Linting * Remove useless tests Co-authored-by: jan iversen <jancasacondor@gmail.com> Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-09-28 09:03:51 +02:00
homeassistant/components/amberelectric/* @madpilot
tests/components/amberelectric/* @madpilot
homeassistant/components/ambiclimate/* @danielhiversen
tests/components/ambiclimate/* @danielhiversen
homeassistant/components/ambient_station/* @bachya
tests/components/ambient_station/* @bachya
homeassistant/components/amcrest/* @flacjacket
homeassistant/components/analytics/* @home-assistant/core @ludeeus
tests/components/analytics/* @home-assistant/core @ludeeus
homeassistant/components/androidtv/* @JeffLIrion @ollo69
tests/components/androidtv/* @JeffLIrion @ollo69
homeassistant/components/apache_kafka/* @bachya
tests/components/apache_kafka/* @bachya
homeassistant/components/api/* @home-assistant/core
tests/components/api/* @home-assistant/core
homeassistant/components/apple_tv/* @postlund
tests/components/apple_tv/* @postlund
homeassistant/components/apprise/* @caronc
tests/components/apprise/* @caronc
homeassistant/components/aprs/* @PhilRW
tests/components/aprs/* @PhilRW
homeassistant/components/arcam_fmj/* @elupus
tests/components/arcam_fmj/* @elupus
Consolidate all platforms that have tests (#22109) * Moved climate components with tests into platform dirs. * Updated tests from climate component. * Moved binary_sensor components with tests into platform dirs. * Updated tests from binary_sensor component. * Moved calendar components with tests into platform dirs. * Updated tests from calendar component. * Moved camera components with tests into platform dirs. * Updated tests from camera component. * Moved cover components with tests into platform dirs. * Updated tests from cover component. * Moved device_tracker components with tests into platform dirs. * Updated tests from device_tracker component. * Moved fan components with tests into platform dirs. * Updated tests from fan component. * Moved geo_location components with tests into platform dirs. * Updated tests from geo_location component. * Moved image_processing components with tests into platform dirs. * Updated tests from image_processing component. * Moved light components with tests into platform dirs. * Updated tests from light component. * Moved lock components with tests into platform dirs. * Moved media_player components with tests into platform dirs. * Updated tests from media_player component. * Moved scene components with tests into platform dirs. * Moved sensor components with tests into platform dirs. * Updated tests from sensor component. * Moved switch components with tests into platform dirs. * Updated tests from sensor component. * Moved vacuum components with tests into platform dirs. * Updated tests from vacuum component. * Moved weather components with tests into platform dirs. * Fixed __init__.py files * Fixes for stuff moved as part of this branch. * Fix stuff needed to merge with balloob's branch. * Formatting issues. * Missing __init__.py files. * Fix-ups * Fixup * Regenerated requirements. * Linting errors fixed. * Fixed more broken tests. * Missing init files. * Fix broken tests. * More broken tests * There seems to be a thread race condition. I suspect the logger stuff is running in another thread, which means waiting until the aio loop is done is missing the log messages. Used sleep instead because that allows the logger thread to run. I think the api_streams sensor might not be thread safe. * Disabled tests, will remove sensor in #22147 * Updated coverage and codeowners.
2019-03-19 07:07:39 +01:00
homeassistant/components/arest/* @fabaff
homeassistant/components/arris_tg2492lg/* @vanbalken
homeassistant/components/aseko_pool_live/* @milanmeu
tests/components/aseko_pool_live/* @milanmeu
2021-03-08 19:34:12 +01:00
homeassistant/components/asuswrt/* @kennedyshead @ollo69
tests/components/asuswrt/* @kennedyshead @ollo69
homeassistant/components/atag/* @MatsNL
tests/components/atag/* @MatsNL
homeassistant/components/aten_pe/* @mtdcr
homeassistant/components/atome/* @baqs
homeassistant/components/august/* @bdraco
tests/components/august/* @bdraco
homeassistant/components/aurora/* @djtimca
tests/components/aurora/* @djtimca
homeassistant/components/aurora_abb_powerone/* @davet2001
tests/components/aurora_abb_powerone/* @davet2001
homeassistant/components/aussie_broadband/* @nickw444 @Bre77
tests/components/aussie_broadband/* @nickw444 @Bre77
homeassistant/components/auth/* @home-assistant/core
tests/components/auth/* @home-assistant/core
homeassistant/components/automation/* @home-assistant/core
tests/components/automation/* @home-assistant/core
homeassistant/components/avea/* @pattyland
Refactor / update Awair integration (#34394) * Refactor / update Awair integration This commit does a few things, all in service of making the Awair integration more modern and reliable. Specifically we do the following: - Update to python_awair 0.1.1 - Begin using config entries / flow for setting up the integration. - YAML support is completely removed. - The integration now allows adding multiple Awair accounts, should a user wish to do so (I found it _very_ useful in development). - Group various Awair sensors into devices, using the device registry. - Renames various sensors and treats the "dust" sensor as a particulate sensor. - Device update rate-limits are no longer dynamically calculated; the Awair API now separates rate-limits on a per-device basis. - Supports sound pressure and illuminance sensors found on some Awair devices. - We report the "awair index" for certain sensors as part of device_state_attributes. The "index" is a subjective measure of whether or not a sensor reading is "good" or "bad" (and to what extent). It's a component of the Awair score, and it is useful on its own as an input for those who wish to do things like "display this color if the value is 'bad'". This is a breaking change, and requires updates to documentation and a warning in the README. The breaking changes in detail, are: - Support for all YAML configuration is removed, and users will need to re-add the integration via the UI. - We no longer support overriding device discovery via manual configuration of device UUIDs. This was previously supported because the Awair API had severe limits on the device list endpoints; however those have since been removed. - Gen 1 devices no longer show a "dust" sensor; rather we create a PM2.5 sensor and a PM10 sensor and just keep the values in sync. This better reflects the sensor capabilities: it can detect particles in a range from 2.5 -> 10, but cannot differentiate between sizes. - Sensors are renamed as follows: - "sensor.devicename_co2" -> "sensor.devicename_carbon_dioxide" - "sensor.devicename_voc" -> "sensor.devicename_volatile_organic_compounds" - "sensor.devicename_score" -> "sensor.devicename_air_quality_index" - I've chosen to call the "Awair Score" an "air quality index" sensor, because fundamentally the "Awair Score" and other air quality indices (such as CAQI) do the same thing: they calculate a value based on a variety of other inputs. Under the hood, the integration has seen some improvements: - We use the DataUpdateCoordinator class to handle updates, rather than rolling our own update class. - The code no longer tracks availability based on a timestamp returned from the Awair service; we assert that if we have received a response and the response has data for our device, then we are available (and otherwise, not available). We don't need to test the actual Awair API so heavily. - Test coverage has been expanded to handle a variety of products that Awair produces, not just the one I happen to own. - Test coverage no longer concerns itself with testing behavior that is now handled by the DataUpdateCoordinator; nor is it concerned with ensuring that the overall component sets up and registers properly. These are assumed to be well-tested functionaity of the core and not things we need to re-test ourselves. Finally - between library updates and integration updates, this integration is well-positioned to support future updates. I have a proof-of-concept patch for device automations, and the underlying library now supports subclassing authentication (which clears the way for us to use OAuth authentication for Awair). * Wrap test fixture in mock_coro Truthfully I'm not sure why this was passing on my local dev environment, but I was developing with python 3.8 before. After installing python 3.7, I was able to reproduce the CI failures and fix them. * Fix broken tests after #34901 and/or #34989 * Do not rename sensors so broadly We're going to keep the sensors named as they were before, pending the outcome of any decisions around the air_quality component and what names should be standardized for air-quality-like devices. If standardized names are selected (which does seem likely), then we will update this integration to match them - at which point, it would be a breaking change. But for now, we'll keep names mostly identical to what users had before. Notable in this commit is that we generate the entity_id ourselves, rather than just allowing it to be auto-generated from the name attribute. This allows us to provide more human friendly names, while keeping the old format for entity ids. For example, given an Awair device called "Living Room", we'll generate an entity id of "sensor.living_room_voc" but show set the name of the device to "Living Room Volatile organic compounds". * Support import from config.yaml We'll create a config entry from config.yaml the first time we're loaded, and then defer to it from then on. We ignore all keys other than the access_token, since we no longer need to deal with per-account rate-limits (rather, everything is per-device now). * Add myself to CODEOWNERS Since I wrote the initial integration, and now this re-write, it feels appropriate for me to take care of the integration along with `danielsjf`. * Remove name mangling * Update homeassistant/components/awair/manifest.json Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/awair/config_flow.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/awair/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/awair/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Address some review feedback * Set up reauth flow in a job, rather than awaiting * Remove unnecessary title string * Remove unnecessary config schema checking As pointed out in review, because this comes in via import from `configuration.yaml`, we can rely on the `PLATFORM_SCHEMA` validation instead. * Fix tests * Set unique_id appropriately for legacy devices For users who have had this integration already installed (and who have updated their home assistant installation sometime in recent history), we want to ensure that unique_id's are set to the same thing as before, to facilitate the upgrade process. To do that, we add an additional property to the `SENSOR_TYPES` dict (`ATTR_UNIQUE_ID`) which allows us to map modern sensor names from python_awair to what older versions called them - ie: `humidity` -> `HUMID`. We then use that value when constructing the unique ID. This should allow users to upgrade and not lose configuration even if entity IDs would otherwise change (because we have changed the name format that generates entity IDs). One note is that for the gen1 `DUST` sensor, we have to treat it differently. This integration used to call that a "PM2.5" sensor, but the unique_id generated would be something like `awair_12345_DUST`. So we special-case that sensor, and do the same thing. We do not need to special-case the PM10 sensor for gen1 devices, because we didn't create a PM10 sensor in the past (we do now, because the "DUST" sensor is really a hybrid PM2.5/PM10 sensor). * Patch async_setup_entry for two tests * Update awair config_flow to require / use an email address for unique_id Also, only start one re-auth flow. * Add a few more tests, try to get coverage up. * Add another test * Move attribution to device_state_attributes * Don't require email * Switch from Union[dict, None] to Optional[dict] * Use a mock where requested * Fix missing constant rename * Use async_create_task * Bump test coverage a bit for config_flow * s/CONF_UNIQUE_ID/UNIQUE_ID/g * Add warning about deprecated platform config Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-06-21 21:46:07 +02:00
homeassistant/components/awair/* @ahayworth @danielsjf
tests/components/awair/* @ahayworth @danielsjf
homeassistant/components/axis/* @Kane610
tests/components/axis/* @Kane610
homeassistant/components/azure_devops/* @timmo001
tests/components/azure_devops/* @timmo001
homeassistant/components/azure_event_hub/* @eavanvalkenburg
tests/components/azure_event_hub/* @eavanvalkenburg
homeassistant/components/azure_service_bus/* @hfurubotten
2021-11-25 19:04:06 +01:00
homeassistant/components/balboa/* @garbled1
tests/components/balboa/* @garbled1
homeassistant/components/beewi_smartclim/* @alemuro
homeassistant/components/bitcoin/* @fabaff
homeassistant/components/bizkaibus/* @UgaitzEtxebarria
homeassistant/components/blebox/* @bbx-a @bbx-jp
tests/components/blebox/* @bbx-a @bbx-jp
homeassistant/components/blink/* @fronzbot
tests/components/blink/* @fronzbot
homeassistant/components/blueprint/* @home-assistant/core
tests/components/blueprint/* @home-assistant/core
homeassistant/components/bluesound/* @thrawnarn
homeassistant/components/bmp280/* @belidzs
homeassistant/components/bmw_connected_drive/* @gerard33 @rikroe
tests/components/bmw_connected_drive/* @gerard33 @rikroe
2021-10-18 22:27:33 +02:00
homeassistant/components/bond/* @bdraco @prystupa @joshs85
tests/components/bond/* @bdraco @prystupa @joshs85
homeassistant/components/bosch_shc/* @tschamm
tests/components/bosch_shc/* @tschamm
homeassistant/components/braviatv/* @bieniu @Drafteed
tests/components/braviatv/* @bieniu @Drafteed
homeassistant/components/broadlink/* @danielhiversen @felipediel @L-I-Am
tests/components/broadlink/* @danielhiversen @felipediel @L-I-Am
homeassistant/components/brother/* @bieniu
tests/components/brother/* @bieniu
homeassistant/components/brunt/* @eavanvalkenburg
tests/components/brunt/* @eavanvalkenburg
Add BSBLan Climate integration (#32375) * Initial commit for BSBLan Climate component The most basic climate functions work. * Delete manifest 2.json wrongly added to commit * fix incorrect name current_hvac_mode * update coverage to exclude bsblan * sorted and add configflow * removed unused code, etc * fix hvac, preset mix up now it sets hvac mode to none and preset to eco * fix naming * removed commented code and cleaned code that isn't needed * Add test for the configflow * Update requirements fixing some issues in bsblan Lib * Update coverage file to include configflow bsblan * Fix hvac preset is not in hvac mode rewrote how to handle presets. * Add passkey option My device had a passkey so I needed to push this functionality to do testing * Update constants include passkey and added some more for device indentification * add passkey for configflow * Fix use discovery_info instead of user_input also added passkey * Fix name * Fix for discovery_info[CONF_PORT] is None * Fix get value CONF_PORT * Fix move translation to new location * Fix get the right info * Fix remove zeroconf and fix the code * Add init for mockConfigEntry * Fix removed zeroconfig and fix code * Fix changed ClimateDevice to ClimatEntity * Fix log error message * Removed debug code * Change name of device. * Remove check This is done in the configflow * Remove period from logging message * Update homeassistant/components/bsblan/strings.json Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Add passkey Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-05-10 04:16:21 +02:00
homeassistant/components/bsblan/* @liudger
tests/components/bsblan/* @liudger
homeassistant/components/bt_smarthub/* @jxwolstenholme
Add configuration flow for Buienradar integration (#37796) * Add configuration flow for Buienradar integration * Update buienradar camera tests to work with config flow * Update buienradar weather tests to work with config flow * Update buienradar sensor tests to work with config flow * Remove buienradar config_flow tests to pass tests * Add config flow tests for buienradar integration * Increase test coverage for buienradar config_flow tests * Move data into domain * Remove forecast option * Move data to options * Remove options from config flow * Adjust tests * Adjust string * Fix pylint issues * Rework review comments * Handle import * Change config flow to setup camera or weather * Fix tests * Remove translated file * Fix pylint * Fix flake8 * Fix unload * Minor name changes * Update homeassistant/components/buienradar/config_flow.py Co-authored-by: Ties de Kock <ties@tiesdekock.nl> * Remove asynctest * Add translation * Disable sensors by default * Remove integration name from translations * Remove import method * Drop selection between platforms, disable camera by default * Minor fix in configured_instances * Bugfix in weather * Rework import * Change unique ids of camera * Fix in import * Fix camera tests * Fix sensor test * Fix sensor test 2 * Fix config flow tests * Add option flow * Add tests for option flow * Add import tests * Some cleanups * Apply suggestions from code review Apply code suggestions Co-authored-by: Franck Nijhof <git@frenck.dev> * Fix isort,black,mypy * Small tweaks and added typing to new parts * Fix review comments (1) * Apply suggestions from code review Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Fix review comments (2) * Fix issues * Fix unique id * Improve tests * Extend tests * Fix issue with unload * Address review comments * Add warning when loading platform * Add load/unload test Co-authored-by: Ties de Kock <ties@tiesdekock.nl> Co-authored-by: Franck Nijhof <git@frenck.dev> Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-04 13:49:16 +02:00
homeassistant/components/buienradar/* @mjj4791 @ties @Robbie1221
tests/components/buienradar/* @mjj4791 @ties @Robbie1221
homeassistant/components/button/* @home-assistant/core
tests/components/button/* @home-assistant/core
homeassistant/components/cast/* @emontnemery
tests/components/cast/* @emontnemery
homeassistant/components/cert_expiry/* @Cereal2nd @jjlawren
tests/components/cert_expiry/* @Cereal2nd @jjlawren
2020-05-25 15:51:41 +02:00
homeassistant/components/circuit/* @braam
2019-04-08 14:48:19 +02:00
homeassistant/components/cisco_ios/* @fbradyirl
homeassistant/components/cisco_mobility_express/* @fbradyirl
homeassistant/components/cisco_webex_teams/* @fbradyirl
homeassistant/components/climacell/* @raman325
tests/components/climacell/* @raman325
homeassistant/components/cloud/* @home-assistant/cloud
tests/components/cloud/* @home-assistant/cloud
homeassistant/components/cloudflare/* @ludeeus @ctalkington
tests/components/cloudflare/* @ludeeus @ctalkington
homeassistant/components/coinbase/* @tombrien
tests/components/coinbase/* @tombrien
homeassistant/components/color_extractor/* @GenericStudent
tests/components/color_extractor/* @GenericStudent
homeassistant/components/comfoconnect/* @michaelarnauts
tests/components/comfoconnect/* @michaelarnauts
homeassistant/components/compensation/* @Petro31
tests/components/compensation/* @Petro31
homeassistant/components/config/* @home-assistant/core
tests/components/config/* @home-assistant/core
homeassistant/components/configurator/* @home-assistant/core
tests/components/configurator/* @home-assistant/core
homeassistant/components/control4/* @lawtancool
tests/components/control4/* @lawtancool
homeassistant/components/conversation/* @home-assistant/core
tests/components/conversation/* @home-assistant/core
homeassistant/components/coolmaster/* @OnFreund
tests/components/coolmaster/* @OnFreund
2021-07-26 23:33:15 +02:00
homeassistant/components/coronavirus/* @home-assistant/core
tests/components/coronavirus/* @home-assistant/core
homeassistant/components/counter/* @fabaff
tests/components/counter/* @fabaff
homeassistant/components/cover/* @home-assistant/core
tests/components/cover/* @home-assistant/core
homeassistant/components/cpuspeed/* @fabaff @frenck
tests/components/cpuspeed/* @fabaff @frenck
2021-09-14 21:46:52 +02:00
homeassistant/components/crownstone/* @Crownstone @RicArch97
tests/components/crownstone/* @Crownstone @RicArch97
homeassistant/components/cups/* @fabaff
homeassistant/components/daikin/* @fredrike
tests/components/daikin/* @fredrike
Sort code owners alphabetically (#22304) ## Description: Sort the code oweners list alphabetically. **Related issue (if applicable):** fixes #<home-assistant issue number goes here> **Pull request in [home-assistant.io](https://github.com/home-assistant/home-assistant.io) with documentation (if applicable):** home-assistant/home-assistant.io#<home-assistant.io PR number goes here> ## Example entry for `configuration.yaml` (if applicable): ```yaml ``` ## Checklist: - [ ] The code change is tested and works locally. - [ ] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass** - [ ] There is no commented out code in this PR. If user exposed functionality or configuration variables are added/changed: - [ ] Documentation added/updated in [home-assistant.io](https://github.com/home-assistant/home-assistant.io) If the code communicates with devices, web services, or third-party tools: - [ ] New dependencies have been added to the `REQUIREMENTS` variable ([example][ex-requir]). - [ ] New dependencies are only imported inside functions that use them ([example][ex-import]). - [ ] New or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`. - [ ] New files were added to `.coveragerc`. If the code does not interact with devices: - [ ] Tests have been added to verify that the new code works. [ex-requir]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L14 [ex-import]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L23
2019-03-22 22:05:26 +01:00
homeassistant/components/darksky/* @fabaff
tests/components/darksky/* @fabaff
homeassistant/components/debugpy/* @frenck
tests/components/debugpy/* @frenck
homeassistant/components/deconz/* @Kane610
tests/components/deconz/* @Kane610
homeassistant/components/delijn/* @bollewolle @Emilv2
homeassistant/components/demo/* @home-assistant/core
tests/components/demo/* @home-assistant/core
2021-10-02 13:10:54 +02:00
homeassistant/components/denonavr/* @ol-iver @starkillerOG
tests/components/denonavr/* @ol-iver @starkillerOG
homeassistant/components/derivative/* @afaucogney
tests/components/derivative/* @afaucogney
homeassistant/components/device_automation/* @home-assistant/core
tests/components/device_automation/* @home-assistant/core
2020-05-07 16:08:51 +02:00
homeassistant/components/devolo_home_control/* @2Fake @Shutgun
tests/components/devolo_home_control/* @2Fake @Shutgun
homeassistant/components/devolo_home_network/* @2Fake @Shutgun
tests/components/devolo_home_network/* @2Fake @Shutgun
2020-07-02 02:14:54 +02:00
homeassistant/components/dexcom/* @gagebenne
tests/components/dexcom/* @gagebenne
homeassistant/components/dhcp/* @bdraco
tests/components/dhcp/* @bdraco
2021-04-29 16:11:56 +02:00
homeassistant/components/dht/* @thegardenmonkey
2022-01-18 05:42:18 +01:00
homeassistant/components/diagnostics/* @home-assistant/core
tests/components/diagnostics/* @home-assistant/core
homeassistant/components/digital_ocean/* @fabaff
homeassistant/components/discogs/* @thibmaek
Config-flow for DLNA-DMR integration (#55267) * Modernize dlna_dmr component: configflow, test, types * Support config-flow with ssdp discovery * Add unit tests * Enforce strict typing * Gracefully handle network devices (dis)appearing * Fix Aiohttp mock response headers type to match actual response class * Fixes from code review * Fixes from code review * Import device config in flow if unavailable at hass start * Support SSDP advertisements * Ignore bad BOOTID, fix ssdp:byebye handling * Only listen for events on interface connected to device * Release all listeners when entities are removed * Warn about deprecated dlna_dmr configuration * Use sublogger for dlna_dmr.config_flow for easier filtering * Tests for dlna_dmr.data module * Rewrite DMR tests for HA style * Fix DMR strings: "Digital Media *Renderer*" * Update DMR entity state and device info when changed * Replace deprecated async_upnp_client State with TransportState * supported_features are dynamic, based on current device state * Cleanup fully when subscription fails * Log warnings when device connection fails unexpectedly * Set PARALLEL_UPDATES to unlimited * Fix spelling * Fixes from code review * Simplify has & can checks to just can, which includes has * Treat transitioning state as playing (not idle) to reduce UI jerking * Test if device is usable * Handle ssdp:update messages properly * Fix _remove_ssdp_callbacks being shared by all DlnaDmrEntity instances * Fix tests for transitioning state * Mock DmrDevice.is_profile_device (added to support embedded devices) * Use ST & NT SSDP headers to find DMR devices, not deviceType The deviceType is extracted from the device's description XML, and will not be what we want when dealing with embedded devices. * Use UDN from SSDP headers, not device description, as unique_id The SSDP headers have the UDN of the embedded device that we're interested in, whereas the device description (`ATTR_UPNP_UDN`) field will always be for the root device. * Fix DMR string English localization * Test config flow with UDN from SSDP headers * Bump async-upnp-client==0.22.1, fix flake8 error * fix test for remapping * DMR HA Device connections based on root and embedded UDN * DmrDevice's UpnpDevice is now named profile_device * Use device type from SSDP headers, not device description * Mark dlna_dmr constants as Final * Use embedded device UDN and type for unique ID when connected via URL * More informative connection error messages * Also match SSDP messages on NT headers The NT header is to ssdp:alive messages what ST is to M-SEARCH responses. * Bump async-upnp-client==0.22.2 * fix merge * Bump async-upnp-client==0.22.3 Co-authored-by: Steven Looman <steven.looman@gmail.com> Co-authored-by: J. Nick Koston <nick@koston.org>
2021-09-27 22:47:01 +02:00
homeassistant/components/dlna_dmr/* @StevenLooman @chishm
tests/components/dlna_dmr/* @StevenLooman @chishm
homeassistant/components/dlna_dms/* @chishm
tests/components/dlna_dms/* @chishm
2022-01-20 21:45:58 +01:00
homeassistant/components/dnsip/* @gjohansson-ST
tests/components/dnsip/* @gjohansson-ST
homeassistant/components/doorbird/* @oblogic7 @bdraco @flacjacket
tests/components/doorbird/* @oblogic7 @bdraco @flacjacket
homeassistant/components/dsmr/* @Robbie1221 @frenck
tests/components/dsmr/* @Robbie1221 @frenck
homeassistant/components/dsmr_reader/* @depl0y
homeassistant/components/dunehd/* @bieniu
tests/components/dunehd/* @bieniu
homeassistant/components/dwd_weather_warnings/* @runningman84 @stephan192 @Hummel95
homeassistant/components/dweet/* @fabaff
homeassistant/components/dynalite/* @ziv1234
tests/components/dynalite/* @ziv1234
homeassistant/components/eafm/* @Jc2k
tests/components/eafm/* @Jc2k
Add config flow to ecobee (#26634) * Add basic config flow * Fix json files * Update __init__.py * Fix json errors * Move constants to const.py * Add ecobee to generated config flows * Update config_flow for updated API * Update manifest to include new dependencies Bump pyecobee, add aiofiles. * Update constants for ecobee * Modify ecobee setup to use config flow * Bump dependency * Update binary_sensor to use config_entry * Update sensor to use config_entry * Update __init__.py * Update weather to use config_entry * Update notify.py * Update ecobee constants * Update climate to use config_entry * Avoid a breaking change on ecobee services * Store api key from old config entry * Allow unloading of config entry * Show user a form before import * Refine import flow * Update strings.json to remove import step Not needed. * Move third party imports to top of module * Remove periods from end of log messages * Make configuration.yaml config optional * Remove unused strings * Reorganize config flow * Remove unneeded requirement * No need to store API key * Update async_unload_entry * Clean up if/else statements * Update requirements_all.txt * Fix config schema * Update __init__.py * Remove check for DATA_ECOBEE_CONFIG * Remove redundant check * Add check for DATA_ECOBEE_CONFIG * Change setup_platform to async * Fix state unknown and imports * Change init step to user * Have import step raise specific exceptions * Rearrange try/except block in import flow * Convert update() and refresh() to coroutines ...and update platforms to use async_update coroutine. * Finish converting init to async * Preliminary tests * Test full implementation * Update test_config_flow.py * Update test_config_flow.py * Add self to codeowners * Update test_config_flow.py * Use MockConfigEntry * Update test_config_flow.py * Update CODEOWNERS * pylint fixes * Register services under ecobee domain Breaking change! * Pylint fixes * Pylint fixes * Pylint fixes * Move service strings to ecobee domain * Fix log message capitalization * Fix import formatting * Update .coveragerc * Add __init__ to coveragerc * Add option flow test * Update .coveragerc * Act on updated options * Revert "Act on updated options" This reverts commit 56b0a859f2e3e80b6f4c77a8f784a2b29ee2cce9. * Remove hold_temp from climate * Remove hold_temp and options from init * Remove options handler from config flow * Remove options strings * Remove options flow test * Remove hold_temp constants * Fix climate tests * Pass api key to user step in import flow * Update test_config_flow.py Ensure that the import step calls the user step with the user's api key as user input if importing from ecobee.conf/validating imported keys fails.
2019-09-25 22:38:21 +02:00
homeassistant/components/ecobee/* @marthoc
tests/components/ecobee/* @marthoc
homeassistant/components/econet/* @vangorra @w1ll1am23
tests/components/econet/* @vangorra @w1ll1am23
homeassistant/components/ecovacs/* @OverloadUT
homeassistant/components/edl21/* @mtdcr
homeassistant/components/efergy/* @tkdrob
tests/components/efergy/* @tkdrob
2019-02-26 19:47:08 +01:00
homeassistant/components/egardia/* @jeroenterheerdt
homeassistant/components/eight_sleep/* @mezz64 @raman325
homeassistant/components/elgato/* @frenck
tests/components/elgato/* @frenck
homeassistant/components/elkm1/* @gwww @bdraco
tests/components/elkm1/* @gwww @bdraco
homeassistant/components/elmax/* @albertogeniola
tests/components/elmax/* @albertogeniola
homeassistant/components/elv/* @majuss
homeassistant/components/emby/* @mezz64
Emoncms API now provides a Unit of Measurement (#32042) * Emoncms API provides a Unit The EmonCMS API has been amended to include a 'unit' as part of it's payload. By using this information, all the sensors can be created without the need for individual sensors to be setup by type. The change is backward compatible so if a unit type has been specified in the configuration, this will be used by default. If no unit is pecified either by the Home Assistant configuration, or the Emoncms API, then the default of W will be used as before. * Update sensor.py Check the 'unit' key is in the API call. Older systems may not have that key in the payload. * Modified approach with new configuration item * Removed new config item Removed the configuration item. The integration attempts to get the unit from the API. If this fails *or* the unit key of the API is blank, either the specified unit, or the default will be used. If approved, documentation will be updated. * Update homeassistant/components/emoncms/sensor.py Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com> * Update homeassistant/components/emoncms/sensor.py Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com> * Apply suggestions from code review * Apply suggestions from code review v2 * Update homeassistant/components/emoncms/sensor.py Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com> * Update sensor.py Update `config_unit` Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-03-05 03:03:51 +01:00
homeassistant/components/emoncms/* @borpin
homeassistant/components/emonitor/* @bdraco
tests/components/emonitor/* @bdraco
homeassistant/components/emulated_kasa/* @kbickar
tests/components/emulated_kasa/* @kbickar
2021-07-26 23:33:15 +02:00
homeassistant/components/energy/* @home-assistant/core
tests/components/energy/* @home-assistant/core
2019-04-08 14:48:19 +02:00
homeassistant/components/enigma2/* @fbradyirl
homeassistant/components/enocean/* @bdurrer
tests/components/enocean/* @bdurrer
homeassistant/components/enphase_envoy/* @gtdiehl
tests/components/enphase_envoy/* @gtdiehl
homeassistant/components/entur_public_transport/* @hfurubotten
homeassistant/components/environment_canada/* @gwww @michaeldavie
tests/components/environment_canada/* @gwww @michaeldavie
homeassistant/components/envisalink/* @ufodone
homeassistant/components/ephember/* @ttroy50
homeassistant/components/epson/* @pszafer
tests/components/epson/* @pszafer
homeassistant/components/epsonworkforce/* @ThaStealth
homeassistant/components/eq3btsmart/* @rytilahti
homeassistant/components/esphome/* @OttoWinter @jesserockz
tests/components/esphome/* @OttoWinter @jesserockz
homeassistant/components/evil_genius_labs/* @balloob
tests/components/evil_genius_labs/* @balloob
homeassistant/components/evohome/* @zxdavb
Update Ezviz Component (#45722) * Update Ezviz Component * Update Ezviz for pylint test * Update Ezviz component pylint tests * Update Ezviz component tests * Update Ezviz Component tests * Update Ezviz component pylint error * Fix ezviz component config flow tests * Update ezviz component * Update Ezviz component * Add sensor platforms * issue with requirements file * Update binary_sensor to include switches * Updates to Ezviz sensors * Removed enum private method. * Fix switch args * Update homeassistant/components/ezviz/switch.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * config flow checks login info * Config_flow now imports ezviz from camera platform * Update test * Updated config_flow with unique_id and remove period from logging * Added two camera services and clarified service descryptions in services.yaml * Fixed variable name mistake with new service * Added french integration translation * Config_flow add camera rtsp credentials as seperate entities, with user step and import step * rerun hassfest after rebase * Removed region from legacy config schema, removed logging in camera platform setup that could contain credentials, removed unused constant. * Regenerate requirements * Fix tests and add config_flow import config test * Added addition test to config_flow to test successfull camera entity create. * Add to tests method to end in create entry, config_flow cleanup, use entry instead of entry.data * Removed all services, sorted platforms in init file. * Changed RTSP logging to debug from warning. (Forgot to change this before commit) * Cleanup typing, change platform order, bump pyezviz version * Added types to entries, allow creation of main entry if deleted by validating existance of type * Config_flow doesn't store serial under entry data, camera rtsp read from entry and not stored in hass, removed duplicate abort if unique id from config flow * Fix test of config_flow * Update tests/components/ezviz/test_config_flow.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update tests/components/ezviz/test_config_flow.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update tests/components/ezviz/test_config_flow.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Bumped pyezviz api version, added api pyezvizerror exception raised in api (on HTTPError), cleanup unused imports. * rebase * cleanup coordinator, bump pyezviz api version, move async_setup_entry to add entry options to camera entries. (order change) * Added discovery step in config_flow if cameras detected without rtsp config entry * Reload main integration after addition or completion of camera rtsp config entry * Add tests for discovery config_flow, added a few other output asserts * Camera platform call discover flow with hass.async_create_task. Fixes to config_flow for discovery step * Fix config_flow discovery, add check to legacy yaml camera platform import, move camera private method to camera import step * Remove not needed check from config_flow import step. * Cleanup config_flow * Added config_flow description for discovered camera * Reordered description in config_flow confim step. * Added serial to flow_step description for discovered camera, readded camera attributes for rtsp stream url (allows user to check RTSP cred), added local ip and firmware upgade available. * Bumped pyezviz version and changed region code to region url. (Russia uses a completly different url). PyEzviz adds a Local IP sensor, removed camera entity attributes. * Add RSTP describe auth check from API to config_flow * url as vol.in options in Config_flow * Config_flow changes to discovery step, added exceptions, fixed tests, added rtsp config validate module mock to test disovery confirm step * Add test for config_flow step user_camera * Added tests for abort flow * Extend tests on custom url flow step * Fix exceptions in config_flow, fix test for discovery import exception test * Bump pyezviz api version * Bump api version, added config_flow function to wake hybernating camera before testing credentials, removed "user camera" step from config flow not needed as cameras are discovered. * Create pyezviz Api instance for config_flow wake hybernating camera, fixed tests and added fixture to mock method * Added alarm_control_panel with support to arm/disarm all cameras, fixed camera is available attribute (returns 2 if unavailable, 1 if available) * Skip ignored entities when setup up camera RTSP stream * Remove alarm_control_panel, add additional config_flow tests * Cleanup tests, add tests for discovery_step. * Add test for config_flow rtsp test step1 exceptions * Removed redundant except from second step in test RTSP method * All tests to CREATE or ABORT, added step exception for general HTTP error so user can retry in case of trasient network condition * Ammended tests with output checks for step_id, error, data, create entry method calls. * bumped ezviz api now rases library exceptions. Config_flow, coordiantor and init raises library exceptions. Updated test sideeffect for library exceptions * Bump api version, Create mock ezviz cloud account on discovery tests first to allow more complete testing of step. * Add abort to rtsp verification method if cloud account was deleted and add tests * Update tests/components/ezviz/__init__.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/ezviz/const.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update tests/components/ezviz/__init__.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/ezviz/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/ezviz/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/ezviz/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/ezviz/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/ezviz/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/ezviz/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Undo config import change to password key for yaml, move hass.data.setdefault to async_setup_entry and remove async_setup * Fixed tests by removing _patch_async_setup as this was removed from init. * Update homeassistant/components/ezviz/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/ezviz/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/ezviz/camera.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Changed L67 on camera config to complete suggestion for cleanup Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-04-09 12:39:19 +02:00
homeassistant/components/ezviz/* @RenierM26 @baqs
tests/components/ezviz/* @RenierM26 @baqs
homeassistant/components/faa_delays/* @ntilley905
tests/components/faa_delays/* @ntilley905
homeassistant/components/fastdotcom/* @rohankapoorcom
2019-04-04 05:14:02 +02:00
homeassistant/components/file/* @fabaff
tests/components/file/* @fabaff
homeassistant/components/filter/* @dgomes
tests/components/filter/* @dgomes
homeassistant/components/fireservicerota/* @cyberjunky
tests/components/fireservicerota/* @cyberjunky
homeassistant/components/firmata/* @DaAwesomeP
tests/components/firmata/* @DaAwesomeP
homeassistant/components/fivem/* @Sander0542
tests/components/fivem/* @Sander0542
homeassistant/components/fixer/* @fabaff
homeassistant/components/fjaraskupan/* @elupus
tests/components/fjaraskupan/* @elupus
homeassistant/components/flick_electric/* @ZephireNZ
tests/components/flick_electric/* @ZephireNZ
homeassistant/components/flipr/* @cnico
tests/components/flipr/* @cnico
homeassistant/components/flo/* @dmulcahey
tests/components/flo/* @dmulcahey
homeassistant/components/flock/* @fabaff
homeassistant/components/flume/* @ChrisMandich @bdraco
tests/components/flume/* @ChrisMandich @bdraco
homeassistant/components/flunearyou/* @bachya
tests/components/flunearyou/* @bachya
homeassistant/components/flux_led/* @icemanch @bdraco
tests/components/flux_led/* @icemanch @bdraco
homeassistant/components/forecast_solar/* @klaasnicolaas @frenck
tests/components/forecast_solar/* @klaasnicolaas @frenck
Add forked_daapd integration (#31953) * New forked_daapd component * Bunch of changes Add config flow and zeroconf Add zones on callback when added by server Add password auth Add async_play_media for TTS Add media_image_url Add support for pipe control/input from librespot-java Improve update callbacks * Refactor as per code review suggestions Move config_flow connection testing to pypi library (v0.1.4) Remove use of ForkedDaapdData class Decouple Master and Zone data and functions Add updater class to manage websocket and entity updates * More changes as per code review Avoid direct access to entities in tests Bump pypi version Mark entities unavailable when websocket disconnected Move config tests to test_config_flow Move full url creation from media_image_url to library Move updater entity from master to hass.data Remove default unmute volume option Remove name from config_flow Remove storage of entities in hass.data Use async_write_ha_state Use signal to trigger update_options Use unittest.mock instead of asynctest.mock * Yet more changes as per code review Add more assertions in tests Avoid patching asyncio Make off state require player state stopped Only send update to existing zones Split up some tests Use events instead of async_block_till_done Use sets instead of lists where applicable Wait for pause callback before continuing TTS * Remove unnecessary use of Future() * Add pipes and playlists as sources * Add support for multiple servers Change config options to add max_playlists+remove use_pipe_control Create Machine ID in test_connection and also get from zeroconf Modify hass.data storage Update host for known configurations Use Machine ID in unique_ids, entity names, config title, signals * Use entry_id as basis for multiple entries * Use f-strings and str.format, abort for same host * Clean up check for same host
2020-05-13 15:13:41 +02:00
homeassistant/components/forked_daapd/* @uvjustin
tests/components/forked_daapd/* @uvjustin
Add new device tracker supporting Fortinet FortiGate (#23078) * Create device_tracker.py initial version * Update device_tracker.py set verify SSL to false as default. Normally users do not have a verified certificate at home * Update device_tracker.py pep8 compliant * Update device_tracker.py upgraded fortiosapi requirements * Create __init__.py * tox compliant * Update device_tracker.py * Create manifest.json * Update .coveragerc added fortios * Update device_tracker.py circle ci, blank line required * Update manifest.json removed code owners * Update manifest.json removed dependencies * Update manifest.json removed codeowners * Update requirements_all.txt added fortios * Update requirements_all.txt * Update device_tracker.py pylint corrections * Update device_tracker.py pylint exceptions * Update device_tracker.py disable pylint broad exceptions * Update device_tracker.py pylint * Update device_tracker.py removed pointless string statements * Update device_tracker.py removed blank line * Update device_tracker.py * Update device_tracker.py * Update device_tracker.py * Update device_tracker.py * Update device_tracker.py * Update device_tracker.py * Update device_tracker.py * Update device_tracker.py * Update device_tracker.py * Update device_tracker.py * Update device_tracker.py * Update device_tracker.py * Update device_tracker.py * Update manifest.json added codeowners * Update CODEOWNERS added kimfrellsen as codeowner * fortiosapi 0.10.8 Updated to use latest version of fortiosapi 0.10.8 * Update requirements_all.txt updated fortiosapi to 0.10.8 * Update device_tracker.py fixed some requests. * Update device_tracker.py better exception handling. * Update device_tracker.py exception handling * Update CODEOWNERS * Update device_tracker.py corrected exception handling * Update device_tracker.py exception handling. * Update device_tracker.py lint corrections * Update device_tracker.py removed broad exception. * Update device_tracker.py fix lint errors * Update device_tracker.py minor changes, mostly cosmetic
2019-07-24 01:18:58 +02:00
homeassistant/components/fortios/* @kimfrellsen
homeassistant/components/foscam/* @skgsergio
tests/components/foscam/* @skgsergio
homeassistant/components/freebox/* @hacf-fr @Quentame
tests/components/freebox/* @hacf-fr @Quentame
homeassistant/components/freedompro/* @stefano055415
tests/components/freedompro/* @stefano055415
2022-01-14 22:06:36 +01:00
homeassistant/components/fritz/* @mammuth @AaronDavidSchneider @chemelli74 @mib1185
tests/components/fritz/* @mammuth @AaronDavidSchneider @chemelli74 @mib1185
homeassistant/components/fritzbox/* @mib1185 @flabbamann
tests/components/fritzbox/* @mib1185 @flabbamann
Rewrite Fronius integration (#59686) * Add unique_id and use DataUpdateCoordinator in Fronius (#57879) * initial refactoring commit - meters - config_flow (no strings, no tests yet) - import yaml config - FroniusSolarNet class for holding Fronius object , coordinators and some common data - meter descriptions - update coordinator - entities (including devices) * storage controllers * error handling on init; inverter unique_id * inverters * power_flow * fix VA, var, varh not valid for device_class power/energy and add custom icons * add SolarNet device for system wide values * cleanup * config_flow strings * test config_flow * use pyfronius 0.7.0 * enable strict typing * remove TODO comments * fix lint errors; move FroniusSensorEntity to sensor.py * power_flow as optional coordinator API V0 doesn't support power_flow endpoint * show error message in logs * prevent parallel requests to one host * logger_info coordinator * store FroniusSolarNet reference directly in coordinator * cleanup coordinators when unloading entry * round floats returned by Fronius API * default icons for grid im/export tariffs * small typing fix * Update homeassistant/components/fronius/sensor.py Co-authored-by: Brett Adams <Bre77@users.noreply.github.com> * DC icons * prepend names with "Fronius" and device type to get more reasonable default entity_ids (eg. have them next to each other when alphabetically sorted) * remove config_flow and devices * rename _FroniusUpdateCoordinator to FroniusCoordinatorBase and mark ABC * move SensorEntityDescriptions to sensor.py * Revert "move SensorEntityDescriptions to sensor.py" This reverts commit 2e5a726eb65854f236a0c72f3f67f04a6f8a2eff. * Don't raise ConfigEntryNotReady and use regular refresh method * move bridge initialization out of helper class * no coverage tests * power_flow update interval 10 seconds * move SensorEntityDescriptions to sensor.py without introducing a circular dependency * deprecation warning for CONF_MONITORED_CONDITIONS * remove extra_state_attributes form meter sensor entities * readd diagnostic entities * decouple default entity_id from default name * use key instead of name for entity_id and make deprecated config key optional * adjust tests * use old entity_ids these changes are now backwards compatible * check coverage * simplify entity description definitions * restore entity names of previous implementation Co-authored-by: Brett Adams <Bre77@users.noreply.github.com> * Add config_flow for Fronius integration (#59677) * Cleanup Fronius config_flow and tests (#60094) * Add devices to Fronius integration (#60104) * New entity names for Fronius entities (#60215) * Adaptive update interval for Fronius coordinators (#60192) Co-authored-by: Brett Adams <Bre77@users.noreply.github.com>
2021-11-24 02:04:36 +01:00
homeassistant/components/fronius/* @nielstron @farmio
tests/components/fronius/* @nielstron @farmio
2019-05-21 07:20:23 +02:00
homeassistant/components/frontend/* @home-assistant/frontend
tests/components/frontend/* @home-assistant/frontend
homeassistant/components/garages_amsterdam/* @klaasnicolaas
tests/components/garages_amsterdam/* @klaasnicolaas
homeassistant/components/gdacs/* @exxamalte
tests/components/gdacs/* @exxamalte
homeassistant/components/generic_hygrostat/* @Shulyaka
tests/components/generic_hygrostat/* @Shulyaka
homeassistant/components/geniushub/* @zxdavb
homeassistant/components/geo_json_events/* @exxamalte
tests/components/geo_json_events/* @exxamalte
homeassistant/components/geo_rss_events/* @exxamalte
tests/components/geo_rss_events/* @exxamalte
homeassistant/components/geonetnz_quakes/* @exxamalte
tests/components/geonetnz_quakes/* @exxamalte
homeassistant/components/geonetnz_volcano/* @exxamalte
tests/components/geonetnz_volcano/* @exxamalte
homeassistant/components/gios/* @bieniu
tests/components/gios/* @bieniu
homeassistant/components/github/* @timmo001 @ludeeus
tests/components/github/* @timmo001 @ludeeus
homeassistant/components/gitter/* @fabaff
homeassistant/components/glances/* @fabaff @engrbm87
tests/components/glances/* @fabaff @engrbm87
homeassistant/components/goalzero/* @tkdrob
tests/components/goalzero/* @tkdrob
homeassistant/components/gogogate2/* @vangorra @bdraco
tests/components/gogogate2/* @vangorra @bdraco
homeassistant/components/goodwe/* @mletenay @starkillerOG
tests/components/goodwe/* @mletenay @starkillerOG
homeassistant/components/google_assistant/* @home-assistant/cloud
tests/components/google_assistant/* @home-assistant/cloud
homeassistant/components/google_cloud/* @lufton
homeassistant/components/google_travel_time/* @eifinger
tests/components/google_travel_time/* @eifinger
homeassistant/components/gpsd/* @fabaff
homeassistant/components/gree/* @cmroche
tests/components/gree/* @cmroche
homeassistant/components/greeneye_monitor/* @jkeljo
tests/components/greeneye_monitor/* @jkeljo
homeassistant/components/group/* @home-assistant/core
tests/components/group/* @home-assistant/core
homeassistant/components/growatt_server/* @indykoning @muppet3000 @JasperPlant
tests/components/growatt_server/* @indykoning @muppet3000 @JasperPlant
homeassistant/components/guardian/* @bachya
tests/components/guardian/* @bachya
homeassistant/components/habitica/* @ASMfreaK @leikoilja
tests/components/habitica/* @ASMfreaK @leikoilja
homeassistant/components/harmony/* @ehendrix23 @bramkragten @bdraco @mkeesey @Aohzan
tests/components/harmony/* @ehendrix23 @bramkragten @bdraco @mkeesey @Aohzan
2020-11-02 11:54:16 +01:00
homeassistant/components/hassio/* @home-assistant/supervisor
tests/components/hassio/* @home-assistant/supervisor
homeassistant/components/heatmiser/* @andylockran
homeassistant/components/heos/* @andrewsayre
tests/components/heos/* @andrewsayre
Add here_travel_time (#24603) * Add here_travel_time * Bump herepy version to 0.6.2 * Update requirements_all.txt * Disable pylint and catch errors * Add herepy to requirements_test_all * Correctly place test req for herepy * use homeassistant.const.LENGTH_METERS * Implemented Requested Changes * Better error message for cryptic error code * add requested changes * add_entities instead of async * Add route attr and distance in km instead of m * fix linting errors * attribute duration in minutes instead of seconds * Correct pattern for longitude * dont split attribute but rather local var * move strings to const and use travelTime * Add tests * Add route for pedestrian and public * fix public transport route generation * remove print statement * Standalone pytest * Use hass fixture and increase test cov _resolve_zone is redundant * Clean up redundant code * Add type annotations * Readd _resolve_zone and add a test for it * Full test cov * use caplog * Add origin/destination attributes According to https://github.com/home-assistant/home-assistant/pull/24956 * Add mode: bicycle * black * Add mode: publicTransportTimeTable * Fix error for publicTransportTimeTable Switch route_mode and travel_mode in api request. * split up config options * More type hints * implement *_entity_id * align attributes with google_travel_time * route in lib apply requested changes * Update requirements_all.txt * remove DATA_KEY * Use ATTR_MODE * add attribution * Only add attribution if not none * Add debug log for raw response * Add _build_hass_attribution * clearer var names in credentials check * async _are_valid_client_credentials
2019-09-23 11:50:18 +02:00
homeassistant/components/here_travel_time/* @eifinger
tests/components/here_travel_time/* @eifinger
homeassistant/components/hikvision/* @mezz64
2019-04-08 14:48:19 +02:00
homeassistant/components/hikvisioncam/* @fbradyirl
Add support for Hisense AEH-W4A1 wifi module (AC remote control) (#28641) * First commit * First working release, but there's a lot to do * Added support for preset_modes * Refined logic * Added translations for config_flow * Updated translations * modified: homeassistant/components/hisense_aehw4a1/climate.py * modified: climate.py * Updated library to latest version * Small changes * Null states when AC off * Minor fixes * Latest updates for TOX * First commit * First working release, but there's a lot to do * new file: requirements_test_all.txt * Added support for preset_modes * Refined logic * Added translations for config_flow * Updated translations * modified: homeassistant/components/hisense_aehw4a1/climate.py * modified: climate.py * Updated library to latest version * Small changes * Null states when AC off * Minor fixes * Latest updates for TOX * new file: requirements_test_all.txt * Fighting with tox * vs Tox round 2 * Isort and updated requirements_test_all.txt * Fighting with lint * Implemented available state * Changed exception type after Travis-ci pylint fails * Support entry in configuration.yaml * Removed commented code * Switched to async * Minor changes * Updated library and fixed pylint errors * Code optimization * Implemented static ip addresses in configuration.yaml * Reverted to existing constant * Corrected pylint wrong-import-order * Recovery from nuke event (messing all while rebase) * Resolved Ci error * Changes for PR * Corrected temp scale for frontend * Added test for config entry from configuration.yaml * Updated dependency * Check on manual config * Imported custom exceptions and modified import config * Optimized * Change based on PR revision * Added logging for failure event on manual config * Tests added but to be corrected * Edited tests * Tests updated to ensure no I/O * Working on tests * Cheanges based on revision for PR * Setting librey exception as direct side_effect in test * Final changes for PR * Redundand on command solved * Improved AC logic
2019-11-15 21:22:24 +01:00
homeassistant/components/hisense_aehw4a1/* @bannhead
tests/components/hisense_aehw4a1/* @bannhead
homeassistant/components/history/* @home-assistant/core
tests/components/history/* @home-assistant/core
homeassistant/components/hive/* @Rendili @KJonline
tests/components/hive/* @Rendili @KJonline
homeassistant/components/hlk_sw16/* @jameshilliard
tests/components/hlk_sw16/* @jameshilliard
2020-05-05 11:26:14 +02:00
homeassistant/components/home_connect/* @DavidMStraub
tests/components/home_connect/* @DavidMStraub
homeassistant/components/home_plus_control/* @chemaaa
tests/components/home_plus_control/* @chemaaa
homeassistant/components/homeassistant/* @home-assistant/core
tests/components/homeassistant/* @home-assistant/core
homeassistant/components/homekit/* @bdraco
tests/components/homekit/* @bdraco
homeassistant/components/homekit_controller/* @Jc2k @bdraco
tests/components/homekit_controller/* @Jc2k @bdraco
homeassistant/components/homematic/* @pvizeli @danielperna84
tests/components/homematic/* @pvizeli @danielperna84
homeassistant/components/homewizard/* @DCSBL
tests/components/homewizard/* @DCSBL
homeassistant/components/honeywell/* @rdfurman
tests/components/honeywell/* @rdfurman
homeassistant/components/http/* @home-assistant/core
tests/components/http/* @home-assistant/core
homeassistant/components/huawei_lte/* @scop @fphammerle
tests/components/huawei_lte/* @scop @fphammerle
homeassistant/components/hue/* @balloob @marcelveldt
tests/components/hue/* @balloob @marcelveldt
homeassistant/components/huisbaasje/* @dennisschroer
tests/components/huisbaasje/* @dennisschroer
homeassistant/components/humidifier/* @home-assistant/core @Shulyaka
tests/components/humidifier/* @home-assistant/core @Shulyaka
homeassistant/components/hunterdouglas_powerview/* @bdraco
tests/components/hunterdouglas_powerview/* @bdraco
homeassistant/components/hvv_departures/* @vigonotion
tests/components/hvv_departures/* @vigonotion
homeassistant/components/hydrawise/* @ptcryan
homeassistant/components/hyperion/* @dermotduffy
tests/components/hyperion/* @dermotduffy
homeassistant/components/ialarm/* @RyuzakiKK
tests/components/ialarm/* @RyuzakiKK
homeassistant/components/iammeter/* @lewei50
homeassistant/components/iaqualink/* @flz
tests/components/iaqualink/* @flz
homeassistant/components/icloud/* @Quentame @nzapponi
tests/components/icloud/* @Quentame @nzapponi
homeassistant/components/ign_sismologia/* @exxamalte
tests/components/ign_sismologia/* @exxamalte
2020-08-19 11:33:04 +02:00
homeassistant/components/image/* @home-assistant/core
tests/components/image/* @home-assistant/core
homeassistant/components/incomfort/* @zxdavb
homeassistant/components/influxdb/* @fabaff @mdegat01
tests/components/influxdb/* @fabaff @mdegat01
homeassistant/components/input_boolean/* @home-assistant/core
tests/components/input_boolean/* @home-assistant/core
homeassistant/components/input_button/* @home-assistant/core
tests/components/input_button/* @home-assistant/core
homeassistant/components/input_datetime/* @home-assistant/core
tests/components/input_datetime/* @home-assistant/core
homeassistant/components/input_number/* @home-assistant/core
tests/components/input_number/* @home-assistant/core
homeassistant/components/input_select/* @home-assistant/core
tests/components/input_select/* @home-assistant/core
homeassistant/components/input_text/* @home-assistant/core
tests/components/input_text/* @home-assistant/core
homeassistant/components/insteon/* @teharris1
tests/components/insteon/* @teharris1
homeassistant/components/integration/* @dgomes
tests/components/integration/* @dgomes
homeassistant/components/intellifire/* @jeeftor
tests/components/intellifire/* @jeeftor
homeassistant/components/intent/* @home-assistant/core
tests/components/intent/* @home-assistant/core
homeassistant/components/intesishome/* @jnimmo
2019-03-14 08:34:52 +01:00
homeassistant/components/ios/* @robbiet480
tests/components/ios/* @robbiet480
homeassistant/components/iotawatt/* @gtdiehl @jyavenard
tests/components/iotawatt/* @gtdiehl @jyavenard
homeassistant/components/iperf3/* @rohankapoorcom
homeassistant/components/ipma/* @dgomes @abmantis
tests/components/ipma/* @dgomes @abmantis
homeassistant/components/ipp/* @ctalkington
tests/components/ipp/* @ctalkington
homeassistant/components/iqvia/* @bachya
tests/components/iqvia/* @bachya
homeassistant/components/irish_rail_transport/* @ttroy50
homeassistant/components/islamic_prayer_times/* @engrbm87
tests/components/islamic_prayer_times/* @engrbm87
homeassistant/components/iss/* @DurgNomis-drol
tests/components/iss/* @DurgNomis-drol
homeassistant/components/isy994/* @bdraco @shbatm
tests/components/isy994/* @bdraco @shbatm
homeassistant/components/izone/* @Swamp-Ig
tests/components/izone/* @Swamp-Ig
Add Jellyfin integration (#44401) * Initial commit after scaffold setup * Add initial config flow * Create initial entity * Ready for testing * Can browse, no result yet * Further improvements. Browsing is working. Now need to work on proper stream URL * Two valid URLs. Do not play in HA * First working version for music * Add thumbnail * Includes Artist->Album hierarchy * Add sorting of artists, albums and tracks * Remove code for video libraries * Improved code styling * Optimize configuration flow * Fix unit tests for config flow * Fix import order * Conform to style requirements * Use empty string as media type for non playables * 100% code coverage config_flow * Type async_get_media_source * Final docsctring fix after rebase * Add __init__ and media_source files to .coveragerc * Fix testing issues after rebase * Fix string format issues and relative const import * Remove unused manifest entries * Raise ConfigEntry exceptions, not log errors * Upgrade dependency to avoid WARNING on startup * Change to builtin tuple and list (deprecation) * Log broad exceptions * Add strict typing * Further type fixes after rebase * Retry when cannot connect, otherwise fail setup * Remove unused CONFIG_SCHEMA * Enable strict typing checks * FlowResultDict -> FlowResult * Code quality improvements * Resolve mypy.ini merge conflict * Use unique userid generated by Jellyfin * Update homeassistant/components/jellyfin/config_flow.py Remove connection class from config flow Co-authored-by: Milan Meulemans <milan.meulemans@live.be> * Minor changes for additional checks after rebase * Remove title from string and translations * Changes wrt review * Fixes based on rebase and review suggestions * Move client initialization to separate file * Remove persistent_notification, add test const.py Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
2021-11-12 14:57:40 +01:00
homeassistant/components/jellyfin/* @j-stienstra
tests/components/jellyfin/* @j-stienstra
homeassistant/components/jewish_calendar/* @tsvi
tests/components/jewish_calendar/* @tsvi
homeassistant/components/juicenet/* @jesserockz
tests/components/juicenet/* @jesserockz
homeassistant/components/kaiterra/* @Michsior14
homeassistant/components/keba/* @dannerph
2019-10-16 20:28:12 +02:00
homeassistant/components/keenetic_ndms2/* @foxel
tests/components/keenetic_ndms2/* @foxel
homeassistant/components/kef/* @basnijholt
homeassistant/components/keyboard_remote/* @bendavid @lanrat
homeassistant/components/kmtronic/* @dgomes
tests/components/kmtronic/* @dgomes
homeassistant/components/knx/* @Julius2342 @farmio @marvin-w
tests/components/knx/* @Julius2342 @farmio @marvin-w
homeassistant/components/kodi/* @OnFreund @cgtobi
tests/components/kodi/* @OnFreund @cgtobi
homeassistant/components/konnected/* @heythisisnate
tests/components/konnected/* @heythisisnate
homeassistant/components/kostal_plenticore/* @stegm
tests/components/kostal_plenticore/* @stegm
homeassistant/components/kraken/* @eifinger
tests/components/kraken/* @eifinger
homeassistant/components/kulersky/* @emlove
tests/components/kulersky/* @emlove
homeassistant/components/lametric/* @robbiet480 @frenck
homeassistant/components/launch_library/* @ludeeus @DurgNomis-drol
tests/components/launch_library/* @ludeeus @DurgNomis-drol
homeassistant/components/lcn/* @alengwenus
tests/components/lcn/* @alengwenus
homeassistant/components/lg_netcast/* @Drafteed
2019-06-07 01:07:15 +02:00
homeassistant/components/life360/* @pnbruckner
homeassistant/components/linux_battery/* @fabaff
homeassistant/components/litejet/* @joncar
tests/components/litejet/* @joncar
2021-02-22 19:53:57 +01:00
homeassistant/components/litterrobot/* @natekspencer
tests/components/litterrobot/* @natekspencer
homeassistant/components/local_ip/* @issacg
tests/components/local_ip/* @issacg
homeassistant/components/logger/* @home-assistant/core
tests/components/logger/* @home-assistant/core
homeassistant/components/logi_circle/* @evanjd
tests/components/logi_circle/* @evanjd
homeassistant/components/lookin/* @ANMalko @bdraco
tests/components/lookin/* @ANMalko @bdraco
2019-05-21 07:20:23 +02:00
homeassistant/components/lovelace/* @home-assistant/frontend
tests/components/lovelace/* @home-assistant/frontend
homeassistant/components/luci/* @mzdrale
homeassistant/components/luftdaten/* @fabaff @frenck
tests/components/luftdaten/* @fabaff @frenck
homeassistant/components/lupusec/* @majuss
homeassistant/components/lutron/* @JonGilmore
homeassistant/components/lutron_caseta/* @swails @bdraco
tests/components/lutron_caseta/* @swails @bdraco
homeassistant/components/lyric/* @timmo001
tests/components/lyric/* @timmo001
homeassistant/components/mastodon/* @fabaff
homeassistant/components/matrix/* @tinloaf
homeassistant/components/mazda/* @bdr99
tests/components/mazda/* @bdr99
homeassistant/components/mcp23017/* @jardiamj
homeassistant/components/media_source/* @hunterjm
tests/components/media_source/* @hunterjm
homeassistant/components/mediaroom/* @dgomes
Add MELCloud integration (#30712) * Add MELCloud integration * Provides a climate and sensor platforms. Multiple platforms on one go is not the best option, but it does not make sense to remove them and commit them later either. * Email and access token are stored to the ConfigEntry. The token can be updated by adding the integration again with the same email address. The config flow is aborted and the update is performed on the background. * Run isort * Fix pylint errors * Run black * Increase coverage * Update pymelcloud dependency * Add HVAC_MODE_OFF emulation * Remove print * Update pymelcloud to enable device type filtering * Collapse except blocks and chain ClientNotReadys * Add preliminary documentation URL * Use list comp for creating model info Filters out empty model names form units. * f-string galore Dropped 'HVAC' from AtaDevice name template. * Delegate fan mode mapping to pymelcloud * Fix type annotation * Access AtaDevice through self._device * Prefer list comprehension * Update pymelcloud to leverage device type grouping The updated backend lib returns devices in a dict grouped by the device type. The devices do not necessarily need to be in a single list and this way isinstance is not required to extract devices by type. * Remove DOMAIN presence check This does not seem to make much sense after all. * Fix async_setup_entry Entry setup used half-baked naming from few experimentations back. The naming conventiens were unified to match the platforms. A redundant noneness check was also removed after evaluating the possible return values from the backend lib. * Simplify empty model name check * Improve config validation * Use config_validation strings. * Add CONF_EMAIL to config schema. The value is not strictly required when configuring through configuration.yaml, but having it there makes things more consistent. * Use dict[key] to access required properties. * Add DOMAIN in config check back to async_setup. This is required if an integration is configured throught config_flow. * Remove unused manifest properties * Remove redundant ClimateDevice property override * Add __init__.py to coverage exclusion * Use CONF_USERNAME instead of CONF_EMAIL * Use asyncio.gather instead of asyncio.wait * Misc fixes * any -> Any * Better names for dict iterations * Proper dict access with mandatory/known keys * Remove unused 'name' argument * Remove unnecessary platform info from unique_ids * Remove redundant methods from climate platform * Remove redundant default value from dict get * Update ConfigFlow sub-classing * Define sensors in a dict instead of a list * Use _abort_if_unique_id_configured to update token * Fix them tests * Remove current state guards * Fix that gather call * Implement sensor definitions without str manipulation * Use relative intra-package imports * Update homeassistant/components/melcloud/config_flow.py Co-Authored-By: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-02-10 22:09:12 +01:00
homeassistant/components/melcloud/* @vilppuvuorinen
tests/components/melcloud/* @vilppuvuorinen
homeassistant/components/melissa/* @kennedyshead
tests/components/melissa/* @kennedyshead
homeassistant/components/met/* @danielhiversen @thimic
tests/components/met/* @danielhiversen @thimic
homeassistant/components/met_eireann/* @DylanGore
tests/components/met_eireann/* @DylanGore
Refactor Météo-France to use API instead of web scraping (#37737) * Add new python library * Update requirements * Remove old libs * config flow with client.search_places * WIP: UI config + weather OK * WIP: sensors * WIP: add pressure to weather + available to sensor * WIP: coordinator next_rain + alert * Make import step working * migrate to meteofrance-api v0.0.3 * Create coordinator for rain only if data available in API * Fix avoid creation of rain sensor when not available. * Add options flow for forecast mode * Fix import config causing bug with UI * Add alert sensor * Add coastal alerts when available (#5) * Use meteofrance-api feature branch on Github * Update unit of next_rain sensor * Test different type of attibutes * Typo for attribute * Next rain sensor device class as timestamp * Better design for rain entity attributes * use master branch for meteofrance-api * time displayed in the HA server timezone. * fix bug when next_rain_date_locale is None * Add precipitation and cloud cover sensors * Add variable to avoid repeating computing * Apply suggestions from code review Co-authored-by: Quentame <polletquentin74@me.com> * Attributes names in const. * Cleaning * Cleaning: use current_forecast and today_forecast * Write state to HA after fetch * Refactor, Log messages and bug fix. (#6) * Add messages in log * Refactor using 'current_forecast'. * Use % string format with _LOGGER * Remove inconsistent path * Secure timestamp value and get current day forecast * new unique_id * Change Log message to debug * Log messages improvement * Don't try to create weather alert sensor if not in covered zone. * convert wind speed in km/h * Better list of city in config_flow * Manage initial CONF_MODE as None * Review correction * Review coorections * unique id correction * Migrate from previous config * Make config name detailed * Fix weather alert sensor unload (#7) * Unload weather alert platform * Revert "Unload weather alert platform" This reverts commit 95259fdee84f30a5be915eb1fbb2e19fcddc97e4. * second try in async_unload_entry * Make it work * isort modification * remove weather alert logic in sensor.py * Refactor to avoid too long code lines Co-authored-by: Quentin POLLET <polletquentin74@me.com> * Update config tests to Meteo-France (#18) * Update meteo_france exception name * Update MeteoFranceClient name used in tests * Update 'test_user' * Make test_user works * Add test test_user_list * Make test_import works * Quick & Dirty fix on exception managment. WIP * allow to catch MeteoFranceClient() exceptions * remove test_abort_if_already_setup_district * bump meteofrance-api version * We do not need to test Exception in flow yet * Remove unused data * Change client1 fixture name * Change client2 fixture name * Finish cities step * Test import with multiple choice * refactor places * Add option flow test Co-authored-by: Quentin POLLET <polletquentin74@me.com> * Fix errors due to missing data in the API (#22) * fix case where probability_forecast it not in API * Workaround for probabilty_forecast data null value * Fix weather alert sensor added when shouldn't * Add a partlycloudy and cloudy value options in condition map * Enable snow chance entity * fix from review * remove summary * Other fix from PR review * WIP: error if no results in city search * Add test for config_flow when no result in search * Lint fix * generate en.json * Update homeassistant/components/meteo_france/__init__.py * Update homeassistant/components/meteo_france/__init__.py * Update homeassistant/components/meteo_france/__init__.py * Update homeassistant/components/meteo_france/sensor.py * Update homeassistant/components/meteo_france/__init__.py * Update homeassistant/components/meteo_france/__init__.py * string: city input --> city field Co-authored-by: Quentin POLLET <polletquentin74@me.com>
2020-08-01 22:56:00 +02:00
homeassistant/components/meteo_france/* @hacf-fr @oncleben31 @Quentame
tests/components/meteo_france/* @hacf-fr @oncleben31 @Quentame
homeassistant/components/meteoalarm/* @rolfberkenbosch
homeassistant/components/meteoclimatic/* @adrianmo
tests/components/meteoclimatic/* @adrianmo
homeassistant/components/metoffice/* @MrHarcombe
tests/components/metoffice/* @MrHarcombe
homeassistant/components/miflora/* @danielhiversen @basnijholt
homeassistant/components/mikrotik/* @engrbm87
tests/components/mikrotik/* @engrbm87
homeassistant/components/mill/* @danielhiversen
tests/components/mill/* @danielhiversen
homeassistant/components/min_max/* @fabaff
tests/components/min_max/* @fabaff
Add Minecraft Server Integration (#30992) * Add Minecraft Server integration * Add unit test for config flow * Fixed some review findings and increased unit test coverage * Fixed docstrings of new test cases * Removed unnecessary debug log messages * Added unique IDs and device infos and removed duplicate name validation * Attempt to fix unit test on CI * Return state OFF instead of UNAVAILABLE in case connection to server drops * Added property decorator to server properties, even less debug messages, improved sensor dispatcher connection and other review findings fixed * Moved special property handling to sensors, fixed name confusion in sensor entity, switch to HA const for scan_interval, simplified building players list string * Improved periodic update, speeded up unit tests * Added type hints, added callback decorator to entity update callback, added const.py to unit test exclusions * Changed state sensor to binary sensor, removed empty unit test file, added constants for icons and units * Let HA handle unknown state, check for None in description and players list sensor * Removed periods at end of log messages, removed constant for default host * Updated requirements_test_pre_commit.txt, fixed codespell findings * Use localhost as default host * Removed passing hass to entities, moved log message from init, moved host lower to vol, use proper patch library, patch library instead of own code * Replaced server properties with global instance attributes, removed config option scan_interval, switch back to async_track_time_interval * Removed description and players list sensors, added players list as state attributes to online players sensor, raise OSError instead of deprecated IOError, other minor review findings fixed * Use MAC address for unique_id in case of an IP address as host, added getmac to manifest.json, added invalid_ip to strings.json, added new test cases for changes in config_flow, replace all IOError's with OSError, other review findings fixed * Removed double assignment * Call get_mac_address async safe * Handle unavailable and unknown states to reach silver quality scale, added quality scale to manifest.json
2020-02-08 09:28:35 +01:00
homeassistant/components/minecraft_server/* @elmurato
tests/components/minecraft_server/* @elmurato
homeassistant/components/minio/* @tkislan
tests/components/minio/* @tkislan
homeassistant/components/mobile_app/* @home-assistant/core
tests/components/mobile_app/* @home-assistant/core
homeassistant/components/modbus/* @adamchengtkc @janiversen @vzahradnik
tests/components/modbus/* @adamchengtkc @janiversen @vzahradnik
homeassistant/components/modem_callerid/* @tkdrob
tests/components/modem_callerid/* @tkdrob
homeassistant/components/modern_forms/* @wonderslug
tests/components/modern_forms/* @wonderslug
Add Moehlenhoff Alpha2 underfloor heating system integration (#42771) * Add Moehlenhoff Alpha2 underfloor heating system integration * isort changes * flake8 changes * Do not exclude config_flow.py * pylint changes * Add config_flow test * correct requirements_test_all.txt * more tests * Update test description * Test connection and catch TimeoutError in async_setup_entry * Add version to manifest file * Remove version from manifest file * Replace tests.async_mock.patch by unittest.mock.patch * Update moehlenhoff-alpha2 to version 1.0.1 * Update requirements for moehlenhoff-alpha2 1.0.1 * Update moehlenhoff-alpha2 to 1.0.2 * Use async_setup_platforms * Use async_unload_platforms * Separate connection and devices for each entry_id * Use async_track_time_interval to schedule updates * Check if input is valid before checking uniqueness * Move Exception handling to validate_input * Catch aiohttp.client_exceptions.ClientConnectorError * Remove translation files * Mock TimeoutError * Fix data update * Replace current callback implementation with ha dispatcher * Return False in should_poll * Remove unused argument * Remove CONNECTION_CLASS * Use _async_current_entries * Call async_schedule_update_ha_state after data update * Remove unneeded async_setup Co-authored-by: Milan Meulemans <milan.meulemans@live.be> * Remove unneeded async_setup_platform Co-authored-by: Milan Meulemans <milan.meulemans@live.be> * Set Schema attribute host required Co-authored-by: Milan Meulemans <milan.meulemans@live.be> * Remove unused Exception class Co-authored-by: Milan Meulemans <milan.meulemans@live.be> * Update manifest.json Co-authored-by: Milan Meulemans <milan.meulemans@live.be> * pylint constructor return type None * Replace properties by class variables * use pass instead of return * Remove unused sync update method * remove property hvac_action * remove pass * rework exception handling * Update homeassistant/components/moehlenhoff_alpha2/config_flow.py Co-authored-by: Milan Meulemans <milan.meulemans@live.be> * Correct indentation * catch Exception in validate_input * Replace HomeAssistantType with HomeAssistant * Update to moehlenhoff-alpha2 1.0.3 * Allow to switch between heating and cooling mode * Update moehlenhoff-alpha2 to version 1.0.4 * Update heatarea data after setting target temperature * Support hvac_action * Fix heatarea update with multiple bases * Update data after setting preset mode * Use custom preset modes like defined by device * Fix config flow test * Fix test_duplicate_error * Rename property to extra_state_attributes Rename property device_state_attributes to extra_state_attributes and return lowercase keys in dict. * Refactor using DataUpdateCoordinator * Remove _attr_should_poll * Raise HomeAssistantError on communication error Catch HTTPError instead of broad except and reraise as HomeAssistantError * Change DataUpdateCoordinator name to alpha2_base * Refresh coordinator before setting data * Raise ValueError on invalid heat area mode * Rename heatarea to heat_area * Set type annotation in class attribute * Move coordinator to top * Move exception handling to the coordinator * Use heat_area_id directly * Sore get_cooling() result into local var * Add explanation of status attributes and remove BLOCK_HC * Fix pylint warnings * from __future__ import annotations * Use Platform Enum * Move data handling to coordinator * Remove property extra_state_attributes * Add missing annotations * Update moehlenhoff-alpha2 to version 1.1.2 * Rework tests based on the scaffold template * Set also heat/cool/day/night temp with target temp * Remove unneeded code from tests Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
2022-02-10 08:28:52 +01:00
homeassistant/components/moehlenhoff_alpha2/* @j-a-n
tests/components/moehlenhoff_alpha2/* @j-a-n
homeassistant/components/monoprice/* @etsinko @OnFreund
tests/components/monoprice/* @etsinko @OnFreund
homeassistant/components/moon/* @fabaff
tests/components/moon/* @fabaff
homeassistant/components/motion_blinds/* @starkillerOG
tests/components/motion_blinds/* @starkillerOG
homeassistant/components/motioneye/* @dermotduffy
tests/components/motioneye/* @dermotduffy
homeassistant/components/mpd/* @fabaff
homeassistant/components/mqtt/* @emontnemery
tests/components/mqtt/* @emontnemery
homeassistant/components/msteams/* @peroyvind
homeassistant/components/mullvad/* @meichthys
tests/components/mullvad/* @meichthys
homeassistant/components/mutesync/* @currentoor
tests/components/mutesync/* @currentoor
homeassistant/components/my/* @home-assistant/core
tests/components/my/* @home-assistant/core
homeassistant/components/myq/* @bdraco @ehendrix23
tests/components/myq/* @bdraco @ehendrix23
MySensors config flow (#45421) * MySensors: Add type annotations Adds a bunch of type annotations that were created while understanding the code. * MySensors: Change GatewayId to string In preparation for config flow. The GatewayId used to be id(gateway). With config flows, every gateway will have its own ConfigEntry. Every ConfigEntry has a unique id. Thus we would have two separate but one-to-one related ID systems. This commit removes this unneeded duplication by using the id of the ConfigEntry as GatewayId. * MySensors: Add unique_id to all entities This allows entities to work well with the frontend. * MySensors: Add device_info to all entities Entities belonging to the same node_id will now by grouped as a device. * MySensors: clean up device.py a bit * MySensors: Add config flow support With this change the MySensors can be fully configured from the GUI. Legacy configuration.yaml configs will be migrated by reading them once. Note that custom node names are not migrated. Users will have to re-enter the names in the front-end. Since there is no straight-forward way to configure global settings, all previously global settings are now per-gateway. These settings include: - MQTT retain - optimistic - persistence enable - MySensors version When a MySensors integration is loaded, it works as follows: 1. __init__.async_setup_entry is called 2. for every platform, async_forward_entry_setup is called 3. the platform's async_setup_entry is called 4. __init__.setup_mysensors_platform is called 5. the entity's constructor (e.g. MySensorsCover) is called 6. the created entity is stored in a dict in the hass object * MySensors: Fix linter errors * MySensors: Remove unused import * MySensors: Feedback from @MartinHjelmare * MySensors: Multi-step config flow * MySensors: More feedback * MySensors: Move all storage in hass object under DOMAIN The integration now stores everything under hass.data["mysensors"] instead of using several top level keys. * MySensors: await shutdown of gateway instead of creating a task * MySensors: Rename Ethernet to TCP * MySensors: Absolute imports and cosmetic changes * MySensors: fix gw_stop * MySensors: Allow user to specify persistence file * MySensors: Nicer log message * MySensors: Add lots of unit tests * MySensors: Fix legacy import of persistence file name Turns out tests help to find bugs :D * MySensors: Improve test coverage * MySensors: Use json persistence files by default * MySensors: Code style improvements * MySensors: Stop adding attributes to existing objects This commit removes the extra attributes that were being added to the gateway objects from pymysensors. Most attributes were easy to remove, except for the gateway id. The MySensorsDevice class needs the gateway id as it is part of its DevId as well as the unique_id and device_info. Most MySensorsDevices actually end up being Entities. Entities have access to their ConfigEntry via self.platform.config_entry. However, the device_tracker platform does not become an Entity. For this reason, the gateway id is not fetched from self.plaform but given as an argument. Additionally, MySensorsDevices expose the address of the gateway (CONF_DEVICE). Entities can easily fetch this information via self.platform, but the device_tracker cannot. This commit chooses to remove the gateway address from device_tracker. While this could in theory break some automations, the simplicity of this solution was deemed worth it. The alternative of adding the entire ConfigEntry as an argument to MySensorsDevices is not viable, because device_tracker is initialized by the async_setup_scanner function that isn't supplied a ConfigEntry. It only gets discovery_info. Adding the entire ConfigEntry doesn't seem appropriate for this edge case. * MySensors: Fix gw_stop and the translations * MySensors: Fix incorrect function calls * MySensors: Fewer comments in const.py * MySensors: Remove union from _get_gateway and remove id from try_connect * MySensors: Deprecate nodes option in configuration.yaml * MySensors: Use version parser from packaging * MySensors: Remove prefix from unique_id and change some private property names * MySensors: Change _get_gateway function signature * MySensors: add packaging==20.8 for the version parser * MySensors: Rename some stuff * MySensors: use pytest.mark.parametrize * MySensors: Clean up test cases * MySensors: Remove unneeded parameter from devices * Revert "MySensors: add packaging==20.8 for the version parser" This reverts commit 6b200ee01a3c0eee98176380bdd0b73e5a25b2dd. * MySensors: Use core interface for testing configuration.yaml import * MySensors: Fix test_init * MySensors: Rename a few variables * MySensors: cosmetic changes * MySensors: Update strings.json * MySensors: Still more feedback from @MartinHjelmare * MySensors: Remove unused strings Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * MySensors: Fix typo and remove another unused string * MySensors: More strings.json * MySensors: Fix gateway ready handler * MySensors: Add duplicate detection to config flows * MySensors: Deal with non-existing topics and ports. Includes unit tests for these cases. * MySensors: Use awesomeversion instead of packaging * Add string already_configured * MySensors: Abort config flow when config is found to be invalid while importing * MySensors: Copy all error messages to also be abort messages All error strings may now also be used as an abort reason, so the strings should be defined * Use string references Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-02-05 22:13:57 +01:00
homeassistant/components/mysensors/* @MartinHjelmare @functionpointer
tests/components/mysensors/* @MartinHjelmare @functionpointer
Consolidate all platforms that have tests (#22109) * Moved climate components with tests into platform dirs. * Updated tests from climate component. * Moved binary_sensor components with tests into platform dirs. * Updated tests from binary_sensor component. * Moved calendar components with tests into platform dirs. * Updated tests from calendar component. * Moved camera components with tests into platform dirs. * Updated tests from camera component. * Moved cover components with tests into platform dirs. * Updated tests from cover component. * Moved device_tracker components with tests into platform dirs. * Updated tests from device_tracker component. * Moved fan components with tests into platform dirs. * Updated tests from fan component. * Moved geo_location components with tests into platform dirs. * Updated tests from geo_location component. * Moved image_processing components with tests into platform dirs. * Updated tests from image_processing component. * Moved light components with tests into platform dirs. * Updated tests from light component. * Moved lock components with tests into platform dirs. * Moved media_player components with tests into platform dirs. * Updated tests from media_player component. * Moved scene components with tests into platform dirs. * Moved sensor components with tests into platform dirs. * Updated tests from sensor component. * Moved switch components with tests into platform dirs. * Updated tests from sensor component. * Moved vacuum components with tests into platform dirs. * Updated tests from vacuum component. * Moved weather components with tests into platform dirs. * Fixed __init__.py files * Fixes for stuff moved as part of this branch. * Fix stuff needed to merge with balloob's branch. * Formatting issues. * Missing __init__.py files. * Fix-ups * Fixup * Regenerated requirements. * Linting errors fixed. * Fixed more broken tests. * Missing init files. * Fix broken tests. * More broken tests * There seems to be a thread race condition. I suspect the logger stuff is running in another thread, which means waiting until the aio loop is done is missing the log messages. Used sleep instead because that allows the logger thread to run. I think the api_streams sensor might not be thread safe. * Disabled tests, will remove sensor in #22147 * Updated coverage and codeowners.
2019-03-19 07:07:39 +01:00
homeassistant/components/mystrom/* @fabaff
homeassistant/components/nam/* @bieniu
tests/components/nam/* @bieniu
homeassistant/components/nanoleaf/* @milanmeu
tests/components/nanoleaf/* @milanmeu
homeassistant/components/neato/* @dshokouhi @Santobert
tests/components/neato/* @dshokouhi @Santobert
homeassistant/components/nederlandse_spoorwegen/* @YarmoM
homeassistant/components/ness_alarm/* @nickw444
tests/components/ness_alarm/* @nickw444
2021-01-11 17:58:59 +01:00
homeassistant/components/nest/* @allenporter
tests/components/nest/* @allenporter
2020-01-11 12:20:00 +01:00
homeassistant/components/netatmo/* @cgtobi
tests/components/netatmo/* @cgtobi
homeassistant/components/netdata/* @fabaff
Netgear config flow (#54479) * Original work from Quentame * Small adjustments * Add properties and method_version * fix unknown name * add consider_home functionality * fix typo * fix key * swao setup order * use formatted mac * add tracked_list option * add options flow * add config flow * add config flow * clean up registries * only remove if no other integration has that device * tracked_list formatting * convert tracked list * add import * move imports * use new tracked list on update * use update_device instead of remove * add strings * initialize already known devices * Update router.py * Update router.py * Update router.py * small fixes * styling * fix typing * fix spelling * Update router.py * get model of router * add router device info * fix api * add listeners * update router device info * remove method version option * Update __init__.py * fix styling * ignore typing * remove typing * fix mypy config * Update mypy.ini * add options flow tests * Update .coveragerc * fix styling * Update homeassistant/components/netgear/__init__.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/__init__.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/__init__.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/config_flow.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/router.py Co-authored-by: J. Nick Koston <nick@koston.org> * add ConfigEntryNotReady * Update router.py * use entry.async_on_unload * Update homeassistant/components/netgear/device_tracker.py Co-authored-by: J. Nick Koston <nick@koston.org> * use cv.ensure_list_csv * add hostname property * Update device_tracker.py * fix typo * fix isort * add myself to codeowners * clean config flow * further clean config flow * deprecate old netgear discovery * split out _async_remove_untracked_registries * Update homeassistant/components/netgear/config_flow.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/config_flow.py Co-authored-by: J. Nick Koston <nick@koston.org> * cleanup * fix rename * fix typo * remove URL option * fixes * add sensor platform * fixes * fix removing multiple entities * remove extra attributes * initialize sensors correctly * extra sensors disabled by default * fix styling and unused imports * fix tests * Update .coveragerc * fix requirements * remove tracked list * remove tracked registry editing * fix styling * fix discovery test * simplify unload * Update homeassistant/components/netgear/router.py Co-authored-by: J. Nick Koston <nick@koston.org> * add typing Co-authored-by: J. Nick Koston <nick@koston.org> * add typing Co-authored-by: J. Nick Koston <nick@koston.org> * add typing Co-authored-by: J. Nick Koston <nick@koston.org> * condense NetgearSensorEntities Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/router.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/router.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/router.py Co-authored-by: J. Nick Koston <nick@koston.org> * Update homeassistant/components/netgear/router.py Co-authored-by: J. Nick Koston <nick@koston.org> * add typing * styling * add typing * use ForwardRefrence for typing * Update homeassistant/components/netgear/device_tracker.py Co-authored-by: J. Nick Koston <nick@koston.org> * add typing * Apply suggestions from code review Thanks! Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * process review comments * fix styling * fix devicename not available on all models * ensure DeviceName is not needed * Update homeassistant/components/netgear/config_flow.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/netgear/config_flow.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update __init__.py * fix styling Co-authored-by: J. Nick Koston <nick@koston.org> Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-09-13 18:18:21 +02:00
homeassistant/components/netgear/* @hacf-fr @Quentame @starkillerOG
tests/components/netgear/* @hacf-fr @Quentame @starkillerOG
2021-01-08 03:00:53 +01:00
homeassistant/components/nexia/* @bdraco
tests/components/nexia/* @bdraco
homeassistant/components/nextbus/* @vividboarder
tests/components/nextbus/* @vividboarder
Add Nextcloud Integration (#30871) * some sensors working in homeassistant * bring up to date * add codeowner * update requirements * overhaul data imports from api & sensor discovery * remove print statement * delete requirements_test_all * add requrements_test_all.txt * Update homeassistant/components/nextcloud/sensor.py Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com> * Update homeassistant/components/nextcloud/sensor.py Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com> * describe recursive function * clarify that dict is returned * remove requirements from requirements_test_all * improve and simplify sensor naming * add basic tests * restore pre-commit config * update requirements_test_all * remove codespell requirement * update pre-commit-config * add-back codespell * rename class variables as suggested by @springstan * add dev branch to no-commit-to-branch git hook Because my fork had the same 'dev' branch i wasn't able to push. Going forward I should probably name my branches differently. * move config logic to __init__.py * restore .pre-commit-config.yaml * remove tests * remove nextcloud test requirement * remove debugging code * implement binary sensors * restore .pre-commit-config.yaml * bump dependency version * bump requirements files * bump nextcloud reqirement to latest * update possible exceptions, use fstrings * add list of sensors & fix inconsistency in get_data_points * use domain for config * fix guard clause * repair pre-commit-config * Remove period from logging * include url in unique_id * update requirements_all.txt Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-03-24 11:11:35 +01:00
homeassistant/components/nextcloud/* @meichthys
homeassistant/components/nfandroidtv/* @tkdrob
tests/components/nfandroidtv/* @tkdrob
homeassistant/components/nightscout/* @marciogranzotto
tests/components/nightscout/* @marciogranzotto
homeassistant/components/nilu/* @hfurubotten
homeassistant/components/nina/* @DeerMaximum
tests/components/nina/* @DeerMaximum
Nissan Leaf Integration (Carwings / NissanConnect EV) (#19786) * Added work so far. * Change interval so nobody drains their battery when I put this online * Added the warning notice. * Async setup * Still broken, but we're getting there. * Back to synchronous, moved refresh stuff into DataStore * Functional sensors! * Added working switches, tweaked intervals a bit * Fixed turn off result * Moved plug status to binary_sensor, added smart intervals * Documentation and car nickname stuff * Syntax fixes and coveragerc additions * Style fixes * Fixing the final line length * Fixed an issue with newer models and bad climate data * Forgot to check my line endings. * New icons for most of the components * Hotfix for handling Nissan's awful servers * Merge in fixes made by Phil Cole Remove invalid FIXMEs and update TODOs Fixes for pylint and test for CarwingsError exception rather than Exception Flake8 fixes Add pycarwings2 to requirements_all.txt Add extra configuration documentation. Use pycarwings2 from pip. Check server dates between requests. Add sensor device class for battery. Async conversion fixes flake8 fixes and docstrings Non-async charging is OK Handle multiple cars in the configuration Convert to async. Better imports for platforms Fix scanning interval & prevent extra refreshes. async switchover Check discovery_info to prevent load of platforms Ensure update frequency is always above a minimum interval (1 min). Platforms don't have return values Use values() instead of items() when not using key Use snake_case (LeafCore becomes leaf_core) commit 418b6bbcc49cf2909aac85869440435410abf3fd * Add pycarwings2 to requirements_all.txt * Make stopping charge error an 'info'. Remove TODO. * Request update from car after sending start charging command. * Delay initial (slow) update for 15 seconds and make async * Flake8 line length fixes * Try to fix D401 'imperative mood' git diff tox errors * Try to fix more D401 'imperative mood' tox errors * Default interval of an hour in code, to match comments. * Update to pycarwings2 2.3 * Update to pycarwings2 2.3 in requirements_all.txt * Remove documentation, instead refering to home-assistant.io * Remove unneeded dispatcher_send() * Remove unneeded requirements comments * Combine excess debugging. * Remove single line method signal_components() * Bump to version 2.4 of pycarwings2 * Remove unused dispatcher_send * Simplify logging of LeafEntity registration * Update requirements_all.txt * Multiple changes Increase timeout to 30 seconds Only consider battery_status Fix plugged in status Better attempts at try/exception handling * Fix line length * Use pycarwings 2.5 * Remove pointless 'is True' * Remove unnecessary 'is True/False' * Remove unnecessary 'is True/False' * Use LENGTH_MILES and LENGTH_KILOMETERS * Remove excess logging in setup_platform() * Remove unnecessary 'is True' * Use pycarwings2 version 2.6 * Require pycarwings2 version 2.7. * Increase sleep delay for climate and location reponses. * Remove unnecessary 'is True' * Increase frequent polling warning to _LOGGER.warning() * Use DEVICE_CLASS_BATTERY * Remove extraneous 'is True'. * Move icon strings to constants. * Remove unneeded key. * LeafRangeSensor ac_on property is internal. * Flake8 missing line * Remove homebridge attributes. * Remove round battery % and range to whole numbers * Use pycarwings2 2.8 * Move to embedded component model * Reduce maximum attempts to 10 (5 mins) * Include attempt count in 'waiting' log message * Use await instead of yield. Remove @asyncio.coroutine decorators. * Add @filcole as nissan_leaf codeowner * Fix checking for if not data returned from vehicle. Don't double send signal on location update. * Exposed updated_on, update_in_progress and next_update attributes. * Add nissan_leaf.update service that triggers an update. * Flake8 line fixes * Remove excess and double logging. * Add updated_on attribute for device tracker. * Fix crash if pycarwings2 doesn't provide cruising ranges. * Minor changes * Minor changes * Minor changes * Minor changes * Minor changes
2019-02-15 14:35:26 +01:00
homeassistant/components/nissan_leaf/* @filcole
homeassistant/components/nmbs/* @thibmaek
2019-02-26 19:47:08 +01:00
homeassistant/components/no_ip/* @fabaff
tests/components/no_ip/* @fabaff
homeassistant/components/noaa_tides/* @jdelaney72
homeassistant/components/notify/* @home-assistant/core
tests/components/notify/* @home-assistant/core
homeassistant/components/notify_events/* @matrozov @papajojo
tests/components/notify_events/* @matrozov @papajojo
homeassistant/components/notion/* @bachya
tests/components/notion/* @bachya
homeassistant/components/nsw_fuel_station/* @nickw444
tests/components/nsw_fuel_station/* @nickw444
homeassistant/components/nsw_rural_fire_service_feed/* @exxamalte
tests/components/nsw_rural_fire_service_feed/* @exxamalte
homeassistant/components/nuki/* @pschmitt @pvizeli @pree
tests/components/nuki/* @pschmitt @pvizeli @pree
Add numato integration (#33816) * Add support for Numato 32 port USB GPIO boards Included are a binary_sensor, sensor and switch component implementations. The binary_sensor interface pushes updates via registered callback functions, so no need to poll here. Unit tests are included to test against a Numato device mockup. * Refactor numato configuration due to PR finding * Resolve minor review findings * Bump numato-gpio requirement * Load numato platforms during domain setup According to review finding * Guard from platform setup without discovery_info According to review finding * Move numato API state into hass.data According to review finding. * Avoid side effects in numato entity constructors According to review finding * Keep only first line of numato module docstrings Removed reference to the documentation. Requested by reviewer. * Minor improvements inspired by review findings * Fix async tests Pytest fixture was returning from the yield too early executing teardown code during test execution. * Improve test coverage * Configure GPIO ports early Review finding * Move read_gpio callback to outside the loop Also continue on failed switch setup, resolve other minor review findings and correct some error messages * Bump numato-gpio requirement This fixes a crash during cleanup. When any device had a communication problem, its cleanup would raise an exception which was not handled, fell through to the caller and prevented the remaining devices from being cleaned up. * Call services directly Define local helper functions for better readability. Resolves a review finding. * Assert something in every test So not only coverage is satisfied but things are actually tested to be in the expected state. Resolves a review finding. * Clarify scope of notification tests Make unit test for hass NumatoAPI independent of Home Assistant (very basic test of notifications). Improve the regular operations test for notifications. * Test for hass.states after operating switches Resolves a review finding. * Check for wrong port directions * WIP: Split numato tests to multiple files test_hass_binary_sensor_notification still fails. * Remove pytest asyncio decorator Apears to be redundant. Resolves a review finding. * Call switch services directly. Resolves a review finding. * Remove obsolete inline pylint config Co-Authored-By: Martin Hjelmare <marhje52@gmail.com> * Improve the numato_gpio module mockup Resolves a review finding. * Remove needless explicit conversions to str Resolves review findings. * Test setup of binary_sensor callbacks * Fix test_hass_binary_sensor_notification * Add forgotten await Review finding. Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-04-30 14:23:30 +02:00
homeassistant/components/numato/* @clssn
tests/components/numato/* @clssn
homeassistant/components/number/* @home-assistant/core @Shulyaka
tests/components/number/* @home-assistant/core @Shulyaka
homeassistant/components/nut/* @bdraco @ollo69
tests/components/nut/* @bdraco @ollo69
homeassistant/components/nws/* @MatthewFlamm
tests/components/nws/* @MatthewFlamm
homeassistant/components/nzbget/* @chriscla
tests/components/nzbget/* @chriscla
homeassistant/components/obihai/* @dshokouhi
homeassistant/components/octoprint/* @rfleming71
tests/components/octoprint/* @rfleming71
homeassistant/components/ohmconnect/* @robbiet480
homeassistant/components/ombi/* @larssont
Add Omnilogic integration (#40474) * Scaffold * Added the en translation * Modified the name * Basic functionality for config flow. * Pulled in enough to validate config flow works. * Update manifest.json * initial data polling (water and air temp sensors) * Adding sensors, debugging update function * polling updates working * support for new data format from library * Updated entity_id, friendly name, conversion for ppm, attributes for hayward display units, MSPSystemID and component systemID * Fixed errors for PR * clean up * Add login exc, check if configured, test login. * Remove debug print. * Black formatting, ran isort, update requirements. * Updated w isort. fix flake8 failures. * Fix flake8 errors * Fixed self.attrs to remove invalid self._ values - small change * Missed on small change - fixing attributes * Updated naming, updated unit of measure, updated icon, bumped omnilog… * Updated to fix flake8 issues in __init__.py and config_flow.py * Updated test_config_flow.py to pass, updated config_flow.py to correct errors in test * Remove comments in preparation for PR * update .covezragerc * Formatting fix * Rewrote sensors to dynamically add all BOWs, pumps, clorinators. Still to do - add CSAD sensors. * Rewrote sensors to dynamically add all BOWs, pumps, clorinators. Still to do - add CSAD sensors. * Added CSAD sensors for pools that have them. * Added CSAD sensors for pools that have them. * Fixed CSAD to not create if blank or don't exist, removed broad except usage to pass linting. * Updated entity naming convention. Fixed linting issues. * Added device association to the back yard / omnilogic system * Removed .0 from ppm values when returning imperial values for salt sensor * Updated to return state = None for water temp when pump is off, handled Chlorinator operatingMode = 2, and added PlatformNotReady check * Corrected exception from Omnilogic library * Bumped omnilogic to 0.3.7. Added alarm sensor/data to sensors. Handle pump off condition for ph and orp sensors. * Bumped omnilogic to 0.3.7. Added alarm sensor/data to sensors. Handle pump off condition for ph and orp sensors. * Bumped omnilogic to 0.3.7. Added alarm sensor/data to sensors. Handle pump off condition for ph and orp sensors. * Removed nested_lookup dependency, bumped omnilogic.py to 0.3.8. * Fixed lint error * Added logging for sensor creation. * Fixed linting errors with logging. * Fixed explicit chaining of raised error. Fixed issue with alarm sensor. * Fixed manifest.json based on feedback. * Fixed self.attrs, should_poll, CoordinatorEntity, SCAN_INTERVAL from comments in PR. * Addressed unique_id, moved data update coordinator, addressed minor other issues from testing * Created main OmniLogic entity for common items, reworked DataUpdateCoordinator to it's own class. * Addressed config_schema not used in __init__.py * Fixed linting issues. * Addressed several comments, still todo - separate sensor classes. * Split the Omnilogic Sensors into separate logical classes for simpler logic. * Fixed snake case lint error for AddAlarms (to add_alarms) * Addressed config_flow issues from comments. * Changed addressed ConfigNotReady issue from comments. * Updated strings.json and generated corrected en.json with translations. * Updated en.json to standard generated file. * Added config_flow tests and updated issue with config_flow on cannot_connect * Added test case for incomplete information entered. * Compressed logic in the sensor classes to reduce duplication. * Updated strings.json for polling_interval, added generic exception handling on config flow. * Removed omnilogic from the .coveragerc omit file. * Updated test_config_flow to follow recommended pattern. * Excluded sensor.py from test coverage tests. * Corected minor issues in test_config_flow from comments * Fixed linting issues on last commits * Fixed linting issues. * Corrected issue when temp state is not available from Omnilogic * Added omnililogic_common.py from .coveragerc to bypass test coverage check. * Return false on Login Exception, handle OmniLogicException in config_flow and in tests. * Handle all exceptions and in config_flow and tests, clarified test naming. * Broke out test cases per comments. * Regenerated en.json file. * Addressed changes from comments in PR. * Added session and bumped API to 0.4.0, addressed other comments from PR. * Addressed entitydata (missed earlier). * Fixed pylint issue * Added test case for options flow in test_config_flow.py * Removed super() and used self when calling methods in current class. * Addressed comments in PR. * Addressed comments in PR. * Updated translations file. * Rewrote data coordinator to output dict for easy searching. * Updated chlorinator unit when chlorinator is on/off only * Scaffold * Added the en translation * Modified the name * Basic functionality for config flow. * Pulled in enough to validate config flow works. * Update manifest.json * initial data polling (water and air temp sensors) * Adding sensors, debugging update function * polling updates working * support for new data format from library * Updated entity_id, friendly name, conversion for ppm, attributes for hayward display units, MSPSystemID and component systemID * Fixed errors for PR * clean up * Add login exc, check if configured, test login. * Remove debug print. * Black formatting, ran isort, update requirements. * Updated w isort. fix flake8 failures. * Fix flake8 errors * Fixed self.attrs to remove invalid self._ values - small change * Missed on small change - fixing attributes * Updated naming, updated unit of measure, updated icon, bumped omnilog… * Updated to fix flake8 issues in __init__.py and config_flow.py * Updated test_config_flow.py to pass, updated config_flow.py to correct errors in test * Remove comments in preparation for PR * update .covezragerc * Formatting fix * Rewrote sensors to dynamically add all BOWs, pumps, clorinators. Still to do - add CSAD sensors. * Rewrote sensors to dynamically add all BOWs, pumps, clorinators. Still to do - add CSAD sensors. * Added CSAD sensors for pools that have them. * Added CSAD sensors for pools that have them. * Fixed CSAD to not create if blank or don't exist, removed broad except usage to pass linting. * Updated entity naming convention. Fixed linting issues. * Added device association to the back yard / omnilogic system * Removed .0 from ppm values when returning imperial values for salt sensor * Updated to return state = None for water temp when pump is off, handled Chlorinator operatingMode = 2, and added PlatformNotReady check * Corrected exception from Omnilogic library * Bumped omnilogic to 0.3.7. Added alarm sensor/data to sensors. Handle pump off condition for ph and orp sensors. * Bumped omnilogic to 0.3.7. Added alarm sensor/data to sensors. Handle pump off condition for ph and orp sensors. * Bumped omnilogic to 0.3.7. Added alarm sensor/data to sensors. Handle pump off condition for ph and orp sensors. * Removed nested_lookup dependency, bumped omnilogic.py to 0.3.8. * Fixed lint error * Added logging for sensor creation. * Fixed linting errors with logging. * Fixed explicit chaining of raised error. Fixed issue with alarm sensor. * Fixed manifest.json based on feedback. * Fixed self.attrs, should_poll, CoordinatorEntity, SCAN_INTERVAL from comments in PR. * Addressed unique_id, moved data update coordinator, addressed minor other issues from testing * Created main OmniLogic entity for common items, reworked DataUpdateCoordinator to it's own class. * Addressed config_schema not used in __init__.py * Fixed linting issues. * Addressed several comments, still todo - separate sensor classes. * Split the Omnilogic Sensors into separate logical classes for simpler logic. * Fixed snake case lint error for AddAlarms (to add_alarms) * Addressed config_flow issues from comments. * Changed addressed ConfigNotReady issue from comments. * Updated strings.json and generated corrected en.json with translations. * Updated en.json to standard generated file. * Added config_flow tests and updated issue with config_flow on cannot_connect * Added test case for incomplete information entered. * Compressed logic in the sensor classes to reduce duplication. * Updated strings.json for polling_interval, added generic exception handling on config flow. * Removed omnilogic from the .coveragerc omit file. * Updated test_config_flow to follow recommended pattern. * Excluded sensor.py from test coverage tests. * Corected minor issues in test_config_flow from comments * Fixed linting issues on last commits * Fixed linting issues. * Corrected issue when temp state is not available from Omnilogic * Added omnililogic_common.py from .coveragerc to bypass test coverage check. * Return false on Login Exception, handle OmniLogicException in config_flow and in tests. * Handle all exceptions and in config_flow and tests, clarified test naming. * Broke out test cases per comments. * Regenerated en.json file. * Addressed changes from comments in PR. * Added session and bumped API to 0.4.0, addressed other comments from PR. * Addressed entitydata (missed earlier). * Fixed pylint issue * Added test case for options flow in test_config_flow.py * Removed super() and used self when calling methods in current class. * Addressed comments in PR. * Addressed comments in PR. * Updated translations file. * Rewrote data coordinator to output dict for easy searching. * Updated chlorinator unit when chlorinator is on/off only * Fixed ORP method not being @property, fixed unique_id potential issue. Does not address comments from PR. * Rewrote coordinator for updated dict structure, rewrote sensors to parse new data structure. * Added alarms as attributes on all entities which support alarm reporting. * Updated SENSOR_TYPES to sensor_types to adhere to snake case in pylint. * Addressed PR comments. * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Removed binary sensor conditions (alarms, on/off sensor types) and added ability for multiple guard conditions * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Updated per comments in PR for Pump Type and removal of force_update(). * Update homeassistant/components/omnilogic/sensor.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/omnilogic/common.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Correctly asserting conditions for the login exception case. * Update .coveragerc Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Mike Hershberger <mike.hershberger@gmail.com> Co-authored-by: Chad <54695185+chadlyy@users.noreply.github.com> Co-authored-by: Tim Empringham <tim.empringham@live.ca> Co-authored-by: djtimca <60706061+djtimca@users.noreply.github.com> Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-09-25 17:55:10 +02:00
homeassistant/components/omnilogic/* @oliver84 @djtimca @gentoosu
tests/components/omnilogic/* @oliver84 @djtimca @gentoosu
homeassistant/components/onboarding/* @home-assistant/core
tests/components/onboarding/* @home-assistant/core
homeassistant/components/oncue/* @bdraco
tests/components/oncue/* @bdraco
homeassistant/components/ondilo_ico/* @JeromeHXP
tests/components/ondilo_ico/* @JeromeHXP
homeassistant/components/onewire/* @garbled1 @epenet
tests/components/onewire/* @garbled1 @epenet
2020-05-01 08:15:40 +02:00
homeassistant/components/onvif/* @hunterjm
tests/components/onvif/* @hunterjm
homeassistant/components/open_meteo/* @frenck
tests/components/open_meteo/* @frenck
homeassistant/components/openerz/* @misialq
tests/components/openerz/* @misialq
homeassistant/components/opengarage/* @danielhiversen
tests/components/opengarage/* @danielhiversen
homeassistant/components/openhome/* @bazwilliams
homeassistant/components/opentherm_gw/* @mvn23
tests/components/opentherm_gw/* @mvn23
2018-10-05 03:57:52 +02:00
homeassistant/components/openuv/* @bachya
tests/components/openuv/* @bachya
homeassistant/components/openweathermap/* @fabaff @freekode @nzapponi
tests/components/openweathermap/* @fabaff @freekode @nzapponi
Add OPNSense device tracker (#26834) * Add OPNSense device_tracker This commit adds a new component for using an OPNSense router as a device tracker. It uses pyopnsense to query the api to look at the arptable for a list of devices on the network. * Run black formatting locally to appease azure * Apply suggestions from code review Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch> * Fix issues identified during code review This commit updates several issues found in the module during code review. * Update homeassistant/components/opnsense/__init__.py Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch> * Update CODEOWNERS for recent changes * Fix lint * Apply suggestions from code review Co-Authored-By: Martin Hjelmare <marhje52@kth.se> * More fixes from review comments This commit fixes several issues from review comments, including abandoning all the use of async code. This also completely reworks the tests to be a bit clearer. * Revert tests to previous format * Add device detection to opnsense device_tracker test This commit adds actual device detection to the unit test for the setup test. A fake api response is added to mocks for both api clients so that they will register devices as expected and asserts are added for that. The pyopnsense import is moved from the module level to be runtime in the class. This was done because it was the only way to make the MockDependency() call work as expected. * Rerun black * Fix lint * Move import back to module level * Return false on configuration errors in setup This commit updates the connection logic to return false if we're unable to connect to the configured OPNsense API endpoint for any reason. Previously we would not catch if an endpoint was incorrectly configured until we first tried to use it. In this case it would raise an unhandled exception. To handle this more gracefully this adds an api call early in the setup and catches any exception raised by that so we can return False to indicate the setup failed. * Update tests * Add pyopnsense to test requirements * Rerun gen_requirements script * Fix failing isort lint job step Since opening the PR originally yet another lint/style checker was added which failed the PR in CI. This commit makes the adjustments to have this pass the additional tool's checks. * Fix comment * Update manifest.json Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch> Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2020-01-29 16:20:43 +01:00
homeassistant/components/opnsense/* @mtreinish
tests/components/opnsense/* @mtreinish
homeassistant/components/orangepi_gpio/* @pascallj
homeassistant/components/oru/* @bvlaicu
homeassistant/components/overkiz/* @imicknl @vlebourl @tetienne
tests/components/overkiz/* @imicknl @vlebourl @tetienne
homeassistant/components/ovo_energy/* @timmo001
tests/components/ovo_energy/* @timmo001
2020-05-14 22:56:04 +02:00
homeassistant/components/ozw/* @cgarwood @marcelveldt @MartinHjelmare
tests/components/ozw/* @cgarwood @marcelveldt @MartinHjelmare
homeassistant/components/p1_monitor/* @klaasnicolaas
tests/components/p1_monitor/* @klaasnicolaas
2019-05-21 07:20:23 +02:00
homeassistant/components/panel_custom/* @home-assistant/frontend
tests/components/panel_custom/* @home-assistant/frontend
2019-05-21 07:20:23 +02:00
homeassistant/components/panel_iframe/* @home-assistant/frontend
tests/components/panel_iframe/* @home-assistant/frontend
homeassistant/components/pcal9535a/* @Shulyaka
homeassistant/components/persistent_notification/* @home-assistant/core
tests/components/persistent_notification/* @home-assistant/core
homeassistant/components/philips_js/* @elupus
tests/components/philips_js/* @elupus
Support for pi4ioe5v9xxxx I2C IO expanders (#28847) * Added support for the Pi4ioe5v9xxxx binary IO expanders. * Correction for black failure * Correction for black failure * Fix for manifest.json * Fix for flake8 fault missing a period * Some modifications I made during tests seem to be disapeared, fixed flake8 and black test now * WIP virtual thermostat * WIP virtual thermostat * WIP * 100% tests coverage * Manifest, codeowners, typo fix * Lint problem * Test file blacked * Add a test case for b4dpxl's question * Update CODEOWNERS * Replacement of generic thermostat * Cleaning * Lint * More lint * Using external PyPI package, removed get() * Fix flake8 checks * removed virtual thermostat * Re-fix black & isort * Re-fix isort 2 * Update homeassistant/components/pi4ioe5v9xxxx/binary_sensor.py Co-Authored-By: J. Nick Koston <nick@koston.org> * Update homeassistant/components/pi4ioe5v9xxxx/binary_sensor.py Co-Authored-By: J. Nick Koston <nick@koston.org> * Update homeassistant/components/pi4ioe5v9xxxx/switch.py Co-Authored-By: J. Nick Koston <nick@koston.org> * Update homeassistant/components/pi4ioe5v9xxxx/switch.py Co-Authored-By: J. Nick Koston <nick@koston.org> * Update homeassistant/components/pi4ioe5v9xxxx/switch.py Co-Authored-By: J. Nick Koston <nick@koston.org> * Update homeassistant/components/pi4ioe5v9xxxx/switch.py Co-Authored-By: J. Nick Koston <nick@koston.org> * black for switch * update to latest version manual merge * Delete test_generic_thermostat.py * Delete .gitignore * Delete climate.py * Delete manifest.json * Delete test_climate.py * Delete test_climate.py * fix thermostat interference * fix thermostat interference 2 * Fix pylint * Update .pre-commit-config.yaml Co-authored-by: Cyril <cyril.dubus@effipilot.com> Co-authored-by: Niflou <dubuscyr@gmail.com> Co-authored-by: J. Nick Koston <nick@koston.org>
2020-04-07 15:43:12 +02:00
homeassistant/components/pi4ioe5v9xxxx/* @antonverburg
homeassistant/components/pi_hole/* @fabaff @johnluetke @shenxn
tests/components/pi_hole/* @fabaff @johnluetke @shenxn
homeassistant/components/picnic/* @corneyl
tests/components/picnic/* @corneyl
homeassistant/components/pilight/* @trekky12
tests/components/pilight/* @trekky12
homeassistant/components/plaato/* @JohNan
tests/components/plaato/* @JohNan
homeassistant/components/plex/* @jjlawren
tests/components/plex/* @jjlawren
homeassistant/components/plugwise/* @CoMPaTech @bouwew @brefra @frenck
tests/components/plugwise/* @CoMPaTech @bouwew @brefra @frenck
Add Plum Lightpad config flow (#36802) * add support for config flow for Plum Lightpad integration * add support for config flow for Plum Lightpad integration (remove unintended change to requirements_test_all.txt) * add support for config flow for Plum Lightpad integration (fix lint issues) * add support for config flow for Plum Lightpad integration (PR feedback) * add support for config flow for Plum Lightpad integration (fix lint) * Update homeassistant/components/plum_lightpad/__init__.py use debug instead of info for logging Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> * Update homeassistant/components/plum_lightpad/strings.json switch to use generated references instead of hard-coded strings Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> * Update homeassistant/components/plum_lightpad/strings.json switch to use references instead of hard-coded string Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> * Update homeassistant/components/plum_lightpad/strings.json removing translated title per suggestion Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> * Update homeassistant/components/plum_lightpad/strings.json removing per suggestion Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> * remove unnecessary deepcopy * remove unnecessary logging warning, since ignoring is expected for configuration.yaml scenario * switch to hass.loop.create_task per PR feedback * show login errors when configuring integration via UI (PR feedback) * disable wrongly flag pylint violation * add except handler to handle connection errors when setting up config flow entry * address PR feedback regarding exception handling * Update homeassistant/components/plum_lightpad/config_flow.py use helper instead of custom code/message-id Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-24 05:40:11 +02:00
homeassistant/components/plum_lightpad/* @ColinHarrington @prystupa
tests/components/plum_lightpad/* @ColinHarrington @prystupa
2018-11-27 14:59:25 +01:00
homeassistant/components/point/* @fredrike
tests/components/point/* @fredrike
Create PoolSense integration (#35561) * Created integration for PoolSense - a device to maintain your pool * Updated poolsense integration with changes due to code review comments. * Update poolsense with lint fix (logging-not-lazy) * Update poolsense with lint fix (f string missing placeholders) * Update homeassistant/components/poolsense/config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Added test for poolsense component. Updated config_flow to better follow the guidelines. * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update tests/components/poolsense/test_config_flow.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed uneccessary functions. * Added local venv to gitignore * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update to strings to allow for translations. Also some coding convention updates. * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Removed space in icon return Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/__init__.py Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Update homeassistant/components/poolsense/strings.json Co-authored-by: Chris Talkington <chris@talkingtontech.com> * Updated to include some error checks for pypi package * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update tests/components/poolsense/test_config_flow.py * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Apply suggestions from code review * Apply suggestions from code review * Apply suggestions from code review * Update homeassistant/components/poolsense/sensor.py * Apply suggestions from code review * Update homeassistant/components/poolsense/__init__.py * Update homeassistant/components/poolsense/sensor.py Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-07-01 07:44:10 +02:00
homeassistant/components/poolsense/* @haemishkyd
tests/components/poolsense/* @haemishkyd
homeassistant/components/powerwall/* @bdraco @jrester
tests/components/powerwall/* @bdraco @jrester
homeassistant/components/profiler/* @bdraco
tests/components/profiler/* @bdraco
homeassistant/components/progettihwsw/* @ardaseremet
tests/components/progettihwsw/* @ardaseremet
homeassistant/components/prometheus/* @knyar
tests/components/prometheus/* @knyar
homeassistant/components/prosegur/* @dgomes
tests/components/prosegur/* @dgomes
homeassistant/components/proxmoxve/* @jhollowe @Corbeno
homeassistant/components/ps4/* @ktnrg45
tests/components/ps4/* @ktnrg45
2022-02-19 17:53:25 +01:00
homeassistant/components/pure_energie/* @klaasnicolaas
tests/components/pure_energie/* @klaasnicolaas
homeassistant/components/push/* @dgomes
tests/components/push/* @dgomes
homeassistant/components/pvoutput/* @fabaff @frenck
tests/components/pvoutput/* @fabaff @frenck
Add pvpc electricity prices integration (#32092) * Add new integration: pvpc_hourly_pricing to add a sensor with the current hourly price of electricity in Spain. Configuration is done by selecting one of the 3 reference tariffs, with 1, 2, or 3 billing periods. * Features config flow, entity registry, RestoreEntity, options flow to change tariff, manual yaml config as integration or sensor platform * Cloud polling sensor with minimal API calls (3/hour at random times) and smart retry; fully async * Only 1 state change / hour (only when the price changes) * At evening, try to download published tomorrow prices, to always store prices info for a window of [3, 27] hours in the future. * Include useful state attributes to program automations to be run at best electric prices. * Add spanish and english translations. * Requires `xmltodict` to parse official xml file with hourly prices for each day. * Update requirements and add to codeowners * Avoid passing in hass as a parameter to the entity Instead, create time change listeners in async_added_to_hass and call async_generate_entity_id before async_add_entities * Fix lint issues * Add tests for config & options flow * Add tests for manual yaml config with entity definition as integration and also as a sensor platform * Fix placement of PLATFORM_SCHEMA and update generated config_flows * Store prices internally linked to UTC timestamps - to deal with days with DST changes - and work with different local timezones * Add availability to sensor to 'expire' the sensor if there is no connection available and current hour is not in the stored prices. Also, turn off logging and retrying if prices can't be downloaded repeatedly, by flagging `data_source_available` as False, so there is no log-flood mess. * Add more tests - to cover behavior in DST changes and complete coverage of sensor logic - to cover abort config flow * fix linter * Better handling of sensor availability and minor enhancements - Emmit 1 error if data source is marked as unavailable (after some retries), and be silent until cloud access is recovered, then emmit 1 warning. - Follow standard of camel_case keys in attributes * Mock aiosession to not access real API, store fixture data - Store a set of daily xml files to test sensor logic for all situations - Mock time and session to run tests with stored API responses - Add availability test to simulate a lost + recovery of cloud access, checking that logging is reasonable: 1 error to flag the continued disconnection + 1 warning in recovery. * Change API endpoint to retrieve JSON data and remove xmltodict from reqs. It seems that this endpoint is more reliable than the XML. * Adapt tests to new API endpoint * Translate tariff labels to plain English and sync the default timeout value for all ways of configuration. * Relax logging levels to meet silver requirements - 1 warning when becoming unavailable, another warning when recovered. - Warnings for unexpected TimeoutError or ClientError - Move the rest to debug level, leaving info for HA internals Also reduce number of API calls from 3 to 2 calls/hour. * Fix requirements * Mod tests to work with timezone Atlantic/Canary and fix state attributes for timezones != reference, by using 3 price prefixes: 'price_last_day_XXh', 'price_next_day_XXh' and 'price_XXh', all generated with local time (backend timezone) * Try to fix CI tests * Externalize pvpc data and simplify sensor.py * add new `aiopvpc` to requirements * Remove data parsing and price logic from here * Replace some constant properties with class variables * Simplify tests for pvpc_hourly_pricing * Fix updater for options flow * Updater always reloads * `tariff` value comes 1st from entry.options, 2nd from entry.data * Fix lint * Bump aiopvpc * Remove options flow and platform setup - Remove PLATFORM_SCHEMA and async_setup_platform - Generate config_entry.unique_id with tariff instead of entity_id, in flow step. - Remove TariffSelectorConfigFlow - Adapt tests to maintain full coverage * Fix docstring on test and rename SENSOR_SCHEMA to SINGLE_SENSOR_SCHEMA to avoid confusion * Remove timeout manual config, fix entry.options usage, simplify unique_id * Simplify tests - No need for a test_setup now, as platform setup is removed and integration setup is already used in `test_availability` - Simplified `_process_time_step`: only one async_fire(EVENT_TIME_CHANGED)/hour * Fix possible duplicated update when source is not available. * Do not access State last_changed for log messages * Do not update until entity is added to hass and call to async_update after 1st download or when recovering access, so async_write_ha_state is not called twice on those. * minor changes * Rename method to select current price and make it a callback
2020-03-22 20:25:31 +01:00
homeassistant/components/pvpc_hourly_pricing/* @azogue
tests/components/pvpc_hourly_pricing/* @azogue
homeassistant/components/qbittorrent/* @geoffreylagaisse
homeassistant/components/qld_bushfire/* @exxamalte
tests/components/qld_bushfire/* @exxamalte
homeassistant/components/quantum_gateway/* @cisasteelersfan
homeassistant/components/qvr_pro/* @oblogic7
homeassistant/components/qwikswitch/* @kellerza
tests/components/qwikswitch/* @kellerza
homeassistant/components/rachio/* @bdraco
tests/components/rachio/* @bdraco
2022-02-21 18:13:02 +01:00
homeassistant/components/radio_browser/* @frenck
tests/components/radio_browser/* @frenck
homeassistant/components/radiotherm/* @vinnyfuria
Centralize rainbird config and add binary sensor platform (#26393) * Update pyrainbird to version 0.2.0 to fix zone number issue: - home-assistant/home-assistant/issues/24519 - jbarrancos/pyrainbird/issues/5 - https://community.home-assistant.io/t/rainbird-zone-switches-5-8-dont-correspond/104705 * requirements_all.txt regenerated * code formatting * pyrainbird version 0.3.0 * zone id * rainsensor return state * updating rainsensor * new version of pyrainbird * binary sensor state * quiet in check format * is_on instead of state for binary_sensor * no unit of measurement for binary sensor * no monitored conditions config * get keys of dict directly * removed redundant update of state * simplified switch * right states for switch * raindelay sensor * raindelay sensor * binary sensor state * binary sensor state * reorganized imports * doc on public method * reformatted * add irrigation service to rain bird, which allows you to set the duration * rebased on konikvranik and solved some feedback * add irrigation service to rain bird * sensor types to constants * synchronized register service * patform discovery * binary sensor as wrapper to sensor * version 0.4.0 * new config approach * sensors cleanup * bypass if no zones found * platform schema removed * Change config schema to list of controllers some small code improvements as suggested in CR: - dictionary acces by [] - just return instead of return False - import order - no optional parameter name * some small code improvements as suggested in CR: - supported platforms in constant - just return instead of return False - removed unused constant * No single controller configuration Co-Authored-By: Martin Hjelmare <marhje52@kth.se> * pyrainbird 0.4.1 * individual switch configuration * imports order * generate default name out of entity * trigger time required for controller * incorporated CR remarks: - constant fo rzones - removed SCAN_INTERVAL - detection of success on initialization - removed underscore - refactored if/else - empty line on end of file - hass as first parameter * import of library on top * refactored * Update homeassistant/components/rainbird/__init__.py Co-Authored-By: Martin Hjelmare <marhje52@kth.se> * validate time and set defaults * set defaults on right place * pylint bypass * iterate over values * codeowner * reverted changes: * irrigation time just as positive integer. Making it complex does make sense * zone edfaults fullfiled at runtime. There is no information about available zones in configuration time. * codeowners updated * accept timedelta in irrigation time * simplified time calculation * call total_seconds * irrigation time as seconds. * simplified schema
2019-09-26 11:24:03 +02:00
homeassistant/components/rainbird/* @konikvranik
homeassistant/components/raincloud/* @vanstinator
homeassistant/components/rainforest_eagle/* @gtdiehl @jcalbert
tests/components/rainforest_eagle/* @gtdiehl @jcalbert
homeassistant/components/rainmachine/* @bachya
tests/components/rainmachine/* @bachya
Consolidate all platforms that have tests (#22109) * Moved climate components with tests into platform dirs. * Updated tests from climate component. * Moved binary_sensor components with tests into platform dirs. * Updated tests from binary_sensor component. * Moved calendar components with tests into platform dirs. * Updated tests from calendar component. * Moved camera components with tests into platform dirs. * Updated tests from camera component. * Moved cover components with tests into platform dirs. * Updated tests from cover component. * Moved device_tracker components with tests into platform dirs. * Updated tests from device_tracker component. * Moved fan components with tests into platform dirs. * Updated tests from fan component. * Moved geo_location components with tests into platform dirs. * Updated tests from geo_location component. * Moved image_processing components with tests into platform dirs. * Updated tests from image_processing component. * Moved light components with tests into platform dirs. * Updated tests from light component. * Moved lock components with tests into platform dirs. * Moved media_player components with tests into platform dirs. * Updated tests from media_player component. * Moved scene components with tests into platform dirs. * Moved sensor components with tests into platform dirs. * Updated tests from sensor component. * Moved switch components with tests into platform dirs. * Updated tests from sensor component. * Moved vacuum components with tests into platform dirs. * Updated tests from vacuum component. * Moved weather components with tests into platform dirs. * Fixed __init__.py files * Fixes for stuff moved as part of this branch. * Fix stuff needed to merge with balloob's branch. * Formatting issues. * Missing __init__.py files. * Fix-ups * Fixup * Regenerated requirements. * Linting errors fixed. * Fixed more broken tests. * Missing init files. * Fix broken tests. * More broken tests * There seems to be a thread race condition. I suspect the logger stuff is running in another thread, which means waiting until the aio loop is done is missing the log messages. Used sleep instead because that allows the logger thread to run. I think the api_streams sensor might not be thread safe. * Disabled tests, will remove sensor in #22147 * Updated coverage and codeowners.
2019-03-19 07:07:39 +01:00
homeassistant/components/random/* @fabaff
tests/components/random/* @fabaff
homeassistant/components/rdw/* @frenck
tests/components/rdw/* @frenck
homeassistant/components/recollect_waste/* @bachya
tests/components/recollect_waste/* @bachya
homeassistant/components/recorder/* @home-assistant/core
tests/components/recorder/* @home-assistant/core
homeassistant/components/rejseplanen/* @DarkFox
2021-07-28 21:41:11 +02:00
homeassistant/components/renault/* @epenet
tests/components/renault/* @epenet
homeassistant/components/repetier/* @MTrab @ShadowBr0ther
homeassistant/components/rflink/* @javicalle
tests/components/rflink/* @javicalle
Implement config and option flow for rfxtrx integration (#39117) * Create option flow for Rfxtrx integration (#37982) * Implement config flow for rfxtrx integration (#39299) * Add config flow * Add strings * Add first series of tests * Add tests * Adjust tests according review comments * Adjust strings * Add executor for testing connection * Change ports to dict * Fix pylint issue * Adjust tests * Migrate config entry for rfxtrx integration (#39528) * Add rfxtrx device connection validation when importing (#39582) * Implement import connection validation * Fix binary sensor tests * Move rfxtrx data * Fix cover tests * Fix test init * Fix light tests * Fix sensor tests * Fix switch tests * Refactor rfxtrx test data * Fix strings * Fix check * Rework device string in test code * Add option to delete multiple rfxtrx devices (#39625) * Opt to remove multiple devices * Fix devices key * Add tests (phase 1) * Add tests (phase 2) * Tweak remove devices test * Implement device migration function in rfxtrx option flow (#39694) * Prompt option to replace device * Revert unwanted changes * Add replace device function * WIP replace entities * Remove device/entities and update config entry * Fix styling * Add info * Add test * Fix strings * Refactor building migration map * Allow migration for all device types * Add test to migrate control device * Fixup some names * Fixup entry names in test code * Bump pyRFXtrx to 0.26 and deprecate debug config key (#40679) * Create option flow for Rfxtrx integration (#37982) * Implement config flow for rfxtrx integration (#39299) * Add config flow * Add strings * Add first series of tests * Add tests * Adjust tests according review comments * Adjust strings * Add executor for testing connection * Change ports to dict * Fix pylint issue * Adjust tests * Migrate config entry for rfxtrx integration (#39528) * Add rfxtrx device connection validation when importing (#39582) * Implement import connection validation * Fix binary sensor tests * Move rfxtrx data * Fix cover tests * Fix test init * Fix light tests * Fix sensor tests * Fix switch tests * Refactor rfxtrx test data * Fix strings * Fix check * Rework device string in test code * Add option to delete multiple rfxtrx devices (#39625) * Opt to remove multiple devices * Fix devices key * Add tests (phase 1) * Add tests (phase 2) * Tweak remove devices test * Implement device migration function in rfxtrx option flow (#39694) * Prompt option to replace device * Revert unwanted changes * Add replace device function * WIP replace entities * Remove device/entities and update config entry * Fix styling * Add info * Add test * Fix strings * Refactor building migration map * Allow migration for all device types * Add test to migrate control device * Fixup some names * Fixup entry names in test code * Bump version number * Remove debug key from connect * Remove debug option from config flow * Remove debug from tests * Fix event test * Add cv.deprecated * Fix test * Fix config schema * Add timeout on connection * Rework config schema * Fix schema...again * Prevent creation of duplicate device in rfxtrx option flow (#40656)
2020-10-01 08:55:57 +02:00
homeassistant/components/rfxtrx/* @danielhiversen @elupus @RobBie1221
tests/components/rfxtrx/* @danielhiversen @elupus @RobBie1221
2021-10-30 16:27:48 +02:00
homeassistant/components/ridwell/* @bachya
tests/components/ridwell/* @bachya
homeassistant/components/ring/* @balloob
tests/components/ring/* @balloob
homeassistant/components/risco/* @OnFreund
tests/components/risco/* @OnFreund
homeassistant/components/rituals_perfume_genie/* @milanmeu
tests/components/rituals_perfume_genie/* @milanmeu
Sort code owners alphabetically (#22304) ## Description: Sort the code oweners list alphabetically. **Related issue (if applicable):** fixes #<home-assistant issue number goes here> **Pull request in [home-assistant.io](https://github.com/home-assistant/home-assistant.io) with documentation (if applicable):** home-assistant/home-assistant.io#<home-assistant.io PR number goes here> ## Example entry for `configuration.yaml` (if applicable): ```yaml ``` ## Checklist: - [ ] The code change is tested and works locally. - [ ] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass** - [ ] There is no commented out code in this PR. If user exposed functionality or configuration variables are added/changed: - [ ] Documentation added/updated in [home-assistant.io](https://github.com/home-assistant/home-assistant.io) If the code communicates with devices, web services, or third-party tools: - [ ] New dependencies have been added to the `REQUIREMENTS` variable ([example][ex-requir]). - [ ] New dependencies are only imported inside functions that use them ([example][ex-import]). - [ ] New or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`. - [ ] New files were added to `.coveragerc`. If the code does not interact with devices: - [ ] Tests have been added to verify that the new code works. [ex-requir]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L14 [ex-import]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L23
2019-03-22 22:05:26 +01:00
homeassistant/components/rmvtransport/* @cgtobi
tests/components/rmvtransport/* @cgtobi
2020-03-11 20:52:27 +01:00
homeassistant/components/roku/* @ctalkington
tests/components/roku/* @ctalkington
homeassistant/components/roomba/* @pschmitt @cyr-ius @shenxn
tests/components/roomba/* @pschmitt @cyr-ius @shenxn
Add roon media player integration (#37553) * Import roon code. * Fix flake8/pylint issues. * Fix lint issues, extend timeout, change contact infomation. * Add new files to .coveragerc * Make file executable. * Fix problem with integration not working after initial creation. * Improve logic unavailable players by caching data. * Review changes Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Review changes Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Review changes Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Review changes Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Review changes Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Review changes Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Review changes Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Review changes Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Review changes Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Review changes Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update review suggestions * Rremove custom play action script. * Add test requirements. * Tidy manifest. * Missed fixes. * Refactor config_flow to use current pattern. * Add config_flow tests. * Refactor to use signal dispatch helpers. * Remove ToDo: for now. * Remove remaining zone / source logic for initial release, * Stop authenticate blocking, handle timeout. * Removed unneeded code. * Review comments update. * Fix comment. * Apply suggestions from code review Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Apply suggestions from code review Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Fix bug in seek. * Use sync rather than async update Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Upgrade library, remove exception now caught in library, * Review comments. * Review changes Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Check for duplicate host before adding. * Review comment. Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Remove unused code, revise turn_on/turn_off. * Sync translations. * Make interim timeout const. * Refactor tests. * Add tests with an existing config entry. * Apply suggestions from code review Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Remove CannotConnect Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-08-12 15:09:47 +02:00
homeassistant/components/roon/* @pavoni
tests/components/roon/* @pavoni
homeassistant/components/rpi_gpio_pwm/* @soldag
homeassistant/components/rpi_power/* @shenxn @swetoast
tests/components/rpi_power/* @shenxn @swetoast
Add `rtsptowebrtc` integration (#59660) * Add initial version of the webrtc integration Add the webrtc integration. This integration proxies the signal 'offer' from the client to a RTSPtoWebRTCP server that returns an 'answer'. The RTSPtoWebRTC server is a go binary based on pion, and this is what is currently used by the WebRTC custom_component: https://github.com/AlexxIT/WebRTC https://github.com/deepch/RTSPtoWebRTC * Readability improvements for webrtc * Reach 100% test coverage * Use rtsp-to-webrtc client library package * Rename webrtc to rtstptowebrtc This is to reflect naming as one type of approach to webrtc since other webrtc integrations would look very different. * Remove internal quality scale * Bump rtsptowebrtc to support heartbeats * Shorten server url variable and remove const.py * Add config flow validation for RTSPtoWebRTC server * Add RTSPtoWebRTC server health checks * Accept translation suggestion * Apply suggestions from code review Co-authored-by: J. Nick Koston <nick@koston.org> * Update rtsptowebrtc to use new camera registry API Update rtsptowebrtc to use new API added in #62962 * Remove unused variable * Fix lint and typing errors for python 3.8 * Rename to rtsp_to_webrtc to follow standards * Use async_on_unload for unsubscribing camera webrtc provider * Remove unnecessary translations in config flow * Remove unnecessary configuration setup * Cleanup test setup and typing * Patch integration setup to avoid starting the whole integration Co-authored-by: J. Nick Koston <nick@koston.org>
2022-01-01 21:36:31 +01:00
homeassistant/components/rtsp_to_webrtc/* @allenporter
tests/components/rtsp_to_webrtc/* @allenporter
homeassistant/components/ruckus_unleashed/* @gabe565
tests/components/ruckus_unleashed/* @gabe565
homeassistant/components/safe_mode/* @home-assistant/core
tests/components/safe_mode/* @home-assistant/core
homeassistant/components/saj/* @fredericvl
homeassistant/components/samsungtv/* @escoand @chemelli74 @epenet
tests/components/samsungtv/* @escoand @chemelli74 @epenet
homeassistant/components/scene/* @home-assistant/core
tests/components/scene/* @home-assistant/core
Add integration for Schluter (#31088) * Add integration for Schluter New integration for Schluter DITRA-HEAT thermostats. Interacts with Schluter API via py-schluter to implement climate platform. * Fix for manifest issue on build Removed unnecessary configurator logic * Flake8 & ISort issues fixed * Code review modifications for Schluter integration - Removed unnecessary strings.json file - Removed unnecessary DEFAULT_SCAN_INTERVAL from __init__.py - Removed persistent notification for authentication error in __init__.py - Removed string casts from log statements in __init__.py - Removed unnecessary logging of entity creations in climate.py - Removed unnecessary lookup for hvac_mode in climate.py * Work started on Update Coordinator * Further Coordinator work * Update to DataUpdateCoordinator complete * Flake8 fix * Removal of unnecessary SchluterPlatformData Coordinator also now using SCAN_INTERVAL * Disable polling, use coordinator listeners * Isort on climate.py * Code review modifications - Hass data stored under domain - Since platform only likely to be climate, removed array, load explicitly - Remove unnecessary fan mode implementation * Switch to HVAC action for showing current heating status * Isort fix * HVAC Mode return list, set_hvac_mode function added * __init__.py modifications from code review * Climate.py code review modifications - Device info property removed - Write state function on set temp failure - Add "available" property - Delegate sync function in coordinator update to the executor * Serial number as unique identifier - Now using serial number & thermostat dictionary to protect against scenarios where a device is removed and enumerable index is no longer accurate - Removed async_write_ha_state() from set temp exception, not needed - Removed unnecessary SCAN_INTERVAL definition * Linting * Update homeassistant/components/schluter/climate.py Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io> * Update homeassistant/components/schluter/climate.py Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io> * Changed timeout from config, load platform discover to None * Proposed change for discover info issue Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-03-27 18:53:36 +01:00
homeassistant/components/schluter/* @prairieapps
homeassistant/components/scrape/* @fabaff
2022-02-12 15:28:54 +01:00
tests/components/scrape/* @fabaff
homeassistant/components/screenlogic/* @dieselrabbit @bdraco
tests/components/screenlogic/* @dieselrabbit @bdraco
homeassistant/components/script/* @home-assistant/core
tests/components/script/* @home-assistant/core
homeassistant/components/search/* @home-assistant/core
tests/components/search/* @home-assistant/core
homeassistant/components/select/* @home-assistant/core
tests/components/select/* @home-assistant/core
homeassistant/components/sense/* @kbickar
tests/components/sense/* @kbickar
homeassistant/components/senseme/* @mikelawrence @bdraco
tests/components/senseme/* @mikelawrence @bdraco
homeassistant/components/sensibo/* @andrey-git @gjohansson-ST
tests/components/sensibo/* @andrey-git @gjohansson-ST
homeassistant/components/sentry/* @dcramer @frenck
tests/components/sentry/* @dcramer @frenck
homeassistant/components/serial/* @fabaff
homeassistant/components/seven_segments/* @fabaff
homeassistant/components/sharkiq/* @ajmarks
tests/components/sharkiq/* @ajmarks
homeassistant/components/shell_command/* @home-assistant/core
tests/components/shell_command/* @home-assistant/core
homeassistant/components/shelly/* @balloob @bieniu @thecode @chemelli74
tests/components/shelly/* @balloob @bieniu @thecode @chemelli74
2019-02-26 19:47:08 +01:00
homeassistant/components/shiftr/* @fabaff
homeassistant/components/shodan/* @fabaff
Add SIA Alarm systems (#36625) * initial commit of SIA integration * translations * moved reactions to file, typed everything * fixed no-else-return 3 times * refactored config and fix coverage of test * fix requirements_test * elimated another platform * forgot some mentions of sensor * updated config flow steps, fixed restore and small edits * fixed pylint * updated config_flow with better schema, small fixes from review * final comment and small legibility enhancements * small fix for pylint * fixed init * fixes for botched rebase * fixed port string * updated common strings * rebuild component with eventbus * fixed pylint and tests * updates based on review by @bdraco * updates based on new version of package and reviews * small updates with latest package * added raise from * deleted async_setup from test * fixed tests * removed unused code from addititional account step * fixed typo in strings * clarification and update to update_data func * added iot_class to manifest * fixed entity and unique id setup * small fix in tests * improved unique_id semantics and load/unload functions * added typing in order to fix mypy * further fixes for typing * final fixes for mypy * adding None return types * fix hub DR identifier * rebased, added DeviceInfo * rewrite to clean up and make it easier to read * replaced functions with format for id and name * renamed tracker remover small fix in state.setter * improved readibility of state.setter * no more state.setter and small updates * mypy fix * fixed and improved config flow * added fixtures to test and other cleaner test code * removed timeband from config, will reintro in a options flow * removed timeband from tests * added options flow for zones and timestamps * removed type ignore * replaced mapping with collections.abc
2021-05-24 08:48:28 +02:00
homeassistant/components/sia/* @eavanvalkenburg
tests/components/sia/* @eavanvalkenburg
homeassistant/components/sighthound/* @robmarkcole
tests/components/sighthound/* @robmarkcole
homeassistant/components/signal_messenger/* @bbernhard
tests/components/signal_messenger/* @bbernhard
homeassistant/components/simplisafe/* @bachya
tests/components/simplisafe/* @bachya
homeassistant/components/sinch/* @bendikrb
Add siren platform (#48309) * Add siren platform * add more supported flags and an ability to set siren duration * tone can be int or string * fix typing * fix typehinting * fix typehints * implement a proposed approach based on discussion * Address comments * fix tests * Small fix * Update homeassistant/components/demo/siren.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/demo/siren.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/demo/siren.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/demo/siren.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/demo/siren.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * typing * use class attributes * fix naming * remove device from service description * Filter out params from turn on service * fix tests * fix bugs and tests * add test * Combine is_on test with turn on/off/toggle service tests * Update homeassistant/components/siren/__init__.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * fix filtering of turn_on attributes * none check * remove services and attributes for volume level, default duration, and default tone * Update homeassistant/components/siren/__init__.py Co-authored-by: Franck Nijhof <frenck@frenck.nl> * Update homeassistant/components/siren/__init__.py Co-authored-by: Franck Nijhof <frenck@frenck.nl> * Update homeassistant/components/siren/__init__.py Co-authored-by: Franck Nijhof <frenck@frenck.nl> * import final * Update homeassistant/components/siren/__init__.py Co-authored-by: Franck Nijhof <frenck@frenck.nl> * Fix typing and used TypedDict for service parameters * remove is_on function * remove class name redundancy * remove extra service descriptions * switch to positive_int * fix schema for tone Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2021-07-11 22:51:11 +02:00
homeassistant/components/siren/* @home-assistant/core @raman325
tests/components/siren/* @home-assistant/core @raman325
homeassistant/components/sisyphus/* @jkeljo
homeassistant/components/sky_hub/* @rogerselwyn
homeassistant/components/slack/* @bachya
tests/components/slack/* @bachya
homeassistant/components/sleepiq/* @mfugate1 @kbickar
tests/components/sleepiq/* @mfugate1 @kbickar
homeassistant/components/slide/* @ualex73
homeassistant/components/sma/* @kellerza @rklomp
tests/components/sma/* @kellerza @rklomp
homeassistant/components/smappee/* @bsmappee
tests/components/smappee/* @bsmappee
Smart Meter Texas integration (#37966) * Run scaffold script * Update version * Bump version * Initial commit * Move meter and ESIID to device attributes * Update internal to hourly due to api limit * Format with Black * Fix typo * Update tests * Update description * Disable Pylint error * Don't commit translations * Remove meter number from sensor name * Allow multiple meters per account * Move data updates to a DataUpdateCoordinator * Use setdefault to setup the component * Move strings to const.py * Fix tests * Remove meter last updated attribute * Bump smart-meter-texas version * Fix logger call Co-authored-by: J. Nick Koston <nick@koston.org> * Remove unneeded manifest keys Co-authored-by: J. Nick Koston <nick@koston.org> * Remove icon property Co-authored-by: J. Nick Koston <nick@koston.org> * Handle instance where user already setup an account Co-authored-by: J. Nick Koston <nick@koston.org> * Remove icon constant * Fix indentation * Handle config flow errors better * Use ESIID + meter number as unique ID for sensor * Update config flow tests to reach 100% coverage * Avoid reading meters on startup Cherrypick @bdraco's suggestion * Run scaffold script * Update version * Bump version * Initial commit * Move meter and ESIID to device attributes * Update internal to hourly due to api limit * Format with Black * Fix typo * Update tests * Update description * Disable Pylint error * Don't commit translations * Remove meter number from sensor name * Allow multiple meters per account * Move data updates to a DataUpdateCoordinator * Use setdefault to setup the component * Move strings to const.py * Fix tests * Remove meter last updated attribute * Bump smart-meter-texas version * Fix logger call Co-authored-by: J. Nick Koston <nick@koston.org> * Remove unneeded manifest keys Co-authored-by: J. Nick Koston <nick@koston.org> * Remove icon property Co-authored-by: J. Nick Koston <nick@koston.org> * Handle instance where user already setup an account Co-authored-by: J. Nick Koston <nick@koston.org> * Remove icon constant * Fix indentation * Handle config flow errors better * Use ESIID + meter number as unique ID for sensor * Update config flow tests to reach 100% coverage * Remove unnecessary try/except block This checks for the same exception just prior in execution on L51. * Remove unused return values * Add tests * Improve tests and coverage * Use more pythonic control flow * Remove all uses of hass.data Co-authored-by: J. Nick Koston <nick@koston.org>
2020-08-19 20:16:45 +02:00
homeassistant/components/smart_meter_texas/* @grahamwetzler
tests/components/smart_meter_texas/* @grahamwetzler
homeassistant/components/smarthab/* @outadoc
tests/components/smarthab/* @outadoc
homeassistant/components/smartthings/* @andrewsayre
tests/components/smartthings/* @andrewsayre
homeassistant/components/smarttub/* @mdz
tests/components/smarttub/* @mdz
homeassistant/components/smarty/* @z0mbieprocess
homeassistant/components/smhi/* @gjohansson-ST
tests/components/smhi/* @gjohansson-ST
homeassistant/components/sms/* @ocalvo
homeassistant/components/smtp/* @fabaff
tests/components/smtp/* @fabaff
homeassistant/components/solaredge/* @frenck
tests/components/solaredge/* @frenck
homeassistant/components/solaredge_local/* @drobtravels @scheric
homeassistant/components/solarlog/* @Ernst79
tests/components/solarlog/* @Ernst79
homeassistant/components/solax/* @squishykid
2022-01-26 10:58:06 +01:00
tests/components/solax/* @squishykid
homeassistant/components/soma/* @ratsept @sebfortier2288
tests/components/soma/* @ratsept @sebfortier2288
Somfy open api (#19548) * CREATE Somfy component * CREATE cover Somfy platform * USE somfy id as unique id * UPDATE all the devices in one call to limit the number of call * FIX Don't load devices if not yet configured * IMP Replace configurator by a simple notification * ADD log in case state does not match * IMP wording * REMOVE debug stuf * ADD support for tilt position * UPDATE requirements * FIX Use code instead of authorization response - Will allow to setup Somfy without https * HANDLE stateless devices (Somfy RTS) * FIX import locally 3rd party library * UPDATE pymfy to 0.4.3 * ADD missing docstring * FIX For Somfy 100 means closed and 0 opened * FIX position can be None * ENHANCE error management when error 500 occurs at setup * FIX indent * ROLLBACK tilt modification - See https://community.home-assistant.io/t/somfy-tahoma-official-api/61448/90?u=tetienne * FIX Look for capability instead of state * DON'T use exception to test if a feature is available * UPDATE dependency * ADD device_info property * AVOID object creation in each method * REMOVE unused constants * ADD missing doc * IMP Only make one call to add_entities * USE dict[key] instead of get method * IMP Don't pass hass object to the entities * FIX Don't end logging messages with period * USE config entries instead of a cache file * IMPLEMENT async_unload_entry * CONSOLIDATE package - see home-assistant/architecture#124 * UPDATE to pymfy 0.5.1 * SIMPLIFY config flow * ADD French translation * FIX 80 vs 79 max length * ABORT flow asap * FIX A tupple was returned * MIGRATE to manifest.json * ADD a placeholder async_setup_platform coroutine - It's currently required and expected by the platform helper. * FIX codeowner * ADD missing translations file * USE new external step * UPGRADE pymfy version * Close Somfy tab automatically * ADD manufacturer - Somfy only for the moment. * HANDLE missing code or state in Somfy request * REMOVE unused strings * DECLARE somfy component to use config_flow * APPLY static check remarks * FIX async method cannot be called from sync context * FIX only unload what has been loaded during entry setup * DON't catch them all * DON'T log full stacktrace * ABORT conflig flow if configuration missing * OMIT Somfy files for coverage * ADD tests about Somfy config flow * ADD pymfy to the test dependencies
2019-06-11 17:45:34 +02:00
homeassistant/components/somfy/* @tetienne
tests/components/somfy/* @tetienne
homeassistant/components/sonarr/* @ctalkington
tests/components/sonarr/* @ctalkington
homeassistant/components/songpal/* @rytilahti @shenxn
tests/components/songpal/* @rytilahti @shenxn
homeassistant/components/sonos/* @cgtobi @jjlawren
tests/components/sonos/* @cgtobi @jjlawren
2019-02-26 19:47:08 +01:00
homeassistant/components/spaceapi/* @fabaff
tests/components/spaceapi/* @fabaff
homeassistant/components/speedtestdotnet/* @rohankapoorcom @engrbm87
tests/components/speedtestdotnet/* @rohankapoorcom @engrbm87
homeassistant/components/spider/* @peternijssen
tests/components/spider/* @peternijssen
homeassistant/components/splunk/* @Bre77
homeassistant/components/spotify/* @frenck
tests/components/spotify/* @frenck
homeassistant/components/sql/* @dgomes
tests/components/sql/* @dgomes
homeassistant/components/squeezebox/* @rajlaud
tests/components/squeezebox/* @rajlaud
2020-11-20 14:18:02 +01:00
homeassistant/components/srp_energy/* @briglx
tests/components/srp_energy/* @briglx
homeassistant/components/starline/* @anonym-tsk
tests/components/starline/* @anonym-tsk
homeassistant/components/statistics/* @fabaff @ThomDietrich
tests/components/statistics/* @fabaff @ThomDietrich
homeassistant/components/steamist/* @bdraco
tests/components/steamist/* @bdraco
homeassistant/components/stiebel_eltron/* @fucm
2021-10-08 11:34:22 +02:00
homeassistant/components/stookalert/* @fwestenberg @frenck
tests/components/stookalert/* @fwestenberg @frenck
homeassistant/components/stream/* @hunterjm @uvjustin @allenporter
tests/components/stream/* @hunterjm @uvjustin @allenporter
homeassistant/components/stt/* @pvizeli
tests/components/stt/* @pvizeli
homeassistant/components/subaru/* @G-Two
tests/components/subaru/* @G-Two
Suez water (#23844) * Add suez water sensor * flake8 test * pylint test * edition to fix flake8 and pylint issues * edition to be okay with the musts * Added a blank line to __init.py__ for flake8 * added blank line for flake8 * changer scan interval from 10 to 720 minutes * use of pysuez * bug fix and isort * use of pysuez * fixed flake8 and pylint errors * update requirements_all.txt * added a method to test login/password befire adding device * flake8 edition * update requirements_all.txt * add of .coveragerc file with untested files * update of .coveragerc * Update homeassistant/components/suez_water/__init__.py Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch> * Update homeassistant/components/suez_water/sensor.py Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch> * Update homeassistant/components/suez_water/sensor.py Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch> * Update homeassistant/components/suez_water/sensor.py Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch> * Update homeassistant/components/suez_water/sensor.py Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch> * Update homeassistant/components/suez_water/sensor.py Co-Authored-By: Fabian Affolter <mail@fabian-affolter.ch> * bug fix in check credentials * flake8 and pylint fixes * fix codeowner * update requirements_all.txt * Sorted suez_water line * edition to answer comments from @MartinHjelmare on #23844 * Attribute keys formatting to lowercase snakecase, name and icon constants returned directly, and remove of attribute. Update of . * pylint edition * correction wrong keys in client attributes * remove of unnedeed return and move add_entities
2019-07-24 01:14:41 +02:00
homeassistant/components/suez_water/* @ooii
homeassistant/components/sun/* @Swamp-Ig
tests/components/sun/* @Swamp-Ig
homeassistant/components/supla/* @mwegrzynek
homeassistant/components/surepetcare/* @benleb @danielhiversen
tests/components/surepetcare/* @benleb @danielhiversen
homeassistant/components/swiss_hydrological_data/* @fabaff
homeassistant/components/swiss_public_transport/* @fabaff
homeassistant/components/switchbot/* @danielhiversen @RenierM26
tests/components/switchbot/* @danielhiversen @RenierM26
homeassistant/components/switcher_kis/* @tomerfi @thecode
tests/components/switcher_kis/* @tomerfi @thecode
homeassistant/components/switchmate/* @danielhiversen
Add syncthing integration (#38331) * Scaffold the integration * Add config flow data schema * Handle configuration errors * Get folder states * Support https * Fix translations * Listen to syncthing events in a separate thread * Bump syncthing * Automatically reconnect to the syncthing server * Renames * Improve loading and unloading * Update folder states from events * Refactoring, handle FolderPaused event * Dynamic folder icons * Refactoring * Mark folders as unavailable when senrver is unavailable * Update folder satus when server is available * Raise PlatformNotReady * Implement additional polling * Stop polling when the server is not available * Minor fixes * Remove logging * Check name uniqueness * Refactoring * Minor refactorings * Bump python-syncthing * Migrate to aiosyncthing * Minor fixes * Update .coveragerc * Set quality scale * Bump aiosyncthing, properly handle invalid token * Fix logging * Fix logging * Use CONF_VERIFY_SSL from homeassistant.const * Bump aiosyncthing. Add Syncthing device * Fix device name * Bump aiosyncthing * Bump aiosyncthing * Extract SyncthingClient * Add folder to device_state_attributes * Do not pass the loop * Cover config_flow.py * Move self.async_create_entry outside of the try block * Raise ConfigEntryNotReady if syncthing server is not reachable * Fix already configured error message * Change default name to Syncthing * Bump aiosyncthing * Fix formatting * Fix formatting * Fix tests * Fix typo, use lis comprehension * Fix typo, remove unused CONFIG_SCHEMA * Bump aiosyncthing * Remove periods from log messages W0001 * Fix tests * Black, isort * Remove empty items from manifest.json * Fix variable naming * Remove async_setup * Use SensorEntity * Use asyncio.create_task instead of self._hass.loop.create_task * Do not pass hass to FolderSensor initializer * Rename device_state_attributes to extra_state_attributes * Use callbacks * Simplify tests * Refactor _listen() * Use url for the title * Use the url instead of the name to identify the config entry * Explicitly set sensor attributes, extract _filter_state * Use server url instead of name in device_info * Use server url instead of name in logs * User server id as a device identifier * Use URL instead of name to identify config entry * Use shortened server id instead of name to build entity name and unique id * Do not use CONF_NAME * Cleanup unused strings * Cleanup unused strings * Add IOT class * Scaffold the integration * Add config flow data schema * Handle configuration errors * Get folder states * Support https * Fix translations * Listen to syncthing events in a separate thread * Bump syncthing * Automatically reconnect to the syncthing server * Renames * Improve loading and unloading * Update folder states from events * Refactoring, handle FolderPaused event * Dynamic folder icons * Refactoring * Mark folders as unavailable when senrver is unavailable * Update folder satus when server is available * Raise PlatformNotReady * Implement additional polling * Stop polling when the server is not available * Minor fixes * Remove logging * Check name uniqueness * Refactoring * Minor refactorings * Bump python-syncthing * Migrate to aiosyncthing * Minor fixes * Update .coveragerc * Set quality scale * Bump aiosyncthing, properly handle invalid token * Fix logging * Fix logging * Use CONF_VERIFY_SSL from homeassistant.const * Bump aiosyncthing. Add Syncthing device * Fix device name * Bump aiosyncthing * Bump aiosyncthing * Extract SyncthingClient * Add folder to device_state_attributes * Do not pass the loop * Cover config_flow.py * Move self.async_create_entry outside of the try block * Raise ConfigEntryNotReady if syncthing server is not reachable * Fix already configured error message * Change default name to Syncthing * Bump aiosyncthing * Fix formatting * Fix formatting * Fix tests * Fix typo, use lis comprehension * Fix typo, remove unused CONFIG_SCHEMA * Bump aiosyncthing * Remove periods from log messages W0001 * Fix tests * Black, isort * Remove empty items from manifest.json * Fix variable naming * Remove async_setup * Use SensorEntity * Use asyncio.create_task instead of self._hass.loop.create_task * Do not pass hass to FolderSensor initializer * Rename device_state_attributes to extra_state_attributes * Use callbacks * Simplify tests * Refactor _listen() * Use url for the title * Use the url instead of the name to identify the config entry * Explicitly set sensor attributes, extract _filter_state * Use server url instead of name in device_info * Use server url instead of name in logs * User server id as a device identifier * Use URL instead of name to identify config entry * Use shortened server id instead of name to build entity name and unique id * Do not use CONF_NAME * Cleanup unused strings * Cleanup unused strings * Add IOT class * Apply suggestions from code review * Clean up * Fix dict comprehension * Clean sensor * Use the server ID as a config entry unique ID * Remove the AlreadyConfigured exception * Clean up old error string * Format json * Convert sensor attributes to snake case * Force CI Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-08 19:12:14 +02:00
homeassistant/components/syncthing/* @zhulik
tests/components/syncthing/* @zhulik
homeassistant/components/syncthru/* @nielstron
tests/components/syncthru/* @nielstron
homeassistant/components/synology_dsm/* @hacf-fr @Quentame @mib1185
tests/components/synology_dsm/* @hacf-fr @Quentame @mib1185
homeassistant/components/synology_srm/* @aerialls
homeassistant/components/syslog/* @fabaff
homeassistant/components/system_bridge/* @timmo001
tests/components/system_bridge/* @timmo001
2022-01-16 13:47:13 +01:00
homeassistant/components/tado/* @michaelarnauts
tests/components/tado/* @michaelarnauts
homeassistant/components/tag/* @balloob @dmulcahey
tests/components/tag/* @balloob @dmulcahey
homeassistant/components/tailscale/* @frenck
tests/components/tailscale/* @frenck
Add Tankerkoenig integration (#28661) * Initial version Parse configuration, but return a fixed value * Add basic functionality Request real data from the server Currently the prices are not getting updated, but the petrol station data is real * Update values regularly The tankerkoenig values get updated regularly with real data. * Move base functionality for the sensor to a base class And move that to an own file, so that it can be inherited * Reduce calls to tankerkoenig api Use a master/slave concept for sensors; one master gets the data and updates it into the slaves. * Update requirements files * Update all gas stations at once * Remove tests directory Currently there are no tests for the integration; will be added in a future commit. * Fix slaves not being updated Let the base class regularly poll, so that slaves are also updated * Refactor entity creation Create an auxiliary method to add a station to the entity list, in preparation to allowing extra stations. * Add possibility to manually add stations Add a new configuration option "stations" to manually add extra stations * Fix style issues Make the code more pythonic * Remove redundant code Implement suggestions from the code review * Change to platform component Remove the master/slave concept, in favor of a platform with dummy sensors. The platform takes care of contacting the server and fetching updates atomically, and updating the data on the sensors. * Rename ATTR_STATE Rename the attribute to "IS_OPEN", to avoid confusion with the sensor state. * Minor updates Combine two consecutive error logs into a single one. Update the sensor's icon * Separate address into different fields * Style updates Use "[]" syntax instead of ".get()" for required parameters Use warning log level for not available fuel types * Implement review comments Fix style issues Improve error messages Remove redundant options * Refactor using DataUpdateCoordinator Use the new DataUpdateCoordinator to fetch the global data from the API, instead of implementing an own method. Also fix comments from the PR * Implement PR comments Implement suggestions to improve code readability and keep the Home Assistant style. Also separate fetching data to an async thread
2020-03-01 16:49:07 +01:00
homeassistant/components/tankerkoenig/* @guillempages
homeassistant/components/tapsaff/* @bazwilliams
homeassistant/components/tasmota/* @emontnemery
tests/components/tasmota/* @emontnemery
homeassistant/components/tautulli/* @ludeeus
Consolidate all platforms that have tests (#22109) * Moved climate components with tests into platform dirs. * Updated tests from climate component. * Moved binary_sensor components with tests into platform dirs. * Updated tests from binary_sensor component. * Moved calendar components with tests into platform dirs. * Updated tests from calendar component. * Moved camera components with tests into platform dirs. * Updated tests from camera component. * Moved cover components with tests into platform dirs. * Updated tests from cover component. * Moved device_tracker components with tests into platform dirs. * Updated tests from device_tracker component. * Moved fan components with tests into platform dirs. * Updated tests from fan component. * Moved geo_location components with tests into platform dirs. * Updated tests from geo_location component. * Moved image_processing components with tests into platform dirs. * Updated tests from image_processing component. * Moved light components with tests into platform dirs. * Updated tests from light component. * Moved lock components with tests into platform dirs. * Moved media_player components with tests into platform dirs. * Updated tests from media_player component. * Moved scene components with tests into platform dirs. * Moved sensor components with tests into platform dirs. * Updated tests from sensor component. * Moved switch components with tests into platform dirs. * Updated tests from sensor component. * Moved vacuum components with tests into platform dirs. * Updated tests from vacuum component. * Moved weather components with tests into platform dirs. * Fixed __init__.py files * Fixes for stuff moved as part of this branch. * Fix stuff needed to merge with balloob's branch. * Formatting issues. * Missing __init__.py files. * Fix-ups * Fixup * Regenerated requirements. * Linting errors fixed. * Fixed more broken tests. * Missing init files. * Fix broken tests. * More broken tests * There seems to be a thread race condition. I suspect the logger stuff is running in another thread, which means waiting until the aio loop is done is missing the log messages. Used sleep instead because that allows the logger thread to run. I think the api_streams sensor might not be thread safe. * Disabled tests, will remove sensor in #22147 * Updated coverage and codeowners.
2019-03-19 07:07:39 +01:00
homeassistant/components/tellduslive/* @fredrike
tests/components/tellduslive/* @fredrike
homeassistant/components/template/* @PhracturedBlue @tetienne @home-assistant/core
tests/components/template/* @PhracturedBlue @tetienne @home-assistant/core
homeassistant/components/tesla_wall_connector/* @einarhauks
tests/components/tesla_wall_connector/* @einarhauks
Add support for Tfiac Climate component (#21823) ## Description: Add support for AC-models that follows the Tfiac protocol. Built together with @mellado. **Pull request in [home-assistant.io](https://github.com/home-assistant/home-assistant.io) with documentation (if applicable):** home-assistant/home-assistant.io#8910 ## Example entry for `configuration.yaml` (if applicable): ```yaml climate: platform: tfiac host: 192.168.10.26 ``` ## Checklist: - [x] The code change is tested and works locally. - [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass** - [x] There is no commented out code in this PR. If user exposed functionality or configuration variables are added/changed: - [x] Documentation added/updated in [home-assistant.io](https://github.com/home-assistant/home-assistant.io) If the code communicates with devices, web services, or third-party tools: - [x] New dependencies have been added to the `REQUIREMENTS` variable ([example][ex-requir]). - [x] New dependencies are only imported inside functions that use them ([example][ex-import]). - [x] New or updated dependencies have been added to `requirements_all.txt` by running `script/gen_requirements_all.py`. - [x] New files were added to `.coveragerc`. [ex-requir]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L14 [ex-import]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard/__init__.py#L23 Co-authored-by: Robbie Trencheny <me@robbiet.us>
2019-03-25 01:57:53 +01:00
homeassistant/components/tfiac/* @fredrike @mellado
homeassistant/components/thethingsnetwork/* @fabaff
homeassistant/components/threshold/* @fabaff
tests/components/threshold/* @fabaff
homeassistant/components/tibber/* @danielhiversen
tests/components/tibber/* @danielhiversen
homeassistant/components/tile/* @bachya
tests/components/tile/* @bachya
homeassistant/components/time_date/* @fabaff
tests/components/time_date/* @fabaff
homeassistant/components/tmb/* @alemuro
homeassistant/components/todoist/* @boralyl
homeassistant/components/tolo/* @MatthiasLohr
tests/components/tolo/* @MatthiasLohr
Add totalconnect zones as binary sensors (#28712) * Bump skybellpy to 0.4.0 * Bump skybellpy to 0.4.0 in requirements_all.txt * Added extra states for STATE_ALARM_TRIGGERED to allow users to know if it is a burglar or fire or carbon monoxide so automations can take appropriate actions. Updated TotalConnect component to handle these new states. * Fix const import * Fix const import * Fix const imports * Bump total-connect-client to 0.26. * Catch details of alarm trigger in state attributes. Also bumps total_connect_client to 0.27. * Change state_attributes() to device_state_attributes() * Move totalconnect component toward being a multi-platform integration. Bump total_connect_client to 0.28. * add missing total-connect alarm state mappings * Made recommended changes of MartinHjelmare at https://github.com/home-assistant/home-assistant/pull/24427 * Update __init__.py * Updates per MartinHjelmare comments * flake8/pydocstyle fixes * removed . at end of log message * added blank line between logging and voluptuous * more fixes * Adding totalconnect zones as HA binary_sensors * fix manifest.json * flake8/pydocstyle fixes. Added codeowner. * Update formatting per @springstan guidance. * Fixed pylint * Add zone ID to log message for easier troubleshooting * Account for bypassed zones in update() * More status handling fixes. * Fixed flake8 error * Another attempt at black/isort fixes. * Bump total-connect-client to 0.50. Simplify code using new functions in total-connect-client package instead of importing constants. Run black and isort. * Fix manifest file * Another manifest fix * one more manifest fix * more manifest changes. * sync up * fix indent * one more pylint fix * Hopefully the last pylint fix * make variable names understandable * create and fill dict in one step * Fix name and attributes * rename to logical variable in alarm_control_panel * Remove location_name from alarm_control_panel attributes since it is already the name of the alarm. * Multiple fixes to improve code per @springstan suggestions * Update homeassistant/components/totalconnect/binary_sensor.py Co-Authored-By: springstan <46536646+springstan@users.noreply.github.com> * Multiple changes per @MartinHjelmare review * simplify alarm adding * Fix binary_sensor.py is_on Co-authored-by: springstan <46536646+springstan@users.noreply.github.com>
2020-02-01 10:09:52 +01:00
homeassistant/components/totalconnect/* @austinmroczek
tests/components/totalconnect/* @austinmroczek
Prevent tplink missing devices and unavailable state (#39762) * Adds self to codeowners for tplink * Adds retry to update to prevent missing devices * Runs through isort and corrects async commit * Runs through black * Runs through pre-checks * Corrects and matches var names * Re-runs through black * Corrects var name * Removes the retry loop and in favor of async add * Cleanup imports * Removes no longer valid test * Removes is_ready and only log retry once * Corrects switch logging vars * Adds list of entities to add_entities * Consumes exception for attempt_update * Consumes specific exception * Removes unnecessary update * Reducing back to 2 seconds * Removes useless return * Call get_sysinfo for all at once * Formated black * Adds missing docstirng * Corrects docstring * Update homeassistant/components/tplink/light.py Co-authored-by: Anders Melchiorsen <amelchio@nogoto.net> * Corrects sysinfo call * Adds default for host vars * Adds log when device responds again * Revert host alias default * Removes unncessary host var * Removes host var * Get device details from sysinfo * Use host and alias for log msg * Gets hosts from smartbulb * Changes retry logging to debug * Attempts coverage add * Removes unused import * Updates tests for new retry * Runs through isort * Removes unneeded try * Prevents static entries from failing integration * Format black * Forces an update after turn on off * Remove common test * Revert update after turn_on off * Adds patch for sleep_time 0 * Returns False when update fails Co-authored-by: Anders Melchiorsen <amelchio@nogoto.net>
2020-10-11 21:10:36 +02:00
homeassistant/components/tplink/* @rytilahti @thegardenmonkey
tests/components/tplink/* @rytilahti @thegardenmonkey
homeassistant/components/traccar/* @ludeeus
tests/components/traccar/* @ludeeus
homeassistant/components/trace/* @home-assistant/core
tests/components/trace/* @home-assistant/core
homeassistant/components/tractive/* @Danielhiversen @zhulik @bieniu
tests/components/tractive/* @Danielhiversen @zhulik @bieniu
homeassistant/components/trafikverket_train/* @endor-force @gjohansson-ST
homeassistant/components/trafikverket_weatherstation/* @endor-force @gjohansson-ST
tests/components/trafikverket_weatherstation/* @endor-force @gjohansson-ST
homeassistant/components/transmission/* @engrbm87 @JPHutchins
tests/components/transmission/* @engrbm87 @JPHutchins
homeassistant/components/tts/* @pvizeli
tests/components/tts/* @pvizeli
homeassistant/components/tuya/* @Tuya @zlinoliver @METISU @frenck
tests/components/tuya/* @Tuya @zlinoliver @METISU @frenck
homeassistant/components/twentemilieu/* @frenck
tests/components/twentemilieu/* @frenck
homeassistant/components/twinkly/* @dr1rrb @Robbie1221
tests/components/twinkly/* @dr1rrb @Robbie1221
homeassistant/components/unifi/* @Kane610
tests/components/unifi/* @Kane610
homeassistant/components/unifiled/* @florisvdk
homeassistant/components/unifiprotect/* @briis @AngellusMortis @bdraco
tests/components/unifiprotect/* @briis @AngellusMortis @bdraco
homeassistant/components/upb/* @gwww
tests/components/upb/* @gwww
2020-08-22 20:57:28 +02:00
homeassistant/components/upc_connect/* @pvizeli @fabaff
homeassistant/components/upcloud/* @scop
tests/components/upcloud/* @scop
homeassistant/components/updater/* @home-assistant/core
tests/components/updater/* @home-assistant/core
Add upnp binary sensor for connectivity status (#54489) * New binary sensor for connectivity * Add binary_sensor * New binary sensor for connectivity * Add binary_sensor * Handle values returned as None * Small text update for Uptime * Update homeassistant/components/upnp/binary_sensor.py Co-authored-by: Joakim Sørensen <hi@ludeeus.dev> * Update homeassistant/components/upnp/binary_sensor.py Co-authored-by: Joakim Sørensen <hi@ludeeus.dev> * Update homeassistant/components/upnp/binary_sensor.py Co-authored-by: Joakim Sørensen <hi@ludeeus.dev> * Update homeassistant/components/upnp/binary_sensor.py Co-authored-by: Joakim Sørensen <hi@ludeeus.dev> * Update homeassistant/components/upnp/binary_sensor.py Co-authored-by: Joakim Sørensen <hi@ludeeus.dev> * Update homeassistant/components/upnp/binary_sensor.py Co-authored-by: Joakim Sørensen <hi@ludeeus.dev> * Update homeassistant/components/upnp/binary_sensor.py Co-authored-by: Joakim Sørensen <hi@ludeeus.dev> * Update homeassistant/components/upnp/binary_sensor.py Co-authored-by: Joakim Sørensen <hi@ludeeus.dev> * Updates based on review * Update homeassistant/components/upnp/binary_sensor.py Co-authored-by: Joakim Sørensen <hi@ludeeus.dev> * Further updates based on review * Set device_class as a class atribute * Create 1 combined data coordinator and UpnpEntity class * Updates on coordinator * Update comment * Fix in async_step_init for coordinator * Add async_get_status to mocked device and set times polled for each call seperately * Updated to get device through coordinator Check polling for each status call seperately * Use collections.abc instead of Typing for Mapping * Remove adding device to hass.data as coordinator is now saved * Removed setting _coordinator * Added myself as codeowner * Update type in __init__ * Removed attributes from binary sensor * Fix async_unload_entry * Add expected return value to is_on Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
2021-08-17 20:23:41 +02:00
homeassistant/components/upnp/* @StevenLooman @ehendrix23
tests/components/upnp/* @StevenLooman @ehendrix23
homeassistant/components/uptimerobot/* @ludeeus @chemelli74
tests/components/uptimerobot/* @ludeeus @chemelli74
homeassistant/components/usb/* @bdraco
tests/components/usb/* @bdraco
homeassistant/components/usgs_earthquakes_feed/* @exxamalte
tests/components/usgs_earthquakes_feed/* @exxamalte
homeassistant/components/utility_meter/* @dgomes
tests/components/utility_meter/* @dgomes
homeassistant/components/vallox/* @andre-richter @slovdahl @viiru-
tests/components/vallox/* @andre-richter @slovdahl @viiru-
homeassistant/components/velbus/* @Cereal2nd @brefra
tests/components/velbus/* @Cereal2nd @brefra
homeassistant/components/velux/* @Julius2342
2021-10-25 23:40:36 +02:00
homeassistant/components/venstar/* @garbled1
tests/components/venstar/* @garbled1
homeassistant/components/vera/* @pavoni
tests/components/vera/* @pavoni
2020-12-30 09:55:18 +01:00
homeassistant/components/verisure/* @frenck
tests/components/verisure/* @frenck
homeassistant/components/versasense/* @flamm3blemuff1n
2020-09-13 11:30:51 +02:00
homeassistant/components/version/* @fabaff @ludeeus
tests/components/version/* @fabaff @ludeeus
homeassistant/components/vesync/* @markperdue @webdjoe @thegardenmonkey
tests/components/vesync/* @markperdue @webdjoe @thegardenmonkey
homeassistant/components/vicare/* @oischinger
tests/components/vicare/* @oischinger
Add initial version of Vilfo Router integration (#31177) * Initial implementation of Vilfo router integration. This commit is a combination of several commits, with commit messages in bullet form below. * Added additional files to Vilfo integration. * Added generated files. * Fixed alphabetic order in generated config_flows. * Continued implementation of config flow for Vilfo integration. * Continued work on config_flow for Vilfo. * Updated requirements in manifest for Vilfo Router integration. * Some strings added to Vilfo Router integration. * Vilfo Router integration updated with sensor support. * Code style cleanup. * Additional cleanup of config flow. * Added additional UI strings for Vilfo Router * Updated tests of config flow and fixed formatting * Updated requirement upon vilfo-api-client. * Sensor refactoring including support for icons * Code style changes for Vilfo Router integration * Code cleanup * Fixed linting issues in Vilfo Router integration * Fixed import order in test for Vilfo integration. * Updates to Vilfo Router integration based on feedback Based on the feedback received, updates have been made to the Vilfo Router integration. A couple of the points mentioned have not been addressed yet, since the appropriate action has not yet been determined. These are: * https://github.com/home-assistant/home-assistant/pull/31177#discussion_r371124477 * https://github.com/home-assistant/home-assistant/pull/31177#discussion_r371202896 This commit consists of: * Removed unused folder/submodule * Fixes to __init__ * Fixes to config_flow * Fixes to const * Refactored sensors and applied fixes * Fix issue with wrong exception type in config flow * Updated tests for Vilfo integration config_flow * Updated dependency upon vilfo-api-client to improve testability * Import order fixes in test * Use constants instead of strings in tests * Updated the VilfoRouterData class to only use the hostname as unique_id when it is the default one (admin.vilfo.com). * Refactored based on feedback during review. * Changes to constant names, * Blocking IO separated to executor job, * Data for uptime sensor changed from being computed to being a timestamp, * Started refactoring uptime sensor in terms of naming and unit. * Updated constants for boot time (previously uptime) sensor. * Refactored test of Vilfo config flow to avoid patching code under test. * UI naming fixes and better exception handling. * Removed unused exception class. * Various changes to Vilfo Router integration. * Removed unit of measurement for boot time sensor, * Added support for a sensor not having a unit, * Updated the config_flow to handle when the integration is already configured, * Updated tests to avoid mocking the code under test and also to cover the aforementioned changes. * Exception handling in Vilfo Router config flow refactored to be more readable. * Refactored constant usage, fixed sensor availability and fix API client library doing I/O in async context. * Updated signature with hass first * Update call to constructor with changed order of arguments
2020-02-12 19:11:15 +01:00
homeassistant/components/vilfo/* @ManneW
tests/components/vilfo/* @ManneW
homeassistant/components/vivotek/* @HarlemSquirrel
homeassistant/components/vizio/* @raman325
tests/components/vizio/* @raman325
homeassistant/components/vlc_telnet/* @rodripf @MartinHjelmare
tests/components/vlc_telnet/* @rodripf @MartinHjelmare
2020-08-22 18:12:09 +02:00
homeassistant/components/volkszaehler/* @fabaff
2020-07-27 09:19:19 +02:00
homeassistant/components/volumio/* @OnFreund
tests/components/volumio/* @OnFreund
homeassistant/components/volvooncall/* @molobrakos @decompil3d
homeassistant/components/wake_on_lan/* @ntilley905
tests/components/wake_on_lan/* @ntilley905
Add wallbox integration (#48082) * Wallbox component added * resolved mergeconflicts from upstream * fixed an incorrect removal in CODEOWNERS file * fixes for pullrequest automatic test * clean up code after PR tests * fixed strings.json * fix config_flow error > wallbox * fixed some formatting issues * fix pylint warnings * fixed error in number.py > set value * pylint warnings fixed * some more pylint fixes * isort fixes * fix unused_import pylint * remove tests * remove test requirements * config flow test * test errors resolved * test file formatting * isort on test file * sensor test * isort on test * isort test const * remove not working sensor test * remove test const * add switch, number and lock test * docstrings for test classes * sort test_number, create test_sensor * additional tests * fix test error * reduced PR to 1 component * newline in const * ignore test coverage -> dependency on external device (wallbox) * do not ignore config_flow * add test for validate_input * remove obsolete import * additional test config flow * change test sensor * docstring * add additional test for exceptions * fix test_config * more tests * fix test_config_flow * fixed http error test * catch connectionerror and introduce testing for this error * remove .coveragefile * change comment * Update homeassistant/components/wallbox/__init__.py review suggestion by janiversen Co-authored-by: jan iversen <jancasacondor@gmail.com> * Update homeassistant/components/wallbox/__init__.py review suggestion by janiversen (format only) Co-authored-by: jan iversen <jancasacondor@gmail.com> * Processed review comments, include more testing for sensor component * Isolated the async_add_executor_job to make the solution more async * add a config flow test * Revert "add a config flow test" This reverts commit 9c1af82fffeb0b46f11ada1000e19b66fd5fd0f1. * Revert "Isolated the async_add_executor_job to make the solution more async" This reverts commit 0bf034c3318f27e649389830d4ad7a7e10eb2d6f. * Make component more async and add config flow tests * Changes based on review comments * made _ methods in WallboxHub for the 'non-async' call to the API and try-catch. Stored the wallbox in the class. * moved the coordinator to __init__ and pass it as part of the WallboxHub class * removed obsolete function in __init__ * removed CONNECTION_CLASS = config_entries.CONN_CLASS_CLOUD_POLL * fixed spelling and imports on test files * did isort on component files Co-authored-by: jan iversen <jancasacondor@gmail.com>
2021-05-24 13:08:24 +02:00
homeassistant/components/wallbox/* @hesselonline
tests/components/wallbox/* @hesselonline
homeassistant/components/waqi/* @andrey-git
homeassistant/components/watson_tts/* @rutkai
2021-09-21 06:10:24 +02:00
homeassistant/components/watttime/* @bachya
tests/components/watttime/* @bachya
homeassistant/components/waze_travel_time/* @eifinger
tests/components/waze_travel_time/* @eifinger
homeassistant/components/weather/* @fabaff
tests/components/weather/* @fabaff
homeassistant/components/webostv/* @bendavid @thecode
tests/components/webostv/* @bendavid @thecode
homeassistant/components/websocket_api/* @home-assistant/core
tests/components/websocket_api/* @home-assistant/core
homeassistant/components/wemo/* @esev
tests/components/wemo/* @esev
homeassistant/components/whirlpool/* @abmantis
tests/components/whirlpool/* @abmantis
homeassistant/components/whois/* @frenck
tests/components/whois/* @frenck
homeassistant/components/wiffi/* @mampfes
tests/components/wiffi/* @mampfes
homeassistant/components/wilight/* @leofig-rj
tests/components/wilight/* @leofig-rj
homeassistant/components/wirelesstag/* @sergeymaysak
homeassistant/components/withings/* @vangorra
tests/components/withings/* @vangorra
homeassistant/components/wiz/* @sbidy
tests/components/wiz/* @sbidy
homeassistant/components/wled/* @frenck
tests/components/wled/* @frenck
homeassistant/components/wolflink/* @adamkrol93
tests/components/wolflink/* @adamkrol93
homeassistant/components/workday/* @fabaff
tests/components/workday/* @fabaff
homeassistant/components/worldclock/* @fabaff
tests/components/worldclock/* @fabaff
homeassistant/components/xbox/* @hunterjm
tests/components/xbox/* @hunterjm
homeassistant/components/xbox_live/* @MartinHjelmare
2019-02-26 19:47:08 +01:00
homeassistant/components/xiaomi_aqara/* @danielhiversen @syssi
tests/components/xiaomi_aqara/* @danielhiversen @syssi
homeassistant/components/xiaomi_miio/* @rytilahti @syssi @starkillerOG @bieniu
tests/components/xiaomi_miio/* @rytilahti @syssi @starkillerOG @bieniu
homeassistant/components/xiaomi_tv/* @simse
homeassistant/components/xmpp/* @fabaff @flowolf
homeassistant/components/yale_smart_alarm/* @gjohansson-ST
tests/components/yale_smart_alarm/* @gjohansson-ST
Rewrite of Yamaha musiccast integration (#51561) * Initial commit for new musiccast integration * Add zone support * Get/set volume level * Remove volume step * Create custom MusicCastData type * Create MusicCastDevice * Fix await * Add power and mute control * Implement all basic media_player parts * Support input switching * Add duration/position support * Add advanced tuner functions * Basic media browser * Add layer in media browser to see all available list_infos * Added join/unjoin services and group informations. Known issue: You can not link zone 2 to main at the moment (WIP) * Many fixes to make multiple zones and grouping work. Next step: implement error handling and remove debugging information * WIP: Added Multizone Support and allows clients to directly jump from one group to another. Known issue: If a server tries to join a group as client, he has to close his group first. Sometimes the device that was a server previously jumps out of the group directly after joining. * Updated group management to make it wait for the updated group information before performing the next actions - Timeouts after 1 second, then polls the distribution data. If the data are still not updated, there will be one retry before an Exception is thrown. Extended the state attributes for clients to make them return group details from their servers (leads to inactive group management buttons for the client). Added documentation and restructured the code. * Make the service handle function name for group specific service calls unique * Added service descriptions for set_sleep_timer, set_alarm, recall_netusb_preset, store_netusb_preset * Added data entries for alarm specific values and a netusb preset list. Implemented fetching function for clock and netusb presets. * Registered and implemented services for set_sleep_timer, set_alarm, recall_netusb_preset, store_netusb_preset. The set_alarm service works with a special mediaplayer alarm lovelace card, I am currently working on. The NetUSB Presets are also available using the media browser. Maybe we could also add the Tuner presets in the future for both setting up the alarm and recalling them via service and media browser. * Removed some debug prints * Moved MusicCast Integration to the aiomusiccast library. This library supports media browsers with multiple pages. Added ssdp support for the discovery * Minor fix in the group management and tidied up a bit * Updated manifest of yamaha musiccast * Update library * Minor fix in the media browser. get_distribution_num does not have to be async, so it has been changed. Adjusted the client join function to turn on the client before joining a group - the musiccast app does so, so hopefully this fixes the rare errors when adding a turned off client to a group. Some reformating and by hooks fixed most of the requirements of the hooks. Known exception from this: mypy throws an error for line 116. * Removed some old out commented code. Fixed some error handling, when the user enters a non reachable or non yamaha host in the manual setup. Fixed linting/styling errors. Implemented tests to bring the coverage for the config flow to 100%. * Fixed linting/styling errors. Return a DeviceInfo object instead of a dict. * Fixed linting/styling errors. Added a new error type to the translations. * In the yamaha API the system_id is equal to the serial number in the DLNA description. Due to that it was possible to configure a device twice, because the serial number from the yamaha API was different. This issue was fixed. * Updated tests and added a test for adding a device manually, which is already present in the system * Remove print statements * Fix sleep timer service call * Fix yamllint error * Shrink PR down to just new library + config flow with discovery * Add __init__.py to .coveragerc * Apply suggestions from code review Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Franck Nijhof <git@frenck.dev> * Implement suggestions from code review * Improve identifiers and connections, remove event loop parameter * Add coordinator back * Better exception handling * Fix unique id in ssdp step * Remove abc.ABC from MusicCasteDeviceEntity Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/yamaha_musiccast/config_flow.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Replace the repeat mode mapping from mc to ha by a generic solution Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * add coordinator to the super call of the mediaplayer Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * add the coordinator to the init function of the MusicCastEntity Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Pass the coordinator from the MusicCastEntity init function to the CoordinatorEntity init function Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * merged _handle_config_flow into async_step_user * reformated the exception handling of the user step. In the case that the device already exists, the AbortFlow will be raised. * Removed model from the config entry. It was neither set nor used anymore. * Fixed the test for the config flow. * Use async_write_ha_state instead of schedule_update_ha_state. * Add default value for the system ID gotten in the user step Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update tests/components/yamaha_musiccast/test_config_flow.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Added a fixture to avoid IO in the test_user_input_device_not_found test * Use absolute imprt to import data_entry_flow. * Use local vars for host and serial_number in async_step_user. * Remove ip_address and zone_id properties. * Use device id for the unique ID of an entity instead of the macs * Removed entry_id from the MusicCastEntity init function. * Updated strings and English translation. * don't set the coordinator in the mediaplayer init. * Implemented legacy configuration.yaml support for existing configurations. * Added tests for the newly added config flow step. * Use device_id as identifier * Fix an accidentally relative import * Fix pylint warnings * use logger.error instead of logger.exception in the import step. Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Use CONF_HOST instead of 'host' * Only support the import from configuration.yaml if no config entries are setup for musiccast. If there are already config entries in HA and none of them is a representation of a config given in configuration.yaml (e.g. config added after the first import), an error will be logged. * Update homeassistant/components/yamaha_musiccast/media_player.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Readded PLATFORM_SCHEMA for configuration.yaml * Raise an exception for all services, which are only supported for specific sources. * Bump aiomusiccast to 0.6 to support asyncio sockets Co-authored-by: Michael Harbarth <michael.harbarth@gmx.de> Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Franck Nijhof <git@frenck.dev>
2021-06-14 08:58:42 +02:00
homeassistant/components/yamaha_musiccast/* @vigonotion @micha91
tests/components/yamaha_musiccast/* @vigonotion @micha91
homeassistant/components/yandex_transport/* @rishatik92 @devbis
tests/components/yandex_transport/* @rishatik92 @devbis
homeassistant/components/yeelight/* @zewelor @shenxn @starkillerOG @alexyao2015
tests/components/yeelight/* @zewelor @shenxn @starkillerOG @alexyao2015
homeassistant/components/yeelightsunflower/* @lindsaymarkward
homeassistant/components/yi/* @bachya
homeassistant/components/youless/* @gjong
tests/components/youless/* @gjong
homeassistant/components/zeroconf/* @bdraco
tests/components/zeroconf/* @bdraco
2020-05-13 00:26:44 +02:00
homeassistant/components/zerproc/* @emlove
tests/components/zerproc/* @emlove
homeassistant/components/zha/* @dmulcahey @adminiuga
tests/components/zha/* @dmulcahey @adminiuga
homeassistant/components/zodiac/* @JulienTant
tests/components/zodiac/* @JulienTant
homeassistant/components/zone/* @home-assistant/core
tests/components/zone/* @home-assistant/core
2020-10-07 16:28:49 +02:00
homeassistant/components/zoneminder/* @rohankapoorcom
homeassistant/components/zwave/* @home-assistant/z-wave
tests/components/zwave/* @home-assistant/z-wave
Add zwave_js integration (#45020) * Run zwave_js scaffold (#44891) * Add zwave_js basic connection to zwave server (#44904) * add the basic connection to zwave server * fix name * Fix requirements * Fix things * Version bump dep to 0.1.2 * fix pylint Co-authored-by: Paulus Schoutsen <balloob@gmail.com> * Bump zwave-js-server-python to 0.2.0 * Use zwave js server version check instead of fetching full state (#44943) * Use version check instead of fetching full state * Fix tests * Use 0.3.0 * Also catch aiohttp client errors * Update docstring * Lint * Unignore zwave_js * Add zwave_js entity discovery basics and sensor platform (#44927) Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Paulus Schoutsen <balloob@gmail.com> * Complete zwave_js typing (#44960) * Type discovery * Type init * Type entity * Type config flow * Type sensor * Require typing of zwave_js * Complete zwave_js config flow test coverage (#44955) * Correct zwave_js sensor device class (#44968) * Fix zwave_js KeyError on entry setup timeout (#44966) * Bump zwave-js-server-python to 0.5.0 (#44975) * Remove stale callback signal from zwave_js (#44994) * Add light platform to zwave_js integration (#44974) * add light platform * styling fix * fix type hint * Fix typing * Update homeassistant/components/zwave_js/const.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/zwave_js/entity.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/zwave_js/entity.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/zwave_js/entity.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/zwave_js/entity.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/zwave_js/entity.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * color temp should be integer * guard Nonetype error * Update homeassistant/components/zwave_js/light.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Update homeassistant/components/zwave_js/light.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * some fixes after merging * add additional guards for None values * adjustments for rgb lights * Fix typing * Fix black * Bump zwave-js-server-python to 0.6.0 * guard value updated log * remove value_id lookup as its no longer needed * fiz sending white value * Update homeassistant/components/zwave_js/light.py Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Add zwave_js test foundation (#44983) * Exclude text files from codespell * Add basic dump fixture * Add test foundation * Fix test after rebase * Exclude jsonl files from codespell * Rename fixture file type to jsonl * Update fixture path * Fix stale docstring * Add controller state json fixture * Add multisensor 6 state json fixture * Update fixtures * Remove basic dump fixture * Fix fixtures after library bump * Update codeowner * Minor cleanup Z-Wave JS (#45021) * Update zwave_js device_info (#45023) Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com> Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-01-11 00:08:25 +01:00
homeassistant/components/zwave_js/* @home-assistant/z-wave
tests/components/zwave_js/* @home-assistant/z-wave
Add Z-Wave.Me integration (#65473) * Add support of Z-Wave.Me Z-Way and RaZberry server (#61182) Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: LawfulChaos <kerbalspacema@gmail.com> * Add switch platform to Z-Wave.Me integration (#64957) Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com> * Add button platform to Z-Wave.Me integration (#65109) Co-authored-by: epenet <6771947+epenet@users.noreply.github.com> Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com> Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Fix button controller access (#65117) * Add lock platform to Z-Wave.Me integration #65109 (#65114) Co-authored-by: epenet <6771947+epenet@users.noreply.github.com> Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com> Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Add sensor platform to Z-Wave.Me integration (#65132) * Sensor Entity * Sensor fixes * Apply suggestions from code review Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Inline descriotion according to review proposal * State Classes for sensor * Generic sensor * Generic sensor Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com> Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Add binary sensor platform to Z-Wave.Me integration (#65306) * Binary Sensor Entity * Update docstring Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com> Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Add Light Entity platform to Z-Wave.Me integration (#65331) * Light Entity * mypy fix * Fixes, ZWaveMePlatforms enum * Apply suggestions from code review Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Fixes * Fixes * Fixes Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com> Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Add Thermostat platform to Z-Wave.Me integration #65331 (#65371) * Climate entity * Climate entity * Apply suggestions from code review Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Climate entity fix * Clean up * cleanup * Import order fix * Correct naming Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com> Co-authored-by: Martin Hjelmare <marhje52@gmail.com> * Correct zwave_me .coveragerc (#65491) Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io> Co-authored-by: Martin Hjelmare <marhje52@gmail.com> Co-authored-by: LawfulChaos <kerbalspacema@gmail.com> Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-02-07 16:27:11 +01:00
homeassistant/components/zwave_me/* @lawfulchaos @Z-Wave-Me
tests/components/zwave_me/* @lawfulchaos @Z-Wave-Me
# Individual files
homeassistant/components/demo/weather @fabaff