Commit graph

55 commits

Author SHA1 Message Date
Owen Voke
983607e683
Add state class to qBittorrent UL / DL speed (#127988) 2024-10-09 19:30:53 +01:00
Arun Philip
8ca3310401
Fix qbittorrent error when torrent count is 0 (#126146)
Fix handling of `NoneType` for torrents in `count_torrents_in_states` function

Added a check to handle cases where the 'torrents' data is None, avoiding a `TypeError` when attempting to get the length of a `NoneType` object. The function now returns 0 if 'torrents' is None, ensuring robust behavior when no torrent data is available.
2024-09-19 10:34:27 +02:00
Erik Montnemery
1a2d013c97
Update icons.json to new service schema part 3 (#124770) 2024-08-28 13:48:01 +02:00
Sébastien Clément
e7971f5a67
Fix qbittorent current_status key in strings.json (#122848) 2024-07-30 15:03:36 +02:00
Sébastien Clément
d78acd480a
Add QBittorent switch to control alternative speed (#107637)
* Fix key in strings.json for current_status in QBittorrent

* Add switch on QBittorent to control alternative speed

* Add switch file to .coveragerc

* Fix some typo

* Use coordinator for switch

* Update to mach new lib

* Import annotation

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Remove quoted coordinator

* Revert "Fix key in strings.json for current_status in QBittorrent"

This reverts commit 962fd0474f.

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-07-30 11:23:55 +02:00
Sébastien Clément
80b2b05bd8
Change qBittorrent lib to qbittorrentapi (#113394)
* Change qBittorrent lib to qbittorrentapi

* Fix tests

* Convert qbittorrent service to new lib

* Add missing translation key

* Catch APIConnectionError in service call

* Replace type ignore by Any typing

* Remove last type: ignore

* Use lib type for torrent_filter

* Change import format

* Fix remaining Any type

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-06-10 14:27:20 +02:00
Joe Neuman
4cce75177a
Add get_torrents service to qBittorrent integration (#106501)
* Upgrade QBittorrent integration to show torrents

This brings the QBittorrent integration to be more in line with the Transmission integration. It updates how the integration is written, along with adding sensors for Active Torrents, Inactive Torrents, Paused Torrents, Total Torrents, Seeding Torrents, Started Torrents.

* Remove unused stuff

* Correct name in comments

* Make get torrents a service with a response

* Add new sensors

* remove service

* Add service with response to get torrents list

This adds a service with a response to be able to get the list of torrents within qBittorrent

* update

* update from rebase

* Update strings.json

* Update helpers.py

* Update to satisfy lint

* add func comment

* fix lint issues

* another update attempt

* Fix helpers

* Remove unneccesary part in services.yaml and add translations

* Fix return

* Add tests

* Fix test

* Improve tests

* Fix issue from rebase

* Add icon for get_torrents service

* Make get torrents a service with a response

* remove service

* Add service with response to get torrents list

This adds a service with a response to be able to get the list of torrents within qBittorrent

* Update to satisfy lint

* Handle multiple installed integrations

* fix lint issue

* Set return types for helper methods

* Create the service method in async_setup

* Add CONFIG_SCHEMA

* Add get_all_torrents service

* fix lint issues

* Add return types and ServiceValidationError(s)

* Fix naming

* Update translations

* Fix tests
2024-04-19 07:56:37 +02:00
Marc Mueller
2c06d4fcb9
Add empty line after module docstring (2) [components] (#112736) 2024-03-08 19:15:59 +01:00
Marc Mueller
988c71ecc5
Add empty line after module docstring [n-q] (#112702) 2024-03-08 15:04:07 +01:00
Joost Lekkerkerker
223be9c788
Add icon translations to QBittorrent (#112193) 2024-03-05 08:44:04 +01:00
Erik Montnemery
e0c1feb22c
Migrate integrations n-r to generic flowhandler (#111864) 2024-02-29 20:09:01 +01:00
Joe Neuman
711498793a
Fix qBittorrent torrent count when empty (#106903)
* Fix qbittorrent torrent cound when empty

* lint fix

* Change based on comment
2024-01-03 00:19:00 +01:00
Joe Neuman
e17e372c94
Fix count bug in qBittorrent (#106603) 2023-12-29 11:08:40 +01:00
Joe Neuman
d33ad57dd3
Add qBittorrent torrent sensors (#105781)
* Upgrade QBittorrent integration to show torrents

This brings the QBittorrent integration to be more in line with the Transmission integration. It updates how the integration is written, along with adding sensors for Active Torrents, Inactive Torrents, Paused Torrents, Total Torrents, Seeding Torrents, Started Torrents.

* Remove unused stuff

* Fix codeowners

* Correct name in comments

* Update __init__.py

* Make get torrents a service with a response

* Update sensor.py

* Update sensor.py

* Update sensor.py

* Add new sensors

* remove service

* more removes

* more

* Address comments

* cleanup

* Update coordinator.py

* Fix most lint issues

* Update sensor.py

* Update sensor.py

* Update manifest.json

* Update sensor class

* Update sensor.py

* Fix lint issue with sensor class

* Adding codeowners

* Update homeassistant/components/qbittorrent/__init__.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-27 09:48:52 +01:00
Erik Montnemery
0c2485bc03
Freeze integration entity descriptions (#105984)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-18 16:28:13 -10:00
Joost Lekkerkerker
cd8e3a81db
Add Update coordinator to QBittorrent (#98896) 2023-10-25 15:51:52 +02:00
G Johansson
b56d25121f
Remove platform YAML qBittorrent (#101224) 2023-10-02 09:00:09 +02:00
Erik Montnemery
08a5f63474
Add deprecated_yaml issue to the homeassistant integration (#95980)
* Add deprecated_yaml issue to the homeassistant integration

* Update test

* Update homeassistant/components/homeassistant/strings.json

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Include DOMAIN in issue_id

* Update test

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-07-10 13:06:52 +02:00
Franck Nijhof
a6cfef3029
Revert "Remove qbittorrent YAML configuration (#93548)" (#95522) 2023-06-29 12:01:26 +02:00
Chris Xiao
05b5b30df3
Update python-qbittorrent to 0.4.3 (#94072) 2023-06-07 18:11:39 +02:00
G Johansson
d9ac041e17
Remove qbittorrent YAML configuration (#93548)
Remove platform yaml qbittorrent
2023-06-05 18:14:07 +02:00
Chris Xiao
5a80eddbd7
Clean up error logging in qbittorrent (#94071) 2023-06-05 16:21:23 +02:00
Chris Xiao
7c778847e7
Add config flow to qBittorrent (#82560)
* qbittorrent: implement config_flow

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: add English translations

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: create sensors with config_flow

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: set unique_id and icon

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: add tests for config_flow

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: detect duplicate config entries

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: import YAML config

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: update coveragerc

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>

* qbittorrent: delete translations file

* create `deprecated_yaml` issue in `setup_platform`

* move qbittorrent test fixtures to conftest.py

* improve code quality & remove wrong unique_id

* keep PLATFORM_SCHEMA until YAML support is removed

* remove CONF_NAME in config entry, fix setup_entry

* improve test suite

* clean up QBittorrentSensor class

* improve user flow tests

* explicit result assertion & minor tweaks in tests

Co-authored-by: epenet <epenet@users.noreply.github.com>

* implement entry unloading

Co-authored-by: epenet <epenet@users.noreply.github.com>

* add type hints

* tweak config_flow data handling

---------

Signed-off-by: Chris Xiao <30990835+chrisx8@users.noreply.github.com>
Co-authored-by: epenet <epenet@users.noreply.github.com>
2023-03-29 22:13:41 +02:00
Chris Xiao
048d30904e
Simplify qbittorrent sensor class init (#90411)
catch LoginException directly in QBittorrentSensor init

Since the `exception` arg in QBittorrentSensor `__init__` is always
LoginException, we catch LoginException directly in `__init__` instead
of passing LoginException as an argument.
2023-03-28 16:52:16 +02:00
Chris Xiao
2642d37505
Set qbittorrent integration_type to service (#90236) 2023-03-26 23:40:59 +02:00
Chris Xiao
8149652f9f
Move qbittorrent constants to const.py (#90201)
* move qbittorrent constants to const.py

* move SENSOR_TYPE_* consts back to sensors.py
2023-03-24 14:20:37 +01:00
Chris Xiao
ca157f4d19
Add icons for qbittorrent speed sensors (#90203)
add icons for qbittorrent speed sensors
2023-03-24 07:23:05 +01:00
landaisbenj
a8d587bc53
Add state_class to qbittorent sensors (#88829)
Update Sensor.py on qbittorent integration

Add stat class fonctionnality to sensor speed.
2023-02-27 11:52:07 +01:00
Erik Montnemery
5dfb9cddd6
Sort manifests 8 (#87029) 2023-02-08 20:13:46 +01:00
epenet
bb3e0633a4
Add init return type to integrations (#87523)
Add type hints to integrations
2023-02-06 11:37:25 +01:00
epenet
535aba10ee
Use DataRate unit and device class in integrations (#83610) 2022-12-10 11:41:44 +01:00
epenet
7198273a42
Improve entity type hints [q] (#77875) 2022-09-06 09:43:49 +02:00
J. Nick Koston
5b755b74fb
Add loggers to integration manifest.json (#65083) 2022-01-28 13:37:53 -08:00
epenet
9184eb8916
Add sensor setup type hints [o-q] (#63313)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-03 19:10:57 +01:00
acshef
4ae887ad34
Correct unit of measurement for qbittorrent data rate sensors (#55758) 2021-09-30 11:52:21 +02:00
Marc Mueller
f9fbcd4aec
Use EntityDescription - qbittorrent (#54428) 2021-08-16 22:52:47 +02:00
Erik Montnemery
103e21c278
Move temperature conversions to sensor base class (5/8) (#54475) 2021-08-12 13:26:17 +02:00
Franck Nijhof
055cdc64c0
Add support for IoT class in manifest (#46935) 2021-04-15 10:21:38 +02:00
Erik Montnemery
c900e3030b
Migrate integrations n-q to extend SensorEntity (#48214) 2021-03-22 19:46:46 +01:00
Geoffrey Lagaisse
295b1a91c3
Bump python-qbittorrent to 0.4.2 (#44268) 2020-12-16 15:53:01 +01:00
Ville Skyttä
b4bac0f7a0
Exception chaining and wrapping improvements (#39320)
* Remove unnecessary exception re-wraps

* Preserve exception chains on re-raise

We slap "from cause" to almost all possible cases here. In some cases it
could conceivably be better to do "from None" if we really want to hide
the cause. However those should be in the minority, and "from cause"
should be an improvement over the corresponding raise without a "from"
in all cases anyway.

The only case where we raise from None here is in plex, where the
exception for an original invalid SSL cert is not the root cause for
failure to validate a newly fetched one.

Follow local convention on exception variable names if there is a
consistent one, otherwise `err` to match with majority of codebase.

* Fix mistaken re-wrap in homematicip_cloud/hap.py

Missed the difference between HmipConnectionError and
HmipcConnectionError.

* Do not hide original error on plex new cert validation error

Original is not the cause for the new one, but showing old in the
traceback is useful nevertheless.
2020-08-28 13:50:32 +02:00
Jesse Hills
d03d90a955
Fix qBittorrent crash after caught exception (#35355) 2020-05-08 14:56:22 +02:00
Paulus Schoutsen
f1d3c0d19b
Remove unused manifest fields (#33595) 2020-04-03 12:58:19 -07:00
Ville Skyttä
3e23a3a860
Add and use bunch of data size and rate related constants (#31781)
Also fix a few units to match the corresponding data.
2020-02-13 08:52:57 -08:00
Franck Nijhof
22760a0bee Correct names in manifests (Q-S) (#30543) 2020-01-07 08:19:44 -05:00
springstan
cf7b70dd8c Bump python-qbittorrent to 0.4.1 (#30239) 2019-12-28 10:09:42 +01:00
springstan
55ba956d3d Move imports to top for qbittorrent (#29325) 2019-12-03 00:57:47 +01:00
Franck Nijhof
c7da781efc Update documentation link URL for integrations in all manifests (#27114) 2019-10-02 09:25:44 -07:00
Franck Nijhof
1c5e0123c9 Use literal string interpolation in integrations N-Q (f-strings) (#26391) 2019-09-03 11:35:00 -07:00
Eliseo Martelli
24a4a42664 Update sensor.py (#26209) 2019-08-29 12:36:21 -07:00