Modernize Huawei LTE, add UI config, unauthenticated mode, swi… (#10380)

* Modernize Huawei LTE, add config entry support, unauthenticated mode etc

* Note Huawei LTE no longer using known_devices.yaml

* Update info about enabled/disabled entities

* Note Huawei LTE mobile data switch support

* Support Huawei LTE SSDP discovery

* Link to supported integrations from SSDP, tweak deCONZ spelling

* Note mobile data switch is enabled by default

* Remove comma

* Minor changes

* Clarify which are LTE signal sensors

* Remove notify from config example

* Remove username and password from config example


Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
This commit is contained in:
Ville Skyttä 2019-11-04 22:25:37 +02:00 committed by Franck Nijhof
parent 3d99549598
commit 50ca49be84
3 changed files with 80 additions and 122 deletions

View File

@ -64,7 +64,7 @@ Multiple device trackers can be used in parallel, such as [Owntracks](/integrati
<div class='note warning'>
As of 0.94 `known_devices.yaml` is being phased out, and no longer used by all trackers. Depending on the integration you use this section may no longer apply. This includes the mobile app, OwnTracks, GeoFency, GPSLogger, and Locative.
As of 0.94 `known_devices.yaml` is being phased out and no longer used by all trackers. Depending on the integration you use this section may no longer apply. This includes the mobile app, OwnTracks, GeoFency, GPSLogger, Locative and Huawei LTE.
</div>

View File

@ -1,28 +1,75 @@
---
title: "Huawei LTE Routers"
description: "Instructions on how to integrate Huawei LTE routers with Home Assistant."
title: "Huawei LTE"
description: "Instructions on how to integrate Huawei LTE router and modem devices with Home Assistant."
logo: huawei.svg
ha_category:
- Network
- Presence Detection
- Notifications
- Sensor
- Switch
ha_release: 0.79
ha_iot_class: Local Polling
---
The Huawei LTE router integration for Home Assistant allows you to observe and control [Huawei LTE routers](https://consumer.huawei.com/en/smart-home/).
The Huawei LTE router and modem integration for Home Assistant allows you to observe and control [Huawei LTE devices](https://consumer.huawei.com/en/smart-home/).
There is currently support for the following device types within Home Assistant:
There is currently support for the following platforms within Home Assistant:
- [Presence Detection](#presence-detection) - a device tracker for connected devices
- [Notifications](#notifications)
- [Sensor](#sensor) - with device, signal, and traffic information
All platform requires you to have set up the [Huawei LTE component](#configuration).
- Presence detection - device tracker for connected devices
- Notifications - via SMS
- Sensors - device, signal, and traffic information
- Switch - mobile data on/off
## Configuration
The integration can be enabled in two ways, either using the frontend
or using YAML. Additionally, if the [SSDP integration](../ssdp/) is
enabled in Home Assistant, automatically discovered Huawei LTE devices
which support and have UPnP enabled are made available for further
optional configuration in the frontend.
The integration can be run with or without
authentication. Authenticated mode enables all available integration
features and entities, but may interfere with accessing the device web
interface from another source such as a browser while the integration
is active or vice versa. The exact list of features requiring
authentication to work varies by device and firmware version. The
integration will try to use all configured ones and fail gracefully if
it detects one requiring authentication in unauthenticated mode.
Only a subset of the entities provided by the target device by
default:
- WAN IP address sensor
- LTE signal sensors RSRQ, RSRP, RSSI, and SINR
- mobile data switch
- device tracker entries
The rest are added to the entity registry, but disabled by default.
Support for different categories of information and thus available
entities varies by device model and firmware version.
### Configuration via the frontend
Menu: **Configuration** -> **Integrations**.
Click on the `+` sign to add an integration and click on **Huawei
LTE**, and follow the configuration flow. After finishing, the Huawei
LTE integration will be available.
To use unauthenticated mode, leave username and password empty. The
integration will then attempt to first use empty strings to
authenticate and fall back to unauthenticated mode in case that
fails. If this process does not yield desired results, the YAML
configuration (see below) is available for more fine grained control.
Default list of notification recipient phone numbers can be set using
the integration's configuration options.
### Configuration via YAML
To enable the component, add the following lines to your
`configuration.yaml` file:
@ -30,132 +77,42 @@ To enable the component, add the following lines to your
# Example configuration.yaml entry
huawei_lte:
- url: http://192.168.100.1/
username: YOUR_USERNAME
password: YOUR_PASSWORD
```
For routers configured via the UI, each configuration item for the
same router in YAML overrides and updates the values set in UI
whenever the YAML configuration values are introduced or updated.
{% configuration %}
url:
description: URL of the router web interface.
description: URL of the device web interface. Typically http://192.168.100.1/ or http://192.168.1.1/.
required: true
type: string
username:
description: The username used for the router web interface.
required: true
description: The username used for the device web interface in authenticated mode. Typically `admin`, or empty string (`""`) for USB stick modems. To use unauthenticated mode, leave this variable out altogether.
required: false
type: string
password:
description: The password used for the router web interface.
required: true
description: The password used for the device web interface in authenticated mode. Typically empty string (`""`) for USB stick modems. To use unauthenticated mode, leave this variable out altogether.
required: false
type: string
notify:
description: Enable notifications using SMS messages. To use notifications, please see the [getting started with automation page](/getting-started/automation/).
required: false
type: map
keys:
recipient:
description: The phone number of a default recipient or a list with multiple recipients.
required: false
type: [string, list]
{% endconfiguration %}
### Tested routers
### Tested devices
Routers we know to be working with this integration based on the documentation of used libraries and reports by users:
Devices we know to be working with this integration based on the [documentation of used libraries](https://github.com/Salamek/huawei-lte-api/#huawei-lte-api) and reports by users:
- Huawei B310s-22
- Huawei B525s-23a
- Huawei E5186s-22a
- Huawei B618
This is not a complete list. The integration can probably connect to other Huawei LTE routers running similar firmware.
## Presence Detection
This platform offers presence detection by looking at connected devices to a [Huawei LTE router](https://consumer.huawei.com/en/smart-home/).
To enable the sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
device_tracker:
- platform: huawei_lte
```
See the [device tracker integration page](/integrations/device_tracker/) for instructions how to configure the people to be tracked.
## Notifications
The `huawei_lte` platform allows you to use a Huawei LTE router for notifications from Home Assistant. The messages will be sent as SMS text messages.
```yaml
# Example configuration.yaml entry
notify:
- platform: huawei_lte
recipient: "+15105550123"
```
{% configuration %}
recipient:
description: The phone number of a default recipient or a list with multiple recipients.
required: true
type: [string, list]
name:
description: Setting the optional parameter `name` allows multiple notifiers to be created. The notifier will bind to the service `notify.NOTIFIER_NAME`.
required: false
default: notify
type: string
url:
description: The router to use. Not needed if you only have one.
required: false
type: string
{% endconfiguration %}
To use notifications, please see the [getting started with automation page](/getting-started/automation/).
## Sensor
The `huawei_lte` sensor platform allows you to monitor Huawei LTE routers.
The names for the item you want to monitor are dot separated paths to information returned by the router. The data set varies by router model. To see what your router provides, set logging level to debug and watch `homeassistant.components.huawei_lte` debug entries. The configuration variable description contains a few example paths just to illustrate the syntax. These may not be available on all routers or their semantics may differ, and there are quite likely many more that are not listed here.
To enable the sensor, add the following lines to your `configuration.yaml` file:
```yaml
# Example configuration.yaml entry
sensor:
- platform: huawei_lte
monitored_conditions:
- device_information.SoftwareVersion
- device_signal.rssi
- monitoring_traffic_statistics.CurrentDownloadRate
- monitoring_traffic_statistics.TotalConnectTime
```
{% configuration %}
monitored_conditions:
description: Defines the data to monitor as sensors. Defaults to a few generally available data items expected to be available on most boxes.
required: false
default: Below is indicated which conditions are the default.
type: list
keys:
device_information.SoftwareVersion:
description: Software version.
device_information.WanIPAddress:
description: WAN interface IPv4 address.
default: default
device_information.WanIPv6Address:
description: WAN interface IPv6 address.
device_signal.rsrq:
description: The signal RSRQ value.
default: default
device_signal.rsrp:
description: The signal RSRP value.
default: default
device_signal.rssi:
description: The signal RSSI value.
default: default
device_signal.sinr:
description: The signal SINR value.
default: default
monitoring_traffic_statistics.CurrentDownloadRate:
description: Current download rate, bytes/sec.
monitoring_traffic_statistics.CurrentUploadRate:
description: Current upload rate, bytes/sec.
monitoring_traffic_statistics.TotalUpload:
description: Total bytes uploaded since last reset.
monitoring_traffic_statistics.TotalDownload:
description: Total bytes downloaded since last reset.
monitoring_traffic_statistics.TotalConnectTime:
description: Total time connected since last reset.
{% endconfiguration %}
This is not a complete list. The integration can probably connect to other Huawei LTE devices running similar firmware.

View File

@ -23,5 +23,6 @@ ssdp:
The following integrations are automatically discovered by the SSDP integration:
- Deconz
- Philips Hue
- [deCONZ](../deconz/)
- [Huawei LTE](../huawei_lte/)
- [Philips Hue](../hue/)