Commit Graph

61 Commits (f5975d4039760c0fadb194fdd3c65a444b3ceaf8)

Author SHA1 Message Date
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
Franck Nijhof ed3c1d9b59
Fix incorrect entity category for huawei_lte sensors (#92235) 2023-04-29 20:21:38 -04:00
Ville Skyttä 93f23e7523
Do not round Huawei LTE LTE frequency values (#88127)
Suggest display precision 0 instead.

While at it, fix source info in frequency formatter docstring.
2023-02-15 15:28:35 +01:00
Erik Montnemery cc564026fa
Move EntityCategory to homeassistant.const (#87792)
* Move EntityCategory to homeassistant.const

* Fix more imports
2023-02-09 20:15:37 +01:00
Ville Skyttä f0e6f45e43
Remove signal strength state class from Huawei LTE transmit power sensor (#85973)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-16 23:24:50 +01:00
Ville Skyttä a5a079fb06
Huawei LTE sensor improvements (#84019)
* Use `None` for unknown states consistently

* Use huawei_lte_api NetworkModeEnum instead of magic strings

* Recognize some new sensor items

* Exclude current day duration sensor

* Fix current month upload/download types

* Add current day transfer

* Extract lambdas used in multiple spots to named functions

* Formatter naming consistency improvements
2023-01-13 18:27:57 +01:00
Ville Skyttä 4c31317c06
Key Huawei LTE routers in hass.data by config entry rather than unique id (#85788)
Key routers in hass.data by config entry rather than unique id

There's no particular reason to key them by the unique id; the config
entry id is a stronger, always available guarantee, and a much more
common convention across the HA codebase.

At some point, we might conceivably support devices we can't find a
proper unique id for; this would work for that purpose as well.
2023-01-13 09:20:24 +01:00
epenet b7b7cdcfcf
Refactor Huawei LTE to use Entity Description (#83904)
* Refactor Huawei LTE to use Entity Description

* Apply suggestions from code review

Co-authored-by: Ville Skyttä <ville.skytta@iki.fi>

Co-authored-by: Ville Skyttä <ville.skytta@iki.fi>
2022-12-13 19:48:46 +01:00
epenet 535aba10ee
Use DataRate unit and device class in integrations (#83610) 2022-12-10 11:41:44 +01:00
Bram Kragten 41f6383957
Update icons for breaking changes in MDI 7.0.96 (#75560) 2022-07-21 12:24:29 +02:00
Ville Skyttä b749622c01
Migrate Huawei LTE to new entity naming style (#75303) 2022-07-20 22:28:53 +03:00
Ville Skyttä a9c97e5d3a
Sort huawei_lte sensor meta dict, add section separators (#74782) 2022-07-09 17:08:40 +02:00
Paulus Schoutsen 2b4bb49eb7
Make device tracker entities work better (#63328)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-01-04 23:16:43 -08:00
Ville Skyttä 3e3fb52dfa
Huawei LTE simplifications (#62770)
* Use enum types rather than strs in sensor type hints

* Name sensor meta fields same as in SensorEntityDescription

* Make integration shared state a NamedTuple

* Use dataclasses instead of attr
2021-12-26 09:17:59 +02:00
epenet cec43fe868
Use new enums in huawei-lte (#61771)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-14 12:59:00 +01:00
Ville Skyttä 4273e5b507
Huawei LTE sensor updates (#59374)
* Add human readable name for eNodeB ID

* Mark various config and diagnostic sensors' entity category as such

* Add uptime sensor
2021-11-10 08:49:50 +02:00
Ville Skyttä 1a9bb47f78
Add more Huawei LTE sensor state classes (#57983) 2021-10-24 17:01:50 +03:00
Ville Skyttä 4c854a06d9
Add some huawei_lte sensor state classifications (#55601) 2021-09-30 11:27:52 +02:00
Marc Mueller 565a9fea6b
Import Callable from collections.abc (2) (#56776) 2021-09-29 14:06:51 +02:00
Ville Skyttä 4e1e7a4a71
Protect Huawei LTE against None ltedl/ulfreq (#54411)
Refs https://github.com/home-assistant/core/issues/54400
2021-09-05 21:42:22 +03:00
Erik Montnemery 6de6a5dc14
Move temperature conversions to sensor base class (3/8) (#54469)
* Move temperature conversions to entity base class (3/8)

* Fix FritzBox sensor

* Fix tests
2021-08-12 14:23:56 +02:00
Marc Mueller fd2f15b7c7
Add new unit constants (#53258)
* Add new unit constant - MHz

* Add new unit constants - precipitation (in, in/h)
2021-07-21 12:14:47 -06:00
Ville Skyttä 91a2b96da0
Implement stable unique id for Huawei LTE, requires credentials on setup (#49878) 2021-07-11 21:25:00 -07:00
Ruslan Sayfutdinov 0301706fc6
Define AddEntitiesCallback type (#49812) 2021-04-29 12:28:14 +02:00
Olivér Falvai 46ef85f471
Add new Huawei LTE sensor metadata, improve icons (#49436) 2021-04-24 18:41:15 +03:00
jan iversen 017e32a0cb
Integrations h*: Rename HomeAssistantType to HomeAssistant. (#49590) 2021-04-23 09:49:02 +02:00
Marc Mueller c07646db5d
Update typing syntax (#49480)
* Update typing syntax

* Replace typing imports with ones from collections where possible

* Changes after review
2021-04-20 17:40:41 +02:00
Ville Skyttä 4149cc9662
Huawei LTE cleanups (#48959) 2021-04-09 17:08:13 -07:00
Erik Montnemery 339a56e434
Migrate integrations f-h to extend SensorEntity (#48212) 2021-03-22 19:45:17 +01:00
Marc Mueller 5cdd945f44
Update typing 08 (#48058) 2021-03-18 09:25:40 +01:00
Ville Skyttä 4cc6eee1ac
Mark Huawei LTE sensors with None value as unavailable (#41667) 2020-10-14 22:11:48 +03:00
Ville Skyttä 50468c4c8c
Add Huawei LTE battery sensor (#41668) 2020-10-14 22:11:18 +03:00
Ville Skyttä cf83c6bf00
Complete Huawei LTE type hints, make mypy check them (#41503) 2020-10-08 21:02:47 +02:00
Ville Skyttä 56f0a68c49
Add and fix some Huawei LTE type hints (#41196) 2020-10-05 11:21:48 +02:00
Ville Skyttä 5bbddb5b26
Use NamedTuple for Huawei LTE sensor metadata (#40655) 2020-09-28 20:33:32 +03:00
Ville Skyttä 4ca7b8569b
Remove pre-0.102 Huawei LTE setup noop warnings (#40654) 2020-09-27 18:02:44 +02:00
Ville Skyttä e06f2a89ea
Add Huawei LTE SMS storage full and unread sensors (#40021) 2020-09-24 20:18:55 +03:00
Ville Skyttä e3f9818af5
Add more Huawei LTE sensor metadata (#39988) 2020-09-24 17:32:44 +03:00
Franck Nijhof 1c2ebdf307
Upgrade black to 20.8b1 (#39287) 2020-08-27 13:56:20 +02:00
Bram Kragten 9ecaa10e51
Adjust icons for MDI bump (#37730) 2020-07-14 22:17:14 +02:00
Fabian Peter Hammerle 8ccdaf2927
Add huawei_lte sensor for number of unread sms (#35665) 2020-06-03 11:59:06 +02:00
Ville Skyttä da7c5518f3
Add Huawei LTE operator and network related sensors (#32485)
* Add Huawei LTE operator and network related sensors

Adds "Operator search mode", "Operator name", "Operator code", and "Preferred mode" sensors

* Blackify

* Blackify "Add Huawei LTE operator and network related sensors"
2020-03-05 21:29:53 +02:00
Paulus Schoutsen 9a8017aadd
Add more Huawei LTE sensors (#32123)
* Add Huawei LTE WiFi client count and DNS server sensors

* Add Huawei LTE current month statistics sensors
2020-03-04 14:56:37 -08:00
springstan a85808e325
Add and use time related constants (#32065)
* Add and use time related constants

* Sort time constants and reuse them in data rate constants

* Fix greeneyemonitor import

* Fix greeneyemonitor import V2

* Fix failing here_travel_time test

* Add TIME_MONTHS and TIME_YEARS

* Use TIME_MINUTES in opentherm_gw and isy994

* Add and use TIME_MILLISECONDS

* Change inconsistent ones

* Add TIME_MICROSECONDS and TIME_WEEKS

* Use constants in apcupsd and travisci

* Fix import error in upnp sensor.py

* Fix isy994 sensor.py using TIME_YEARS

* Fix dyson tests

* Use TIME_SECONDS in more places

* Use TIME_DAYS in google wifi
2020-02-23 22:09:24 +02: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
Bas Nijholt 80c344d3a8 Sort imports according to PEP8 for huawei_lte (#29664) 2019-12-09 19:06:25 +01:00
Ville Skyttä f504ac8c65 Drop < 0.97 Huawei LTE sensor unique id migration workaround (#29060) 2019-11-25 16:06:10 +01:00
Ville Skyttä 643b3a98ee Huawei LTE sensor metadata update (#28187) 2019-10-24 16:42:54 -07:00
Ville Skyttä fc09702cc3
Modernize Huawei LTE (#26675)
* Modernization rework

- config entry support, with override support from huawei_lte platform in YAML
- device tracker entity registry support
- refactor for easier addition of more features
- internal code cleanups

* Remove log level dependent subscription/data debug hack

No longer needed, because pretty much all keys from supported
categories are exposed as sensors.

Closes https://github.com/home-assistant/home-assistant/issues/23819

* Upgrade huawei-lte-api to 1.4.1

https://github.com/Salamek/huawei-lte-api/releases

* Add support for access without username and password

* Use subclass init instead of config_entries.HANDLERS

* Update huawei-lte-api to 1.4.3 (#27269)

* Convert device state attributes to snake_case

* Simplify scanner entity initialization

* Remove not needed hass reference from Router

* Return explicit None from unsupported old device tracker setup

* Mark unknown connection errors during config as such

* Drop some dead config flow code

* Run config flow sync I/O in executor

* Parametrize config flow login error tests

* Forward entry unload to platforms

* Async/sync fixups

* Improve data subscription debug logging

* Implement on the fly add of new and tracking of seen device tracker entities

* Handle device tracker entry unload cleanup in component

* Remove unnecessary _async_setup_lte, just have code in async_setup_entry

* Remove time tracker on unload

* Fix to not use same mutable default subscription set for all routers

* Pylint fixes

* Remove some redundant defensive device tracker code

* Add back explicit get_scanner None return, hush pylint

* Adjust approach to set system_options on entry create

* Enable some sensors on first add instead of disabling everything

* Fix SMS notification recipients default value

* Add option to skip new device tracker entities

* Fix SMS notification recipient option default

* Work around https://github.com/PyCQA/pylint/issues/3202

* Remove unrelated type hint additions

* Change async_add_new_entities to a regular function

* Remove option to disable polling for new device tracker entries
2019-10-24 19:31:49 +03:00
Franck Nijhof f9edec19ad Use literal string interpolation in integrations H-J (f-strings) (#26380) 2019-09-03 17:27:14 +02:00