Commit graph

32 commits

Author SHA1 Message Date
Franck Nijhof
a9bf12f102
Rename Services to Actions in translation strings (#121777) 2024-07-15 21:19:25 +02:00
Ville Skyttä
3b938e592f
Add additional Huawei LTE 5G sensors (#108928)
* Add some Huawei LTE 5G sensor descriptions

Closes https://github.com/home-assistant/core/issues/105786

* Mark cqi1 and nrcqi1 as diagnostic
2024-05-28 09:59:28 +02:00
Jan-Philipp Benecke
3141b92027
Remove deprecated services from Huawei LTE (#107578) 2024-01-09 18:39:05 +01:00
Ville Skyttä
a29695e622
Add Huawei LTE network mode select (#104614)
* Convert network mode from sensor to select for huawei_lte

This also introduces the select platform to huawei_lte integration.

* Move (networkmode, str) mapping to const

Also, rebase on top of the current dev

* Fix variable naming, initialize name

* Fix wrong key for router access

* Typing fixes

* Adapt to current way of registering subscriptions

* Simplify option management, make translatable

* Make use of custom entity description

* Add icon

* Revert sensor formatting changes, move to another PR

* Improve entity class naming

* Add test

* Make sure entity descriptions define a setter function

---------

Co-authored-by: Teemu Rytilahti <tpr@iki.fi>
2023-12-06 14:23:26 +02:00
Ville Skyttä
afc3f1d933
Make huawei_lte operator search and preferred network modes translatable (#104673) 2023-11-29 10:07:54 +01:00
Ville Skyttä
2a4ab3d53d
Support HTTPS connections to Huawei LTE devices (#86119)
* Support HTTPS connections to Huawei LTE devices

Not all devices support HTTPS, so we default to plain HTTP still.

Ones that do are very likely to have certificates that do not pass
hostname verification, and are either self signed or issued by an
untrusted CA. Add option to use unverified HTTPS to make it possible to
connect to these, and when in effect, filter urllib3's related warnings
about insecure connections to the hostname in question.

* Use common config key and strings for certificate verification settings

Even though the wording might be slightly suboptimal here, it's better
to be consistent across the codebase than to finetune on this level.

This also switches the default the other way around: verification is
now disabled by default. This is not a good general default, but for
this particular case setups where the verification would succeed would
be so rare and require considerable local setup that it's very
unlikely to happen in practice.

* Add config flow tests

* Mock logout for better test coverage

* Set up custom requests session only when using unverified https

* Add https config flow test case

* Make better use of verify SSL default
2023-11-27 18:03:29 +01:00
Ville Skyttä
616f6aab76
Add Huawei LTE restart and clear traffic statistics buttons (#91967)
* Add Huawei LTE restart and clear traffic statistics buttons

Deprecate corresponding services in favour of these.

* Change to be removed service warnings to issues

* Add tests

* Update planned service remove versions
2023-11-23 19:35:35 +01:00
Joost Lekkerkerker
7c85d84133
Add entity translations to Huawei LTE (#98631) 2023-10-08 15:15:19 +02:00
Paulus Schoutsen
7859be6481
Add deduplicate translations script (#96384)
* Add deduplicate script

* Fix forecast_solar incorrect key with space

* Fix utf-8

* Do not create references to other arbitrary other integrations

* Add commented code to only allow applying to referencing integrations

* Tweak

* Bug fix

* Add command line arg for limit reference

* never suggest to update common keys

* Output of script

* Apply suggestions from code review

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2023-07-13 11:52:50 -04:00
Ville Skyttä
127fbded18
Fix huawei_lte suspend_integration service URL description (#96450)
Copy-pasto from resume_integration.
2023-07-12 22:04:18 -04:00
Franck Nijhof
7bc90297d2
Migrate integration services (G-H) to support translations (#96372) 2023-07-12 12:31:26 +02:00
Ville Skyttä
5f0adfe6e4
Add missing config flow abort strings (#86180)
* Add missing `already_configured` and `already_in_progress` abort strings

* Note required strings.json entries in config_entries aborting functions
2023-01-24 08:59:32 +02:00
Ville Skyttä
c625051665
Improve Huawei LTE SSDP inclusion (#85572)
* Probe Huawei LTE API for device support on SSDP match

More or less as expected, the loosening of SSDP/UPnP data matches done
in #81643 started to yield false positives, as in #85402.

Coming up with robust matches solely based on the SSDP/UPnP data still
does not seem possible, so keep the matches as loose as they were made,
but additionally invoke a probe request on the API to determine if the
device looks like a supported one.

* Probe only after unique id checks

Prevents throwaway probes for discoveries already in progress.

* Fix SSDP result URL test, add missing assert on it
2023-01-12 06:47:38 +01:00
Ville Skyttä
f02b6f1119
Huawei LTE SSDP improvements (#81643)
* Recognize more SSDP friendly names as "ours"

* Trigger on SoyeaLink devices

* Pass discovered URL through context, it does not persist via user_input

* Use manufacturer from SSDP

* Actually use serial number if available, update URL for configured

* Remove heuristic friendly name filtering against non-LTE devices
2022-12-14 23:48:25 +01:00
Ville Skyttä
9b44cf0127
Add Huawei LTE reauth flow (#78005)
* Add Huawei LTE reauth flow

* Upgrade huawei-lte-api to 1.6.3, use LoginErrorInvalidCredentialsException
2022-10-07 12:24:09 +02:00
Ville Skyttä
91a2b96da0
Implement stable unique id for Huawei LTE, requires credentials on setup (#49878) 2021-07-11 21:25:00 -07:00
J. Nick Koston
d5e39e8748
Remove redundant names from config flow titles (#50380) 2021-05-10 22:14:33 -07:00
Ville Skyttä
c825f88888
Support wired clients in Huawei LTE device tracker (#48987) 2021-04-20 12:26:09 -10:00
Ville Skyttä
4149cc9662
Huawei LTE cleanups (#48959) 2021-04-09 17:08:13 -07:00
springstan
064a453604
Add already_in_progress to base strings for config flows (#40961) 2020-10-03 15:49:09 +02:00
SNoof85
005898a0d9
Use reference strings in Huawei LTE (#41011)
* Update strings.json

* Update config_flow.py

* Update test_config_flow.py

* Update strings.json

* Update strings.json

* Update config_flow.py

* Update test_config_flow.py
2020-10-02 22:43:57 +02:00
Chris Talkington
cf72ade093
Add URL as common string (#38694)
* add URL as common string

* Update strings.json
2020-08-10 22:51:37 +02:00
Ville Skyttä
7c5e852303
Improve detected Huawei LTE device name (#36772)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-22 21:49:05 -07:00
Paulus Schoutsen
dd32324e01
Use config flow references for data (#35529) 2020-05-12 10:50:44 -07:00
Paulus Schoutsen
55dfca7467
Drop title from translations if brand name (#34306) 2020-04-16 12:52:53 -07:00
Paulus Schoutsen
d36204a968
Move title translation to root (#33850) 2020-04-15 09:41:18 -07:00
Franck Nijhof
39336d3ea3
Add prettier (in pre-commit and CI) (#33693)
* Add prettier (in pre-commit and CI)

* Make all file prettier

* Change order

* Add to Azure Pipelines

* Fix a YAML file prettier caught as invalid

* Remove flow mapping using curly braces from all YAML service files
2020-04-05 17:27:16 +02:00
Ville Skyttä
4e50a402c7 Note Huawei LTE notify service change requires restart (#30223)
Refs https://github.com/home-assistant/home-assistant/issues/30222
2019-12-28 16:31:42 +01:00
Ville Skyttä
a5c4508571
Make Huawei LTE notify service name configurable (#30208)
* Default Huawei LTE notify service name to notify.huawei_lte, make configurable

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

* Set default notify service name for uninvoked options flow
2019-12-25 13:42:28 +02:00
Ville Skyttä
6a7b5657ac
Support Huawei LTE SSDP discovery (#28214)
* Support Huawei LTE SSDP discovery

* Avoid KeyError on simultaneous user initiated flow

Co-Authored-By: Paulus Schoutsen <paulus@home-assistant.io>

* Format code

* Add already configured check

* Initialize context in test flows

* Move deviceType match to manifest

* Update generated.ssdp

* Add SSDP config flow test case

* Remove stale debug print from tests
2019-11-04 19:56:49 +02:00
Ville Skyttä
b904a2c5ad Handle Huawei LTE timeouts (#28465) 2019-11-02 21:28:38 -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