Commit graph

38 commits

Author SHA1 Message Date
Joost Lekkerkerker
77917506bb
Improve lists in integrations [R-S] (#113233)
* Improve lists in integrations [R-S]

* Fix

* Fix
2024-03-13 21:55:00 +01:00
Marc Mueller
930a396712
Add empty line after module docstring [s] (#112704) 2024-03-08 14:33:51 +01:00
Aidan Timson
2599252600
Post System Bridge 4.x.x integration improvements (#112189)
* Dont remove api key during migration

* Fix return

* Fix test

* Make lambda more readable

* Move fixtures to init, move migration test to test_init.py

* Refactor config_entry data assignment

* Refactor system_bridge migration tests

* Fix type for debug message

* Fix type for debug message

* Remove duplicated unused code (rebase error)

* Refactor test_migration_minor_2_to_1 to test_migration_minor_future_to_2

* Fix version check in async_migrate_entry

* Update migration logic to handle future minor version

* Add ConfigEntryState assertion in test_init.py

* Change condition to minor_version < 2

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Refactor system bridge migration tests

* Remove minor downgrade code

* Update tests/components/system_bridge/test_init.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/system_bridge/test_init.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Move dataclass to store requested data to data.py

* Use dataclass in config flow

* Move media player and sensor onto data.py dataclass

* Move data and handler inside validate

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-06 10:47:21 +01:00
Aidan Timson
4c67670566
Update System Bridge to support version 4.x.x and above (#107957)
* Update System Bridge to support version 4.x.x and above

Update systembridgeconnector to version 4.0.0.dev4

Update system_bridgeconnector version to 4.0.0.dev6

Refactor WebSocket client handling in config_flow.py

Update strings

Update data handling

Add default field values to SystemBridgeCoordinatorData

Add version check and issue creation for unsupported System Bridge versions

Update coordinator.py to set disks and memory to None

Update system bridge coordinator to use token instead of API key

Update systembridgeconnector version to 4.0.0.dev7

Update systembridgeconnector version to 4.0.0.dev8

Update systembridgeconnector version to 4.0.0.dev9

Changes

Update units

Fix GPU memory calculation in sensor.py

Update GPU memory unit of measurement

Add translation keys for binary sensor names

Cleanup

Add async_migrate_entry function for entry migration

Update systembridgeconnector version to 4.0.0.dev10

Update systembridgeconnector version to 4.0.0.dev11

Add version check and authentication handling

Update token description in strings.json

Fix skipping partitions without data in system_bridge sensor

Update systembridgeconnector version to 4.0.0.dev12

Update systembridgeconnector version to 4.0.0

Add check for unsupported version of System Bridge

Update systembridgeconnector version to 4.0.1

Update debug log message in async_setup_entry function

Remove debug log statement

Fixes

Update key to token

Update tests

Update tests

Remove unused import in test_config_flow.py

Remove added missing translations for another PR

Refactor CPU power per CPU calculation

Make one liner into lambda

Refactors

Fix exception type in async_setup_entry function

Move checks to class and set minor version

Remove unnecessary comment in gpu_memory_free function

Remove translation_key for memory_used_percentage sensor

Reverse string change

Update token placeholder in strings.json

Remove suggested_display_precision from sensor descriptions

Remove suggested_display_precision from GPU sensor setup

Refactor sensor code

* Update migrate entry

* Refactor GPU-related functions to use a decorator

* Move per cpu functions to use decorator

* Refactor functions to use decorators for data availability

* Remove CONF_API_KEY from config entry data

* Add test for migration

* Refactor import statement in test_config_flow.py
2024-03-04 11:14:46 +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
Aidan Timson
96e9a57fa3
Add processes count sensor to System Bridge (#103516)
* Add processes count sensor to System Bridge

* Add processes string
2023-11-06 23:47:39 +01:00
Jan-Philipp Benecke
8b7cfc070e
Move base entity of system_bridge to own module (#103167)
* Move base entity of system_bridge to own module

* Add entity.py to .coveragerc
2023-11-01 14:21:39 +01:00
Joost Lekkerkerker
a6788208fe
Add entity translations to System bridge (#98959) 2023-08-28 15:36:18 +02:00
Ville Skyttä
2399cd283a
Python 3.10 support cleanups (#98640) 2023-08-21 19:14:07 +02:00
Aidan Timson
61d260e5fe
Add CPU Power to System Bridge (#80781)
* Add CPU Power to System Bridge

* Rename

* Update homeassistant/components/system_bridge/sensor.py

Co-authored-by: Aarni Koskela <akx@iki.fi>

* Fix unit

* Add suggested_display_precision=2

---------

Co-authored-by: Aarni Koskela <akx@iki.fi>
2023-06-14 21:47:50 -04:00
Erik Montnemery
2406b235b4
Name unnamed binary sensors by their device class (#92940)
* Name unnamed binary sensors by their device class

* Update type annotations

* Fix loading of entity component translations

* Add test

* Update integrations

* Set abode and rfxtrx binary_sensor name to None

* Revert changes in homekit_controller
2023-06-13 19:48:54 +02:00
Aidan Timson
73e1942eeb
Update entity names to capitalize first word only for System Bridge (#89688) 2023-03-14 12:28:43 +01:00
Aidan Timson
6809bd3029
Remove incorrect state class for System Bridge sensors (#89655) 2023-03-13 20:54:49 -04:00
Aidan Timson
85bcf11aeb
Update systembridgeconnector to 3.4.8 (#79732)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-07 10:22:31 +01:00
epenet
ba043c9ebb
Use UnitOfTemperature in integrations (p-s) (#84308) 2022-12-20 18:47:27 +01:00
epenet
0184aadb09
Use UnitOfElectricPotential in integrations (#84044) 2022-12-15 13:59:21 +01:00
epenet
85235ea5f6
Use FREQUENCY device class in integrations (#83916)
* Use FREQUENCY device class in integrations

* Adjust tesla

* Undo goodwe

* Adjust cpuspeed tests
2022-12-13 14:14:42 +01:00
epenet
69bc95a715
Use DATA_SIZE device class in integrations (#83895) 2022-12-13 10:17:56 +01:00
epenet
52d4a358a0
Use UnitOfPower in integrations [s-z] (#83826) 2022-12-12 12:20:16 +01:00
epenet
e948f49818
Use REVOLUTIONS_PER_MINUTE constant in system_bridge (#79990) 2022-10-11 14:56:55 +02:00
Aidan Timson
b5f9f08aa8
Use UUID identifier in System Bridge (#76921) 2022-08-26 11:02:10 +02:00
Aidan Timson
46b4be5b41
Add boot time sensor to System Bridge (#73039)
* Add boot time to System Bridge

* Update homeassistant/components/system_bridge/sensor.py

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

* Add missing import

* Update homeassistant/components/system_bridge/sensor.py

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

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-06-29 08:24:50 -04:00
Aidan Timson
2ba45a9f99
System Bridge 3.x.x (#71218)
* Change to new package and tcp

* Rework integration pt1

* Show by default

* Handle auth error

* Use const

* New version avaliable (to be replaced in future by update entity)

* Remove visible

* Version latest

* Filesystem space use

* Dev package

* Fix sensor

* Add services

* Update package

* Add temperature and voltage

* GPU

* Bump package version

* Update config flow

* Add displays

* Fix displays connected

* Round to whole number

* GPU fan speed in RPM

* Handle disconnections

* Update package

* Fix

* Update tests

* Handle more errors

* Check submodule and return missing uuid in test

* Handle auth error on config flow

* Fix test

* Bump package version

* Handle key errors

* Update package to release version

* Client session in config flow

* Log

* Increase timeout and use similar logic in config flow to init

* 30 secs

* Add test for timeout error

* Cleanup logs

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Update tests/components/system_bridge/test_config_flow.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* uuid raise specific error

* Type

* Lambda to functions for complex logic

* Unknown error test

* Bump package to 3.0.5

* Bump package to 3.0.6

* Use typings from package and pydantic

* Use dict()

* Use data listener function and map to models

* Use passed module handler

* Use lists from models

* Update to 3.1.0

* Update coordinator to use passed module

* Improve coordinator

* Add debug

* Bump package and avaliable -> available

* Add version check

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-06-01 23:54:22 +02:00
Marc Mueller
539a469a8b
Update coordinator typing (5) [r-s] (#68465) 2022-03-21 15:24:05 +01:00
Franck Nijhof
fa09cf663e
Update black to 22.1.0 (#65788) 2022-02-05 14:19:37 +01:00
epenet
0700c73bd0
Add setup type hints [s-t] (#63613)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-07 16:29:16 +01:00
epenet
8bd03d520b
Use new enums in system_bridge (#62402)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-20 11:15:44 -05:00
Aidan Timson
9f34d010e6
Add System Bridge display sensors (#57019)
* System Bridge - Add Display Sensors

* Omit default
2021-10-09 16:57:55 -07:00
Marc Mueller
364767ff22
Import Callable from collections.abc (4) (#56778) 2021-09-29 16:15:36 +02:00
Erik Montnemery
8faec3da8d
Correct setup of system_bridge sensors (#55442) 2021-08-30 12:06:24 +02:00
Aidan Timson
25273c694a
System Bridge 2.5.0 - Additional Sensors (#53892)
* Update package to 2.1.0

* Add version sensor

* Add graphics memory sensors

* Change graphics memory data from MB

* Add GPU usage sensor

* Add gpu clock speed sensors

* GPU sensors

* GPU power usage

* enumerate instead of range len

* Updates from rebase

* Add graphics

* Add Per CPU load sensor

* Cleanup

* Use super class attributes

* Suggested changes and fix

* User, System, Idle sensors

* Average, User, System and idle sensors instead of attrs

* Remove unused attrs

* Remove null/none sensor

* Sensor entity descriptions

* Fix index out of range error

* Set state class

* Use entity_registry_enabled_default

* Use built in entity_registry_enabled_default

* Use built in icon

* Fix

* Use binary sensor entity description

* Fix pylint

* Fix uom

* Add to coveragerc

* is_on

* Move entity descriptions to platforms

* Clearout default values

* Fix docstring

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Cleanup and catch

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-30 10:26:48 +02:00
Erik Montnemery
94a264afaf
Move temperature conversions to entity base class (7/8) (#54482) 2021-08-11 18:57:50 +02:00
Aidan Timson
18f4d125c3
System Bridge v2.3.0+ - Data from WebSocket (#53443)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-08-02 22:11:26 +02:00
Aidan Timson
c8d2fc1e04
Fix System Bridge unique key for filesystem sensors (#53446) 2021-07-25 12:31:16 +02:00
Marc Mueller
074d762664
Rename and reorganize electric unit constants (#53243) 2021-07-20 20:06:23 +02:00
Ville Skyttä
470f2dd73f
Upgrade pyupgrade to 2.21.2, apply its changes (#52987) 2021-07-19 10:46:09 +02:00
Aidan Timson
9059ce1c0f
Additional System Bridge Sensors (#50274)
* Update systembridge to 1.1.4

* Update systembridge to 1.1.5

* Names

* Add memory sensors

* Set icons

* Add bios version sensor

* Memory used percentage sensor

* Add types

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Disable by default

* Typing

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-09 05:07:13 +02:00
Aidan Timson
e4ef06d6b1
System Bridge Integration (#48156)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2021-05-06 01:33:32 +02:00