This binding brings support for internet gateway devices that support the TR-064 protocol.
It can be used to gather information from the device and/or re-configure it.
## Supported Things
Four thing types are supported:
-`generic`: the internet gateway device itself (generic device)
-`fritzbox`: similar to `generic` with extensions for AVM FritzBox devices
-`subDevice`: a sub-device of a `rootDevice` (e.g. a WAN interface)
-`subDeviceLan`: a special type of sub-device that supports MAC-detection
## Discovery
The gateway device needs to be added manually.
After that, sub-devices are detected automatically.
## Thing Configuration
All thing types have a `refresh` parameter.
It sets the refresh-interval in seconds for each device channel.
The default value is 60.
### `generic`, `fritzbox`
The `host` parameter is required to communicate with the device.
It can be a hostname or an IP address.
For accessing the device you need to supply credentials.
If you only configured password authentication for your device, the `user` parameter must be skipped and it will default to `dslf-config`.
The second credential parameter is `password`, which is mandatory.
For security reasons it is highly recommended to set both, username and password.
### `fritzbox`
All additional parameters for `fritzbox` devices (i.e. except those that are shared with `generic`) are advanced parameters.
One or more TAM (telephone answering machines) are supported by most devices.
By setting the `tamIndices` parameter you can instruct the binding to add channels for these devices to the thing.
Values start with `0`.
This is an optional parameter and multiple values are allowed.
Most devices allow to configure call deflections.
If the `callDeflectionIndices` parameter is set, channels for the status of the pre-configured call deflections are added.
Values start with `0`, including the number of "Call Blocks" (two configured call-blocks -> first deflection is `2`).
This is an optional parameter and multiple values are allowed.
Most devices support call lists.
The binding can analyze these call lists and provide channels for the number of missed calls, inbound calls, outbound calls and rejected (blocked) calls.
The days for which this analysis takes place can be controlled with the `missedCallDays`, `rejectedCallDays`, `inboundCallDays`, `outboundCallDays` and `callListDays`.
The binding provides a profile for using the FritzBox phonebooks for resolving numbers to names.
The `PHONEBOOK` profile takes strings containing the number as input and provides strings with the caller's name, if found.
The parameter `thingUid` with the UID of the phonebook providing thing is a mandatory parameter.
If only a specific phonebook from the device should be used, this can be specified with the `phonebookName` parameter.
The default is to use all available phonebooks from the specified thing.
In case the format of the number in the phonebook and the format of the number from the channel are different (e.g. regarding country prefixes), the `matchCount` parameter can be used.
The configured `matchCount` is counted from the right end and denotes the number of matching characters needed to consider this number as matching.