Commit Graph

1584 Commits

Author SHA1 Message Date
pglab-electronics 8c602d74f3
Add pglab integration (#109725)
* Add PG LAB Electronics integration

* Add time from last boot sensor diagnostic

* Limit the initial new pglab integration to only one platform

* Update FlowHandler with the new return type ConfigFlowResult

* Fix docstring file with the right integration name to PG LAB.

* There is no need for default value in the callback definition.

* Move all mqtt callbacks to be global and also renamed with a better name.

* Removed unused member variables.

* Renaming functions with a better name.

* Adding miss docstring to __build_device.

* Renamed CreateDiscovery with a better name.

* Removing not so meaning comment.

* Avoid to populate hass.data with pglab discovery information. Use hass.data[DOMAIN] instead.

* Revert "Removed unused member variables."

This reverts commit 4193c491ec.

* Removed unused member variables.

* Refactoring of const. Be sure to have in const.py constant that are used in at least two other modules

* Restoring back the process to unregister the plaform when unload the integration.

* fix spelling mistake

* Revert "Move all mqtt callbacks to be global and also renamed with a better name."

This reverts commit d94d8010d5.

* Main refactoring to avoid to store PG Lab discovery in hass.data

* Change class name  BaseEntity in PGLabEntity. And named PyPGLab...  what imported from external python module pypglab.

* Avoid to use dict to create DeviceInfo

* Removing unused parameter

* Removing not necessary call to base class

* Update entity name/id to be compatible with the new integration policy.

* Upate test to new entity id

* Add new line after file description

* avoid to store in local variable data for calling function

* Move PGLABConfigEntry in __init__.py

* change function to pure callback

* to avoid hang, dont' trust the split of the discovery topic... introduce a max split count

* rename method with a more meaning name

* use assignment operator

* rename variable with a better name

* removing unecessary test

* Raise exception in case of unexpected error during discovery

* Review comments all other the intergration.

* Rename classes to be consistent in integration

* Using new feature single_config_entry to allow single instance integration

* rename class FlowHandler to PGLabFlowHandler

* using __package__ to initialize integration logger

* missing to catch the exception when for some reason is not possible to create the discovery instance. This can happen when the discovery MQTT message is not in valid json format.

* using ATTR_ENTITY_ID instead of the string

* using SOURCE_MQTT, SOURCE_USER instead of config_entries.SOURCE_MQTT, config_entries.SOURCE_USER

* Using FlowResultType.ABORT instead of the string value

* Code refactoring for tests of configuration from USER and MQTT

* Remove to the user the possibility to add PGLab integration manually, and remove not needed tests.

* Change test_device_update to use snapshot to check test result

* Raise exeception in case of unexpected device and entity_id

* Avoid to log on info channel.

* Renamed _LOGGER in LOGGER

* Propage the call to the base class

* Remove not needed code because from the manifest it's only allows a single instance

* Using specific type for result test instead of string value

* Code refactoring, avoid not necessary function

* update to the new way to import mqtt components

* Avoid runtime check

* add err variable for catching the exception

* add doc string to mqtt_publish

* add doc string to mqtt_subscribe

* Rename DiscoverDeviceInfo.add_entity_id in add_entity

* add doc string

* removing not meaning documentation string

* fix spelling

* fix wrong case in docstring

* fix spelling mistake in PyPGLab callback name

* rename mqtt message received callback

* Avoid to store hard coded discovery_prefix

* Removing unused strings from strings.json

* Give to the user more information during config_flow, and add the possibility to add manually the integration

* Fix to avoid fails of auto test

* update discovery test

* Be sure to always subscribe to MQTT topic when entity is added to HA

* Update codeowner of PGLAB integration and test

* Add control to check if mqtt is available during integration setup

* New test for check no state change for disable entity switch

* Remore not more used file

* update pypglab to version 0.0.3 and improve the symmetry to subscribe/unsubscribe to mqtt entity topic and to register/deregister the status update callback

* Update codeowner of pglab integration

* Adding quality_scale

* removing async_setup

* Fix spelling mistake

* Added test to cover config_flow.async_step_user

---------

Co-authored-by: Pierluigi <p.garaventa@gmail.com>
2025-02-10 08:19:42 +01:00
jukrebs 1e99b87868
Add iometer integration (#135513) 2025-02-04 22:36:47 +00:00
Jan Stienstra 42cab208d0
Update Jellyfin codeowner (#137270) 2025-02-03 17:38:01 -05:00
Martin Hjelmare 9bc3c417ae
Add codeowner to Home Connect (#137029) 2025-01-31 12:36:40 -06:00
tronikos a2b5a96bc9
Add Google Drive integration for backup (#134576)
* Add Google Drive integration for backup

* Add test_config_flow

* Stop using aiogoogle

* address a few comments

* Check folder exists in setup

* fix test

* address comments

* fix

* fix

* Use ChunkAsyncStreamIterator in helpers

* repair-issues: todo

* Remove check if folder exists in the reatuh flow. This is done in setup.

* single_config_entry": true

* Add test_init.py

* Store into backups.json to avoid 124 bytes per property limit

* Address comments

* autouse=True on setup_credentials

* Store metadata in description and remove backups.json

* improvements

* timeout downloads

* library

* fixes

* strings

* review

* ruff

* fix test

* Set unique_id

* Use slugify in homeassistant.util

* Fix

* Remove RefreshError

* review

* push more fields to the test constant

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-01-28 21:43:30 -08:00
Josef Zweck 5695582387
Add OneDrive as backup provider (#135121)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-01-28 14:57:46 +00:00
Allen Porter 58b4556a1d
Add the Model Context Protocol integration (#135058)
* Add the Model Context Protocol integration

* Improvements to mcp integration

* Move the API prompt constant

* Update config flow error handling

* Update test descriptions

* Update tests/components/mcp/test_config_flow.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Update tests/components/mcp/test_config_flow.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Address PR feedback

* Update homeassistant/components/mcp/coordinator.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Move tool parsing to the coordinator

* Update session handling not to use a context manager

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2025-01-27 14:38:52 -05:00
Robin Wohlers-Reichel cffb0a03d2
Add Darsstar as codeowner for solax integration (#136528)
* Add Darsstar as codeowner for solax integration

* Update manifest.json
2025-01-25 18:18:20 -06:00
J. Nick Koston 66115ce695
Remove myself from ibeacon codeowners (#136280) 2025-01-22 09:37:07 -10:00
Allen Porter 0035c7b1fe
Add myself to Roborock codeowners (#136134) 2025-01-21 01:22:50 +01:00
Noah Husby f724ae9a01
Record IQS for Russound RNET (#134692) 2025-01-18 08:33:49 +01:00
Erwin Douna 632c166201
SMA update code owners (#135812)
Update code owners
2025-01-16 23:48:40 +01:00
Indu Prakash 58df5f2394
Add iprak to to vesync code owners (#135562) 2025-01-14 10:51:13 +01:00
qbus-iot 2d2f4f5cec
Add new integration Qbus (#127280)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
Co-authored-by: Thomas D <11554546+thomasddn@users.noreply.github.com>
2025-01-13 19:06:52 +00:00
Paul Daumlechner 25041aa02d
Add dhcp discovery to velux (#135138)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-01-13 12:01:04 +01:00
Jeff Terrace 6dc9c6819f
Add @jterrace to onvif integration owners (#135398) 2025-01-11 19:30:51 +01:00
Simon Lamon fd169affd7
Remove code owner for nmbs (#135357) 2025-01-11 12:49:10 +01:00
Simon Lamon b9259b6f77
Add config flow to NMBS (#121548)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-01-11 10:31:47 +01:00
Joris Pelgröm 4129697dd9
Add LetPot integration (#134925) 2025-01-08 21:38:52 +01:00
Markus Adrario eec5fb2133
Add Homee integration to Core (#133738)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-01-03 13:44:06 +01:00
Allen Porter a5d0c3528c
Add the Model Context Protocol Server integration (#134122)
* Add the Model Context Protocol Server integration

* Remove unusued code in init

* Fix comment wording

* Use util.uild for unique ids

* Set config entry title to the LLM API name

* Extract an SSE parser and update comments

* Update comments and defend against already closed sessions

* Shorten description

* Update homeassistant/components/mcp_server/__init__.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

* Change integration type to service

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2025-01-01 19:38:33 -05:00
Keith 809629c0e2
Add integration for igloohome devices (#130657)
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-01-01 12:55:04 +01:00
Joost Lekkerkerker 268c21addd
Add Overseerr integration (#133981)
* Add Overseerr integration

* Add Overseerr integration

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix
2024-12-28 11:50:36 +01:00
Erwin Douna f7fe2f2122
Tado update code owners (#133987)
Update code owners
2024-12-26 09:13:24 +01:00
Franck Nijhof 6f11524b84
Remove myself as codeowner from Tuya integration (#133921) 2024-12-24 07:55:44 +01:00
Franck Nijhof aa29a93fbe
Remove myself as codeowner from Plugwise (#133920) 2024-12-24 01:34:23 +01:00
Mick Vleeshouwer bd0edd4996
Revise codeowners for Overkiz (#133784) 2024-12-23 22:24:22 +01:00
PierreAronnax 1e68ae1bb8
Remove myself from govee_ble codeowners (#133790) 2024-12-22 13:35:36 +01:00
Kenny Root b391dfe647
Switch to official Zabbix Python API (#131674) 2024-12-20 10:59:30 +01:00
Franck Nijhof bb2d027532
Add Peblar Rocksolid EV Chargers integration (#133501)
* Add Peblar Rocksolid EV Chargers integration

* Process review comments
2024-12-18 19:11:13 +01:00
Tomer Shemesh 39d781905d
Add ssdp discovery to Onkyo (#131066) 2024-12-18 10:21:37 +01:00
Dan Raper 9e2a3ea0e5
Add Ohme integration (#132574) 2024-12-14 18:12:44 +01:00
Sid 0c8db8c8d6
Add eheimdigital integration (#126757)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-12-13 22:29:18 +01:00
Cyrill Raccaud 56db536883
Add Cookidoo integration (#129800) 2024-12-12 20:23:14 +01:00
dontinelli c164507952
Add new integration slide_local (#132632)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-12 20:18:19 +01:00
shapournemati-iotty 5e17721568
Remove old codeowner no longer working on the integration (#132807) 2024-12-11 08:53:19 +01:00
Assaf Inbal d3fab7d87a
Add Ituran integration (#129067) 2024-12-09 20:19:15 +01:00
adam-the-hero c6bcd5a036
Add Watergate Sonic Local Integration (#129686)
Co-authored-by: Mark Breen <markvader@users.noreply.github.com>
2024-12-09 19:40:13 +01:00
G Johansson 3be0d0d085
Add myself as code owner to statistics (#132719) 2024-12-09 16:04:47 +01:00
Franck Nijhof eddb416f6d
Remove Stookalert integration (#132569) 2024-12-09 08:30:18 +01:00
Klaas Schoute abd3466d19
Add powerfox integration (#131640) 2024-12-04 00:35:50 +01:00
Glenn Vandeuren (aka Iondependent) 74522390ad
Add config flow to NHC (#130554)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: VandeurenGlenn <8685280+VandeurenGlenn@users.noreply.github.com>
2024-11-30 12:16:12 +01:00
Raphael Hehl 08f9d5bdfd
Add codeowner for unifiprotect (#131136) 2024-11-21 08:53:27 +01:00
Manu 5d804d3172
Remove code-owner from Habitica (#131024) 2024-11-20 12:54:11 +01:00
Santobert 43235713c7
Remove myself from codeowners (#130805) 2024-11-17 14:29:27 -06:00
Thibaut 01332a542c
Removing myself from template codeowners (#130617)
* Removing myself as codeowners

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-11-14 15:23:55 +01:00
Josef Zweck eea782bbfe
Add acaia integration (#130059)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-11-14 13:28:38 +01:00
dunnmj 72b976f832
Add Sky remote integration (#124507)
Co-authored-by: Kyle Cooke <saty9@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-11-13 14:29:04 +01:00
G Johansson 1f32e02ba2
Add Nord Pool integration (#129983) 2024-11-08 15:10:51 +01:00
nasWebio ed1366f463
Add NASweb integration (#98118)
* Add NASweb integration

* Fix DeviceInfo import

* Remove commented out code

* Change class name for uniquness

* Drop CoordinatorEntity inheritance

* Rename class Output to more descriptive: RelaySwitch

* Update required webio-api version

* Implement on-the-fly addition/removal of entities

* Set coordinator name matching device name

* Set entities with too old status as unavailable

* Drop Optional in favor of modern typing

* Fix spelling of a variable

* Rename commons to more fitting name: helper

* Remove redundant code

* Let unload fail when there is no coordinator

* Fix bad docstring

* Rename cord to coordinator for clarity

* Remove default value for pop and let it raise exception

* Drop workaround and use get_url from helper.network

* Use webhook to send data from device

* Deinitialize coordinator when no longer needed

* Use Python formattable string

* Use dataclass to store integration data in hass.data

* Raise ConfigEntryNotReady when appropriate

* Refactor NASwebData class

* Move RelaySwitch to switch.py

* Fix ConfigFlow tests

* Create issues when entry fails to load

* Respond when correctly received status update

* Depend on webhook instead of http

* Create issue when status is not received during entry set up

* Make issue_id unique across integration entries

* Remove unnecessary initializations

* Inherit CoordinatorEntity to avoid code duplication

* Optimize property access via assignment in __init__

* Use preexisting mechanism to fill schema with user input

* Fix translation strings

* Handle unavailable or unreachable internal url

* Implement custom coordinator for push driven data updates

* Move module-specific constants to respective modules

* Fix requirements_all.txt

* Fix CODEOWNERS file

* Raise ConfigEntryError instead of issue creation

* Fix entity registry import

* Use HassKey as key in hass.data

* Use typed ConfigEntry

* Store runtime data in config entry

* Rewrite to be more Pythonic

* Move add/remove of switch entities to switch.py

* Skip unnecessary check

* Remove unnecessary type hints

* Remove unnecessary nonlocal

* Use a more descriptive docstring

* Add docstrings to NASwebCoordinator

* Fix formatting

* Use correct return type

* Fix tests to align with changed code

* Remove commented code

* Use serial number as config entry id

* Catch AbortFlow exception

* Update tests to check ConfigEntry Unique ID

* Remove unnecessary form abort
2024-11-08 12:03:32 +01:00