Commit graph

64 commits

Author SHA1 Message Date
Joost Lekkerkerker
6bb4e7d62c
Bump ruff to 0.3.4 (#112690)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 00:02:16 +01:00
Folke Lemaitre
ba971890a9
Fix hvac_mode for viessmann devices with heatingCooling mode (#113054) 2024-03-11 15:05:31 +01:00
Marc Mueller
062cc4bfce
Add empty line after module docstring [t-v] (#112705) 2024-03-08 10:35:23 -05:00
Christopher Fenner
faef5da1c5
Handle exception in ViCare integration (#111128) 2024-03-04 10:10:59 +01:00
Christopher Fenner
88e9870f1c
Add number entities to change heat pump program temperatures in ViCare integration (#109315)
* add HeatingProgram type

* use HeatingProgram type

* add heatpump number sensors

* use HeatingProgram type

* Update strings.json

* rename HeatingProgram to Program

* remove commented code

* rename heating program type

* simplify

* Apply suggestions from code review

* Update strings.json

* Update const.py

* fix

* add heating program type

* correct imports

* Revert "fix"

This reverts commit 857dda59da.

* Apply suggestions from code review

* Update strings.json
2024-02-22 18:58:38 +01:00
Christopher Fenner
47cbe8f00c
Add support for multiple devices linked to a Viessmann account (#96044)
* care about all devices

* use first device for diagnostics

* update constants

* handle multiple devices

* handle multiple devices

* handle multiple devices

* handle multiple devices

* handle multiple devices

* code style

* code style

* code style

* code style

* code style

* remove unused import

* remove unused import

* use has_entity_name and add serial to device name

* use has_entity_name and add serial to device name

* use has_entity_name and add serial to device name

* use has_entity_name and add serial to device name

* use has_entity_name and add serial to device name

* remove unused constant

* Update const.py

* Update binary_sensor.py

* change format

* change format

* fix line duplication

* fix line duplication

* change format

* fix typo

* use serial in device name if multiple devices are found

* add common base class

* use base class

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update sensor.py

* Update binary_sensor.py

* correct import

* use base class

* fix cdestyle findings

* fix pylint findings

* fix mypy findings

* fix codestyle finidings

* move has_entity_name to base class

* Revert "fix mypy findings"

This reverts commit 2d78801a69.

* fix type issue

* move multiple device handling

* fix import

* remove special handling for device name

* extract api getter

* Update __init__.py

* Update __init__.py

* Update entity.py

* Update button.py

* Update binary_sensor.py

* Update climate.py

* Update sensor.py

* Update water_heater.py

* Apply suggestions from code review

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

* Update __init__.py

* fix mypy & black

* move get_device to utils

* rename const

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* store device in config entry

* extract types

* fix diagnostics

* handle new platform

* handle api rate limit

* add types

* add types

* rename

* add types

* ignore gateways for now

* Update .coveragerc

* adjust types

* fix merge issues

* rename

* Update types.py

* fix type

* add test method

* simplify

* ignore unused devices

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* fix findings

* handle unsupported devices

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* Update types.py

* fix format

* adjust variable naming

* Update conftest.py

* Update conftest.py

* remove kw_only

* Apply suggestions from code review

* Update __init__.py

* Update binary_sensor.py

* Update button.py

* Update climate.py

* Update const.py

* Update diagnostics.py

* Update number.py

* Update sensor.py

* Update types.py

* Update water_heater.py

* fix comment

* Apply suggestions from code review

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-02-15 13:58:00 +01:00
G Johansson
29556465de
Add migrated climate feature flags to vicare (#109439) 2024-02-03 12:13:52 +01:00
Christopher Fenner
2dbc59fbea
Use home/sleep preset in ViCare climate entity (#105636)
* use home/sleep preset

* avoid setting reduced
2024-01-31 13:01:28 +01:00
G Johansson
73f670e793
Add TURN_ON/OFF ClimateEntityFeature for Vicare (#109135) 2024-01-30 17:59:58 +01:00
Christopher Fenner
6eec4998bd
Avoid changing state of reduced preset in ViCare integration (#105642) 2023-12-28 11:17:13 +01:00
Bart Janssens
a6af2be675
Skip activating/deactivating Vicare standby preset (#106476) 2023-12-28 09:31:35 +01:00
Christopher Fenner
c4e3ae84f4
Optimize async executor use in ViCare integration (#104645)
* use one async executor

* use list comprehension

* simplify

* simplify

* simplify

* simplify

* simplify

* simplify

* simplify

* simplify

* add type

* Apply suggestions from code review

* fix ruff findings
2023-11-29 09:28:56 +01:00
Christopher Fenner
d1463a81d3
Fix async issue in ViCare climate entity (#104619)
* use async executor

* use async executor

* Revert "use async executor"

This reverts commit 4913e05b1c.

* Revert "use async executor"

This reverts commit 40abc10362.

* fix async issue
2023-11-28 10:19:20 +01:00
Christopher Fenner
a5934e9acc
Handle preset change errors in ViCare integration (#103992) 2023-11-27 15:35:43 +01:00
Christopher Fenner
ad17acc6ca
Fix async issue in ViCare integration (#104541)
* use async executor for get_circuits

* use async executor for get_burners and get_compressors
2023-11-26 15:28:58 +01:00
Christopher Fenner
48f8cec84b
Add reuse functions to access circuits, burners and compressors in ViCare integration (#104371) 2023-11-25 15:47:45 +01:00
Christopher Fenner
17cef8940f
Add translation keys to ViCare integration (#104425)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-11-25 13:11:29 +01:00
Christopher Fenner
5805601a83
Set unique_id by base entity in ViCare integration (#104277)
* set unique_id in ViCareEntity

* remove individual unique_id functions

* remove description

* remove individual _attr_unique_id

* fix return types
2023-11-21 09:53:02 +01:00
Christopher Fenner
ae7bb60677
Fix types in ViCare integration (#101926)
* fix type

* fix return type

* fix type

* fix type

* Apply suggestions from code review

* Update climate.py

* Apply suggestions from code review

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

* Update __init__.py

* Update climate.py

* Update __init__.py

* Apply suggestions from code review

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

* Update binary_sensor.py

* Update button.py

* Update sensor.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-13 23:13:39 +02:00
Christopher Fenner
6d2fbeb556
Migrate ViCare to has_entity_name (#101895)
* set has_entity_name

* remove sensor prefix

* Apply suggestions from code review

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-10-12 21:06:09 +02:00
Christopher Fenner
5c52a15df7
Fix type issue in vicare integration (#101872)
* fix type issue

* fix type issue

* fix type issue

* extract from constructor

* Revert "extract from constructor"

This reverts commit a33de7ca8e.
2023-10-12 15:01:23 +02:00
Christopher Fenner
6e1c23906c
Add base entity class in vicare integration (#101870)
* add entity base class

* depend on base class

* add device info to base class

* remove individual DeviceInfo

* move class

* fix imports

* add file comment

* use super()

* fix formatting

* add vicare/entity.py
2023-10-12 14:54:16 +02:00
Joost Lekkerkerker
eeaca8ae3c
Use shorthand attributes in Vicare (#99915) 2023-09-09 23:18:41 +02:00
Erik Montnemery
045c327928
Move DeviceInfo from entity to device registry (#98149)
* Move DeviceInfo from entity to device registry

* Update integrations
2023-08-10 22:04:26 -04:00
Hans Oischinger
235a34c10c
Catch vicare errors when deactivating preset fails (#84778)
vicare: catch errors when deactivating preset fails
2022-12-29 15:28:33 +01:00
epenet
c7a6b5983f
Use UnitOfTemperature in climate entities [t-z] (#83129) 2022-12-05 10:18:57 +01:00
epenet
6affd9c6fb
Import climate constants from root [m-z] (#78178) 2022-09-10 23:42:28 +02:00
epenet
050cb275ff
Improve entity type hints [v] (#77885) 2022-09-06 13:59:05 +02:00
epenet
e19e65908a
Use _attr_precision in entities (#77477) 2022-08-29 22:02:29 +02:00
epenet
0c401bcab2
Use _attr_temperature_unit in climate entities (#77472) 2022-08-29 10:20:55 +02:00
epenet
b9c135870a
Fix model in vicare device_info (#74135) 2022-06-28 17:54:07 +02:00
Hans Oischinger
4ee92f3953
Improve hvac_mode compatibility of vicare (#66454) 2022-06-23 11:34:34 +02:00
epenet
475296fb36
Use climate enums in vicare (#70751) 2022-04-25 21:28:19 -10:00
epenet
f194f7809b
Use EntityFeature enum in components (v**) (#69465)
* Use EntityFeature enum in vallox

* Use EntityFeature enum in velbus

* Use EntityFeature enum in velux

* Use EntityFeature enum in venstar

* Use EntityFeature enum in vera

* Use EntityFeature enum in verisure

* Use EntityFeature enum in vesync

* Use EntityFeature enum in vicare

* Use EntityFeature enum in vivotek

* Use EntityFeature enum in vizio

* Use EntityFeature enum in vlc

* Use EntityFeature enum in vlc_telnet

* Use EntityFeature enum in volumio
2022-04-07 08:42:18 +02:00
Hans Oischinger
2c8bf006eb
Fix precision of vicare target & current temperature (#66456) 2022-03-16 13:14:11 +01:00
Hans Oischinger
94a0f1c7b3
Add service configuration URL for vicare (#66927) 2022-02-20 11:47:05 +01:00
Bart Janssens
4522a5698c
Fix vicare program presets (#66476) 2022-02-14 15:42:40 +01:00
Hans Oischinger
99fd16d675
Clean up vicare code (#65774)
* Clean up vicare code

Remove constants that were only used once
Remove _build_entity and use constructor directly

* Fix copy/paste issue
2022-02-05 14:26:44 +01:00
Hans Oischinger
a9cc35d6b6
Handle vicare I/O in executor (#65105)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-01-28 12:06:05 +01:00
Hans Oischinger
8d6880ab85
Support systems w/o circuits (#64779) 2022-01-24 11:18:54 +01:00
Hans Oischinger
2969a7ab4f
Address late review of vicare config flow (#63343)
* Review comments from #56691

* Adapt to review suggestions

* Update homeassistant/components/vicare/strings.json

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-01-05 22:49:42 +01:00
epenet
6f4b25950c
Add climate setup type hints [m-z] (#63279)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-03 13:09:43 +01:00
Hans Oischinger
38b976e6d6
Add vicare config flow (#56691)
* Configuration via UI

Config flow / YAML deprecation
- Support discovery via MAC address
- Support import of YAML config
- Switch to ConfigEntry, get rid of platform setup

* Fix review comments

* More tests for vicare yaml import
2021-11-22 15:06:42 +01:00
Hans Oischinger
e656974e8d
Increase setMode flexibility (#58491) 2021-10-27 14:22:16 +02:00
Hans Oischinger
8e8ccb7ce4
Fix Vicare unique_ids (#58531) 2021-10-27 14:19:26 +02:00
Hans Oischinger
66ae116023
Update PyVicare to 2.13.0 (#57700)
* Update PyVicare to 2.x

With PyViCare 2.8.1 a breaking change was introduced which required changes on sensor and binary_sensor platforms:
- Circuit, Burner and Compressor have been separated out from the "main" device
- Multiple circuits and burners allow "duplicate sensors". We add the circuit or burner number as suffix now

At the same time the sensors are now created only when available:
During entity creation we can check if the value is provided for the user's device.

Sensors are not created by heating type anymore but instead the new API structure is reflected, providing device, burner or circuit sensors.

For details of breaking changes from PyViCare 1.x to 2.x please see https://github.com/somm15/PyViCare#breaking-changes-in-version-2x

* Integrate review comments

* variables cleanup

* Update unique ids

The unique ids shall not depend on the name but on the entity
description key (which should not change) and the id of the circuit,
burner or device.
2021-10-25 13:43:43 +02:00
Marc Mueller
ff853b2d53
Use assignment expressions 19 (#57968) 2021-10-18 15:54:38 +02:00
Hans Oischinger
84dc6af760
Update to PyVicare 1.0 (#53281) 2021-07-22 21:56:38 +02:00
Franck Nijhof
2ed386f9e6
Migrate to async_get_current_platform everywhere (#50034) 2021-05-03 09:34:28 -07:00
Nicolas Braem
96857b7466
Add vicare fuelcell (#47167) 2021-03-31 11:29:24 +02:00