From 131a38dc3611cb4b7f3667e2188590c61cc1e8d2 Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sun, 15 Sep 2024 23:46:25 +0200 Subject: [PATCH 01/11] Fixes docs Signed-off-by: Leo Siepel --- bundles/org.openhab.binding.ekey/README.md | 1 + bundles/org.openhab.binding.fronius/README.md | 1 + .../org.openhab.binding.homematic/README.md | 5 +- .../org.openhab.binding.meteoalerte/README.md | 25 +++-- .../doc/icon/avalanches.svg | 18 ++++ .../doc/icon/canicule.svg | 21 ++++ .../doc/icon/grand-froid.svg | 20 ++++ .../doc/icon/inondation.svg | 11 +++ .../doc/icon/meteo_france.svg | 13 +++ .../doc/icon/neige.svg | 7 ++ .../doc/icon/orage.svg | 13 +++ .../doc/icon/pluie-inondation.svg | 16 +++ .../doc/icon/vague-submersion.svg | 7 ++ .../doc/icon/vent.svg | 29 ++++++ bundles/org.openhab.binding.modbus/README.md | 92 ++++++++--------- bundles/org.openhab.binding.openuv/README.md | 10 +- .../doc/icon/ozone.svg | 15 +++ .../doc/icon/uv-alarm.svg | 15 +++ .../doc/icon/uv-index-0.svg | 30 ++++++ .../doc/icon/uv-index-1.svg | 53 ++++++++++ .../doc/icon/uv-index-10.svg | 58 +++++++++++ .../doc/icon/uv-index-11.svg | 61 ++++++++++++ .../doc/icon/uv-index-2.svg | 54 ++++++++++ .../doc/icon/uv-index-3.svg | 54 ++++++++++ .../doc/icon/uv-index-4.svg | 54 ++++++++++ .../doc/icon/uv-index-5.svg | 54 ++++++++++ .../doc/icon/uv-index-6.svg | 54 ++++++++++ .../doc/icon/uv-index-7.svg | 53 ++++++++++ .../doc/icon/uv-index-8.svg | 54 ++++++++++ .../doc/icon/uv-index-9.svg | 54 ++++++++++ .../doc/icon/uv-index.svg | 50 ++++++++++ .../README.md | 60 +++++------ .../org.openhab.binding.pushover/README.md | 5 +- bundles/org.openhab.binding.somneo/README.md | 1 + bundles/org.openhab.binding.tradfri/README.md | 1 + bundles/org.openhab.binding.warmup/README.md | 15 ++- bundles/org.openhab.io.homekit/README.md | 45 +++++---- bundles/org.openhab.io.openhabcloud/README.md | 99 ++++++++++--------- .../README.md | 2 - bundles/org.openhab.voice.googletts/README.md | 10 +- 40 files changed, 1059 insertions(+), 181 deletions(-) create mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/avalanches.svg create mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/canicule.svg create mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/grand-froid.svg create mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/inondation.svg create mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/meteo_france.svg create mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/neige.svg create mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/orage.svg create mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/pluie-inondation.svg create mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/vague-submersion.svg create mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/vent.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/ozone.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-alarm.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-0.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-1.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-10.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-11.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-2.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-3.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-4.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-5.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-6.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-7.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-8.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-9.svg create mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index.svg diff --git a/bundles/org.openhab.binding.ekey/README.md b/bundles/org.openhab.binding.ekey/README.md index ec3e5601d6756..dd312d6db5a12 100644 --- a/bundles/org.openhab.binding.ekey/README.md +++ b/bundles/org.openhab.binding.ekey/README.md @@ -99,6 +99,7 @@ R=RFID ``` transform/ekey_names.map [NO spaces allowed] + ```text -1=Unspecified 1=JohnDoe diff --git a/bundles/org.openhab.binding.fronius/README.md b/bundles/org.openhab.binding.fronius/README.md index c47dde7979c07..73fe21a442698 100644 --- a/bundles/org.openhab.binding.fronius/README.md +++ b/bundles/org.openhab.binding.fronius/README.md @@ -159,6 +159,7 @@ You can retrieve the actions as follows: ```java val froniusInverterActions = getActions("fronius", "fronius:powerinverter:mybridge:myinverter") ``` + ::: ::: tab JS diff --git a/bundles/org.openhab.binding.homematic/README.md b/bundles/org.openhab.binding.homematic/README.md index 2b13cfb6208a0..fc588bc731cd9 100644 --- a/bundles/org.openhab.binding.homematic/README.md +++ b/bundles/org.openhab.binding.homematic/README.md @@ -212,7 +212,7 @@ homematic:bridge:NAME - **bridge** the type, fixed - **name** the name of the bridge -### Example +### Bridge Configuration Example #### Minimum configuration @@ -448,7 +448,7 @@ Adds multiple virtual datapoints to the HM-Dis-WM55 and HM-Dis-EP-WM55 devices t **Note:** The HM-Dis-EP-WM55 has only a black and white display and therefore does not support datapoints for colored lines. In addition, only lines 1-3 can be set. -#### Example +#### Button Example Display text at line 1,3 and 5 when the bottom button on the display is pressed @@ -734,6 +734,7 @@ The problem can be solved by increasing the `bufferSize` value in the bridge con openHAB and the CCU are using different values for the same state of a rollershutter. Examples: HmIP-BROLL, HmIP-FROLL, HmIP-BBL, HmIP-FBL and HmIP-DRBLI4 + | | Open | Closed | | ------- | ---- | ------ | | openHAB | 0% | 100% | diff --git a/bundles/org.openhab.binding.meteoalerte/README.md b/bundles/org.openhab.binding.meteoalerte/README.md index 7af859b6fd8ce..39afe16851bd4 100644 --- a/bundles/org.openhab.binding.meteoalerte/README.md +++ b/bundles/org.openhab.binding.meteoalerte/README.md @@ -63,19 +63,18 @@ The Météo Alerte information that are retrieved is available as these channels This binding has its own IconProvider and makes available the following list of icons -| Icon Name | Dynamic | Illustration | -|---------------------------------|---------|--------------| -| oh:meteoalerte:vent | Yes | ![](src/main/resources/icon/vent.svg) | -| oh:meteoalerte:pluie-inondation | Yes | ![](src/main/resources/icon/pluie-inondation.svg) | -| oh:meteoalerte:orage | Yes | ![](src/main/resources/icon/orage.svg) | -| oh:meteoalerte:inondation | Yes | ![](src/main/resources/icon/inondation.svg) | -| oh:meteoalerte:neige | Yes | ![](src/main/resources/icon/neige.svg) | -| oh:meteoalerte:canicule | Yes | ![](src/main/resources/icon/canicule.svg) | -| oh:meteoalerte:grand-froid | Yes | ![](src/main/resources/icon/grand-froid.svg) | -| oh:meteoalerte:avalanches | Yes | ![](src/main/resources/icon/avalanches.svg) | -| oh:meteoalerte:vague-submersion | Yes | ![](src/main/resources/icon/vague-submersion.svg) | -| oh:meteoalerte:meteo_france | No | ![](src/main/resources/icon/meteo_france.svg) | - +| Icon Name | Dynamic | Illustration | +|---------------------------------|---------|------------------------------------| +| oh:meteoalerte:vent | Yes | ![](doc/icon/vent.svg) | +| oh:meteoalerte:pluie-inondation | Yes | ![](doc/icon/pluie-inondation.svg) | +| oh:meteoalerte:orage | Yes | ![](doc/icon/orage.svg) | +| oh:meteoalerte:inondation | Yes | ![](doc/icon/inondation.svg) | +| oh:meteoalerte:neige | Yes | ![](doc/icon/neige.svg) | +| oh:meteoalerte:canicule | Yes | ![](doc/icon/canicule.svg) | +| oh:meteoalerte:grand-froid | Yes | ![](doc/icon/grand-froid.svg) | +| oh:meteoalerte:avalanches | Yes | ![](doc/icon/avalanches.svg) | +| oh:meteoalerte:vague-submersion | Yes | ![](doc/icon/vague-submersion.svg) | +| oh:meteoalerte:meteo_france | No | ![](doc/icon/meteo_france.svg) | ## Full Example diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/avalanches.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/avalanches.svg new file mode 100644 index 0000000000000..fed125ab74b7d --- /dev/null +++ b/bundles/org.openhab.binding.meteoalerte/doc/icon/avalanches.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/canicule.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/canicule.svg new file mode 100644 index 0000000000000..a1bf4b5ef4d8d --- /dev/null +++ b/bundles/org.openhab.binding.meteoalerte/doc/icon/canicule.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/grand-froid.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/grand-froid.svg new file mode 100644 index 0000000000000..0a039b6c31d25 --- /dev/null +++ b/bundles/org.openhab.binding.meteoalerte/doc/icon/grand-froid.svg @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/inondation.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/inondation.svg new file mode 100644 index 0000000000000..3d77bbb2f8220 --- /dev/null +++ b/bundles/org.openhab.binding.meteoalerte/doc/icon/inondation.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/meteo_france.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/meteo_france.svg new file mode 100644 index 0000000000000..f0292810b1715 --- /dev/null +++ b/bundles/org.openhab.binding.meteoalerte/doc/icon/meteo_france.svg @@ -0,0 +1,13 @@ + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/neige.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/neige.svg new file mode 100644 index 0000000000000..59a7d9fb6d667 --- /dev/null +++ b/bundles/org.openhab.binding.meteoalerte/doc/icon/neige.svg @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/orage.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/orage.svg new file mode 100644 index 0000000000000..9eed1fe58892a --- /dev/null +++ b/bundles/org.openhab.binding.meteoalerte/doc/icon/orage.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/pluie-inondation.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/pluie-inondation.svg new file mode 100644 index 0000000000000..31dd8c2530f40 --- /dev/null +++ b/bundles/org.openhab.binding.meteoalerte/doc/icon/pluie-inondation.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/vague-submersion.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/vague-submersion.svg new file mode 100644 index 0000000000000..6094a657f03c1 --- /dev/null +++ b/bundles/org.openhab.binding.meteoalerte/doc/icon/vague-submersion.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/vent.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/vent.svg new file mode 100644 index 0000000000000..8a8eab70a19a9 --- /dev/null +++ b/bundles/org.openhab.binding.meteoalerte/doc/icon/vent.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.modbus/README.md b/bundles/org.openhab.binding.modbus/README.md index 3f1bc95830a39..641723cb92729 100644 --- a/bundles/org.openhab.binding.modbus/README.md +++ b/bundles/org.openhab.binding.modbus/README.md @@ -114,15 +114,15 @@ Basic parameters Advanced parameters -| Parameter | Required | Type | Default if omitted | Description | -| ------------------------------- | -------- | ------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `timeBetweenTransactionsMillis` | | integer | `60` | How long to delay we must have at minimum between two consecutive MODBUS transactions. In milliseconds. | -| `timeBetweenReconnectMillis` | | integer | `0` | How long to wait to before trying to establish a new connection after the previous one has been disconnected. In milliseconds. | -| `connectMaxTries` | | integer | `1` | How many times we try to establish the connection. Should be at least 1. | -| `afterConnectionDelayMillis` | | integer | `0` | Connection warm-up time. Additional time which is spent on preparing connection which should be spent waiting while end device is getting ready to answer first modbus call. In milliseconds. | -| `reconnectAfterMillis` | | integer | `0` | The connection is kept open at least the time specified here. Value of zero means that connection is disconnected after every MODBUS transaction. In milliseconds. | -| `connectTimeoutMillis` | | integer | `10000` | The maximum time that is waited when establishing the connection. Value of zero means that system/OS default is respected. In milliseconds. | -| `enableDiscovery` | | boolean | false | Enable auto-discovery feature. Effective only if a supporting extension has been installed. | +| Parameter | Required | Type | Default if omitted | Description | +|---------------------------------|----------|---------|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `timeBetweenTransactionsMillis` | | integer | `60` | How long to delay we must have at minimum between two consecutive MODBUS transactions. In milliseconds. | +| `timeBetweenReconnectMillis` | | integer | `0` | How long to wait to before trying to establish a new connection after the previous one has been disconnected. In milliseconds. | +| `connectMaxTries` | | integer | `1` | How many times we try to establish the connection. Should be at least 1. | +| `afterConnectionDelayMillis` | | integer | `0` | Connection warm-up time. Additional time which is spent on preparing connection which should be spent waiting while end device is getting ready to answer first modbus call. In milliseconds. | +| `reconnectAfterMillis` | | integer | `0` | The connection is kept open at least the time specified here. Value of zero means that connection is disconnected after every MODBUS transaction. In milliseconds. | +| `connectTimeoutMillis` | | integer | `10000` | The maximum time that is waited when establishing the connection. Value of zero means that system/OS default is respected. In milliseconds. | +| `enableDiscovery` | | boolean | false | Enable auto-discovery feature. Effective only if a supporting extension has been installed. | **Note:** Advanced parameters must be equal for all `tcp` things sharing the same `host` and `port`. @@ -136,29 +136,29 @@ Similarly, with some slower devices on might need to increase the values. Basic parameters -| Parameter | Type | Required | Default if omitted | Description | | -| --------- | ------- | -------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --- | -| port | text | ✓ | | Serial port to use, for example `"/dev/ttyS0"` or `"COM1"` | | -| id | integer | | `1` | Slave id. Also known as station address or unit identifier. See [Wikipedia](https://en.wikipedia.org/wiki/Modbus) and [simplymodbus](https://www.simplymodbus.ca/index.html) articles for more information | | -| baud | integer | ✓ | | Baud of the connection. Valid values are: `75`, `110`, `300`, `1200`, `2400`, `4800`, `9600`, `19200`, `38400`, `57600`, `115200`. | | -| stopBits | text | ✓ | | Stop bits. Valid values are: `"1.0"`, `"1.5"`, `"2.0"`. | | -| parity | text | ✓ | | Parity. Valid values are: `"none"`, `"even"`, `"odd"`. | | -| dataBits | integer | ✓ | | Data bits. Valid values are: `5`, `6`, `7` and `8`. | | -| encoding | text | | `"rtu"` | Encoding. Valid values are: `"ascii"`, `"rtu"`, `"bin"`. | | -| echo | boolean | | `false` | Flag for setting the RS485 echo mode. This controls whether we should try to read back whatever we send on the line, before reading the response. Valid values are: `true`, `false`. | | +| Parameter | Type | Required | Default if omitted | Description | | +|-----------|---------|----------|--------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---| +| port | text | ✓ | | Serial port to use, for example `"/dev/ttyS0"` or `"COM1"` | | +| id | integer | | `1` | Slave id. Also known as station address or unit identifier. See [Wikipedia](https://en.wikipedia.org/wiki/Modbus) and [simplymodbus](https://www.simplymodbus.ca/index.html) articles for more information | | +| baud | integer | ✓ | | Baud of the connection. Valid values are: `75`, `110`, `300`, `1200`, `2400`, `4800`, `9600`, `19200`, `38400`, `57600`, `115200`. | | +| stopBits | text | ✓ | | Stop bits. Valid values are: `"1.0"`, `"1.5"`, `"2.0"`. | | +| parity | text | ✓ | | Parity. Valid values are: `"none"`, `"even"`, `"odd"`. | | +| dataBits | integer | ✓ | | Data bits. Valid values are: `5`, `6`, `7` and `8`. | | +| encoding | text | | `"rtu"` | Encoding. Valid values are: `"ascii"`, `"rtu"`, `"bin"`. | | +| echo | boolean | | `false` | Flag for setting the RS485 echo mode. This controls whether we should try to read back whatever we send on the line, before reading the response. Valid values are: `true`, `false`. | | Advanced parameters -| Parameter | Required | Type | Default if omitted | Description | -| ------------------------------- | -------- | ------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------ | -| `receiveTimeoutMillis` | | integer | `1500` | Timeout for read operations. In milliseconds. | -| `flowControlIn` | | text | `"none"` | Type of flow control for receiving. Valid values are: `"none"`, `"xon/xoff in"`, `"rts/cts in"`. | -| `flowControlOut` | | text | `"none"` | Type of flow control for sending. Valid values are: `"none"`, `"xon/xoff out"`, `"rts/cts out"`. | -| `timeBetweenTransactionsMillis` | | integer | `35` | How long to delay we must have at minimum between two consecutive MODBUS transactions. In milliseconds. | -| `connectMaxTries` | | integer | `1` | How many times we try to establish the connection. Should be at least 1. | -| `afterConnectionDelayMillis` | | integer | `0` | Connection warm-up time. Additional time which is spent on preparing connection which should be spent waiting while end device is getting ready to answer first modbus call. In milliseconds. | -| `connectTimeoutMillis` | | integer | `10000` | The maximum time that is waited when establishing the connection. Value of zero means thatsystem/OS default is respected. In milliseconds. | -| `enableDiscovery` | | boolean | false | Enable auto-discovery feature. Effective only if a supporting extension has been installed. | +| Parameter | Required | Type | Default if omitted | Description | +|---------------------------------|----------|---------|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| `receiveTimeoutMillis` | | integer | `1500` | Timeout for read operations. In milliseconds. | +| `flowControlIn` | | text | `"none"` | Type of flow control for receiving. Valid values are: `"none"`, `"xon/xoff in"`, `"rts/cts in"`. | +| `flowControlOut` | | text | `"none"` | Type of flow control for sending. Valid values are: `"none"`, `"xon/xoff out"`, `"rts/cts out"`. | +| `timeBetweenTransactionsMillis` | | integer | `35` | How long to delay we must have at minimum between two consecutive MODBUS transactions. In milliseconds. | +| `connectMaxTries` | | integer | `1` | How many times we try to establish the connection. Should be at least 1. | +| `afterConnectionDelayMillis` | | integer | `0` | Connection warm-up time. Additional time which is spent on preparing connection which should be spent waiting while end device is getting ready to answer first modbus call. In milliseconds. | +| `connectTimeoutMillis` | | integer | `10000` | The maximum time that is waited when establishing the connection. Value of zero means thatsystem/OS default is respected. In milliseconds. | +| `enableDiscovery` | | boolean | false | Enable auto-discovery feature. Effective only if a supporting extension has been installed. | With the exception of `id` parameters should be equal for all `serial` things sharing the same `port`. @@ -174,9 +174,9 @@ With low baud rates and/or long read requests (that is, many items polled), ther You must give each of your bridge Things a reference (thing ID) that is unique for this binding. | Parameter | Type | Required | Default if omitted | Description | -| ------------- | ------- | -------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +|---------------|---------|----------|--------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | `start` | integer | | `0` | Address of the first register, coil, or discrete input to poll. Input as zero-based index number. | -| `length` | integer | ✓ | (-) | Number of registers, coils or discrete inputs to read. Note that protocol limits max length, depending on type | +| `length` | integer | ✓ | (-) | Number of registers, coils or discrete inputs to read. Note that protocol limits max length, depending on type | | `type` | text | ✓ | (-) | Type of modbus items to poll. This matches directly to Modbus request type or function code (FC). Valid values are: `"coil"` (FC01), `"discrete"` (FC02), `"holding"`(FC03), `"input"` (FC04). | | `refresh` | integer | | `500` | Poll interval in milliseconds. Use zero to disable automatic polling. | | `maxTries` | integer | | `3` | Maximum tries when reading.

Number of tries when reading data, if some of the reading fail. For single try, enter 1. | @@ -360,14 +360,14 @@ Note that value types less than 16 bits are not supported on write to holding re See [Full examples](#full-examples) section for practical examples. -#### `bit`: +#### `bit` - a single bit is read from the registers - address is given as `X.Y`, where `Y` is between 0...15 (inclusive), representing bit of the register `X` - index `Y=0` refers to the least significant bit - index `Y=1` refers to the second least significant bit, etc. -#### `int8`: +#### `int8` - a byte (8 bits) from the registers is interpreted as signed integer - address is given as `X.Y`, where `Y` is between 0...1 (inclusive), representing byte of the register `X` @@ -375,42 +375,42 @@ See [Full examples](#full-examples) section for practical examples. - index `Y=1` refers to high byte - it is assumed that each high and low byte is encoded in most significant bit first order -#### `uint8`: +#### `uint8` - same as `int8` except value is interpreted as unsigned integer -#### `int16`: +#### `int16` - register with index is interpreted as 16 bit signed integer. - it is assumed that register is encoded in most significant bit first order -#### `uint16`: +#### `uint16` - same as `int16` except value is interpreted as unsigned integer -#### `int32`: +#### `int32` - registers `index` and `(index + 1)` are interpreted as signed 32bit integer - it assumed that the first register contains the most significant 16 bits - it is assumed that each register is encoded in most significant bit first order -#### `uint32`: +#### `uint32` - same as `int32` except value is interpreted as unsigned integer -#### `float32`: +#### `float32` - registers `index` and `(index + 1)` are interpreted as signed 32bit floating point number - it assumed that the first register contains the most significant 16 bits - it is assumed that each register is encoded in most significant bit first order -#### `int64`: +#### `int64` - registers `index`, `(index + 1)`, `(index + 2)`, `(index + 3)` are interpreted as signed 64bit integer. - it assumed that the first register contains the most significant 16 bits - it is assumed that each register is encoded in most significant bit first order -#### `uint64`: +#### `uint64` - same as `int64` except value is interpreted as unsigned integer @@ -422,27 +422,27 @@ To resolve this the binding supports a second set of valuetypes that have the wo If you get strange values using the `int32`, `uint32`, `float32`, `int64`, or `uint64` valuetypes then just try the `int32_swap`, `uint32_swap`, `float32_swap`, `int64_swap`, or `uint64_swap` valuetype, depending upon what your data type is. -#### `int32_swap`: +#### `int32_swap` - registers `index` and `(index + 1)` are interpreted as signed 32bit integer - it assumed that the first register contains the least significant 16 bits - it is assumed that each register is encoded in most significant bit first order (Big Endian) -#### `uint32_swap`: +#### `uint32_swap` - same as `int32_swap` except value is interpreted as unsigned integer -#### `float32_swap`: +#### `float32_swap` - registers `index` and `(index + 1)` are interpreted as signed 32bit floating point number - it assumed that the first register contains the least significant 16 bits - it is assumed that each register is encoded in most significant bit first order (Big Endian) -#### `int64_swap`: +#### `int64_swap` - same as `int64` but registers swapped, that is, registers (index + 3), (index + 2), (index + 1), (index + 1) are interpreted as signed 64bit integer -#### `uint64_swap`: +#### `uint64_swap` - same as `uint64` except value is interpreted as unsigned integer diff --git a/bundles/org.openhab.binding.openuv/README.md b/bundles/org.openhab.binding.openuv/README.md index 22aeb8c28ffd1..9a4abba0985c0 100644 --- a/bundles/org.openhab.binding.openuv/README.md +++ b/bundles/org.openhab.binding.openuv/README.md @@ -66,11 +66,11 @@ Thing can be extended with as many SafeExposure channels as needed for each skin This binding has its own IconProvider and makes available the following list of icons -| Icon Name | Dynamic | Illustration | -|--------------------|---------|--------------| -| oh:openuv:ozone | No | ![](src/main/resources/icon/ozone.svg) | -| oh:openuv:uv-alarm | Yes | ![](src/main/resources/icon/uv-alarm.svg) | -| oh:openuv:uv-index | Yes | ![](src/main/resources/icon/uv-index.svg) | +| Icon Name | Dynamic | Illustration | +|--------------------|---------|----------------------------| +| oh:openuv:ozone | No | ![](doc/icon/ozone.svg) | +| oh:openuv:uv-alarm | Yes | ![](doc/icon/uv-alarm.svg) | +| oh:openuv:uv-index | Yes | ![](doc/icon/uv-index.svg) | ## Examples diff --git a/bundles/org.openhab.binding.openuv/doc/icon/ozone.svg b/bundles/org.openhab.binding.openuv/doc/icon/ozone.svg new file mode 100644 index 0000000000000..fce47e3761451 --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/ozone.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-alarm.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-alarm.svg new file mode 100644 index 0000000000000..66394bedc9490 --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/uv-alarm.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-0.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-0.svg new file mode 100644 index 0000000000000..11e05be4d62fa --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-0.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-1.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-1.svg new file mode 100644 index 0000000000000..2767a07764595 --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-1.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-10.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-10.svg new file mode 100644 index 0000000000000..de933d523c0d8 --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-10.svg @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-11.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-11.svg new file mode 100644 index 0000000000000..368dacdeabad9 --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-11.svg @@ -0,0 +1,61 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-2.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-2.svg new file mode 100644 index 0000000000000..1b1b8c48c32ef --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-2.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-3.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-3.svg new file mode 100644 index 0000000000000..db47338c86b43 --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-3.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-4.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-4.svg new file mode 100644 index 0000000000000..186c07cde948f --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-4.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-5.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-5.svg new file mode 100644 index 0000000000000..44cd7a6c2c9d6 --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-5.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-6.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-6.svg new file mode 100644 index 0000000000000..459828eb94972 --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-6.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-7.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-7.svg new file mode 100644 index 0000000000000..f2e2489d66ff9 --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-7.svg @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-8.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-8.svg new file mode 100644 index 0000000000000..bd10d4bc9b1d8 --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-8.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-9.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-9.svg new file mode 100644 index 0000000000000..da658b9a4aeb1 --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-9.svg @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index.svg new file mode 100644 index 0000000000000..ed6cb5f43574b --- /dev/null +++ b/bundles/org.openhab.binding.openuv/doc/icon/uv-index.svg @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/bundles/org.openhab.binding.paradoxalarm/README.md b/bundles/org.openhab.binding.paradoxalarm/README.md index 20be7230d3cdd..53a1f014f3de0 100644 --- a/bundles/org.openhab.binding.paradoxalarm/README.md +++ b/bundles/org.openhab.binding.paradoxalarm/README.md @@ -13,40 +13,40 @@ Examples: Currently binding supports the following panels: EVO192, EVO48(not tested), EVO96(not tested) -## Supported things +## Supported Things -| Thing | Thing Type | Description | -|------------|------------|----------------------------------------------------------------| -| ip150 | Bridge | The bridge is used to communicate with IP150 ethernet module attached to Paradox security system.| -| panel | Thing | This is representation of Paradox panel. Has the general information about the main panel module, i.e. serial number, firmware/hardware/software versions, panel type, etc...| -| partition | Thing | The partition is grouped aggregation of multiple zones. It's also referred in Paradox Babyware as "Area". | -| zone | Thing | Paradox zone. Can be anything - magnetic, motion or any other opened/closed sensor. State channel is contact, "low battery" and "is tampered" channels are switch, label is String | +| Thing | Thing Type | Description | +|-----------|------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| ip150 | Bridge | The bridge is used to communicate with IP150 ethernet module attached to Paradox security system. | +| panel | Thing | This is representation of Paradox panel. Has the general information about the main panel module, i.e. serial number, firmware/hardware/software versions, panel type, etc... | +| partition | Thing | The partition is grouped aggregation of multiple zones. It's also referred in Paradox Babyware as "Area". | +| zone | Thing | Paradox zone. Can be anything - magnetic, motion or any other opened/closed sensor. State channel is contact, "low battery" and "is tampered" channels are switch, label is String | ## Things configuration -### IP150 bridge parameters +### IP150 Bridge Parameters -| Parameter | Description | -|-------------------|----------------------------------------| -| refresh | Value is in seconds. Defines the refresh interval when the binding polls from paradox system. Optional parameter. Default 5 seconds.| -| ip150Password | The password to your IP150 (not your panel PIN). Mandatory parameter. | -| pcPassword | The panel programming code 3012 setting. Optional parameter. Default value is 0000.| -| ipAddress | IP address or hostname of your IP150. If hostname is used must be resolvable by OpenHAB. Mandatory parameter. | -| port | The port used for data communication. Optional parameter. Default value is 10000.| +| Parameter | Description | +|-------------------|-----------------------------------------------------------------------------------------------------------------------------------------| +| refresh | Value is in seconds. Defines the refresh interval when the binding polls from paradox system. Optional parameter. Default 5 seconds. | +| ip150Password | The password to your IP150 (not your panel PIN). Mandatory parameter. | +| pcPassword | The panel programming code 3012 setting. Optional parameter. Default value is 0000. | +| ipAddress | IP address or hostname of your IP150. If hostname is used must be resolvable by OpenHAB. Mandatory parameter. | +| port | The port used for data communication. Optional parameter. Default value is 10000. | | panelType | If parameter is passed, auto-discovery of panel type will be skipped. Provide string - EVO48, EVO96, EVO192, etc... Optional parameter. | -| reconnectWaitTime | Value is in seconds. The time to wait before a reconnect occurs after socket timeout. Optional parameter. Default value is 30 seconds.| -| maxPartitions | Sets maximum partitions to use during refresh. If not set, maximum allowed amount from panelType will be used. Optional parameter. | -| maxZones | Sets maximum zones to use during refresh. If not set, maximum allowed amount from panelType will be used. Optional parameter.| -| encrypt | Sets if encryption has to be used. Optional parameter. Default value is false | +| reconnectWaitTime | Value is in seconds. The time to wait before a reconnect occurs after socket timeout. Optional parameter. Default value is 30 seconds. | +| maxPartitions | Sets maximum partitions to use during refresh. If not set, maximum allowed amount from panelType will be used. Optional parameter. | +| maxZones | Sets maximum zones to use during refresh. If not set, maximum allowed amount from panelType will be used. Optional parameter. | +| encrypt | Sets if encryption has to be used. Optional parameter. Default value is false | -### IP150 bridge channels +### IP150 Bridge Channels | Channel | Description | |---------------------|------------------------------------------------| |communicationCommand | Possible values [LOGOUT, LOGIN, RESET] | |communicationState | Shows the communication status to Paradox. Different from Bridge status. Bridge may be online and able to receive commands but communication may be offline due to various reasons. Possible values [Offline, Online] | -#### Communication command channel allowed values +#### Communication Command Values | Value | Description | |--------|------------------------------------------------------------------------------------| @@ -54,14 +54,14 @@ Currently binding supports the following panels: EVO192, EVO48(not tested), EVO9 | LOGIN | Creates socket if necessary, connects to paradox system and uses the logon data from the thing parameters to connect.| | RESET | Does logout and then login with recreation of communicator objects inside the code.| -### Entities (zones, partitions) configuration parameters: +### Entities (zones, partitions) Configuration | Value | Description | |-------------------|------------------------------------------------------------------------------------| | id | The numeric ID of the zone/partition | | disarmEnabled | Optional boolean flag. Valid for partitions. When set to true the command DISARM will be allowed for the partition where the flag is enabled. CAUTION: Enabling DISARM command can be dangerous. If attacker can gain access to your openHAB (via API or UI), this command can be used to disarm your armed partition (area) | -### Panel channels: +### Panel Channels | Channel | Type | Description | |--------------------------|----------------------------|-------------------------------------------------------------------------------------------| @@ -71,7 +71,7 @@ Currently binding supports the following panels: EVO192, EVO48(not tested), EVO9 | batteryVoltage | Number:ElectricPotential | Battery Voltage | | panelTime | DateTime | Panel internal time (Timezone is set to default zone of the Java virtual machine) | -### Partition channels: +### Partition Channels | Channel | Type | Description | |--------------------------|---------|-----------------------------------------------------------------------------------------------| @@ -96,14 +96,15 @@ Currently binding supports the following panels: EVO192, EVO48(not tested), EVO9 | allZonesClosed | Contact | All zones in partition are currently closed | | command | String | Command to be send to partition. Can be (ARM, DISARM, FORCE_ARM, INSTANT_ARM, STAY_ARM, BEEP) | -### Partition detailed state possible values: +### Partition Detailed State Values + | Overall state value | Detailed state value (depending on the sub-state) | |--------------------------|----------------------------------------------------------------------------------------------| | InAlarm | Silent Alarm, Audible Alarm, Fire Alarm, In Alarm (if none of the first three) | | Armed | Away Armed, Stay Armed, NoEntry Armed, Armed (if none of the first three) | | Disarmed | Disarmed | -### Zone channels: +### Zone Channels | Channel | Type | Description | |------------------------------------|---------|--------------------------------------------------------------------------------| @@ -120,8 +121,7 @@ Currently binding supports the following panels: EVO192, EVO48(not tested), EVO9 | generatedAlarm | Switch | Zone has generated an alarm | | command | String | Command for zone. Can be (BYPASS, CLEAR_BYPASS) | - -## Example things configuration +## Example Things Configuration ```java Bridge paradoxalarm:ip150:ip150 [refresh=5, panelType="EVO192", ip150Password="********", pcPassword="0000", ipAddress=XXX.XXX.XXX.XXX", port=10000, reconnectWaitTime=10, maxPartitions=4, maxZones=50, encrypt=true ] { @@ -140,7 +140,7 @@ Currently binding supports the following panels: EVO192, EVO48(not tested), EVO9 } ``` -## Example items configuration +## Example Items Configuration ```java //Groups @@ -169,7 +169,7 @@ Currently binding supports the following panels: EVO192, EVO48(not tested), EVO9 Contact CorridorFl1_MUC_state "Corridor Fl1 window: [%s]" (Floor1MUC) { channel = "paradoxalarm:zone:ip150:MagneticSensorWindow1:opened" } ``` -## Example sitemap configuration +## Example Sitemap Configuration ```java Text label="Security" icon="lock" { diff --git a/bundles/org.openhab.binding.pushover/README.md b/bundles/org.openhab.binding.pushover/README.md index 5682c913892cf..712f9173fa1ca 100644 --- a/bundles/org.openhab.binding.pushover/README.md +++ b/bundles/org.openhab.binding.pushover/README.md @@ -23,8 +23,8 @@ You can reach it via [https://pushover.net/apps/clone/openHAB](https://pushover. | `title` | text | The default title of a message (default: `openHAB`). | | `format` | text | The default format (`none`, `html` or `monospace`) of a message (default: `none`). | | `sound` | text | The notification sound on target device (default: `default`) (see [supported notification sounds](https://pushover.net/api#sounds)). This list will be populated dynamically during runtime with 21 different sounds plus user-defined [custom sounds](https://blog.pushover.net/posts/2021/3/custom-sounds). | -| `retry` | integer | The retry parameter specifies how often (in seconds) the Pushover servers will send the same emergency-priority notification to the user (default: `300`). **advanced** | -| `expire` | integer | The expire parameter specifies how long (in seconds) your emergency-priority notification will continue to be retried (default: `3600`). **advanced** | +| `retry` | integer | The retry parameter specifies how often (in seconds) the Pushover servers will send the same emergency-priority notification to the user (default: `300`). **advanced** | +| `expire` | integer | The expire parameter specifies how long (in seconds) your emergency-priority notification will continue to be retried (default: `3600`). **advanced** | | `timeout` | integer | The timeout parameter specifies maximum number of seconds a request to Pushover can take. **advanced** | ## Channels @@ -74,6 +74,7 @@ For priority `2` only, the action returns a `String` value (the `receipt`) if th For other priorities, the action always returns an empty `String`. - `cancelPriorityMessage(String receipt)` - This method is used to cancel an emergency priority message. + The action returns a `Boolean` value to indicate if the message was cancelled successfully or not. ## Full Example diff --git a/bundles/org.openhab.binding.somneo/README.md b/bundles/org.openhab.binding.somneo/README.md index f2da92dc0ea4f..464eba589c383 100644 --- a/bundles/org.openhab.binding.somneo/README.md +++ b/bundles/org.openhab.binding.somneo/README.md @@ -127,6 +127,7 @@ Dimmer PhilipsSomneo_Alarm1Volume "Volume" ``` transform/somneorepeatday.js + ```javascript (function(i) { if (i == 254) { diff --git a/bundles/org.openhab.binding.tradfri/README.md b/bundles/org.openhab.binding.tradfri/README.md index 851b8eec704e1..5fa6cce47ba43 100644 --- a/bundles/org.openhab.binding.tradfri/README.md +++ b/bundles/org.openhab.binding.tradfri/README.md @@ -79,6 +79,7 @@ The control outlet supports the `power` channel. A blind or curtain supports, beside `battery_level` and `battery_low` channels, a `positon` channel. An air purifier supports: + * `fan_mode` and `fan_speed` channels, which allows for control of the fan and reading of the current speed. * `disable_led` and `lock_button` channels, to respectively disable the LED's and lock the button on the physical device. * `air_quality_pm25` and `air_quality_rating` channels, which reads the particulate matter 2.5μm and corresponding indication of air quality (similar to Tradfri app rating). diff --git a/bundles/org.openhab.binding.warmup/README.md b/bundles/org.openhab.binding.warmup/README.md index 51e48fe22390f..6868416839d0a 100644 --- a/bundles/org.openhab.binding.warmup/README.md +++ b/bundles/org.openhab.binding.warmup/README.md @@ -25,7 +25,6 @@ Any Warmup device must be registered at prior to usage, This API is not known to be documented publicly. The binding api implementation has been derived from the implementations at and , and enhanced by inspecting the [GraphQL endpoint](https://apil.warmup.com/graphql). - ## Supported Things The Warmup binding supports the following thing types: @@ -38,8 +37,7 @@ The Warmup binding supports the following thing types: |----------|-------|------------------------------------------------------------------------------------------------| | `room` | Room | A room containing an individual Warmup WiFi connected device which controls a heating circuit. | -### Room - +**Room** The device is optimised for controlling underfloor heating (electric or hydronic), although it can also control central heating circuits. The device reports the temperature from one of two thermostats, either a floor temperature probe or the air temperature at the device. It appears to be possible to configure two devices in a primary / secondary configuration, but it is not clear how this might be represented by the API and hasn't been implemented. @@ -50,7 +48,7 @@ Once credentials are successfully added to the bridge, any rooms (devices) detec ## Thing Configuration -### My Warmup Account +### `my-warmup` Bridge Configuration | config parameter | type | description | required | default | |------------------|---------|-------------------------------------------------|----------|---------| @@ -58,7 +56,7 @@ Once credentials are successfully added to the bridge, any rooms (devices) detec | password | String | Password for my.warmup.com | true | | | refreshInterval | Integer | Interval in seconds between automatic refreshes | true | 300 | -### Room +### `Room` Thing Configuration Rooms are configured automatically with a Serial Number on discovery, or can be added manually using the "Device Number" from the device, excluding the last 3 characters. Changing the target temperature results in a temporary override to that temperature, for the duration configured on the thing. This defaults to 60 minutes. @@ -85,9 +83,9 @@ Rooms are configured automatically with a Serial Number on discovery, or can be ### Run Mode Statuses These run mode statuses are defined for the API. -The descriptions are based on inspection of the device behaviour and are not sourced from documentation. -Only the value `schedule` is writeable, this reverts the device to the program/schedule configured on the device. -The value `fixed` can be set by commanding the `fixedTemperature` channel. The value `override` can be set by commanding the `targetTemperature` channel. +The descriptions are based on inspection of the device behaviour and are not sourced from documentation. +Only the value `schedule` is writeable, this reverts the device to the program/schedule configured on the device. +The value `fixed` can be set by commanding the `fixedTemperature` channel. The value `override` can be set by commanding the `targetTemperature` channel. | api value | ui name | description | |------------|------------------|---------------------------------------------------------------------------------| @@ -133,6 +131,7 @@ getActions("warmup", "warmup:room:my_warmup:my_room").setOverride(18 | °C, 10 | ```javascript actions.get("warmup", "warmup:room:my_warmup:my_room").setOverride(Quantity("18 °C"), Quantity("10 min")); ``` + ::: :::: diff --git a/bundles/org.openhab.io.homekit/README.md b/bundles/org.openhab.io.homekit/README.md index 9d420b9e4db68..fd9734873715b 100644 --- a/bundles/org.openhab.io.homekit/README.md +++ b/bundles/org.openhab.io.homekit/README.md @@ -47,7 +47,7 @@ HomeKit integration supports following accessory types: - install homekit addon via UI -- add metadata to an existing item (see [UI based configuration](#UI-based-Configuration)) +- add metadata to an existing item (see [UI based configuration](#ui-based-configuration)) - scan QR code from UI->Settings->HomeKit Integration @@ -76,7 +76,6 @@ HomeKit integration supports following accessory types: Add metadata to more items or fine-tune your configuration using further settings - ## Global Configuration You can define HomeKit settings either via mainUI or via `$OPENHAB_CONF/services/homekit.cfg`. @@ -87,7 +86,7 @@ At the very least, you cannot use repeating (111-11-111) or sequential (123-45-6 Other settings, such as using Fahrenheit temperatures and specifying the interface to advertise the HomeKit bridge are also illustrated in the following sample: -``` +```perl org.openhab.homekit:port=9123 org.openhab.homekit:pin=031-45-154 org.openhab.homekit:useFahrenheitTemperature=true @@ -153,7 +152,6 @@ In order to add metadata to an item: - click on "Save" - ### Textual configuration ```java @@ -453,7 +451,7 @@ Rollershutter window "Window" {homekit = "Window" [invert Rollershutter door "Door" {homekit = "Door" [inverted=false]} ``` -HomeKit home app never sends "STOP" but only the target position. +HomeKit home app never sends "STOP" but only the target position. If you add configuration parameter "stop=true", openHAB will emulate stop and send "STOP" command to rollershutter item if you click on the blind icon in the iOS home app while the blind is moving. ```java @@ -517,9 +515,11 @@ String thermostat_target_mode "Thermostat Target Mode" In addition, thermostat can have thresholds for cooling and heating modes. When a thermostat is configured with all three of TargetTemperature, HeatingThresholdTemperature, and CoolingThresholdTemperature, Home will set the characteristics as follows: - * TargetTemperature is used when the thermostat is in HEAT or COOL TargetHeatingCoolingMode. - * CoolingThresholdThemperature and HeatingThresholdTemperature are _only_ used in AUTO TargetHeatingCoolingMode. - * In AUTO TargetHeatingCoolingMode, TargetTemperature will be set to the average of CoolingThresholdThemperature and HeatingThresholdTemperature. + +- TargetTemperature is used when the thermostat is in HEAT or COOL TargetHeatingCoolingMode. +- CoolingThresholdThemperature and HeatingThresholdTemperature are *only* used in AUTO TargetHeatingCoolingMode. +- In AUTO TargetHeatingCoolingMode, TargetTemperature will be set to the average of CoolingThresholdThemperature and HeatingThresholdTemperature. + Example with thresholds: ```java @@ -701,7 +701,7 @@ Switch motionsensor_tampered "Motion Sensor Tampered" or using UI ![sensor_ui_config.png](doc/sensor_ui_config.png) - + ### Stateless Programmable Switch Groups To expose multiple Stateless Programmable Switches as a single accessory with multiple buttons (aka a scene controller), you need to configure ServiceLabel on the accessory group and ServiceIndex on each switch. @@ -728,6 +728,7 @@ Enum mappings can have multiple values for a single key. These must be an array, not a comma separated string. If the characteristic can be set by HomeKit, the first value will be used when sending the command to the linked item. Such a mapping can be configured manually in MainUI on HomeKit metadata in the Code editor: + ```yaml value: "Lock" config: @@ -738,23 +739,27 @@ config: - UNLOCK - UNLOCKED ``` + Or in a `.items` file: + ```java String MyLock "My Lock" { homekit="Lock"[SECURE="LOCK","LOCKED", UNSECURE="UNLOCK","UNLOCKED"] } ``` All accessories support the following characteristics that can be set via metadata or linked to a String item: - * Name (defaults to item's label) - * Manufacturer (defaults to "none") - * Model (defaults to "none") - * SerialNumber (defaults to item's name) - * FirmwareRevision (defaults to "none") - * HardwareRevision (defaults to not present) + +- Name (defaults to item's label) +- Manufacturer (defaults to "none") +- Model (defaults to "none") +- SerialNumber (defaults to item's name) +- FirmwareRevision (defaults to "none") +- HardwareRevision (defaults to not present) Note that even though these characteristics can be linked to an item, they are not dynamic and cannot be updated once the Home app reads their initial values. All accessories also support the following optional characteristic that can be linked to a Switch item: - * Identify (receives `ON` command when the user wishes to identify the accessory) + +- Identify (receives `ON` command when the user wishes to identify the accessory) | Accessory Tag | Mandatory Characteristics | Optional Characteristics | Supported openHAB item types | Description | Configuration Options | Valid Enum Values | |-----------------------------|-----------------------------|-----------------------------|------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------| @@ -1073,7 +1078,7 @@ In order to overcome this limitation, you can instruct openHAB to expose multipl You will need to manually add each additional bridge in the Home app, since the QR Code in settings will only be for the primary bridge; however the same PIN is still used. In order to assign a particular accessory to a different bridge, set the `instance` metadata parameter: -``` +```java Switch kitchen_light {homekit="Lighting" [instance=2]} ``` @@ -1082,7 +1087,7 @@ If you reference an instance that doesn't exist, then that accessory won't be ex For complex items, only the root group needs to be tagged for the specific instance: -``` +```java Group gSecuritySystem "Security System Group" {homekit="SecuritySystem" [instance=2]} String security_current_state "Security Current State" (gSecuritySystem) {homekit="SecuritySystem.CurrentSecuritySystemState"} String security_target_state "Security Target State" (gSecuritySystem) {homekit="SecuritySystem.TargetSecuritySystemState"} @@ -1109,14 +1114,14 @@ Depending on the openHAB installation method, you should modify `start.sh`, `sta If you encounter any issues with the add-on and need support, it may be important to get detailed logs of your device's communication with openHAB. In order to get logs from the underlying library used to implement the HomeKit protocol, enable trace logging using the following commands at [the console](https://www.openhab.org/docs/administration/console.html): -``` +```shell openhab> log:set TRACE io.github.hapjava openhab> log:tail io.github.hapjava ``` In order to enable detailed logs of openHAB HomeKit binding -``` +```shell openhab> log:set TRACE org.openhab.io.homekit.internal openhab> log:tail org.openhab.io.homekit.internal ``` diff --git a/bundles/org.openhab.io.openhabcloud/README.md b/bundles/org.openhab.io.openhabcloud/README.md index c2038900cec86..3c319378f1245 100644 --- a/bundles/org.openhab.io.openhabcloud/README.md +++ b/bundles/org.openhab.io.openhabcloud/README.md @@ -57,7 +57,7 @@ This is also not required for remote access through the cloud service to functio Alternatively, you can configure the settings in the file `conf/services/openhabcloud.cfg`: -``` +```perl ############################## openHAB Cloud Connector ############################# # The URL of the openHAB Cloud service to connect to. @@ -93,24 +93,24 @@ To send push notifications, the notification actions have to be used in rules. Three different actions are available: -- `sendNotification(emailAddress, message)`: Send a notification to a _specific_ openHAB Cloud user. -- `sendBroadcastNotification(message)`: Send a broadcast notification to _all_ devices of _all_ users. -- `sendLogNotification(message)`: Send a log notification to the notifications list. Log notifications do not trigger a notification on the device. +* `sendNotification(emailAddress, message)`: Send a notification to a _specific_ openHAB Cloud user. +* `sendBroadcastNotification(message)`: Send a broadcast notification to _all_ devices of _all_ users. +* `sendLogNotification(message)`: Send a log notification to the notifications list. Log notifications do not trigger a notification on the device. For each of the three actions, there's another variant accepting an icon name and a tag: -- `sendNotification(emailAddress, message, icon, tag)` -- `sendBroadcastNotification(message, icon, tag)` -- `sendLogNotification(message, icon, tag)` +* `sendNotification(emailAddress, message, icon, tag)` +* `sendBroadcastNotification(message, icon, tag)` +* `sendLogNotification(message, icon, tag)` Icon and tag can potentially be used by cloud instance clients (such as the openHAB apps for Android or iOS) to be displayed in the notification itself and the list of notifications. The parameters for these actions have the following meaning: -- `emailAddress`: String containing the email address the target user is registered with in the cloud instance. -- `message`: String containing the notification message text. -- `icon`: String containing the icon name (as described in [Items: Icons]({{base}}/configuration/items.html#icons)). -- `tag`: String containing the tag for the notification. +* `emailAddress`: String containing the email address the target user is registered with in the cloud instance. +* `message`: String containing the notification message text. +* `icon`: String containing the icon name (as described in [Items: Icons]({{base}}/configuration/items.html#icons)). +* `tag`: String containing the tag for the notification. `null` may be used to skip the `icon` or `tag` parameter. @@ -118,32 +118,32 @@ The parameters for these actions have the following meaning: The `sendNotification` and `sendBroadcastNotification` actions additionally support setting a title, reference id, media attachments and actions. -- The tag is used for tagging messages for grouping when displaying in the app and to hide/remove groups of messages from a user's device. Tag was previously referred to as "severity". -- The title is displayed as the notification title on the device and defaults to "openHAB" for the Android and iOS apps. -- The reference id is a user supplied identifier that when set will replace messages with the same id on the user's device (so only the last version exists). It can be used to update or remove notifications. -- Media attachments are displayed together with the notification on the device and can be used to display images, e.g. a camera snapshot. -- Actions allow the user to interact with the notification, e.g. to open a specific page in the app or to send a command to an Item. +* The tag is used for tagging messages for grouping when displaying in the app and to hide/remove groups of messages from a user's device. Tag was previously referred to as "severity". +* The title is displayed as the notification title on the device and defaults to "openHAB" for the Android and iOS apps. +* The reference id is a user supplied identifier that when set will replace messages with the same id on the user's device (so only the last version exists). It can be used to update or remove notifications. +* Media attachments are displayed together with the notification on the device and can be used to display images, e.g. a camera snapshot. +* Actions allow the user to interact with the notification, e.g. to open a specific page in the app or to send a command to an Item. There are four different actions available: -- Click action: Is performed when the user clicks on the notification. -- Action button 1, 2 or 3: Is performed when the user clicks on the first, second or third action button. +* Click action: Is performed when the user clicks on the notification. +* Action button 1, 2 or 3: Is performed when the user clicks on the first, second or third action button. To specify media attachments and actions, there is another variant of the `sendNotification` and `sendBroadcastNotification` actions: -- `sendNotification(emailAddress, message, icon, tag, title, referenceId, onClickAction, mediaAttachmentUrl, actionButton1, actionButton2, actionButton3)` -- `sendBroadcastNotification(message, icon, tag, title, referenceId, onClickAction, mediaAttachmentUrl, actionButton1, actionButton2, actionButton3)` - +* `sendNotification(emailAddress, message, icon, tag, title, referenceId, onClickAction, mediaAttachmentUrl, actionButton1, actionButton2, actionButton3)` +* `sendBroadcastNotification(message, icon, tag, title, referenceId, onClickAction, mediaAttachmentUrl, actionButton1, actionButton2, actionButton3)` The additional parameter for these variants have the following meaning: -- `tag` : A user supplied tag to group messages for removing using the `hideNotificationByTag` action or grouping messages when displayed in the app. This renames the `severity` parameter, both are functionally identical. -- `title`: The title of the notification. Defaults to "openHAB" inside the Android and iOS apps. -- `referenceId`: A user supplied id to both replace existing messages when pushed, and later remove messages with the `hideNotificationByReferenceId` actions. -- `onClickAction`: The action to be performed when the user clicks on the notification. Specified using the [action syntax](#action-syntax). -- `mediaAttachmentUrl`: The URL of the media attachment to be displayed with the notification. This can either be a fully qualified URL, prefixed with `http://` or `https://` and reachable by the client device, a relative path on the user's openHAB instance starting with `/`, or an image item with the format `item:MyImageItem` -- `actionButton1`: The action to be performed when the user clicks on the first action button. Specified as `Title=$action`, where `$action` follows the [action syntax](#action-syntax). -- `actionButton2`: The action to be performed when the user clicks on the second action button. Specified as `Title=$action`, where `$action` follows the [action syntax](#action-syntax). -- `actionButton3`: The action to be performed when the user clicks on the third action button. Specified as `Title=$action`, where `$action` follows the [action syntax](#action-syntax). + +* `tag` : A user supplied tag to group messages for removing using the `hideNotificationByTag` action or grouping messages when displayed in the app. This renames the `severity` parameter, both are functionally identical. +* `title`: The title of the notification. Defaults to "openHAB" inside the Android and iOS apps. +* `referenceId`: A user supplied id to both replace existing messages when pushed, and later remove messages with the `hideNotificationByReferenceId` actions. +* `onClickAction`: The action to be performed when the user clicks on the notification. Specified using the [action syntax](#action-syntax). +* `mediaAttachmentUrl`: The URL of the media attachment to be displayed with the notification. This can either be a fully qualified URL, prefixed with `http://` or `https://` and reachable by the client device, a relative path on the user's openHAB instance starting with `/`, or an image item with the format `item:MyImageItem` +* `actionButton1`: The action to be performed when the user clicks on the first action button. Specified as `Title=$action`, where `$action` follows the [action syntax](#action-syntax). +* `actionButton2`: The action to be performed when the user clicks on the second action button. Specified as `Title=$action`, where `$action` follows the [action syntax](#action-syntax). +* `actionButton3`: The action to be performed when the user clicks on the third action button. Specified as `Title=$action`, where `$action` follows the [action syntax](#action-syntax). These parameters may be skipped by setting them to `null`. @@ -153,34 +153,34 @@ The action syntax is a string containing the action type and the action payload There are several types of actions available: -- `command`: Sends a command to an Item by using the following syntax: `command:$itemName:$commandString` where `$itemName` is the name of the Item and `$commandString` is the command to be sent. -- `ui`: Controls the UI in two possible ways: - - `ui:$path` where `$path` is either `/basicui/app?...` for navigating sitemaps (using the native renderer) or `/some/absolute/path` for navigating (using the web view). - - `ui:$commandItemSyntax` where `$commandItemSyntax` is the same syntax as used for the [UI Command Item]({{base}}/mainui/about.html#ui-command-item). -- `http:` or `https:` : Opens the fully qualified URL in an embedded browser on the device. -- `rule`: Runs a rule by using the following syntax: `rule:$ruleId:$prop1Key=$prop1Value,$prop2Key=$prop2Value,...` where `$ruleId` is the id of the rule, and optional properties to send to the rule are in the format `name=value` separated by commas. Most rules can omit the properties. -- `app`: Launches a native app when possible using the following syntax: `app:android=$appId,ios=$appId:$path` where `$appId` on Android is a qualified app id like `com.acme.app` (see [partial list of Android ids](https://github.com/petarov/google-android-app-ids)), and on iOS is the registered URL scheme along with an optional `$path` like `acme://foo` (see [partial list of iOS ids](https://github.com/bhagyas/app-urls)). Either `android` or `ios` can be omitted if that platform is not used. +* `command`: Sends a command to an Item by using the following syntax: `command:$itemName:$commandString` where `$itemName` is the name of the Item and `$commandString` is the command to be sent. +* `ui`: Controls the UI in two possible ways: + * `ui:$path` where `$path` is either `/basicui/app?...` for navigating sitemaps (using the native renderer) or `/some/absolute/path` for navigating (using the web view). + * `ui:$commandItemSyntax` where `$commandItemSyntax` is the same syntax as used for the [UI Command Item]({{base}}/mainui/about.html#ui-command-item). +* `http:` or `https:` : Opens the fully qualified URL in an embedded browser on the device. +* `rule`: Runs a rule by using the following syntax: `rule:$ruleId:$prop1Key=$prop1Value,$prop2Key=$prop2Value,...` where `$ruleId` is the id of the rule, and optional properties to send to the rule are in the format `name=value` separated by commas. Most rules can omit the properties. +* `app`: Launches a native app when possible using the following syntax: `app:android=$appId,ios=$appId:$path` where `$appId` on Android is a qualified app id like `com.acme.app` (see [partial list of Android ids](https://github.com/petarov/google-android-app-ids)), and on iOS is the registered URL scheme along with an optional `$path` like `acme://foo` (see [partial list of iOS ids](https://github.com/bhagyas/app-urls)). Either `android` or `ios` can be omitted if that platform is not used. Examples: -- `command:KitchenLights:ON` -- `command:KitchenBlinds:50` -- `ui:/basicui/app?w=0000&sitemap=main` (use Basic UI to get sitemap URL locations) -- `ui:/some/absolute/path`: Navigates to the absolut path `/some/absolute/path`. -- `ui:navigate:/page/my_floorplan_page`: Navigates Main UI to the page with the ID `my_floorplan_page`. -- `ui:popup:oh-clock-card`: Opens a popup with `oh-clock-card`. -- `https://openhab.org`: Opens an embedded browser to the site `https://openhab.org` -- `rule:02ffc3a297:prop1=foo`: Runs the rule with an id of `02ffc3a297` passing in an optional parameter named `prop1` with a value of `foo` -- `app:android=com.sonos.acr2,ios=sonos-2://`: Opens the Sonos app depending on the device type (Android or iOS) +* `command:KitchenLights:ON` +* `command:KitchenBlinds:50` +* `ui:/basicui/app?w=0000&sitemap=main` (use Basic UI to get sitemap URL locations) +* `ui:/some/absolute/path`: Navigates to the absolut path `/some/absolute/path`. +* `ui:navigate:/page/my_floorplan_page`: Navigates Main UI to the page with the ID `my_floorplan_page`. +* `ui:popup:oh-clock-card`: Opens a popup with `oh-clock-card`. +* `https://openhab.org`: Opens an embedded browser to the site `https://openhab.org` +* `rule:02ffc3a297:prop1=foo`: Runs the rule with an id of `02ffc3a297` passing in an optional parameter named `prop1` with a value of `foo` +* `app:android=com.sonos.acr2,ios=sonos-2://`: Opens the Sonos app depending on the device type (Android or iOS) ### Hide Notification Actions There are also actions to hide existing notifications, either by `referenceId` or `tag` (formerly severity): -- `hideNotificationByReferenceId(emailAddress, referenceId)` -- `hideBroadcastNotificationByReferenceId(referenceId)` -- `hideNotificationByTag(emailAddress, tag)` -- `hideBroadcastNotificationByTag(tag)` +* `hideNotificationByReferenceId(emailAddress, referenceId)` +* `hideBroadcastNotificationByReferenceId(referenceId)` +* `hideNotificationByTag(emailAddress, tag)` +* `hideBroadcastNotificationByTag(tag)` ### Examples @@ -198,6 +198,7 @@ then sendNotification("me@email.com", "Front door was opened!") end ``` + ::: ::: tab JS diff --git a/bundles/org.openhab.persistence.dynamodb/README.md b/bundles/org.openhab.persistence.dynamodb/README.md index db54fe0fb6c31..1a060dec5d3fb 100644 --- a/bundles/org.openhab.persistence.dynamodb/README.md +++ b/bundles/org.openhab.persistence.dynamodb/README.md @@ -59,7 +59,6 @@ For users with old table schema, one can use pre-existing policy `AmazonDynamoDB * Modify the AWS account id from `055251986555` to to the one you have on clipboard (see step 2 above) * If you are on some other region than `eu-west-1`, change the entry accordingly - ```json { "Version": "2012-10-17", @@ -267,4 +266,3 @@ Eclipse instructions ``` The `--add-opens` parameter is necessary also with the local temporary DynamoDB server, otherwise the mockito will fail at runtime with (`java.base does not "opens java.lang" to unnamed module`). - diff --git a/bundles/org.openhab.voice.googletts/README.md b/bundles/org.openhab.voice.googletts/README.md index 2038faa239ea8..3fe8eb22e1d0c 100644 --- a/bundles/org.openhab.voice.googletts/README.md +++ b/bundles/org.openhab.voice.googletts/README.md @@ -1,7 +1,7 @@ # Google Cloud Text-to-Speech -Google Cloud TTS Service uses the non-free Google Cloud Text-to-Speech API to convert text or Speech Synthesis Markup Language (SSML) input into audio data of natural human speech. -It provides multiple voices, available in different languages and variants and applies DeepMind’s groundbreaking research in WaveNet and Google’s powerful neural networks. +Google Cloud TTS Service uses the non-free Google Cloud Text-to-Speech API to convert text or Speech Synthesis Markup Language (SSML) input into audio data of natural human speech. +It provides multiple voices, available in different languages and variants and applies DeepMind’s groundbreaking research in WaveNet and Google’s powerful neural networks. The Google Cloud TTS service uses the openHAB TTS cache to cache audio files produced from the most recent queries in order to reduce traffic, improve performance and reduce number of requests. Be aware, that using this service may incur cost on your Google Cloud account. You can find pricing information on the [documentation page](https://cloud.google.com/text-to-speech/#pricing-summary). @@ -53,7 +53,7 @@ In case you would like to setup the service via a text file, create a new file i Its contents should look similar to: -``` +```perl org.openhab.voice.googletts:clientId=ID org.openhab.voice.googletts:clientSecret=SECRET org.openhab.voice.googletts:authcode=XXXXX @@ -73,11 +73,13 @@ You can setup your preferred default Text-to-Speech and default voice in the UI: In case you would like to setup these settings via a text file, you can edit the file `runtime.cfg` in `$OPENHAB_ROOT/conf/services` and set the following entries: -``` +```perl org.openhab.voice:defaultTTS=googletts org.openhab.voice:defaultVoice=googletts:XXX ``` + You can see the available voices by entering `voice voices` in the karaf console + ```shell openhab> voice voices ... From c1f70ad61133ba6566c8942a79576e7e4f3d88cd Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sun, 15 Sep 2024 23:51:20 +0200 Subject: [PATCH 02/11] Removed excess icons Signed-off-by: Leo Siepel --- .../doc/icon/uv-index-0.svg | 30 --------- .../doc/icon/uv-index-1.svg | 53 ---------------- .../doc/icon/uv-index-10.svg | 58 ------------------ .../doc/icon/uv-index-11.svg | 61 ------------------- .../doc/icon/uv-index-2.svg | 54 ---------------- .../doc/icon/uv-index-3.svg | 54 ---------------- .../doc/icon/uv-index-4.svg | 54 ---------------- .../doc/icon/uv-index-5.svg | 54 ---------------- .../doc/icon/uv-index-6.svg | 54 ---------------- .../doc/icon/uv-index-7.svg | 53 ---------------- .../doc/icon/uv-index-8.svg | 54 ---------------- .../doc/icon/uv-index-9.svg | 54 ---------------- 12 files changed, 633 deletions(-) delete mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-0.svg delete mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-1.svg delete mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-10.svg delete mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-11.svg delete mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-2.svg delete mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-3.svg delete mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-4.svg delete mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-5.svg delete mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-6.svg delete mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-7.svg delete mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-8.svg delete mode 100644 bundles/org.openhab.binding.openuv/doc/icon/uv-index-9.svg diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-0.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-0.svg deleted file mode 100644 index 11e05be4d62fa..0000000000000 --- a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-0.svg +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-1.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-1.svg deleted file mode 100644 index 2767a07764595..0000000000000 --- a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-1.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-10.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-10.svg deleted file mode 100644 index de933d523c0d8..0000000000000 --- a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-10.svg +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-11.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-11.svg deleted file mode 100644 index 368dacdeabad9..0000000000000 --- a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-11.svg +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-2.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-2.svg deleted file mode 100644 index 1b1b8c48c32ef..0000000000000 --- a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-2.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-3.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-3.svg deleted file mode 100644 index db47338c86b43..0000000000000 --- a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-3.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-4.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-4.svg deleted file mode 100644 index 186c07cde948f..0000000000000 --- a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-4.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-5.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-5.svg deleted file mode 100644 index 44cd7a6c2c9d6..0000000000000 --- a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-5.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-6.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-6.svg deleted file mode 100644 index 459828eb94972..0000000000000 --- a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-6.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-7.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-7.svg deleted file mode 100644 index f2e2489d66ff9..0000000000000 --- a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-7.svg +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-8.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-8.svg deleted file mode 100644 index bd10d4bc9b1d8..0000000000000 --- a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-8.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-9.svg b/bundles/org.openhab.binding.openuv/doc/icon/uv-index-9.svg deleted file mode 100644 index da658b9a4aeb1..0000000000000 --- a/bundles/org.openhab.binding.openuv/doc/icon/uv-index-9.svg +++ /dev/null @@ -1,54 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 90ac2d9a5d47214f019731d14c89fd5e35c1a570 Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Tue, 17 Sep 2024 22:07:55 +0200 Subject: [PATCH 03/11] Review comment Signed-off-by: Leo Siepel --- bundles/org.openhab.binding.warmup/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.warmup/README.md b/bundles/org.openhab.binding.warmup/README.md index 6868416839d0a..470323ec21861 100644 --- a/bundles/org.openhab.binding.warmup/README.md +++ b/bundles/org.openhab.binding.warmup/README.md @@ -56,7 +56,7 @@ Once credentials are successfully added to the bridge, any rooms (devices) detec | password | String | Password for my.warmup.com | true | | | refreshInterval | Integer | Interval in seconds between automatic refreshes | true | 300 | -### `Room` Thing Configuration +### `room` Thing Configuration Rooms are configured automatically with a Serial Number on discovery, or can be added manually using the "Device Number" from the device, excluding the last 3 characters. Changing the target temperature results in a temporary override to that temperature, for the duration configured on the thing. This defaults to 60 minutes. From 8eb97f70adf47f5017ccd9daf9c9afcc81341c19 Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sat, 21 Sep 2024 19:57:33 +0200 Subject: [PATCH 04/11] Revert meteoalerte Signed-off-by: Leo Siepel --- .../org.openhab.binding.meteoalerte/README.md | 25 ++++++++-------- .../doc/icon/avalanches.svg | 18 ------------ .../doc/icon/canicule.svg | 21 -------------- .../doc/icon/grand-froid.svg | 20 ------------- .../doc/icon/inondation.svg | 11 ------- .../doc/icon/meteo_france.svg | 13 --------- .../doc/icon/neige.svg | 7 ----- .../doc/icon/orage.svg | 13 --------- .../doc/icon/pluie-inondation.svg | 16 ---------- .../doc/icon/vague-submersion.svg | 7 ----- .../doc/icon/vent.svg | 29 ------------------- 11 files changed, 13 insertions(+), 167 deletions(-) delete mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/avalanches.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/canicule.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/grand-froid.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/inondation.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/meteo_france.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/neige.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/orage.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/pluie-inondation.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/vague-submersion.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/doc/icon/vent.svg diff --git a/bundles/org.openhab.binding.meteoalerte/README.md b/bundles/org.openhab.binding.meteoalerte/README.md index 39afe16851bd4..7af859b6fd8ce 100644 --- a/bundles/org.openhab.binding.meteoalerte/README.md +++ b/bundles/org.openhab.binding.meteoalerte/README.md @@ -63,18 +63,19 @@ The Météo Alerte information that are retrieved is available as these channels This binding has its own IconProvider and makes available the following list of icons -| Icon Name | Dynamic | Illustration | -|---------------------------------|---------|------------------------------------| -| oh:meteoalerte:vent | Yes | ![](doc/icon/vent.svg) | -| oh:meteoalerte:pluie-inondation | Yes | ![](doc/icon/pluie-inondation.svg) | -| oh:meteoalerte:orage | Yes | ![](doc/icon/orage.svg) | -| oh:meteoalerte:inondation | Yes | ![](doc/icon/inondation.svg) | -| oh:meteoalerte:neige | Yes | ![](doc/icon/neige.svg) | -| oh:meteoalerte:canicule | Yes | ![](doc/icon/canicule.svg) | -| oh:meteoalerte:grand-froid | Yes | ![](doc/icon/grand-froid.svg) | -| oh:meteoalerte:avalanches | Yes | ![](doc/icon/avalanches.svg) | -| oh:meteoalerte:vague-submersion | Yes | ![](doc/icon/vague-submersion.svg) | -| oh:meteoalerte:meteo_france | No | ![](doc/icon/meteo_france.svg) | +| Icon Name | Dynamic | Illustration | +|---------------------------------|---------|--------------| +| oh:meteoalerte:vent | Yes | ![](src/main/resources/icon/vent.svg) | +| oh:meteoalerte:pluie-inondation | Yes | ![](src/main/resources/icon/pluie-inondation.svg) | +| oh:meteoalerte:orage | Yes | ![](src/main/resources/icon/orage.svg) | +| oh:meteoalerte:inondation | Yes | ![](src/main/resources/icon/inondation.svg) | +| oh:meteoalerte:neige | Yes | ![](src/main/resources/icon/neige.svg) | +| oh:meteoalerte:canicule | Yes | ![](src/main/resources/icon/canicule.svg) | +| oh:meteoalerte:grand-froid | Yes | ![](src/main/resources/icon/grand-froid.svg) | +| oh:meteoalerte:avalanches | Yes | ![](src/main/resources/icon/avalanches.svg) | +| oh:meteoalerte:vague-submersion | Yes | ![](src/main/resources/icon/vague-submersion.svg) | +| oh:meteoalerte:meteo_france | No | ![](src/main/resources/icon/meteo_france.svg) | + ## Full Example diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/avalanches.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/avalanches.svg deleted file mode 100644 index fed125ab74b7d..0000000000000 --- a/bundles/org.openhab.binding.meteoalerte/doc/icon/avalanches.svg +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/canicule.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/canicule.svg deleted file mode 100644 index a1bf4b5ef4d8d..0000000000000 --- a/bundles/org.openhab.binding.meteoalerte/doc/icon/canicule.svg +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/grand-froid.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/grand-froid.svg deleted file mode 100644 index 0a039b6c31d25..0000000000000 --- a/bundles/org.openhab.binding.meteoalerte/doc/icon/grand-froid.svg +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/inondation.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/inondation.svg deleted file mode 100644 index 3d77bbb2f8220..0000000000000 --- a/bundles/org.openhab.binding.meteoalerte/doc/icon/inondation.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/meteo_france.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/meteo_france.svg deleted file mode 100644 index f0292810b1715..0000000000000 --- a/bundles/org.openhab.binding.meteoalerte/doc/icon/meteo_france.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/neige.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/neige.svg deleted file mode 100644 index 59a7d9fb6d667..0000000000000 --- a/bundles/org.openhab.binding.meteoalerte/doc/icon/neige.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/orage.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/orage.svg deleted file mode 100644 index 9eed1fe58892a..0000000000000 --- a/bundles/org.openhab.binding.meteoalerte/doc/icon/orage.svg +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/pluie-inondation.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/pluie-inondation.svg deleted file mode 100644 index 31dd8c2530f40..0000000000000 --- a/bundles/org.openhab.binding.meteoalerte/doc/icon/pluie-inondation.svg +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/vague-submersion.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/vague-submersion.svg deleted file mode 100644 index 6094a657f03c1..0000000000000 --- a/bundles/org.openhab.binding.meteoalerte/doc/icon/vague-submersion.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/bundles/org.openhab.binding.meteoalerte/doc/icon/vent.svg b/bundles/org.openhab.binding.meteoalerte/doc/icon/vent.svg deleted file mode 100644 index 8a8eab70a19a9..0000000000000 --- a/bundles/org.openhab.binding.meteoalerte/doc/icon/vent.svg +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 8cd2958a5c3ba8a75c4d841b39741514844f55e3 Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sat, 21 Sep 2024 20:03:47 +0200 Subject: [PATCH 05/11] Revert perl code fences Signed-off-by: Leo Siepel --- bundles/org.openhab.io.homekit/README.md | 2 +- bundles/org.openhab.io.openhabcloud/README.md | 4 ++-- bundles/org.openhab.voice.googletts/README.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bundles/org.openhab.io.homekit/README.md b/bundles/org.openhab.io.homekit/README.md index fd9734873715b..0027d35457d3c 100644 --- a/bundles/org.openhab.io.homekit/README.md +++ b/bundles/org.openhab.io.homekit/README.md @@ -86,7 +86,7 @@ At the very least, you cannot use repeating (111-11-111) or sequential (123-45-6 Other settings, such as using Fahrenheit temperatures and specifying the interface to advertise the HomeKit bridge are also illustrated in the following sample: -```perl +``` org.openhab.homekit:port=9123 org.openhab.homekit:pin=031-45-154 org.openhab.homekit:useFahrenheitTemperature=true diff --git a/bundles/org.openhab.io.openhabcloud/README.md b/bundles/org.openhab.io.openhabcloud/README.md index 3c319378f1245..9b502309e579e 100644 --- a/bundles/org.openhab.io.openhabcloud/README.md +++ b/bundles/org.openhab.io.openhabcloud/README.md @@ -57,7 +57,7 @@ This is also not required for remote access through the cloud service to functio Alternatively, you can configure the settings in the file `conf/services/openhabcloud.cfg`: -```perl +``` ############################## openHAB Cloud Connector ############################# # The URL of the openHAB Cloud service to connect to. @@ -70,7 +70,7 @@ Alternatively, you can configure the settings in the file `conf/services/openhab # - notification: Only push notifications are enabled, no remote access is allowed. # - remote: Push notifications and remote access are enabled. # Optional, default is 'remote'. -#mode= +mode= # A comma-separated list of items to be exposed to external services like IFTTT. # Events of those items are pushed to the openHAB Cloud and commands received for diff --git a/bundles/org.openhab.voice.googletts/README.md b/bundles/org.openhab.voice.googletts/README.md index 3fe8eb22e1d0c..7062b10cb9c82 100644 --- a/bundles/org.openhab.voice.googletts/README.md +++ b/bundles/org.openhab.voice.googletts/README.md @@ -53,7 +53,7 @@ In case you would like to setup the service via a text file, create a new file i Its contents should look similar to: -```perl +``` org.openhab.voice.googletts:clientId=ID org.openhab.voice.googletts:clientSecret=SECRET org.openhab.voice.googletts:authcode=XXXXX From a5506026e6ac8a5035129c67ba2596a1e6c41bfd Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sat, 21 Sep 2024 20:04:12 +0200 Subject: [PATCH 06/11] Revert another perl block Signed-off-by: Leo Siepel --- bundles/org.openhab.voice.googletts/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundles/org.openhab.voice.googletts/README.md b/bundles/org.openhab.voice.googletts/README.md index 7062b10cb9c82..e8e75900df6ae 100644 --- a/bundles/org.openhab.voice.googletts/README.md +++ b/bundles/org.openhab.voice.googletts/README.md @@ -73,7 +73,7 @@ You can setup your preferred default Text-to-Speech and default voice in the UI: In case you would like to setup these settings via a text file, you can edit the file `runtime.cfg` in `$OPENHAB_ROOT/conf/services` and set the following entries: -```perl +``` org.openhab.voice:defaultTTS=googletts org.openhab.voice:defaultVoice=googletts:XXX ``` From 310fbdbae74ce176712e43d3497ded8bfd9983f3 Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sat, 28 Sep 2024 10:32:04 +0200 Subject: [PATCH 07/11] Review comments Signed-off-by: Leo Siepel --- bundles/org.openhab.binding.warmup/README.md | 18 +-- bundles/org.openhab.io.openhabcloud/README.md | 104 +++++++++--------- bundles/org.openhab.voice.googletts/README.md | 30 ++--- 3 files changed, 76 insertions(+), 76 deletions(-) diff --git a/bundles/org.openhab.binding.warmup/README.md b/bundles/org.openhab.binding.warmup/README.md index 470323ec21861..bdf01fcd601ad 100644 --- a/bundles/org.openhab.binding.warmup/README.md +++ b/bundles/org.openhab.binding.warmup/README.md @@ -4,21 +4,21 @@ This binding integrates [Warmup](https://www.warmup.co.uk) Wifi enabled Thermost Devices known to work with the binding: -* [Warmup 4iE](https://www.warmup.co.uk/thermostats/smart/4ie-underfloor-heating) -* [Warmup Element](https://www.warmup.co.uk/thermostats/smart/element-wifi-thermostat) +- [Warmup 4iE](https://www.warmup.co.uk/thermostats/smart/4ie-underfloor-heating) +- [Warmup Element](https://www.warmup.co.uk/thermostats/smart/element-wifi-thermostat) Device expected to work with the binding: -* [Warmup 6iE](https://www.warmup.co.uk/thermostats/smart/6ie-underfloor-heating) +- [Warmup 6iE](https://www.warmup.co.uk/thermostats/smart/6ie-underfloor-heating) Devices which might work with the binding: -* Other similar looking devices marketed under different brands, mentioned in the API - * [Laticrete](https://laticrete.com/) - * [Rointe](https://rointe.com/) - * [Porcelanosa](https://www.porcelanosa.com/) - * Equus - * [Savant](https://www.savant.com/) +- Other similar looking devices marketed under different brands, mentioned in the API + - [Laticrete](https://laticrete.com/) + - [Rointe](https://rointe.com/) + - [Porcelanosa](https://www.porcelanosa.com/) + - Equus + - [Savant](https://www.savant.com/) Any Warmup device must be registered at prior to usage, or connected through the [MyHeating app](https://www.warmup.co.uk/thermostats/smart/myheating-app). diff --git a/bundles/org.openhab.io.openhabcloud/README.md b/bundles/org.openhab.io.openhabcloud/README.md index 9b502309e579e..f150eeb576f4c 100644 --- a/bundles/org.openhab.io.openhabcloud/README.md +++ b/bundles/org.openhab.io.openhabcloud/README.md @@ -7,16 +7,16 @@ openHAB Cloud service hosted by the [openHAB Foundation](https://www.openhabfoun The openHAB Cloud service (and thus the connector to it) is useful for different use cases: -* It allows remote access to local openHAB instances without having to expose ports to the Internet or to require a complex VPN setup. -* It serves as a connector to Firebase Cloud Messaging (FCM) for pushing notifications to mobile phone apps. -* It provides integrations with 3rd party services that require OAuth2 authentication, such as Amazon Alexa or Google Home applications. +- It allows remote access to local openHAB instances without having to expose ports to the Internet or to require a complex VPN setup. +- It serves as a connector to Firebase Cloud Messaging (FCM) for pushing notifications to mobile phone apps. +- It provides integrations with 3rd party services that require OAuth2 authentication, such as Amazon Alexa or Google Home applications. ## Installation via UI -* Open the openHAB web UI and login as an administrator. -* Click on Add-on Store, followed by System Integrations. -* Use the Install button to install the openHAB Cloud Connector. -* Register your session (https://myopenhab.org/) using UUID and Secret. +- Open the openHAB web UI and login as an administrator. +- Click on Add-on Store, followed by System Integrations. +- Use the Install button to install the openHAB Cloud Connector. +- Register your session (https://myopenhab.org/) using UUID and Secret. ## UUID and Secret @@ -57,7 +57,7 @@ This is also not required for remote access through the cloud service to functio Alternatively, you can configure the settings in the file `conf/services/openhabcloud.cfg`: -``` +```ini ############################## openHAB Cloud Connector ############################# # The URL of the openHAB Cloud service to connect to. @@ -70,7 +70,7 @@ Alternatively, you can configure the settings in the file `conf/services/openhab # - notification: Only push notifications are enabled, no remote access is allowed. # - remote: Push notifications and remote access are enabled. # Optional, default is 'remote'. -mode= +#mode= # A comma-separated list of items to be exposed to external services like IFTTT. # Events of those items are pushed to the openHAB Cloud and commands received for @@ -93,15 +93,15 @@ To send push notifications, the notification actions have to be used in rules. Three different actions are available: -* `sendNotification(emailAddress, message)`: Send a notification to a _specific_ openHAB Cloud user. -* `sendBroadcastNotification(message)`: Send a broadcast notification to _all_ devices of _all_ users. -* `sendLogNotification(message)`: Send a log notification to the notifications list. Log notifications do not trigger a notification on the device. +- `sendNotification(emailAddress, message)`: Send a notification to a _specific_ openHAB Cloud user. +- `sendBroadcastNotification(message)`: Send a broadcast notification to _all_ devices of _all_ users. +- `sendLogNotification(message)`: Send a log notification to the notifications list. Log notifications do not trigger a notification on the device. For each of the three actions, there's another variant accepting an icon name and a tag: -* `sendNotification(emailAddress, message, icon, tag)` -* `sendBroadcastNotification(message, icon, tag)` -* `sendLogNotification(message, icon, tag)` +- `sendNotification(emailAddress, message, icon, tag)` +- `sendBroadcastNotification(message, icon, tag)` +- `sendLogNotification(message, icon, tag)` Icon and tag can potentially be used by cloud instance clients (such as the openHAB apps for Android or iOS) to be displayed in the notification itself and the list of notifications. @@ -118,32 +118,32 @@ The parameters for these actions have the following meaning: The `sendNotification` and `sendBroadcastNotification` actions additionally support setting a title, reference id, media attachments and actions. -* The tag is used for tagging messages for grouping when displaying in the app and to hide/remove groups of messages from a user's device. Tag was previously referred to as "severity". -* The title is displayed as the notification title on the device and defaults to "openHAB" for the Android and iOS apps. -* The reference id is a user supplied identifier that when set will replace messages with the same id on the user's device (so only the last version exists). It can be used to update or remove notifications. -* Media attachments are displayed together with the notification on the device and can be used to display images, e.g. a camera snapshot. -* Actions allow the user to interact with the notification, e.g. to open a specific page in the app or to send a command to an Item. +- The tag is used for tagging messages for grouping when displaying in the app and to hide/remove groups of messages from a user's device. Tag was previously referred to as "severity". +- The title is displayed as the notification title on the device and defaults to "openHAB" for the Android and iOS apps. +- The reference id is a user supplied identifier that when set will replace messages with the same id on the user's device (so only the last version exists). It can be used to update or remove notifications. +- Media attachments are displayed together with the notification on the device and can be used to display images, e.g. a camera snapshot. +- Actions allow the user to interact with the notification, e.g. to open a specific page in the app or to send a command to an Item. There are four different actions available: -* Click action: Is performed when the user clicks on the notification. -* Action button 1, 2 or 3: Is performed when the user clicks on the first, second or third action button. +- Click action: Is performed when the user clicks on the notification. +- Action button 1, 2 or 3: Is performed when the user clicks on the first, second or third action button. To specify media attachments and actions, there is another variant of the `sendNotification` and `sendBroadcastNotification` actions: -* `sendNotification(emailAddress, message, icon, tag, title, referenceId, onClickAction, mediaAttachmentUrl, actionButton1, actionButton2, actionButton3)` -* `sendBroadcastNotification(message, icon, tag, title, referenceId, onClickAction, mediaAttachmentUrl, actionButton1, actionButton2, actionButton3)` +- `sendNotification(emailAddress, message, icon, tag, title, referenceId, onClickAction, mediaAttachmentUrl, actionButton1, actionButton2, actionButton3)` +- `sendBroadcastNotification(message, icon, tag, title, referenceId, onClickAction, mediaAttachmentUrl, actionButton1, actionButton2, actionButton3)` The additional parameter for these variants have the following meaning: -* `tag` : A user supplied tag to group messages for removing using the `hideNotificationByTag` action or grouping messages when displayed in the app. This renames the `severity` parameter, both are functionally identical. -* `title`: The title of the notification. Defaults to "openHAB" inside the Android and iOS apps. -* `referenceId`: A user supplied id to both replace existing messages when pushed, and later remove messages with the `hideNotificationByReferenceId` actions. -* `onClickAction`: The action to be performed when the user clicks on the notification. Specified using the [action syntax](#action-syntax). -* `mediaAttachmentUrl`: The URL of the media attachment to be displayed with the notification. This can either be a fully qualified URL, prefixed with `http://` or `https://` and reachable by the client device, a relative path on the user's openHAB instance starting with `/`, or an image item with the format `item:MyImageItem` -* `actionButton1`: The action to be performed when the user clicks on the first action button. Specified as `Title=$action`, where `$action` follows the [action syntax](#action-syntax). -* `actionButton2`: The action to be performed when the user clicks on the second action button. Specified as `Title=$action`, where `$action` follows the [action syntax](#action-syntax). -* `actionButton3`: The action to be performed when the user clicks on the third action button. Specified as `Title=$action`, where `$action` follows the [action syntax](#action-syntax). +- `tag` : A user supplied tag to group messages for removing using the `hideNotificationByTag` action or grouping messages when displayed in the app. This renames the `severity` parameter, both are functionally identical. +- `title`: The title of the notification. Defaults to "openHAB" inside the Android and iOS apps. +- `referenceId`: A user supplied id to both replace existing messages when pushed, and later remove messages with the `hideNotificationByReferenceId` actions. +- `onClickAction`: The action to be performed when the user clicks on the notification. Specified using the [action syntax](#action-syntax). +- `mediaAttachmentUrl`: The URL of the media attachment to be displayed with the notification. This can either be a fully qualified URL, prefixed with `http://` or `https://` and reachable by the client device, a relative path on the user's openHAB instance starting with `/`, or an image item with the format `item:MyImageItem` +- `actionButton1`: The action to be performed when the user clicks on the first action button. Specified as `Title=$action`, where `$action` follows the [action syntax](#action-syntax). +- `actionButton2`: The action to be performed when the user clicks on the second action button. Specified as `Title=$action`, where `$action` follows the [action syntax](#action-syntax). +- `actionButton3`: The action to be performed when the user clicks on the third action button. Specified as `Title=$action`, where `$action` follows the [action syntax](#action-syntax). These parameters may be skipped by setting them to `null`. @@ -153,34 +153,34 @@ The action syntax is a string containing the action type and the action payload There are several types of actions available: -* `command`: Sends a command to an Item by using the following syntax: `command:$itemName:$commandString` where `$itemName` is the name of the Item and `$commandString` is the command to be sent. -* `ui`: Controls the UI in two possible ways: - * `ui:$path` where `$path` is either `/basicui/app?...` for navigating sitemaps (using the native renderer) or `/some/absolute/path` for navigating (using the web view). - * `ui:$commandItemSyntax` where `$commandItemSyntax` is the same syntax as used for the [UI Command Item]({{base}}/mainui/about.html#ui-command-item). -* `http:` or `https:` : Opens the fully qualified URL in an embedded browser on the device. -* `rule`: Runs a rule by using the following syntax: `rule:$ruleId:$prop1Key=$prop1Value,$prop2Key=$prop2Value,...` where `$ruleId` is the id of the rule, and optional properties to send to the rule are in the format `name=value` separated by commas. Most rules can omit the properties. -* `app`: Launches a native app when possible using the following syntax: `app:android=$appId,ios=$appId:$path` where `$appId` on Android is a qualified app id like `com.acme.app` (see [partial list of Android ids](https://github.com/petarov/google-android-app-ids)), and on iOS is the registered URL scheme along with an optional `$path` like `acme://foo` (see [partial list of iOS ids](https://github.com/bhagyas/app-urls)). Either `android` or `ios` can be omitted if that platform is not used. +- `command`: Sends a command to an Item by using the following syntax: `command:$itemName:$commandString` where `$itemName` is the name of the Item and `$commandString` is the command to be sent. +- `ui`: Controls the UI in two possible ways: + - `ui:$path` where `$path` is either `/basicui/app?...` for navigating sitemaps (using the native renderer) or `/some/absolute/path` for navigating (using the web view). + - `ui:$commandItemSyntax` where `$commandItemSyntax` is the same syntax as used for the [UI Command Item]({{base}}/mainui/about.html#ui-command-item). +- `http:` or `https:` : Opens the fully qualified URL in an embedded browser on the device. +- `rule`: Runs a rule by using the following syntax: `rule:$ruleId:$prop1Key=$prop1Value,$prop2Key=$prop2Value,...` where `$ruleId` is the id of the rule, and optional properties to send to the rule are in the format `name=value` separated by commas. Most rules can omit the properties. +- `app`: Launches a native app when possible using the following syntax: `app:android=$appId,ios=$appId:$path` where `$appId` on Android is a qualified app id like `com.acme.app` (see [partial list of Android ids](https://github.com/petarov/google-android-app-ids)), and on iOS is the registered URL scheme along with an optional `$path` like `acme://foo` (see [partial list of iOS ids](https://github.com/bhagyas/app-urls)). Either `android` or `ios` can be omitted if that platform is not used. Examples: -* `command:KitchenLights:ON` -* `command:KitchenBlinds:50` -* `ui:/basicui/app?w=0000&sitemap=main` (use Basic UI to get sitemap URL locations) -* `ui:/some/absolute/path`: Navigates to the absolut path `/some/absolute/path`. -* `ui:navigate:/page/my_floorplan_page`: Navigates Main UI to the page with the ID `my_floorplan_page`. -* `ui:popup:oh-clock-card`: Opens a popup with `oh-clock-card`. -* `https://openhab.org`: Opens an embedded browser to the site `https://openhab.org` -* `rule:02ffc3a297:prop1=foo`: Runs the rule with an id of `02ffc3a297` passing in an optional parameter named `prop1` with a value of `foo` -* `app:android=com.sonos.acr2,ios=sonos-2://`: Opens the Sonos app depending on the device type (Android or iOS) +- `command:KitchenLights:ON` +- `command:KitchenBlinds:50` +- `ui:/basicui/app?w=0000&sitemap=main` (use Basic UI to get sitemap URL locations) +- `ui:/some/absolute/path`: Navigates to the absolut path `/some/absolute/path`. +- `ui:navigate:/page/my_floorplan_page`: Navigates Main UI to the page with the ID `my_floorplan_page`. +- `ui:popup:oh-clock-card`: Opens a popup with `oh-clock-card`. +- `https://openhab.org`: Opens an embedded browser to the site `https://openhab.org` +- `rule:02ffc3a297:prop1=foo`: Runs the rule with an id of `02ffc3a297` passing in an optional parameter named `prop1` with a value of `foo` +- `app:android=com.sonos.acr2,ios=sonos-2://`: Opens the Sonos app depending on the device type (Android or iOS) ### Hide Notification Actions There are also actions to hide existing notifications, either by `referenceId` or `tag` (formerly severity): -* `hideNotificationByReferenceId(emailAddress, referenceId)` -* `hideBroadcastNotificationByReferenceId(referenceId)` -* `hideNotificationByTag(emailAddress, tag)` -* `hideBroadcastNotificationByTag(tag)` +- `hideNotificationByReferenceId(emailAddress, referenceId)` +- `hideBroadcastNotificationByReferenceId(referenceId)` +- `hideNotificationByTag(emailAddress, tag)` +- `hideBroadcastNotificationByTag(tag)` ### Examples diff --git a/bundles/org.openhab.voice.googletts/README.md b/bundles/org.openhab.voice.googletts/README.md index e8e75900df6ae..7665fc98a073d 100644 --- a/bundles/org.openhab.voice.googletts/README.md +++ b/bundles/org.openhab.voice.googletts/README.md @@ -10,9 +10,9 @@ You can find pricing information on the [documentation page](https://cloud.googl -* [Obtaining Credentials](#obtaining-credentials) -* [Configuration](#configuration) -* [Voice Configuration](#default-text-to-speech-and-voice-configuration) +- [Obtaining Credentials](#obtaining-credentials) +- [Configuration](#configuration) +- [Voice Configuration](#default-text-to-speech-and-voice-configuration) @@ -36,24 +36,24 @@ Before you can integrate this service with your Google Cloud Text-to-Speech, you Using your favorite configuration UI to edit **Settings / Other Services - Google Cloud Text-to-Speech** and set: -* **Client Id** - Google Cloud Platform OAuth 2.0-Client Id. -* **Client Secret** - Google Cloud Platform OAuth 2.0-Client Secret. -* **Authorization Code** - This code is used once for retrieving the Google Cloud Platform access and refresh tokens. +- **Client Id** - Google Cloud Platform OAuth 2.0-Client Id. +- **Client Secret** - Google Cloud Platform OAuth 2.0-Client Secret. +- **Authorization Code** - This code is used once for retrieving the Google Cloud Platform access and refresh tokens. 1. Go to `OAuth consent screen` ([link](https://console.cloud.google.com/apis/credentials/consent)) and set the `publishing status` to `production` to activate the created project. 2. Wait a few minutes. The step before takes some time to go live. Sometimes it is necessary to wait a few hours, so you can try after some minutes, if it doesn't work, try again the next day. 3. Go to your browser and access the following URL to generate an authorization code [https://accounts.google.com/o/oauth2/v2/auth?scope=https://www.googleapis.com/auth/cloud-platform&access_type=offline&prompt=consent&include_granted_scopes=true&response_type=code&redirect_uri=https://www.google.com&client_id=](https://accounts.google.com/o/oauth2/v2/auth?scope=https://www.googleapis.com/auth/cloud-platform&access_type=offline&prompt=consent&include_granted_scopes=true&response_type=code&redirect_uri=https://www.google.com&client_id=CLIENTID) (replace `CLIENTID` at the end by your Client Id) 4. After your browser has been redirected to https://www.google.com, the authorization code will be set in the browser URL as value of the "code" URL query parameter (e.g. `https://www.google.com/?code=XXXXXXXXXX&scope=https://www.googleapis.com/auth/cloud-platform` --> `XXXXXXXXXX`) 5. After initial authorization, this code is not needed anymore. It is recommended to clear this configuration parameter afterwards. -* **Pitch** - The pitch of selected voice, up to 20 semitones. -* **Volume Gain** - The volume of the output between 16dB and -96dB. -* **Speaking Rate** - The speaking rate can be 4x faster or slower than the normal rate. +- **Pitch** - The pitch of selected voice, up to 20 semitones. +- **Volume Gain** - The volume of the output between 16dB and -96dB. +- **Speaking Rate** - The speaking rate can be 4x faster or slower than the normal rate. In case you would like to setup the service via a text file, create a new file in `$OPENHAB_ROOT/conf/services` named `googletts.cfg` Its contents should look similar to: -``` +```ini org.openhab.voice.googletts:clientId=ID org.openhab.voice.googletts:clientSecret=SECRET org.openhab.voice.googletts:authcode=XXXXX @@ -66,14 +66,14 @@ org.openhab.voice.googletts:speakingRate=1 You can setup your preferred default Text-to-Speech and default voice in the UI: -* Go to **Settings**. -* Edit **System Services - Voice**. -* Set **Google Cloud** as **Default Text-to-Speech**. -* Choose your preferred **Default Voice** for your setup. +- Go to **Settings**. +- Edit **System Services - Voice**. +- Set **Google Cloud** as **Default Text-to-Speech**. +- Choose your preferred **Default Voice** for your setup. In case you would like to setup these settings via a text file, you can edit the file `runtime.cfg` in `$OPENHAB_ROOT/conf/services` and set the following entries: -``` +```ini org.openhab.voice:defaultTTS=googletts org.openhab.voice:defaultVoice=googletts:XXX ``` From e1f60743784c72d6197e086361f7efcc144b3f3c Mon Sep 17 00:00:00 2001 From: lsiepel Date: Sat, 28 Sep 2024 12:40:28 +0200 Subject: [PATCH 08/11] Update bundles/org.openhab.io.openhabcloud/README.md Co-authored-by: Jacob Laursen Signed-off-by: lsiepel --- bundles/org.openhab.io.openhabcloud/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/bundles/org.openhab.io.openhabcloud/README.md b/bundles/org.openhab.io.openhabcloud/README.md index f150eeb576f4c..5c91cf8935f47 100644 --- a/bundles/org.openhab.io.openhabcloud/README.md +++ b/bundles/org.openhab.io.openhabcloud/README.md @@ -107,10 +107,10 @@ Icon and tag can potentially be used by cloud instance clients (such as the open The parameters for these actions have the following meaning: -* `emailAddress`: String containing the email address the target user is registered with in the cloud instance. -* `message`: String containing the notification message text. -* `icon`: String containing the icon name (as described in [Items: Icons]({{base}}/configuration/items.html#icons)). -* `tag`: String containing the tag for the notification. +- `emailAddress`: String containing the email address the target user is registered with in the cloud instance. +- `message`: String containing the notification message text. +- `icon`: String containing the icon name (as described in [Items: Icons]({{base}}/configuration/items.html#icons)). +- `tag`: String containing the tag for the notification. `null` may be used to skip the `icon` or `tag` parameter. From f32e40c27e376d592984bb7704e069710546d739 Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sat, 28 Sep 2024 14:13:30 +0200 Subject: [PATCH 09/11] dashes and ini Signed-off-by: Leo Siepel --- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../org.openhab.binding.androidtv/README.md | 4 +- .../org.openhab.binding.ephemeris/README.md | 14 +- bundles/org.openhab.binding.evcc/README.md | 20 +- .../org.openhab.binding.mercedesme/README.md | 6 +- bundles/org.openhab.binding.netatmo/README.md | 7 +- .../contrib/NibeGW/Arduino/README.md | 23 +- .../README.md | 10 +- .../org.openhab.binding.pegelonline/README.md | 47 ++-- bundles/org.openhab.binding.plex/README.md | 12 +- .../org.openhab.binding.samsungtv/README.md | 12 +- .../org.openhab.binding.solarwatt/README.md | 7 +- .../README.md | 8 +- bundles/org.openhab.binding.tradfri/README.md | 10 +- bundles/org.openhab.binding.velbus/README.md | 4 +- .../docs/README.md | 33 +-- bundles/org.openhab.io.homekit/README.md | 6 +- bundles/org.openhab.io.hueemulation/README.md | 60 ++--- bundles/org.openhab.io.metrics/README.md | 16 +- bundles/org.openhab.io.neeo/README.md | 16 +- bundles/org.openhab.io.openhabcloud/README.md | 8 +- .../README.md | 14 +- .../org.openhab.persistence.jdbc/README.md | 38 ++-- bundles/org.openhab.transform.exec/README.md | 4 +- bundles/org.openhab.transform.jinja/README.md | 6 +- .../org.openhab.transform.jsonpath/README.md | 4 +- bundles/org.openhab.transform.xpath/README.md | 22 +- bundles/org.openhab.transform.xslt/README.md | 42 ++-- bundles/org.openhab.voice.googlestt/README.md | 46 ++-- bundles/org.openhab.voice.mactts/README.md | 10 +- bundles/org.openhab.voice.marytts/README.md | 11 +- bundles/org.openhab.voice.mimictts/README.md | 20 +- bundles/org.openhab.voice.picotts/README.md | 12 +- bundles/org.openhab.voice.pipertts/README.md | 16 +- bundles/org.openhab.voice.pollytts/README.md | 30 +-- bundles/org.openhab.voice.voicerss/README.md | 212 +++++++++--------- bundles/org.openhab.voice.voskstt/README.md | 30 +-- bundles/org.openhab.voice.watsonstt/README.md | 36 +-- .../org.openhab.voice.whisperstt/README.md | 83 ++++--- 41 files changed, 479 insertions(+), 486 deletions(-) diff --git a/bundles/org.openhab.automation.groovyscripting/README.md b/bundles/org.openhab.automation.groovyscripting/README.md index 8e3f4b92dc233..67ab55a638fa1 100644 --- a/bundles/org.openhab.automation.groovyscripting/README.md +++ b/bundles/org.openhab.automation.groovyscripting/README.md @@ -23,7 +23,7 @@ For more information on the available APIs in scripts see the [JSR223 Scripting] ## Code reuse -One can place *.groovy files with Groovy classes under `automation/groovy` configuration directory. +One can place *.groovy files with Groovy classes under `automation/groovy` configuration directory. Those classes can be imported in JSR-223 scripts or the UI rules action with the usual Groovy `import` statement. To apply shared code changes, one has to restart the `openHAB Core :: Bundles :: Automation` bundle on the Console or an openHAB instance altogether. diff --git a/bundles/org.openhab.automation.jrubyscripting/README.md b/bundles/org.openhab.automation.jrubyscripting/README.md index cc81982ea5ec4..5ef835edddead 100644 --- a/bundles/org.openhab.automation.jrubyscripting/README.md +++ b/bundles/org.openhab.automation.jrubyscripting/README.md @@ -670,7 +670,7 @@ items.build do # dimension Temperature inferred number_item OutdoorTemp, format: "%.1f %unit%", unit: "°F" - + # unit lx, dimension Illuminance, format "%s %unit%" inferred number_item OutdoorBrightness, state: 10_000 | "lx" end diff --git a/bundles/org.openhab.binding.ahawastecollection/README.md b/bundles/org.openhab.binding.ahawastecollection/README.md index 89f44ff387282..13da5bcf6b54f 100644 --- a/bundles/org.openhab.binding.ahawastecollection/README.md +++ b/bundles/org.openhab.binding.ahawastecollection/README.md @@ -55,7 +55,7 @@ The thing **aha Waste Collection Schedule** provides four channels for the upcom wasteCollection.things ```java -Thing ahawastecollection:collectionSchedule:wasteCollectionSchedule "aha Abfuhrkalender" [ commune="Isernhagen", street="67269@Rosmarinweg+/+Kirchhorst@Kirchhorst", houseNumber="10", houseNumberAddon="", collectionPlace="67269-0010+" ] +Thing ahawastecollection:collectionSchedule:wasteCollectionSchedule "aha Abfuhrkalender" [ commune="Isernhagen", street="67269@Rosmarinweg+/+Kirchhorst@Kirchhorst", houseNumber="10", houseNumberAddon="", collectionPlace="67269-0010+" ] ``` wasteCollection.items diff --git a/bundles/org.openhab.binding.androidtv/README.md b/bundles/org.openhab.binding.androidtv/README.md index 30c6660dc55ee..c12f143cbd339 100644 --- a/bundles/org.openhab.binding.androidtv/README.md +++ b/bundles/org.openhab.binding.androidtv/README.md @@ -15,7 +15,7 @@ This binding supports two thing types: ## Discovery -All relevant thing types should be added automatically to the inbox through the mDNS discovery process. +All relevant thing types should be added automatically to the inbox through the mDNS discovery process. In the case of the ShieldTV or PhilipsTV, openHAB will likely create an inbox entry for both a GoogleTV and a ShieldTV or PhilipsTV device. Only the ShieldTV or PhilipsTV device should be configured, the GoogleTV can be ignored. @@ -24,7 +24,7 @@ This could cause undesired effects. ## Binding Configuration -This binding does not require any special configuration files. +This binding does not require any special configuration files. This binding does require a PIN login process (documented below) upon first connection. diff --git a/bundles/org.openhab.binding.ephemeris/README.md b/bundles/org.openhab.binding.ephemeris/README.md index 238e9056f17ec..6b12fe0ff2822 100644 --- a/bundles/org.openhab.binding.ephemeris/README.md +++ b/bundles/org.openhab.binding.ephemeris/README.md @@ -9,10 +9,10 @@ The binding will search your Jollyday event definition files in the sub folder ` The binding handles the following Things: -* default holiday data (`holiday`) -* custom holiday file (`custom`) -* daysets (`dayset`) -* weekend (`weekend`) +- default holiday data (`holiday`) +- custom holiday file (`custom`) +- daysets (`dayset`) +- weekend (`weekend`) ## Discovery @@ -24,7 +24,6 @@ There is no configuration at binding level. ## Thing Configuration - ### `custom` Thing Configuration | Name | Type | Description | Default | Required | Advanced | @@ -39,7 +38,6 @@ The file has to use the syntax described here : https://www.openhab.org/docs/con |-----------------|---------|---------------------------|---------|----------|----------| | name | text | Name of the dayset used | N/A | yes | no | - ## Channels ### `weekend` Channels @@ -80,7 +78,7 @@ The file has to use the syntax described here : https://www.openhab.org/docs/con ## Full Example -### Thing Configuration +### Thing Example ```java Thing ephemeris:holiday:local "Holidays" @@ -88,7 +86,7 @@ Thing ephemeris:weekend:local "Week-end" Thing ephemeris:custom:events "Event" [fileName="events.xml"] ``` -### Item Configuration +### Item Example ```java String ToD_Event_Current "Event Today" (gEvents) {channel="ephemeris:custom:events:title-today"} diff --git a/bundles/org.openhab.binding.evcc/README.md b/bundles/org.openhab.binding.evcc/README.md index aabeb32f3437e..54b2dd8cbacc4 100644 --- a/bundles/org.openhab.binding.evcc/README.md +++ b/bundles/org.openhab.binding.evcc/README.md @@ -106,11 +106,11 @@ Please note that you have to replace _\_ with your loadpoint id/number. Those channels exist: -* 1 per configured loadpoint with `chargerFeatureHeating = false`: - * These channels point to the heating device that is currently active/connected at/to the loadpoint - * Please note that you have to replace _\_ with your loadpoint id/number -* 1 per configured vehicle: - * Please note that you have to replace _\_ with your vehicle id/name +- 1 per configured loadpoint with `chargerFeatureHeating = false`: + - These channels point to the heating device that is currently active/connected at/to the loadpoint + - Please note that you have to replace _\_ with your loadpoint id/number +- 1 per configured vehicle: + - Please note that you have to replace _\_ with your vehicle id/name | Channel | Type | Read/Write | Description | |----------------------------------------------------|----------------------|------------|--------------------------------------------------------------------------| @@ -126,11 +126,11 @@ Those channels exist: Those channels exist: -* 1 per configured loadpoint with `chargerFeatureHeating = true`: - * These channels point to the heating device that is currently active/connected at/to the loadpoint - * Please note that you have to replace _\_ with your loadpoint id/number -* 1 per configured heating device: - * Please note that you have to replace _\_ with your heating device id/name +- 1 per configured loadpoint with `chargerFeatureHeating = true`: + - These channels point to the heating device that is currently active/connected at/to the loadpoint + - Please note that you have to replace _\_ with your loadpoint id/number +- 1 per configured heating device: + - Please note that you have to replace _\_ with your heating device id/name | Channel | Type | Read/Write | Description | |---------------------------------------------------------|--------------------|------------|-----------------------------------------------------------------------| diff --git a/bundles/org.openhab.binding.mercedesme/README.md b/bundles/org.openhab.binding.mercedesme/README.md index bc0f395a97fba..d677bd9f12d8c 100644 --- a/bundles/org.openhab.binding.mercedesme/README.md +++ b/bundles/org.openhab.binding.mercedesme/README.md @@ -787,9 +787,9 @@ If you want to dive deeper see [Troubleshooting](#troubleshooting) `feature-capa In order to be able to analyze problems 3 advanced channels are placed in the vehicle group. -* `feature-capabilities` - showing which feature your vehicle is equipped with -* `command-capabilities` - showing which commands can be sent to your vehicle -* `proto-update` - latest update of your vehicle data +- `feature-capabilities` - showing which feature your vehicle is equipped with +- `command-capabilities` - showing which commands can be sent to your vehicle +- `proto-update` - latest update of your vehicle data In case you find problems regarding this binding add items to these 3 channels. The items are reporting Strings in JSON format. diff --git a/bundles/org.openhab.binding.netatmo/README.md b/bundles/org.openhab.binding.netatmo/README.md index ef62071af9621..b016798fb3931 100644 --- a/bundles/org.openhab.binding.netatmo/README.md +++ b/bundles/org.openhab.binding.netatmo/README.md @@ -453,7 +453,6 @@ A Home is the Thing holding various modules and devices. They can hold two areas Depending on the way it is configured the behaviour will be adapted and available channels can vary. **Home Configuration** - The Home thing has the following configuration elements: | Parameter | Type | Required | Description | @@ -465,9 +464,9 @@ The Home thing has the following configuration elements: At least one of these parameter must be filled - at most two : -* id or securityId -* id or energyId -* securityId and energyId +- id or securityId +- id or energyId +- securityId and energyId (1) this parameter is kept for backward compatibility. diff --git a/bundles/org.openhab.binding.nibeheatpump/contrib/NibeGW/Arduino/README.md b/bundles/org.openhab.binding.nibeheatpump/contrib/NibeGW/Arduino/README.md index 8db1297b90773..c71d82e485efa 100644 --- a/bundles/org.openhab.binding.nibeheatpump/contrib/NibeGW/Arduino/README.md +++ b/bundles/org.openhab.binding.nibeheatpump/contrib/NibeGW/Arduino/README.md @@ -1,6 +1,5 @@ # NibeGW Hardware and Compiling hints - ## RS-485 Modules For settting up a NibeGW you need a RS485 module. @@ -8,8 +7,8 @@ While ProDiNo already have RS-485 support included, you need a separate module f Most cheap modules out there are compatible with 5V voltage and therefore compatible with Arduino based hardware. Mostly you will get one of two commonly used designs: -* Modules based on Max1348 chip, which has 2 pins on the Arduino side (RXD, TXD) + VCC + GND -* Modules based on Max485 chip, which has 4 pins on the Arduino side (RO, RE, DE, DI) + VCC + GND +- Modules based on Max1348 chip, which has 2 pins on the Arduino side (RXD, TXD) + VCC + GND +- Modules based on Max485 chip, which has 4 pins on the Arduino side (RO, RE, DE, DI) + VCC + GND Both types of modules work fine with NibeGW. The difference between the two is, that the Max485 chip needs to be switched between RX mode and TX mode manually while the Max1348 chip do this automatically. @@ -45,7 +44,6 @@ No special configuration is needed, NibeGW supports this shield out of the box. ProDiNo already have Ethernet included, so there's no need for a separate Ethernet Shield. Also the ProDiNo Ethernet is supported by NibeGW out of the box. - ## Arduino Uno Arduino Uno has only one serial port which is shared with USB. @@ -54,7 +52,7 @@ Furthermore do not use the USB port while Arduino is communicating with the Nibe For compiling NibeGW, you have to make the following changes to the code: -#### Config.h: +### Config.h Comment out support for all special boards: @@ -74,7 +72,7 @@ Comment out debugging on the serial console: Adjust the settings for your ethernet connection, target ip and ports and modbus module to simulate. Leave the serial configuration untouched - it is fine for Arduino Uno. -#### NibeGW.h: +### NibeGW.h Enable support for HARDWARE_SERIAL: @@ -83,12 +81,12 @@ Enable support for HARDWARE_SERIAL: #define HARDWARE_SERIAL ``` -## ProDiNo ESP32 Ethernet v1 +## ProDiNo ESP32 Ethernet v1 NibeGW default settings are valid for ProDiNo ESP32 Ethernet v1 board. Dynamic configuration is enabled by default. -### Config.h: +### Config.h ```c //#define PRODINO_BOARD @@ -96,7 +94,7 @@ Dynamic configuration is enabled by default. //#define TRANSPORT_ETH_ENC28J6A0 ``` -### NibeGW.h: +### NibeGW.h ```c #define HARDWARE_SERIAL_WITH_PINS @@ -110,12 +108,10 @@ Install [ProDinoESP32](https://github.com/kmpelectronics/ProDinoESP32) library ( NibeGW code is compatible with ESP32 v2.0.x board library by Espressif Systems. Install correct ESP32 library via Arduino IDE board manager. - ## ProDiNo Ethernet V2 Todo - ## Debugging Debugging messages are available by connecting to port 23 to your NibeGW via telnet. @@ -155,8 +151,9 @@ When dynamic configuration is enabled (only ESP32 boards), NibeGW can be configu Also OTA firmware update is supported. The following libraries are required: - * Bleeper (tested with version 1.1.0) - * ElegantOTA (tested with version 2.2.9) + +- Bleeper (tested with version 1.1.0) +- ElegantOTA (tested with version 2.2.9) Dynamic configuration mode is loaded if input 0 is ON during boot. When dynamic configuration mode is activated, login to the 'Bleeper' Wi-Fi access point. diff --git a/bundles/org.openhab.binding.panasonicbdp/README.md b/bundles/org.openhab.binding.panasonicbdp/README.md index c94e8b8961a64..f5bec78e571cb 100644 --- a/bundles/org.openhab.binding.panasonicbdp/README.md +++ b/bundles/org.openhab.binding.panasonicbdp/README.md @@ -52,11 +52,11 @@ The Thing has a few configuration parameters: Some notes: -* The control protocol of these players is undocumented and may not work consistently in all situations -* The UHD models only support playback elapsed time (not title total time or chapter information) reporting -* The time and chapter information is only available when playing a Blu-ray disc (not DVD or CD) -* There are reports in forum postings that not all commands work on all of the older models (i.e.: Power does not work on DMP-BDT110) -* Not all status information is available from all BD models (i.e.: playback elapsed time not reported by some models) +- The control protocol of these players is undocumented and may not work consistently in all situations +- The UHD models only support playback elapsed time (not title total time or chapter information) reporting +- The time and chapter information is only available when playing a Blu-ray disc (not DVD or CD) +- There are reports in forum postings that not all commands work on all of the older models (i.e.: Power does not work on DMP-BDT110) +- Not all status information is available from all BD models (i.e.: playback elapsed time not reported by some models) ## Channels diff --git a/bundles/org.openhab.binding.pegelonline/README.md b/bundles/org.openhab.binding.pegelonline/README.md index b4a3cd0e8648e..10efccfa1019d 100644 --- a/bundles/org.openhab.binding.pegelonline/README.md +++ b/bundles/org.openhab.binding.pegelonline/README.md @@ -1,8 +1,8 @@ # PegelOnline Binding -Binding to observe water level from german rivers. +Binding to observe water level from german rivers. Data is provided by german **Water-Route and Shipping Agency** [WSV](https://www.pegelonline.wsv.de/). -Goal is to monitor actual water levels from rivers nearby your home. +Goal is to monitor actual water levels from rivers nearby your home. In case of changing water levels the corresponding warning level is lowered or raised. ## Supported Things @@ -11,25 +11,23 @@ In case of changing water levels the corresponding warning level is lowered or r |---------------------|---------------------------------------------------------------------------------|---------| | Measurement Station | Station providing water level measurements | station | - ## Discovery In case your home location coordinates are set the discovery will recognize all measurement stations within a radius of 50 km. Found Things are added in your Inbox. - ## Thing Configuration Thing configuration contains 3 sections -* [Station selection](station_selection) -* [Warning Levels of selected station](warning_levels) -* [Refresh rate](configuration_parameters) +- [Station selection](station_selection) +- [Warning Levels of selected station](warning_levels) +- [Refresh rate](configuration_parameters) ### Station selection -Stations can be selected with an Universally Unique Identifier (uuid). -It's automatically added by the Discovery. +Stations can be selected with an Universally Unique Identifier (uuid). +It's automatically added by the Discovery. Configure a station manually using [list of all available stations](https://pegelonline.wsv.de/gast/pegeltabelle) or [stations.json](https://www.pegelonline.wsv.de/webservices/rest-api/v2/stations.json) and choose the uuid of your desired measurement station. ### Warning Levels @@ -38,10 +36,10 @@ Configure a station manually using [list of all available stations](https://pege Each station has specific warning levels -* Warning Levels 1 (*lowest*) to 3 (*highest*) -* Flooding Levels +- Warning Levels 1 (*lowest*) to 3 (*highest*) +- Flooding Levels -Unfortunately these levels cannot be queried automatically. +Unfortunately these levels cannot be queried automatically. Please select your [federal state](https://www.hochwasserzentralen.de/) and check if which levels they provide. The picture shows the levels of [measurement station Marburg of federal state Hesse](https://www.hlnug.de/static/pegel/wiskiweb2/stations/25830056/station.html?v=20210802152952) @@ -49,7 +47,7 @@ If you cannot evaluate warning or flooding levels leave the parameter empty. ### Configuration parameters -| configuration | content | unit | description | required | default | +| configuration | content | unit | description | required | default | |------------------|-----------|------|---------------------------|----------|---------| | uuid | text | - | Unique Station Identifier | X | N/A | | warningLevel1 | integer | cm | Warning Level 1 | | N/A | @@ -62,7 +60,6 @@ If you cannot evaluate warning or flooding levels leave the parameter empty. ## Channels - | channel id | type | description | |----------------------|----------------------|--------------------------------| | timestamp | DateTime | Last Measurement | @@ -74,21 +71,21 @@ If you cannot evaluate warning or flooding levels leave the parameter empty. Possible values: -* 1 : Rising -* 0 : Steady -* -1 : Lowering +- 1 : Rising +- 0 : Steady +- -1 : Lowering ### Warning Current warning according to configuration -* 0 : No Warning -* 1 : Warning level 1 -* 2 : Warning Level 2 -* 3 : Warning Level 3 -* 4 : Decade Flooding -* 5 : Century Flooding -* 6 : Extreme Flooding +- 0 : No Warning +- 1 : Warning level 1 +- 2 : Warning Level 2 +- 3 : Warning Level 3 +- 4 : Decade Flooding +- 5 : Century Flooding +- 6 : Extreme Flooding ## Full Example @@ -115,8 +112,6 @@ Number Lahn_Giessen_Trend "Water Level Trend Lahn Giessen" Number Lahn_Giessen_Warning "Warning Level Lahn Giessen" {channel="pegelonline:station:giessen:warning"} ``` - ## Links [PegelOnline API Documentation](https://www.pegelonline.wsv.de/webservice/dokuRestapi#caching) - diff --git a/bundles/org.openhab.binding.plex/README.md b/bundles/org.openhab.binding.plex/README.md index 7fc0d81d9ad88..6cacbe599729f 100644 --- a/bundles/org.openhab.binding.plex/README.md +++ b/bundles/org.openhab.binding.plex/README.md @@ -4,15 +4,15 @@ This binding can read information from multiple PLEX players connected to a PLEX It can be used for multiple scenarios: -* Drive light changes based on player status. For instances turn off the lights when movie starts playing and turn them back on when movie is stopped/paused -* Create a page that displays currently played media of one or more player connected to the server. -* Send social media messages when player plays new media -* Inform what the end time of the currently played media is +- Drive light changes based on player status. For instances turn off the lights when movie starts playing and turn them back on when movie is stopped/paused +- Create a page that displays currently played media of one or more player connected to the server. +- Send social media messages when player plays new media +- Inform what the end time of the currently played media is The binding can also control `PLAY/PAUSE/NEXT/PREVIOUS` the players which can be used for: -* Start playing some music when someone enters a room -* Pause the movie when motion is detected +- Start playing some music when someone enters a room +- Pause the movie when motion is detected ## Supported Things diff --git a/bundles/org.openhab.binding.samsungtv/README.md b/bundles/org.openhab.binding.samsungtv/README.md index 54507e3d8cfa6..9b5588bb811d1 100755 --- a/bundles/org.openhab.binding.samsungtv/README.md +++ b/bundles/org.openhab.binding.samsungtv/README.md @@ -340,12 +340,12 @@ Number TV_ArtCT "Art CT [%d]" (gLivingRoomTV) Wake on Lan is supported by Samsung TV’s after 2016. The binding will attempt to use WOL to turn on a TV, if `power` (or `artMode`) is commanded ON. This only works on TV's after 2016, and has some quirks. - -* Does not work on TV's <2016 -* Does not work on hardwired ethernet connected TV's **if you have a soundbar connected via ARC/eARC** -* Works on WiFi connected TV's (with or without soundbar) -* May need to enable this function on the TV -* May have to wait up to 1 minute before turning TV back on, as TV does not power down immediately (and so doesn't respond to WOL) + +- Does not work on TV's <2016 +- Does not work on hardwired ethernet connected TV's **if you have a soundbar connected via ARC/eARC** +- Works on WiFi connected TV's (with or without soundbar) +- May need to enable this function on the TV +- May have to wait up to 1 minute before turning TV back on, as TV does not power down immediately (and so doesn't respond to WOL) You will have to experiment to see if it works for you. If not, you can power on the TV using IR (if you have a Harmony Hub, or GC iTach or similar). diff --git a/bundles/org.openhab.binding.solarwatt/README.md b/bundles/org.openhab.binding.solarwatt/README.md index a651db5695e40..f10e4f9562a8c 100644 --- a/bundles/org.openhab.binding.solarwatt/README.md +++ b/bundles/org.openhab.binding.solarwatt/README.md @@ -6,16 +6,15 @@ All supported values and devices were discovered while playing with my own energ ## Supported devices -* Solarwatt Energymanager; ie. the DIN rail mounted device in your house distribution. +- Solarwatt Energymanager; ie. the DIN rail mounted device in your house distribution. ## Not supported by this binding -* Solarwatt Manager/Manager Flex; ie. the black square device that is wall mounted. - +- Solarwatt Manager/Manager Flex; ie. the black square device that is wall mounted. + The Solarwatt Manager already contains an OpenHAB installation which can be connected to other installations via [Remote openHAB Binding](https://www.openhab.org/addons/bindings/remoteopenhab/). - ## Supported Things | Thing Type ID | Devices | diff --git a/bundles/org.openhab.binding.teslapowerwall/README.md b/bundles/org.openhab.binding.teslapowerwall/README.md index fa0c4719d1781..5cba1bb1a90c4 100644 --- a/bundles/org.openhab.binding.teslapowerwall/README.md +++ b/bundles/org.openhab.binding.teslapowerwall/README.md @@ -14,10 +14,10 @@ The binding does not support auto discovery. As a minimum, the hostname is needed: -* hostname - The hostname of the Tesla Powerwall 2. Defaults to powerwall to avoid SSL certificate issues -* email - the email of the local account on the Powerwall that the installer provided -* password - the password of the local account on the Powerwall that the installer provided -* refresh - The frequency with which to refresh information from the Tesla Powerwall2 specified in seconds. Defaults to 10 seconds. +- hostname - The hostname of the Tesla Powerwall 2. Defaults to powerwall to avoid SSL certificate issues +- email - the email of the local account on the Powerwall that the installer provided +- password - the password of the local account on the Powerwall that the installer provided +- refresh - The frequency with which to refresh information from the Tesla Powerwall2 specified in seconds. Defaults to 10 seconds. ## Channels diff --git a/bundles/org.openhab.binding.tradfri/README.md b/bundles/org.openhab.binding.tradfri/README.md index 5fa6cce47ba43..57e0f0433dae7 100644 --- a/bundles/org.openhab.binding.tradfri/README.md +++ b/bundles/org.openhab.binding.tradfri/README.md @@ -80,11 +80,11 @@ A blind or curtain supports, beside `battery_level` and `battery_low` channels, An air purifier supports: -* `fan_mode` and `fan_speed` channels, which allows for control of the fan and reading of the current speed. -* `disable_led` and `lock_button` channels, to respectively disable the LED's and lock the button on the physical device. -* `air_quality_pm25` and `air_quality_rating` channels, which reads the particulate matter 2.5μm and corresponding indication of air quality (similar to Tradfri app rating). -* `filter_check_next` and `filter_check_alarm` channels, which represents the remaining number of minutes until the next filter check and whether it is time to do the filter check now. Filter check must be completed through the TRÅDFRI app (or on the hardware buttons in case of replacement). -* a `filter_uptime` channel, which represents the current time since last filter change. +- `fan_mode` and `fan_speed` channels, which allows for control of the fan and reading of the current speed. +- `disable_led` and `lock_button` channels, to respectively disable the LED's and lock the button on the physical device. +- `air_quality_pm25` and `air_quality_rating` channels, which reads the particulate matter 2.5μm and corresponding indication of air quality (similar to Tradfri app rating). +- `filter_check_next` and `filter_check_alarm` channels, which represents the remaining number of minutes until the next filter check and whether it is time to do the filter check now. Filter check must be completed through the TRÅDFRI app (or on the hardware buttons in case of replacement). +- a `filter_uptime` channel, which represents the current time since last filter change. Refer to the matrixes above. diff --git a/bundles/org.openhab.binding.velbus/README.md b/bundles/org.openhab.binding.velbus/README.md index 8f9bc74c66092..a701ff2c172af 100644 --- a/bundles/org.openhab.binding.velbus/README.md +++ b/bundles/org.openhab.binding.velbus/README.md @@ -169,9 +169,9 @@ Bridge velbus:bridge:1 [ port="COM1", reconnectionInterval="15" ] Adding Velbus modules to your openHAB configuration follows the conventions of your preferred configuration method. -* **UI-based configuration:** Invoke a manual scan from the Things menu in order to start the [discovery process](#discovery). +- **UI-based configuration:** Invoke a manual scan from the Things menu in order to start the [discovery process](#discovery). Discovered modules can be found in the inbox. -* **Textual `.thing` configuration** can declare Velbus modules either in a standalone fashion (a bridge is still required): +- **Textual `.thing` configuration** can declare Velbus modules either in a standalone fashion (a bridge is still required): ```java Thing velbus::: "Label" @ "Location" [ CH1="Kitchen Light", CH2="Living Light" ] diff --git a/bundles/org.openhab.binding.yamahareceiver/docs/README.md b/bundles/org.openhab.binding.yamahareceiver/docs/README.md index 0ba68b428ec5c..273b7de9aa1e6 100644 --- a/bundles/org.openhab.binding.yamahareceiver/docs/README.md +++ b/bundles/org.openhab.binding.yamahareceiver/docs/README.md @@ -11,27 +11,32 @@ and a json based protocol for newer receivers. The http port 80 on the receiver is used with http POST requests for retrieving and changing the device state. The actual url is http://HOST/YamahaRemoteControl/ctrl. An example for retrieving data: + ```xml GetParam ``` + where ZONE is Main_Zone, Zone_2, Zone_3 or Zone_4. An example for changing the state of the receiver: + ```xml On ``` + ### XML Structure - System + + System Config Model_Name - System_ID - Version - Feature_Existence + System_ID + Version + Feature_Existence Main_Zone Zone_2 Zone_3 @@ -149,14 +154,16 @@ An example for changing the state of the receiver: List_Control List_Info - ### XML Descriptor The AVR provides an XML file that describes features and commands available using this URL: + ``` http:///YamahaRemoteControl/desc.xml ``` + Or this URL: + ``` http:///YamahaRemoteControl/UnitDesc.xml ``` @@ -164,14 +171,14 @@ http:///YamahaRemoteControl/UnitDesc.xml As Yamaha introduces new models there may be variations between XML structure. In an attempt to improve the add-on maintenance and troubleshooting selected model's `desc.xml`' has been collected from community users: -* [HTR-4069](desc_HTR-4069.xml) -* [RX-A2000](desc_RX-A2000.xml) -* [RX-A3070](desc_RX-A3070.xml) -* [RX-S601D](desc_RX-S601D.xml) -* [RX-V479](desc_RX-V479.xml) -* [RX-V583](desc_RX-V583.xml) -* [RX-V675](desc_RX-V675.xml) -* [RX-V3900](desc_RX-V3900.xml) +- [HTR-4069](desc_HTR-4069.xml) +- [RX-A2000](desc_RX-A2000.xml) +- [RX-A3070](desc_RX-A3070.xml) +- [RX-S601D](desc_RX-S601D.xml) +- [RX-V479](desc_RX-V479.xml) +- [RX-V583](desc_RX-V583.xml) +- [RX-V675](desc_RX-V675.xml) +- [RX-V3900](desc_RX-V3900.xml) ### Key differences between models diff --git a/bundles/org.openhab.io.homekit/README.md b/bundles/org.openhab.io.homekit/README.md index 0027d35457d3c..7d1c1b95f0240 100644 --- a/bundles/org.openhab.io.homekit/README.md +++ b/bundles/org.openhab.io.homekit/README.md @@ -1164,12 +1164,12 @@ You can verify this with [Discovery DNS iOS app](https://apps.apple.com/us/app/d There are various reasons this may happen. Try the following: -* In [openhab-cli](https://www.openhab.org/docs/administration/console.html), run `openhab:homekit clearPairings`. +- In [openhab-cli](https://www.openhab.org/docs/administration/console.html), run `openhab:homekit clearPairings`. Try again. -* In the HomeKit settings, change the port, setupId, and pin. +- In the HomeKit settings, change the port, setupId, and pin. Save the settings, then re-open the settings so as to refresh the QR code. Re-add the device. -* Remove HomeKit state in `${OPENHAB_USERDATA}/jsondb/homekit.json`, and HomeKit config in `${OPENHAB_USERDATA}/config/org/openhab/homekit.config`. +- Remove HomeKit state in `${OPENHAB_USERDATA}/jsondb/homekit.json`, and HomeKit config in `${OPENHAB_USERDATA}/config/org/openhab/homekit.config`. Restart openHAB. Reboot iPhone. Try again. diff --git a/bundles/org.openhab.io.hueemulation/README.md b/bundles/org.openhab.io.hueemulation/README.md index c9c068c084783..046990d7a8da0 100644 --- a/bundles/org.openhab.io.hueemulation/README.md +++ b/bundles/org.openhab.io.hueemulation/README.md @@ -9,16 +9,16 @@ This service is independent of the also available Hue binding! Currently the following Hue functionality is supported: -* Lights: Maps to items -* Groups: Maps to group items -* Rooms: Maps to group items with a specific tag -* Scenes: Maps to rules (new rule engine) that are tagged with "scene" -* Rules: Maps to rules (new rule engine) that are tagged with "hueemulation_rule" -* Schedule: Maps to rules (new rule engine) that are tagged with "hueemulation_schedule" +- Lights: Maps to items +- Groups: Maps to group items +- Rooms: Maps to group items with a specific tag +- Scenes: Maps to rules (new rule engine) that are tagged with "scene" +- Rules: Maps to rules (new rule engine) that are tagged with "hueemulation_rule" +- Schedule: Maps to rules (new rule engine) that are tagged with "hueemulation_schedule" You can create / modify and remove groups, rooms, scenes, rules and schedules from within Hue compatible devices and apps. -## Discovery: +## Discovery As soon as the service is enabled, it will announce the presence of an (emulated) HUE bridge of the second generation (square bridge). Hue bridges are using the Universal Plug and Play (UPnP) protocol for discovery. @@ -36,22 +36,22 @@ Group type items require the "Huelight" tag to be exposed as devices instead of This service can emulate 3 different devices: -* An OSRAM SMART+ Plug, -* a dimmable white color Philips A19 bulb and -* an a Philips Gen 3 LCT010 extended color bulb. +- An OSRAM SMART+ Plug, +- a dimmable white color Philips A19 bulb and +- an a Philips Gen 3 LCT010 extended color bulb. The exposed Hue-type depends on some criteria: -* If the item has the category "ColorLight": It will be exposed as a color bulb -* If the item has the category "Light": It will be exposed as a switch. +- If the item has the category "ColorLight": It will be exposed as a color bulb +- If the item has the category "Light": It will be exposed as a switch. This initial type determination is overridden if the item is tagged. The following default tags are setup: -* "Switchable": Item will be exposed as an OSRAM SMART+ Plug -* "Lighting": Item will be exposed as a dimmable white bulb -* "ColorLighting": Item will be exposed as a color bulb +- "Switchable": Item will be exposed as an OSRAM SMART+ Plug +- "Lighting": Item will be exposed as a dimmable white bulb +- "ColorLighting": Item will be exposed as a color bulb It is the responsibility of binding developers to categories and default tag their available *Channels*, so that linked Items are automatically exposed with this service. @@ -70,14 +70,14 @@ The following configurations can be adjusted. Pairing can be turned on and off: -``` +```ini org.openhab.hueemulation:pairingEnabled=false ``` You can define a pairing timeout in seconds. After that timeout, the `pairingEnabled` is automatically set to `false`. -``` +```ini org.openhab.hueemulation:pairingTimeout=60 ``` @@ -86,7 +86,7 @@ Enable the following option in combination with pairing to create a new API key Necessary for Amazon Echos and other devices where the API key cannot be reset. After a new installation of openHAB or a configuration pruning the old API keys are gone but Amazon Echos will keep trying with their old, invalid keys. -``` +```ini org.openhab.hueemulation:createNewUserOnEveryEndpoint=false ``` @@ -95,13 +95,13 @@ If the following option is enabled in combination with the pairing mode, the ser This option resets automatically after pairing mode has been switched off by the timeout. -``` +```ini org.openhab.hueemulation:temporarilyEmulateV1bridge=false ``` Permanent V1 bridge emulation (no obvious reason to enable that): -``` +```ini org.openhab.hueemulation:permanentV1bridge=false ``` @@ -113,7 +113,7 @@ Usually you do not want to set this option, but change the primary address confi This option allows you to override what addresses are used for the announcement. You can have multiple comma separated entries. -``` +```ini org.openhab.hueemulation:discoveryIp=192.168.1.100,::FFFF:A9DB:0D85 ``` @@ -122,7 +122,7 @@ You need to tell the service which item tag corresponds to which emulated bulb t One of the comma separated tags must match for the item to be exposed. Can be empty to match an item based on other criteria. -``` +```ini org.openhab.hueemulation:restrictToTagsSwitches=Switchable org.openhab.hueemulation:restrictToTagsWhiteLights=Lighting org.openhab.hueemulation:restrictToTagsColorLights=ColorLighting @@ -131,7 +131,7 @@ org.openhab.hueemulation:restrictToTagsColorLights=ColorLighting The above default assignment means that every item that has the tag "Switchable" will be emulated as a Zigbee Switch. If you want your switches to be exposed as lights instead (because your Amazon Echo does not support switches for example), you want to have: -``` +```ini org.openhab.hueemulation:restrictToTagsSwitches=NONE org.openhab.hueemulation:restrictToTagsWhiteLights=Lighting,Switchable org.openhab.hueemulation:restrictToTagsColorLights=ColorLighting @@ -140,7 +140,7 @@ org.openhab.hueemulation:restrictToTagsColorLights=ColorLighting The service tries to expose as much items as possible (greedy), based on some criteria as explained in the section above. If you want to exclude items, you need to tag them. Define the tags with the following option: -``` +```ini org.openhab.hueemulation:ignoreItemsWithTags=internal ``` @@ -152,9 +152,9 @@ You want this tag for all items that are purely used for rules, as proxy items e Some devices like Amazon Echo, Google Home and all Philips devices (TVs, Apps) expect a Hue bridge to run on port 80. You must either -* port forward your openHAB installation to port 80, +- port forward your openHAB installation to port 80, (`iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080`) -* install a reverse proxy on port 80, for example nginx with the following configuration: +- install a reverse proxy on port 80, for example nginx with the following configuration: ``` server { @@ -169,9 +169,9 @@ You must either } ``` -* or let openHAB run on port 80 (the entire java process requires elevated privileges). +- or let openHAB run on port 80 (the entire java process requires elevated privileges). -* For Amazon Echo the pairing process may fail due to a 302 response from openHAB, this can be resolved by using a reverse proxy to change the request url from `/api` to `/api/`, for example nginx with the following configuration: +- For Amazon Echo the pairing process may fail due to a 302 response from openHAB, this can be resolved by using a reverse proxy to change the request url from `/api` to `/api/`, for example nginx with the following configuration: ``` server { @@ -199,14 +199,14 @@ Please assign "ColorLighting" and "Switchable" to the `WhiteLights` type as expl Also note that Amazon Echos are stubborn as. You might need to remove all former recognized devices multiple times and perform the search via different Echos and also the web or mobile application. -It might help to (temporarly) lower the emulated bridge version in the configuration as described above, +It might help to (temporarly) lower the emulated bridge version in the configuration as described above. ## Text configuration example The item label will be used as the Hue device name. Please be aware that textual defined items are generally a bad idea. In this case renaming items in Hue compatible Apps will fail. -``` +```java Switch TestSwitch "Kitchen Switch" [ "Switchable" ] {channel="..."} Color TestColorBulb "Bathroom" [ "ColorLighting" ] {channel="..."} Dimmer TestDimmer "Hallway" [ "Lighting" ] {channel="..."} diff --git a/bundles/org.openhab.io.metrics/README.md b/bundles/org.openhab.io.metrics/README.md index d126720dd7dba..e6ca48b7f382f 100644 --- a/bundles/org.openhab.io.metrics/README.md +++ b/bundles/org.openhab.io.metrics/README.md @@ -2,12 +2,12 @@ The metrics service provides: -* an additional REST endpoint to retrieve openHAB core metrics from. This can be used as scrape target for pull-based monitoring systems like [Prometheus](https://prometheus.io/). -* optionally configurable services to export openHAB core metrics to push-based monitoring systems like [InfluxDB](https://www.influxdata.com/). +- an additional REST endpoint to retrieve openHAB core metrics from. This can be used as scrape target for pull-based monitoring systems like [Prometheus](https://prometheus.io/). +- optionally configurable services to export openHAB core metrics to push-based monitoring systems like [InfluxDB](https://www.influxdata.com/). ## Provided metrics -Currently the following metrics are provided: +Currently the following metrics are provided: - openHAB events counts (per topic) - openHAB bundle states @@ -15,11 +15,11 @@ Currently the following metrics are provided: - openHAB rule runs (per rule) - openHAB threadpool stats (per scheduler) - JVM stats including metrics of - - class loader - - memory - - GarbageCollector - - OS (system load, CPU) - - thread metrics + - class loader + - memory + - GarbageCollector + - OS (system load, CPU) + - thread metrics ## Configuration diff --git a/bundles/org.openhab.io.neeo/README.md b/bundles/org.openhab.io.neeo/README.md index 1fcc26c1dc09e..0b8ed00227e07 100644 --- a/bundles/org.openhab.io.neeo/README.md +++ b/bundles/org.openhab.io.neeo/README.md @@ -14,10 +14,10 @@ This integration compliments the NEEO binding by exposing a brain's devices to a The openHAB NEEO Integration will provide the following: -* Automatic discovery of NEEO brains on the network and automatic registering of the openHAB as an SDK. -* A NEEO dashboard tile that will show the status of NEEO Brain connections and provide the ability to customize the mapping between openHAB things/item and NEEO device/capabilities. -* Discovery of openHAB things on the NEEO app. -* Full two-way communcation between openHAB and brain. +- Automatic discovery of NEEO brains on the network and automatic registering of the openHAB as an SDK. +- A NEEO dashboard tile that will show the status of NEEO Brain connections and provide the ability to customize the mapping between openHAB things/item and NEEO device/capabilities. +- Discovery of openHAB things on the NEEO app. +- Full two-way communcation between openHAB and brain. Item changes in openHAB will appear in NEEO and vice-versa. @@ -25,10 +25,10 @@ Item changes in openHAB will appear in NEEO and vice-versa. If searching for openHAB devices on the NEEO Brain is always returning nothing, here are a few tips to solve the issue: -1. Read sections IP Address and openHAB Primary Address below. -2. Make sure the openHAB primary address is set to an address that is reachable from the NEEO Brain (see openHAB Primary Address section below). -3. Make sure your firewall is not blocking access to the openHAB server -4. Your search criteria has included too many openHAB devices (especially if "Expose ALL" setting has been turned on). +1. Read sections IP Address and openHAB Primary Address below. +2. Make sure the openHAB primary address is set to an address that is reachable from the NEEO Brain (see openHAB Primary Address section below). +3. Make sure your firewall is not blocking access to the openHAB server +4. Your search criteria has included too many openHAB devices (especially if "Expose ALL" setting has been turned on). The NEEO brain has an (unknown) size limit to the amount of items that can be returned for a search and you may be going beyond that limit. Narrow your search to a specific item to see if you were hitting that search limit. diff --git a/bundles/org.openhab.io.openhabcloud/README.md b/bundles/org.openhab.io.openhabcloud/README.md index f150eeb576f4c..5c91cf8935f47 100644 --- a/bundles/org.openhab.io.openhabcloud/README.md +++ b/bundles/org.openhab.io.openhabcloud/README.md @@ -107,10 +107,10 @@ Icon and tag can potentially be used by cloud instance clients (such as the open The parameters for these actions have the following meaning: -* `emailAddress`: String containing the email address the target user is registered with in the cloud instance. -* `message`: String containing the notification message text. -* `icon`: String containing the icon name (as described in [Items: Icons]({{base}}/configuration/items.html#icons)). -* `tag`: String containing the tag for the notification. +- `emailAddress`: String containing the email address the target user is registered with in the cloud instance. +- `message`: String containing the notification message text. +- `icon`: String containing the icon name (as described in [Items: Icons]({{base}}/configuration/items.html#icons)). +- `tag`: String containing the tag for the notification. `null` may be used to skip the `icon` or `tag` parameter. diff --git a/bundles/org.openhab.persistence.dynamodb/README.md b/bundles/org.openhab.persistence.dynamodb/README.md index 1a060dec5d3fb..b522c05e6ad0a 100644 --- a/bundles/org.openhab.persistence.dynamodb/README.md +++ b/bundles/org.openhab.persistence.dynamodb/README.md @@ -5,9 +5,9 @@ Query functionality is also fully supported. Features: -* Writing/reading information to relational database systems -* Configurable database table names -* Automatic table creation +- Writing/reading information to relational database systems +- Configurable database table names +- Automatic table creation ## Disclaimer @@ -35,8 +35,8 @@ Please also note possible [Free Tier](https://aws.amazon.com/free/) benefits. **Login to AWS web console** -* [Sign up](https://aws.amazon.com/) for Amazon AWS. -* Select the AWS region in the [AWS console](https://console.aws.amazon.com/) using [these instructions](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/getting-started.html#select-region). Note the region identifier in the URL (e.g. `https://eu-west-1.console.aws.amazon.com/console/home?region=eu-west-1` means that region id is `eu-west-1`). +- [Sign up](https://aws.amazon.com/) for Amazon AWS. +- Select the AWS region in the [AWS console](https://console.aws.amazon.com/) using [these instructions](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/getting-started.html#select-region). Note the region identifier in the URL (e.g. `https://eu-west-1.console.aws.amazon.com/console/home?region=eu-west-1` means that region id is `eu-west-1`). **Create policy controlling permissions for AWS user** @@ -56,8 +56,8 @@ For users with old table schema, one can use pre-existing policy `AmazonDynamoDB 5. Open _JSON_ tab and input the below policy code. 6. Make the below the changes to the policy JSON `Resource` section -* Modify the AWS account id from `055251986555` to to the one you have on clipboard (see step 2 above) -* If you are on some other region than `eu-west-1`, change the entry accordingly +- Modify the AWS account id from `055251986555` to to the one you have on clipboard (see step 2 above) +- If you are on some other region than `eu-west-1`, change the entry accordingly ```json { diff --git a/bundles/org.openhab.persistence.jdbc/README.md b/bundles/org.openhab.persistence.jdbc/README.md index f22392c26dea2..568a9a5882569 100644 --- a/bundles/org.openhab.persistence.jdbc/README.md +++ b/bundles/org.openhab.persistence.jdbc/README.md @@ -265,9 +265,9 @@ Issues than can be identified and possibly fixed: ### For Developers -* Clearly separated source files for the database-specific part of openHAB logic. -* Code duplication by similar services is prevented. -* Integrating a new SQL and JDBC enabled database is fairly simple. +- Clearly separated source files for the database-specific part of openHAB logic. +- Code duplication by similar services is prevented. +- Integrating a new SQL and JDBC enabled database is fairly simple. ### Performance Tests @@ -282,28 +282,28 @@ Not necessarily representative of the performance you may experience. | postgresql | 8.147 | 7.072 | 6.895 | - | ext. Server VM | | sqlite | 2.406 | 1.249 | 1.137 | 0.28 MB | local embedded | -* Each test ran about 20 Times every 30 seconds. -* openHAB 1.x has ready started for about a Minute. -* the data in seconds for the evaluation are from the console output. +- Each test ran about 20 Times every 30 seconds. +- openHAB 1.x has ready started for about a Minute. +- the data in seconds for the evaluation are from the console output. Used a script like this: -``` +```java var count = 0; rule "DB STRESS TEST" when - Time cron "30 * * * * ?" + Time cron "30 * * * * ?" then - if( count = 24) count = 0 - count = count+1 - if( count > 3 && count < 23){ - for( var i=500; i>1; i=i-1){ - postUpdate( NUMBERITEM, i) - SWITCHITEM.previousState().state - postUpdate( DIMMERITEM, OFF) - NUMBERITEM.changedSince( now().minusMinutes(1)) - postUpdate( DIMMERITEM, ON) - } - } + if( count = 24) count = 0 + count = count+1 + if( count > 3 && count < 23){ + for( var i=500; i>1; i=i-1){ + postUpdate( NUMBERITEM, i) + SWITCHITEM.previousState().state + postUpdate( DIMMERITEM, OFF) + NUMBERITEM.changedSince( now().minusMinutes(1)) + postUpdate( DIMMERITEM, ON) + } + } end ``` diff --git a/bundles/org.openhab.transform.exec/README.md b/bundles/org.openhab.transform.exec/README.md index 423b1d16fe8be..5e9d09fa8567b 100644 --- a/bundles/org.openhab.transform.exec/README.md +++ b/bundles/org.openhab.transform.exec/README.md @@ -90,5 +90,5 @@ Please note: This profile is a one-way transformation, i.e. only values from a d ## Further Reading -* [Manual](http://man7.org/linux/man-pages/man1/date.1.html) and [tutorial](https://linode.com/docs/tools-reference/tools/use-the-date-command-in-linux/) for date. -* [Manual](http://man7.org/linux/man-pages/man1/numfmt.1.html) and [tutorial](https://www.pixelbeat.org/docs/numfmt.html) for numfmt. +- [Manual](http://man7.org/linux/man-pages/man1/date.1.html) and [tutorial](https://linode.com/docs/tools-reference/tools/use-the-date-command-in-linux/) for date. +- [Manual](http://man7.org/linux/man-pages/man1/numfmt.1.html) and [tutorial](https://www.pixelbeat.org/docs/numfmt.html) for numfmt. diff --git a/bundles/org.openhab.transform.jinja/README.md b/bundles/org.openhab.transform.jinja/README.md index c7fbe818ac2f5..26cdfb3c03295 100644 --- a/bundles/org.openhab.transform.jinja/README.md +++ b/bundles/org.openhab.transform.jinja/README.md @@ -64,6 +64,6 @@ commandTransformation = "JINJA:{\"msgtype\":\"m.text\", \"body\":\"{{value}}\"}" ## Further Reading -* Wikipedia on [Jinja](https://en.wikipedia.org/wiki/Jinja_(template_engine). -* Home assistant [discovery](https://www.home-assistant.io/docs/mqtt/discovery/). -* Home assistant [templating](https://www.home-assistant.io/docs/configuration/templating/). +- Wikipedia on [Jinja](https://en.wikipedia.org/wiki/Jinja_(template_engine). +- Home assistant [discovery](https://www.home-assistant.io/docs/mqtt/discovery/). +- Home assistant [templating](https://www.home-assistant.io/docs/configuration/templating/). diff --git a/bundles/org.openhab.transform.jsonpath/README.md b/bundles/org.openhab.transform.jsonpath/README.md index d2b71f602881c..e234fd81d322c 100644 --- a/bundles/org.openhab.transform.jsonpath/README.md +++ b/bundles/org.openhab.transform.jsonpath/README.md @@ -62,5 +62,5 @@ This profile is a one-way transformation; only values from a device toward the i ## Further Reading -* An extended [introduction](https://www.w3schools.com/js/js_json_intro.asp) can be found at W3School. -* As JsonPath transformation is based on [Jayway](https://github.com/json-path/JsonPath), using an [online validator](https://jsonpath.herokuapp.com/) which also uses Jayway will give the most similar results. +- An extended [introduction](https://www.w3schools.com/js/js_json_intro.asp) can be found at W3School. +- As JsonPath transformation is based on [Jayway](https://github.com/json-path/JsonPath), using an [online validator](https://jsonpath.herokuapp.com/) which also uses Jayway will give the most similar results. diff --git a/bundles/org.openhab.transform.xpath/README.md b/bundles/org.openhab.transform.xpath/README.md index 62ebac1a6aeaa..65e89bc1ab29d 100644 --- a/bundles/org.openhab.transform.xpath/README.md +++ b/bundles/org.openhab.transform.xpath/README.md @@ -48,15 +48,15 @@ A simple xpath query to fetch the Azimut value does not work as it does not addr There are two ways to address the namespace. -* Simple path which may not work in complex XML. -* With full qualified path. +- Simple path which may not work in complex XML. +- With full qualified path. The XPath -* `[name()='PTZStatus']/*[name()='AbsoluteHigh']/*[name()='azimuth']/` -* `/*[local-name()='PTZStatus' and namespace-uri()='http://www.hikvision.com/ver20/XMLSchema']/*[local-name()='AbsoluteHigh' and namespace-uri()='http://www.hikvision.com/ver20/XMLSchema']/*[local-name()='azimuth' and namespace-uri()='http://www.hikvision.com/ver20/XMLSchema']` +- `[name()='PTZStatus']/*[name()='AbsoluteHigh']/*[name()='azimuth']/` +- `/*[local-name()='PTZStatus' and namespace-uri()='http://www.hikvision.com/ver20/XMLSchema']/*[local-name()='AbsoluteHigh' and namespace-uri()='http://www.hikvision.com/ver20/XMLSchema']/*[local-name()='azimuth' and namespace-uri()='http://www.hikvision.com/ver20/XMLSchema']` -returns +returns ``` 450 @@ -64,14 +64,14 @@ returns ### In Setup -**.items** +#### .items -```csv +```java String Temperature_xml "Temperature [XPATH(/*[name()='PTZStatus']/*[name()='AbsoluteHigh']/*[name()='azimuth']/):%s °C]" {...} Number Temperature "Temperature [%.1f °C]" ``` -**.rules** +### .rules ```php rule "Convert XML to Item Type Number" @@ -116,6 +116,6 @@ Please note: This profile is a one-way transformation, i.e. only values from a d ## Further Reading -* An [introduction](https://www.w3schools.com/xml/xpath_intro.asp) to XPath at W3School -* An informative explanation of [common mistakes](https://qxf2.com/blog/common-xpath-mistakes/). -* Online validation tools like [this](https://www.freeformatter.com/xpath-tester.html) to check the syntax. +- An [introduction](https://www.w3schools.com/xml/xpath_intro.asp) to XPath at W3School +- An informative explanation of [common mistakes](https://qxf2.com/blog/common-xpath-mistakes/). +- Online validation tools like [this](https://www.freeformatter.com/xpath-tester.html) to check the syntax. diff --git a/bundles/org.openhab.transform.xslt/README.md b/bundles/org.openhab.transform.xslt/README.md index b9aca1abf159e..e219fa7bae3aa 100644 --- a/bundles/org.openhab.transform.xslt/README.md +++ b/bundles/org.openhab.transform.xslt/README.md @@ -9,9 +9,9 @@ To organize the various transformations one should use subfolders. General transformation rule summary: -* The directive `xsl:output` defines how the output document should be structured. -* The directive `xsl:template` specifies matching attributes for the XML node to find. -* The `xsl:template` tag contains the rule which specifies what should be done. +- The directive `xsl:output` defines how the output document should be structured. +- The directive `xsl:template` specifies matching attributes for the XML node to find. +- The `xsl:template` tag contains the rule which specifies what should be done. The Rule uses XPath to gather the XML node information. For more information have a look at the [XPath transformation](https://docs.openhab.org/addons/transformations/xpath/readme.html) . @@ -31,9 +31,9 @@ A simple but complete XSLT transformation looks like in the following example, w **transform/helloworld.xsl** -* `xsl:output`: transform incoming document into another XML-like document, without indentation. -* `xsl:template`: `match="/"` "any type of node", so the whole document. -* The `xsl` rule does `select` the node `/root/node` and extracts the `value-of` attribute `val`. +- `xsl:output`: transform incoming document into another XML-like document, without indentation. +- `xsl:template`: `match="/"` "any type of node", so the whole document. +- The `xsl` rule does `select` the node `/root/node` and extracts the `value-of` attribute `val`. ```xml @@ -57,16 +57,16 @@ This example has a namespace defined, as you would find in real world applicatio **input XML** -* The tag `` contains an attribute `xmlns=` which defines the namespace `http://www.hikvision.com/ver20/XMLSchema`. +- The tag `` contains an attribute `xmlns=` which defines the namespace `http://www.hikvision.com/ver20/XMLSchema`. ```xml - - 0 - 450 - 10 - + + 0 + 450 + 10 + ``` @@ -76,11 +76,11 @@ In the rule, the tag `` has to have an attribute `xmlns:xsl="htt This attribute has to be the same as the namespace for the input document. In the rule each step traversed along the path to the next tag has to be prepended with the `xmlns` namespace, here defined as `h`. -* `xsl:output` transform incoming document into another XML-like document, no indentation, **without XML**. -* `xsl:template`: `match="/"` whole document. -* Full path to node `azimuth` reading out `date` attribute. -* Add a linebreak by setting ` ` as text. -* Search for node `azimuth` by prepending `//` and get the `text`. +- `xsl:output` transform incoming document into another XML-like document, no indentation, **without XML**. +- `xsl:template`: `match="/"` whole document. +- Full path to node `azimuth` reading out `date` attribute. +- Add a linebreak by setting ` ` as text. +- Search for node `azimuth` by prepending `//` and get the `text`. ```xml @@ -120,7 +120,7 @@ Please note: This profile is a one-way transformation, i.e. only values from a d ## Further Reading -* Extended introduction and more [examples](https://en.wikipedia.org/wiki/XSLT#XSLT_examples) at Wikipedia. -* A good [introduction](https://www.w3schools.com/xml/xsl_intro.asp) and [tutorial](https://www.w3schools.com/xml/xsl_transformation.asp) at W3School. -* An informative [tutorial](https://www.ibm.com/developerworks/library/x-xsltmistakes/) of common mistakes. -* Online XSL transformer tools like [this](https://www.freeformatter.com/xsl-transformer.html) to check the syntax. +- Extended introduction and more [examples](https://en.wikipedia.org/wiki/XSLT#XSLT_examples) at Wikipedia. +- A good [introduction](https://www.w3schools.com/xml/xsl_intro.asp) and [tutorial](https://www.w3schools.com/xml/xsl_transformation.asp) at W3School. +- An informative [tutorial](https://www.ibm.com/developerworks/library/x-xsltmistakes/) of common mistakes. +- Online XSL transformer tools like [this](https://www.freeformatter.com/xsl-transformer.html) to check the syntax. diff --git a/bundles/org.openhab.voice.googlestt/README.md b/bundles/org.openhab.voice.googlestt/README.md index 15e3f94539c03..50b7db632a261 100644 --- a/bundles/org.openhab.voice.googlestt/README.md +++ b/bundles/org.openhab.voice.googlestt/README.md @@ -8,15 +8,15 @@ You can find pricing information on the [documentation page](https://cloud.googl Before you can integrate this service with your Google Cloud Speech-to-Text, you must have a Google API Console project: -* Select or create a GCP project. [link](https://console.cloud.google.com/cloud-resource-manager) -* Make sure that billing is enabled for your project. [link](https://cloud.google.com/billing/docs/how-to/modify-project) -* Enable the Cloud Speech-to-Text API. [link](https://console.cloud.google.com/apis/dashboard) -* Set up authentication: - * Go to the "APIs & Services" -> "Credentials" page in the GCP Console and your project. [link](https://console.cloud.google.com/apis/credentials) - * From the "Create credentials" drop-down list, select "OAuth client ID". - * Select application type "Web application" and enter a name into the "Name" field. - * Add "https://www.google.com" to the "Authorized redirect URIs". - * Click Create. A pop-up appears, showing your "client ID" and "client secret". +- Select or create a GCP project. [link](https://console.cloud.google.com/cloud-resource-manager) +- Make sure that billing is enabled for your project. [link](https://cloud.google.com/billing/docs/how-to/modify-project) +- Enable the Cloud Speech-to-Text API. [link](https://console.cloud.google.com/apis/dashboard) +- Set up authentication: + - Go to the "APIs & Services" -> "Credentials" page in the GCP Console and your project. [link](https://console.cloud.google.com/apis/credentials) + - From the "Create credentials" drop-down list, select "OAuth client ID". + - Select application type "Web application" and enter a name into the "Name" field. + - Add "https://www.google.com" to the "Authorized redirect URIs". + - Click Create. A pop-up appears, showing your "client ID" and "client secret". ## Configuration @@ -24,9 +24,9 @@ Before you can integrate this service with your Google Cloud Speech-to-Text, you Using your favorite configuration UI to edit **Settings / Other Services - Google Cloud Speech-to-Text** and set: -* **Client Id** - Google Cloud Platform OAuth 2.0-Client Id. -* **Client Secret** - Google Cloud Platform OAuth 2.0-Client Secret. -* **Authorization Code** - This code is used once for retrieving the Google Cloud Platform access and refresh tokens. +- **Client Id** - Google Cloud Platform OAuth 2.0-Client Id. +- **Client Secret** - Google Cloud Platform OAuth 2.0-Client Secret. +- **Authorization Code** - This code is used once for retrieving the Google Cloud Platform access and refresh tokens. **Please go to your browser ...** [https://accounts.google.com/o/oauth2/v2/auth?scope=https://www.googleapis.com/auth/cloud-platform&access_type=offline&prompt=consent&include_granted_scopes=true&response_type=code&redirect_uri=https://www.google.com&client_id=](https://accounts.google.com/o/oauth2/v2/auth?scope=https://www.googleapis.com/auth/cloud-platform&access_type=offline&prompt=consent&include_granted_scopes=true&response_type=code&redirect_uri=https://www.google.com&client_id=) (replace `` by your Client Id) **... to generate an authorization code and paste it here**. @@ -38,17 +38,17 @@ Using your favorite configuration UI to edit **Settings / Other Services - Googl Using your favorite configuration UI to edit **Settings / Other Services - Google Cloud Speech-to-Text**: -* **Single Utterance Mode** - When enabled Google Cloud Platform is responsible for detecting when to stop listening after a single utterance. (Recommended) -* **Max Transcription Seconds** - Max seconds to wait to force stop the transcription. -* **Max Silence Seconds** - Only works when singleUtteranceMode is disabled, max seconds without getting new transcriptions to stop listening. -* **Refresh Supported Locales** - Try loading supported locales from the documentation page. +- **Single Utterance Mode** - When enabled Google Cloud Platform is responsible for detecting when to stop listening after a single utterance. (Recommended) +- **Max Transcription Seconds** - Max seconds to wait to force stop the transcription. +- **Max Silence Seconds** - Only works when singleUtteranceMode is disabled, max seconds without getting new transcriptions to stop listening. +- **Refresh Supported Locales** - Try loading supported locales from the documentation page. ### Messages Configuration Using your favorite configuration UI to edit **Settings / Other Services - Google Cloud Speech-to-Text**: -* **No Results Message** - Message to be told when no results. (Empty for disabled) -* **Error Message** - Message to be told when an error has happened. (Empty for disabled) +- **No Results Message** - Message to be told when no results. (Empty for disabled) +- **Error Message** - Message to be told when an error has happened. (Empty for disabled) ### Configuration via a text file @@ -56,7 +56,7 @@ In case you would like to setup the service via a text file, create a new file i Its contents should look similar to: -``` +```ini org.openhab.voice.googlestt:clientId=ID org.openhab.voice.googlestt:clientSecret=SECRET org.openhab.voice.googlestt:authcode=XXXXX @@ -72,12 +72,12 @@ org.openhab.voice.googlestt:errorMessage="Sorry, something went wrong" You can setup your preferred default Speech-to-Text in the UI: -* Go to **Settings**. -* Edit **System Services - Voice**. -* Set **Google Cloud** as **Speech-to-Text**. +- Go to **Settings**. +- Edit **System Services - Voice**. +- Set **Google Cloud** as **Speech-to-Text**. In case you would like to setup these settings via a text file, you can edit the file `runtime.cfg` in `$OPENHAB_ROOT/conf/services` and set the following entries: -``` +```ini org.openhab.voice:defaultSTT=googlestt ``` diff --git a/bundles/org.openhab.voice.mactts/README.md b/bundles/org.openhab.voice.mactts/README.md index 43e28b62654d9..ccfde0e807a95 100644 --- a/bundles/org.openhab.voice.mactts/README.md +++ b/bundles/org.openhab.voice.mactts/README.md @@ -39,14 +39,14 @@ mactts:Yuna Yuna (ko_KR) You can setup your preferred default Text-to-Speech and default voice in the UI: -* Go to **Settings**. -* Edit **System Services - Voice**. -* Set **macOS TTS** as **Default Text-to-Speech**. -* Choose your preferred **Default Voice** for your setup. +- Go to **Settings**. +- Edit **System Services - Voice**. +- Set **macOS TTS** as **Default Text-to-Speech**. +- Choose your preferred **Default Voice** for your setup. In case you would like to setup these settings via a text file, you can edit the file `runtime.cfg` in `$OPENHAB_ROOT/conf/services` and set the following entries: -``` +```ini org.openhab.voice:defaultTTS=mactts org.openhab.voice:defaultVoice=mactts:Alex ``` diff --git a/bundles/org.openhab.voice.marytts/README.md b/bundles/org.openhab.voice.marytts/README.md index 14a5d4277845e..a11b8cab71b29 100644 --- a/bundles/org.openhab.voice.marytts/README.md +++ b/bundles/org.openhab.voice.marytts/README.md @@ -23,14 +23,14 @@ marytts:bits1hsmm bits1-hsmm (de) You can setup your preferred default Text-to-Speech and default voice in the UI: -* Go to **Settings**. -* Edit **System Services - Voice**. -* Set **MaryTTS** as **Default Text-to-Speech**. -* Choose your preferred **Default Voice** for your setup. +- Go to **Settings**. +- Edit **System Services - Voice**. +- Set **MaryTTS** as **Default Text-to-Speech**. +- Choose your preferred **Default Voice** for your setup. In case you would like to setup these settings via a text file, you can edit the file `runtime.cfg` in `$OPENHAB_ROOT/conf/services` and set the following entries: -``` +```ini org.openhab.voice:defaultTTS=marytts org.openhab.voice:defaultVoice=marytts:cmuslthsmm ``` @@ -47,4 +47,3 @@ The log messages of Mary TTS are not bundled with the openHAB log messages in th ## Caching The MaryTTS service uses the openHAB TTS cache to cache audio files produced from the most recent queries in order to reduce traffic, improve performance and reduce number of requests. - diff --git a/bundles/org.openhab.voice.mimictts/README.md b/bundles/org.openhab.voice.mimictts/README.md index 93e9e84b3d76e..f87eaeddaedec 100644 --- a/bundles/org.openhab.voice.mimictts/README.md +++ b/bundles/org.openhab.voice.mimictts/README.md @@ -16,16 +16,16 @@ It supports a subset of SSML, and if you want to use it, be sure to start your t Using your favorite configuration UI to edit **Settings / Other Services - Mimic Text-to-Speech** and set: -* **url** - Mimic URL. Default to `http://localhost:59125` -* **speakingRate** - Controls how fast the voice speaks the text. A value of 1 is the speed of the training dataset. Less than 1 is faster, and more than 1 is slower. -* **audioVolatility** - The amount of noise added to the generated audio (0-1). Can help mask audio artifacts from the voice model. Multi-speaker models tend to sound better with a lower amount of noise than single speaker models. -* **phonemeVolatility** - The amount of noise used to generate phoneme durations (0-1). Allows for variable speaking cadance, with a value closer to 1 being more variable. Multi-speaker models tend to sound better with a lower amount of phoneme variability than single speaker models. +- **url** - Mimic URL. Default to `http://localhost:59125` +- **speakingRate** - Controls how fast the voice speaks the text. A value of 1 is the speed of the training dataset. Less than 1 is faster, and more than 1 is slower. +- **audioVolatility** - The amount of noise added to the generated audio (0-1). Can help mask audio artifacts from the voice model. Multi-speaker models tend to sound better with a lower amount of noise than single speaker models. +- **phonemeVolatility** - The amount of noise used to generate phoneme durations (0-1). Allows for variable speaking cadance, with a value closer to 1 being more variable. Multi-speaker models tend to sound better with a lower amount of phoneme variability than single speaker models. In case you would like to setup the service via a text file, create a new file in `$OPENHAB_ROOT/conf/services` named `mimictts.cfg` Its contents should look similar to: -``` +```ini org.openhab.voice.mimictts:url=http://localhost:59125 org.openhab.voice.mimictts:speakingRate=1 org.openhab.voice.mimictts:audioVolatility=0.667 @@ -36,14 +36,14 @@ org.openhab.voice.mimictts:phonemeVolatility=0.8 You can setup your preferred default Text-to-Speech and default voice in the UI: -* Go to **Settings**. -* Edit **System Services - Voice**. -* Set **Mimic** as **Default Text-to-Speech**. -* Choose your preferred **Default Voice** for your setup. +- Go to **Settings**. +- Edit **System Services - Voice**. +- Set **Mimic** as **Default Text-to-Speech**. +- Choose your preferred **Default Voice** for your setup. In case you would like to setup these settings via a text file, you can edit the file `runtime.cfg` in `$OPENHAB_ROOT/conf/services` and set the following entries: -``` +```ini org.openhab.voice:defaultTTS=mimictts org.openhab.voice:defaultVoice=mimictts:fr_FR_siwis_low ``` diff --git a/bundles/org.openhab.voice.picotts/README.md b/bundles/org.openhab.voice.picotts/README.md index ad7d6a151c1c5..0acd73597336e 100644 --- a/bundles/org.openhab.voice.picotts/README.md +++ b/bundles/org.openhab.voice.picotts/README.md @@ -5,7 +5,7 @@ The Pico Text-to-Speech (TTS) service uses the TTS binary from SVOX for producin You manually need to install the pico2wave binary in order for this service to work correctly. You can, e.g., install it with apt-get on an Ubuntu system: -``` +```bash sudo apt-get install libttspico-utils ``` @@ -34,14 +34,14 @@ Italian (it-IT) You can setup your preferred default Text-to-Speech and default voice in the UI: -* Go to **Settings**. -* Edit **System Services - Voice**. -* Set **PicoTTS** as **Default Text-to-Speech**. -* Choose your preferred **Default Voice** for your setup. +- Go to **Settings**. +- Edit **System Services - Voice**. +- Set **PicoTTS** as **Default Text-to-Speech**. +- Choose your preferred **Default Voice** for your setup. In case you would like to setup these settings via a text file, you can edit the file `runtime.cfg` in `$OPENHAB_ROOT/conf/services` and set the following entries: -``` +```ini org.openhab.voice:defaultTTS=picotts org.openhab.voice:defaultVoice=picotts:frFR ``` diff --git a/bundles/org.openhab.voice.pipertts/README.md b/bundles/org.openhab.voice.pipertts/README.md index 57ad9ba250030..f2f3eaadf049f 100644 --- a/bundles/org.openhab.voice.pipertts/README.md +++ b/bundles/org.openhab.voice.pipertts/README.md @@ -7,9 +7,9 @@ This voice service allows you to use the open source library [Piper](https://git The add-on is compatible with the following platforms: -* linux (armv7l, aarch64, x86_64, min GLIBC version 2.31) -* macOS (x86_64 min version 11.0, aarch64 min version 13.0) -* win64 (x86_64 min version Windows 10). +- linux (armv7l, aarch64, x86_64, min GLIBC version 2.31) +- macOS (x86_64 min version 11.0, aarch64 min version 13.0) +- win64 (x86_64 min version Windows 10). ## Configuration @@ -37,7 +37,7 @@ Models that support multiples speakers are shown as multiple voices in openHAB. Use your favorite configuration UI to edit **Settings / Other Services - Piper Text-to-Speech**: -* **Preload model** - Keep last voice model used loaded in memory, these way it can be reused on next execution if the voice option matches. +- **Preload model** - Keep last voice model used loaded in memory, these way it can be reused on next execution if the voice option matches. ### Configuration via a text file @@ -53,10 +53,10 @@ org.openhab.voice.pipertts:preloadModel=true You can setup your preferred default Speech-to-Text in the UI: -* Go to **Settings**. -* Edit **System Services - Voice**. -* Set **Piper** as **Text-to-Speech**. -* Set your **Default Voice**. +- Go to **Settings**. +- Edit **System Services - Voice**. +- Set **Piper** as **Text-to-Speech**. +- Set your **Default Voice**. In case you would like to set up these settings via a text file, you can edit the file `runtime.cfg` in `$OPENHAB_ROOT/conf/services` and set the following entries: diff --git a/bundles/org.openhab.voice.pollytts/README.md b/bundles/org.openhab.voice.pollytts/README.md index 1946fd5c15a37..fa147b50c6ba2 100644 --- a/bundles/org.openhab.voice.pollytts/README.md +++ b/bundles/org.openhab.voice.pollytts/README.md @@ -10,11 +10,11 @@ You can find pricing information on the [documentation page](https://aws.amazon. ## Obtaining Credentials -* Sign up for Amazon Web Services (AWS). [link](https://portal.aws.amazon.com/billing/signup) +- Sign up for Amazon Web Services (AWS). [link](https://portal.aws.amazon.com/billing/signup) -When you sign up for AWS, your account is automatically signed up for all services in AWS, including Amazon Polly. +When you sign up for AWS, your account is automatically signed up for all services in AWS, including Amazon Polly. -* Create an IAM User. [link](https://docs.aws.amazon.com/polly/latest/dg/setting-up.html) +- Create an IAM User. [link](https://docs.aws.amazon.com/polly/latest/dg/setting-up.html) Services in AWS, such as Amazon Polly, require that you provide credentials when you access them so that the service can determine whether you have permissions to access the resources owned by that service. Within the AWS console, you can create access keys for your AWS account to access the Polly API. @@ -25,11 +25,11 @@ To use the service you will need the **access key**, **secret key** and **server The following settings can be edited in UI (**Settings / Other Services - Polly Text-to-Speech**): -* **Access Key** - The AWS credentials access key (required). -* **Secret Key** - The AWS credentials secret key (required). -* **Service Region** - The service region used for accessing Polly (required). To reduce latency select the region closest to you. E.g. "eu-west-1" (see [regions](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region)) -* **Audio Format** - Allows for overriding the system default audio format. - +- **Access Key** - The AWS credentials access key (required). +- **Secret Key** - The AWS credentials secret key (required). +- **Service Region** - The service region used for accessing Polly (required). To reduce latency select the region closest to you. E.g. "eu-west-1" (see [regions](https://docs.aws.amazon.com/general/latest/gr/rande.html#pol_region)) +- **Audio Format** - Allows for overriding the system default audio format. + Use "default" to select the system default audio format. The default audio format can be overriden with the value "mp3" or "ogg". @@ -37,7 +37,7 @@ In case you would like to setup the service via a text file, create a new file i Its contents should look similar to: -``` +```ini org.openhab.voice.pollytts:accessKey=ACCESS_KEY org.openhab.voice.pollytts:secretKey=SECRET_KEY org.openhab.voice.pollytts:serviceRegion=eu-west-1 @@ -48,14 +48,14 @@ org.openhab.voice.pollytts:audioFormat=default You can setup your preferred default Text-to-Speech and default voice in the UI: -* Go to **Settings**. -* Edit **System Services - Voice**. -* Set **PollyTTS** as **Default Text-to-Speech**. -* Choose your preferred **Default Voice** for your setup. +- Go to **Settings**. +- Edit **System Services - Voice**. +- Set **PollyTTS** as **Default Text-to-Speech**. +- Choose your preferred **Default Voice** for your setup. In case you would like to setup these settings via a text file, you can edit the file `runtime.cfg` in `$OPENHAB_ROOT/conf/services` and set the following entries: -``` +```ini org.openhab.voice:defaultTTS=pollytts org.openhab.voice:defaultVoice=pollytts:Joanne ``` @@ -66,7 +66,7 @@ The PolyTTS service uses the openHAB TTS cache to cache audio files produced fro ## Rule Examples -``` +```java say("Hello there") say("Hello there", "pollytts:Joanne", "enhancedjavasound") say("" + item.state, "pollytts:Joey", "enhancedjavasound") diff --git a/bundles/org.openhab.voice.voicerss/README.md b/bundles/org.openhab.voice.voicerss/README.md index bff099818d15a..a7b397e58df97 100644 --- a/bundles/org.openhab.voice.voicerss/README.md +++ b/bundles/org.openhab.voice.voicerss/README.md @@ -29,13 +29,13 @@ https://api.voicerss.org/?key=API_KEY&hl=de-de&f=44khz_16bit_mono&src=Hallo%20We The following settings can be edited in UI (**Settings / Other Services - VoiceRSS Text-to-Speech**): -* **VoiceRSS API Key** - The API Key to get access to https://www.voicerss.org. +- **VoiceRSS API Key** - The API Key to get access to https://www.voicerss.org. In case you would like to setup the service via a text file, create a new file in `$OPENHAB_ROOT/conf/services` named `voicerss.cfg` Its contents should look similar to: -``` +```ini org.openhab.voice.voicerss:apiKey=1234567890 ``` @@ -43,115 +43,115 @@ org.openhab.voice.voicerss:apiKey=1234567890 It supports the following voices (depending on language): -* Oda (Arabic - Egypt) -* Salim (Arabic - Saudi Arabia) -* Dimo (Bulgarian) -* Rut (Catalan) -* Luli (Chinese - China) -* Shu (Chinese - China) -* Chow (Chinese - China) -* Wang (Chinese - China) -* Jia (Chinese - Hong Kong) -* Xia (Chinese - Hong Kong) -* Chen (Chinese - Hong Kong) -* Akemi (Chinese - Taiwan) -* Lin (Chinese - Taiwan) -* Lee (Chinese - Taiwan) -* Nikola (Croatian) -* Josef (Czech) -* Freja (Danish) -* Daan (Dutch - Belgium) -* Lotte (Dutch - Netherlands) -* Bram (Dutch - Netherlands) -* Zoe (English - Australia) -* Isla (English - Australia) -* Evie (English - Australia) -* Jack (English - Australia) -* Rose (English - Canada) -* Clara (English - Canada) -* Emma (English - Canada) -* Mason (English - Canada) -* Alice (English - Great Britain) -* Nancy (English - Great Britain) -* Lily (English - Great Britain) -* Harry (English - Great Britain) -* Eka (English - India) -* Jai (English - India) -* Ajit (English - India) -* Oran (English - Ireland) -* Linda (English - United States) -* Amy (English - United States) -* Mary (English - United States) -* John (English - United States) -* Mike (English - United States) -* Aada (Finnish) -* Emile (French - Canada) -* Olivia (French - Canada) -* Logan (French - Canada) -* Felix (French - Canada) -* Bette (French - France) -* Iva (French - France) -* Zola (French - France) -* Axel (French - France) -* Theo (French - Switzerland) -* Lukas (German - Austria) -* Hanna (German - Germany) -* Lina (German - Germany) -* Jonas (German - Germany) -* Tim (German - Switzerland) -* Neo (Greek) -* Rami (Hebrew) -* Puja (Hindi) -* Kabir (Hindi) -* Mate (Hungarian) -* Intan (Indonesian) -* Bria (Italian) -* Mia (Italian) -* Pietro (Italian) -* Hina (Japanese) -* Airi (Japanese) -* Fumi (Japanese) -* Akira (Japanese) -* Nari (Korean) -* Aqil (Malay) -* Marte (Norwegian) -* Erik (Norwegian) -* Julia (Polish) -* Jan (Polish) -* Marcia (Portuguese - Brazil) -* Ligia (Portuguese - Brazil) -* Yara (Portuguese - Brazil) -* Dinis (Portuguese - Brazil) -* Leonor (Portuguese - Portugal) -* Doru (Romanian) -* Olga (Russian) -* Marina (Russian) -* Peter (Russian) -* Beda (Slovak) -* Vid (Slovenian) -* Juana (Spanish - Mexico) -* Silvia (Spanish - Mexico) -* Teresa (Spanish - Mexico) -* Jose (Spanish - Mexico) -* Camila (Spanish - Spain) -* Sofia (Spanish - Spain) -* Luna (Spanish - Spain) -* Diego (Spanish - Spain) -* Molly (Swedish) -* Hugo (Swedish) -* Sai (Tamil) -* Ukrit (Thai) -* Omer (Turkish) -* Chi (Vietnamese) +- Oda (Arabic - Egypt) +- Salim (Arabic - Saudi Arabia) +- Dimo (Bulgarian) +- Rut (Catalan) +- Luli (Chinese - China) +- Shu (Chinese - China) +- Chow (Chinese - China) +- Wang (Chinese - China) +- Jia (Chinese - Hong Kong) +- Xia (Chinese - Hong Kong) +- Chen (Chinese - Hong Kong) +- Akemi (Chinese - Taiwan) +- Lin (Chinese - Taiwan) +- Lee (Chinese - Taiwan) +- Nikola (Croatian) +- Josef (Czech) +- Freja (Danish) +- Daan (Dutch - Belgium) +- Lotte (Dutch - Netherlands) +- Bram (Dutch - Netherlands) +- Zoe (English - Australia) +- Isla (English - Australia) +- Evie (English - Australia) +- Jack (English - Australia) +- Rose (English - Canada) +- Clara (English - Canada) +- Emma (English - Canada) +- Mason (English - Canada) +- Alice (English - Great Britain) +- Nancy (English - Great Britain) +- Lily (English - Great Britain) +- Harry (English - Great Britain) +- Eka (English - India) +- Jai (English - India) +- Ajit (English - India) +- Oran (English - Ireland) +- Linda (English - United States) +- Amy (English - United States) +- Mary (English - United States) +- John (English - United States) +- Mike (English - United States) +- Aada (Finnish) +- Emile (French - Canada) +- Olivia (French - Canada) +- Logan (French - Canada) +- Felix (French - Canada) +- Bette (French - France) +- Iva (French - France) +- Zola (French - France) +- Axel (French - France) +- Theo (French - Switzerland) +- Lukas (German - Austria) +- Hanna (German - Germany) +- Lina (German - Germany) +- Jonas (German - Germany) +- Tim (German - Switzerland) +- Neo (Greek) +- Rami (Hebrew) +- Puja (Hindi) +- Kabir (Hindi) +- Mate (Hungarian) +- Intan (Indonesian) +- Bria (Italian) +- Mia (Italian) +- Pietro (Italian) +- Hina (Japanese) +- Airi (Japanese) +- Fumi (Japanese) +- Akira (Japanese) +- Nari (Korean) +- Aqil (Malay) +- Marte (Norwegian) +- Erik (Norwegian) +- Julia (Polish) +- Jan (Polish) +- Marcia (Portuguese - Brazil) +- Ligia (Portuguese - Brazil) +- Yara (Portuguese - Brazil) +- Dinis (Portuguese - Brazil) +- Leonor (Portuguese - Portugal) +- Doru (Romanian) +- Olga (Russian) +- Marina (Russian) +- Peter (Russian) +- Beda (Slovak) +- Vid (Slovenian) +- Juana (Spanish - Mexico) +- Silvia (Spanish - Mexico) +- Teresa (Spanish - Mexico) +- Jose (Spanish - Mexico) +- Camila (Spanish - Spain) +- Sofia (Spanish - Spain) +- Luna (Spanish - Spain) +- Diego (Spanish - Spain) +- Molly (Swedish) +- Hugo (Swedish) +- Sai (Tamil) +- Ukrit (Thai) +- Omer (Turkish) +- Chi (Vietnamese) ### Default Text-to-Speech and Voice Configuration You can setup your preferred default Text-to-Speech and default voice in the UI: -* Go to **Settings**. -* Edit **System Services - Voice**. -* Set **VoiceRSS** as **Default Text-to-Speech**. -* Choose your preferred **Default Voice** for your setup. +- Go to **Settings**. +- Edit **System Services - Voice**. +- Set **VoiceRSS** as **Default Text-to-Speech**. +- Choose your preferred **Default Voice** for your setup. In case you would like to setup these settings via a text file, you can edit the file `runtime.cfg` in `$OPENHAB_ROOT/conf/services` and set the following entries: diff --git a/bundles/org.openhab.voice.voskstt/README.md b/bundles/org.openhab.voice.voskstt/README.md index 7a1736bf8f6a1..964c84afa6dcc 100644 --- a/bundles/org.openhab.voice.voskstt/README.md +++ b/bundles/org.openhab.voice.voskstt/README.md @@ -11,11 +11,11 @@ More to come. This add-on uses an underling binary to work. The following platforms are supported: -* linux-aarch64 -* linux-armv7l -* linux-x86_64 -* osx -* win64 +- linux-aarch64 +- linux-armv7l +- linux-x86_64 +- osx +- win64 **On Linux this binary requires the package libatomic to be installed (apt install libatomic1).** @@ -31,17 +31,17 @@ You should unzip the contained folder into '\/vosk/' and rena Use your favorite configuration UI to edit **Settings / Other Services - Vosk Speech-to-Text**: -* **Preload Model** - Keep language model loaded. -* **Single Utterance Mode** - When enabled recognition stops listening after a single utterance. -* **Max Transcription Seconds** - Max seconds to wait to force stop the transcription. -* **Max Silence Seconds** - Only works when singleUtteranceMode is disabled, max seconds without getting new transcriptions to stop listening. +- **Preload Model** - Keep language model loaded. +- **Single Utterance Mode** - When enabled recognition stops listening after a single utterance. +- **Max Transcription Seconds** - Max seconds to wait to force stop the transcription. +- **Max Silence Seconds** - Only works when singleUtteranceMode is disabled, max seconds without getting new transcriptions to stop listening. ### Messages Configuration Use your favorite configuration UI to edit **Settings / Other Services - Vosk Speech-to-Text**: -* **No Results Message** - Message to be told when no results. -* **Error Message** - Message to be told when an error has happened. +- **No Results Message** - Message to be told when no results. +- **Error Message** - Message to be told when an error has happened. ### Configuration via a text file @@ -62,12 +62,12 @@ org.openhab.voice.voskstt:errorMessage="Sorry, something went wrong" You can setup your preferred default Speech-to-Text in the UI: -* Go to **Settings**. -* Edit **System Services - Voice**. -* Set **Vosk** as **Speech-to-Text**. +- Go to **Settings**. +- Edit **System Services - Voice**. +- Set **Vosk** as **Speech-to-Text**. In case you would like to setup these settings via a text file, you can edit the file `runtime.cfg` in `$OPENHAB_ROOT/conf/services` and set the following entries: -``` +```ini org.openhab.voice:defaultSTT=voskstt ``` diff --git a/bundles/org.openhab.voice.watsonstt/README.md b/bundles/org.openhab.voice.watsonstt/README.md index c9610b56cc145..757c683266f4b 100644 --- a/bundles/org.openhab.voice.watsonstt/README.md +++ b/bundles/org.openhab.voice.watsonstt/README.md @@ -8,8 +8,8 @@ You can find pricing information on [this page](https://www.ibm.com/cloud/watson Before you can use this add-on, you should create a Speech-to-Text instance in the IBM Cloud service. -* Go to the following [link](https://cloud.ibm.com/catalog/services/speech-to-text) and create the instance in your desired region. -* After the instance is created you should be able to view its url and api key. +- Go to the following [link](https://cloud.ibm.com/catalog/services/speech-to-text) and create the instance in your desired region. +- After the instance is created you should be able to view its url and api key. ## Configuration @@ -17,22 +17,22 @@ Before you can use this add-on, you should create a Speech-to-Text instance in t Use your favorite configuration UI to edit **Settings / Other Services - IBM Watson Speech-to-Text** and set: -* **Api Key** - Api key for Speech-to-Text instance created on IBM Cloud. -* **Instance Url** - Url for Speech-to-Text instance created on IBM Cloud. +- **Api Key** - Api key for Speech-to-Text instance created on IBM Cloud. +- **Instance Url** - Url for Speech-to-Text instance created on IBM Cloud. ### Speech to Text Configuration Use your favorite configuration UI to edit **Settings / Other Services - IBM Watson Speech-to-Text**: -* **Prefer Multimedia Model** - Prefer multimedia to telephony [models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-models-ng). Multimedia models are intended for audio that has a minimum sampling rate of 16 kHz, while telephony models are intended for audio that has a minimum sampling rate of 8 kHz. -* **Background Audio Suppression** - Use the parameter to suppress side conversations or background noise. -* **Speech Detector Sensitivity** - Use the parameter to suppress word insertions from music, coughing, and other non-speech events. -* **Single Utterance Mode** - When enabled recognition stops listening after a single utterance. -* **Max Silence Seconds** - The time in seconds after which, if only silence (no speech) is detected in the audio, the connection is closed. -* **Opt Out Logging** - By default, all IBM Watson™ services log requests and their results. Logging is done only to improve the services for future users. The logged data is not shared or made public. -* **No Results Message** - Message to be told when no results. -* **Smart Formatting** - If true, the service converts dates, times, series of digits and numbers, phone numbers, currency values, and internet addresses into more readable. (Not available for all locales) -* **Redaction** - If true, the service redacts, or masks, numeric data from final transcripts. (Not available for all locales) +- **Prefer Multimedia Model** - Prefer multimedia to telephony [models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-models-ng). Multimedia models are intended for audio that has a minimum sampling rate of 16 kHz, while telephony models are intended for audio that has a minimum sampling rate of 8 kHz. +- **Background Audio Suppression** - Use the parameter to suppress side conversations or background noise. +- **Speech Detector Sensitivity** - Use the parameter to suppress word insertions from music, coughing, and other non-speech events. +- **Single Utterance Mode** - When enabled recognition stops listening after a single utterance. +- **Max Silence Seconds** - The time in seconds after which, if only silence (no speech) is detected in the audio, the connection is closed. +- **Opt Out Logging** - By default, all IBM Watson™ services log requests and their results. Logging is done only to improve the services for future users. The logged data is not shared or made public. +- **No Results Message** - Message to be told when no results. +- **Smart Formatting** - If true, the service converts dates, times, series of digits and numbers, phone numbers, currency values, and internet addresses into more readable. (Not available for all locales) +- **Redaction** - If true, the service redacts, or masks, numeric data from final transcripts. (Not available for all locales) ### Configuration via a text file @@ -40,7 +40,7 @@ In case you would like to setup the service via a text file, create a new file i Its contents should look similar to: -``` +```ini org.openhab.voice.watsonstt:apiKey=****** org.openhab.voice.watsonstt:instanceUrl=https://api.***.speech-to-text.watson.cloud.ibm.com/instances/***** org.openhab.voice.watsonstt:backgroundAudioSuppression=0.5 @@ -58,12 +58,12 @@ org.openhab.voice.watsonstt:errorMessage="Sorry, something went wrong" You can setup your preferred default Speech-to-Text in the UI: -* Go to **Settings**. -* Edit **System Services - Voice**. -* Set **Watson** as **Speech-to-Text**. +- Go to **Settings**. +- Edit **System Services - Voice**. +- Set **Watson** as **Speech-to-Text**. In case you would like to setup these settings via a text file, you can edit the file `runtime.cfg` in `$OPENHAB_ROOT/conf/services` and set the following entries: -``` +```ini org.openhab.voice:defaultSTT=watsonstt ``` diff --git a/bundles/org.openhab.voice.whisperstt/README.md b/bundles/org.openhab.voice.whisperstt/README.md index 03ea4b6849e74..2665960bcef9c 100644 --- a/bundles/org.openhab.voice.whisperstt/README.md +++ b/bundles/org.openhab.voice.whisperstt/README.md @@ -22,9 +22,9 @@ You can find here the used [whisper.cpp Java wrapper](https://github.com/GiviMAD The following platforms are supported: -* Windows10 x86_64 -* Debian GLIBC x86_64/arm64 (min GLIBC version 2.31 / min Debian version Focal) -* macOS x86_64/arm64 (min version v11.0) +- Windows10 x86_64 +- Debian GLIBC x86_64/arm64 (min GLIBC version 2.31 / min Debian version Focal) +- macOS x86_64/arm64 (min version v11.0) The native binaries for those platforms are included in this add-on provided with the openHAB distribution. @@ -58,8 +58,8 @@ Before you can use this service you should configure your model. You can download them from the sources provided by the [whisper.cpp](https://github.com/ggerganov/whisper.cpp) author: -* https://huggingface.co/ggerganov/whisper.cpp -* https://ggml.ggerganov.com +- https://huggingface.co/ggerganov/whisper.cpp +- https://ggml.ggerganov.com You should place the downloaded .bin model in '\/whisper/' so the add-ons can find them. @@ -108,49 +108,48 @@ Use your favorite configuration UI to edit the Whisper settings: General options. -* **Model Name** - Model name. The 'ggml-' prefix and '.bin' extension are optional here but required on the filename. (ex: tiny.en -> ggml-tiny.en.bin) -* **Preload Model** - Keep whisper model loaded. -* **Single Utterance Mode** - When enabled recognition stops listening after a single utterance. -* **Min Transcription Seconds** - Forces min audio duration passed to whisper, in seconds. -* **Max Transcription Seconds** - Max seconds for force trigger the transcription, without wait for detect silence. -* **Initial Silence Seconds** - Max seconds without any voice activity to abort the transcription. -* **Max Silence Seconds** - Max consecutive silence seconds to trigger the transcription. -* **Remove Silence** - Remove start and end silence from the audio to transcribe. +- **Model Name** - Model name. The 'ggml-' prefix and '.bin' extension are optional here but required on the filename. (ex: tiny.en -> ggml-tiny.en.bin) +- **Preload Model** - Keep whisper model loaded. +- **Single Utterance Mode** - When enabled recognition stops listening after a single utterance. +- **Min Transcription Seconds** - Forces min audio duration passed to whisper, in seconds. +- **Max Transcription Seconds** - Max seconds for force trigger the transcription, without wait for detect silence. +- **Initial Silence Seconds** - Max seconds without any voice activity to abort the transcription. +- **Max Silence Seconds** - Max consecutive silence seconds to trigger the transcription. +- **Remove Silence** - Remove start and end silence from the audio to transcribe. ### Voice Activity Detection Configuration Configure VAD options. -* **Audio Step** - Audio processing step in seconds for the voice activity detection. -* **Voice Activity Detection Mode** - Selected VAD Mode. -* **Voice Activity Detection Sensitivity** - Percentage in range 0-1 of voice activity in one second to consider it as voice. -* **Voice Activity Detection Step** - VAD detector internal step in ms (only allows 10, 20 or 30). (Audio Step / Voice Activity Detection Step = number of vad executions per audio step). +- **Audio Step** - Audio processing step in seconds for the voice activity detection. +- **Voice Activity Detection Mode** - Selected VAD Mode. +- **Voice Activity Detection Sensitivity** - Percentage in range 0-1 of voice activity in one second to consider it as voice. +- **Voice Activity Detection Step** - VAD detector internal step in ms (only allows 10, 20 or 30). (Audio Step / Voice Activity Detection Step = number of vad executions per audio step). ### Whisper Configuration Configure whisper options. -* **Threads** - Number of threads used by whisper. (0 to use host max threads) -* **Sampling Strategy** - Sampling strategy used. -* **Beam Size** - Beam Size configuration for sampling strategy Bean Search. -* **Greedy Best Of** - Best Of configuration for sampling strategy Greedy. -* **Speed Up** - Speed up audio by x2. (Reduced accuracy) -* **Audio Context** - Overwrite the audio context size. (0 to use whisper default context size) -* **Temperature** - Temperature threshold. -* **Initial Prompt** - Initial prompt for whisper. -* **OpenVINO Device** - Initialize OpenVINO encoder. (built-in binaries do not support OpenVINO, this has no effect) -* **Use GPU** - Enables GPU usage. (built-in binaries do not support GPU usage, this has no effect) +- **Threads** - Number of threads used by whisper. (0 to use host max threads) +- **Sampling Strategy** - Sampling strategy used. +- **Beam Size** - Beam Size configuration for sampling strategy Bean Search. +- **Greedy Best Of** - Best Of configuration for sampling strategy Greedy. +- **Speed Up** - Speed up audio by x2. (Reduced accuracy) +- **Audio Context** - Overwrite the audio context size. (0 to use whisper default context size) +- **Temperature** - Temperature threshold. +- **Initial Prompt** - Initial prompt for whisper. +- **OpenVINO Device** - Initialize OpenVINO encoder. (built-in binaries do not support OpenVINO, this has no effect) +- **Use GPU** - Enables GPU usage. (built-in binaries do not support GPU usage, this has no effect) ### Grammar Configuration Configure the grammar options. -* **Grammar** - Grammar to use in GBNF format (whisper.cpp BNF variant). -* **Use Grammar** - Enable grammar usage. -* **Grammar penalty** - Penalty for non grammar tokens. - -#### Grammar Example: +- **Grammar** - Grammar to use in GBNF format (whisper.cpp BNF variant). +- **Use Grammar** - Enable grammar usage. +- **Grammar penalty** - Penalty for non grammar tokens. +#### Grammar Example ```gbnf # Grammar should define a root expression that should end with a dot. @@ -183,14 +182,14 @@ timer ::= [0-9]+ ### Messages Configuration -* **No Results Message** - Message to be told on no results. -* **Error Message** - Message to be told on exception. +- **No Results Message** - Message to be told on no results. +- **Error Message** - Message to be told on exception. ### Developer Configuration -* **Create WAV Record** - Create wav audio file on each whisper execution, also creates a '.prop' file containing the transcription. -* **Record Sample Format** - Change the record sample format. (allows i16 or f32) -* **Enable Whisper Log** - Emit whisper.cpp library logs as add-on debug logs. +- **Create WAV Record** - Create wav audio file on each whisper execution, also creates a '.prop' file containing the transcription. +- **Record Sample Format** - Change the record sample format. (allows i16 or f32) +- **Enable Whisper Log** - Emit whisper.cpp library logs as add-on debug logs. You can find [here](https://github.com/givimad/whisper-finetune-oh) information on how to fine-tune a model using the generated records. @@ -200,7 +199,7 @@ In case you would like to set up the service via a text file, create a new file Its contents should look similar to: -``` +```ini org.openhab.voice.whisperstt:modelName=tiny org.openhab.voice.whisperstt:initSilenceSeconds=0.3 org.openhab.voice.whisperstt:removeSilence=true @@ -237,12 +236,12 @@ org.openhab.voice.whisperstt:grammarLines= You can select your preferred default Speech-to-Text in the UI: -* Go to **Settings**. -* Edit **System Services - Voice**. -* Set **Whisper** as **Speech-to-Text**. +- Go to **Settings**. +- Edit **System Services - Voice**. +- Set **Whisper** as **Speech-to-Text**. In case you would like to set up these settings via a text file, you can edit the file `runtime.cfg` in `$OPENHAB_ROOT/conf/services` and set the following entries: -``` +```ini org.openhab.voice:defaultSTT=whisperstt ``` From 2d8257e1a6ee8ad76b4ee32ea6a69315c41966ad Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sat, 28 Sep 2024 14:17:18 +0200 Subject: [PATCH 10/11] remove trailing spaces Signed-off-by: Leo Siepel --- .../README.md | 6 +- .../org.openhab.binding.androidtv/README.md | 8 +- .../org.openhab.binding.argoclima/README.md | 64 ++-- bundles/org.openhab.binding.atlona/README.md | 2 +- .../org.openhab.binding.avmfritz/README.md | 6 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 2 +- .../README.md | 4 +- .../org.openhab.binding.boschshc/README.md | 8 +- bundles/org.openhab.binding.caddx/README.md | 2 +- bundles/org.openhab.binding.chatgpt/README.md | 4 +- bundles/org.openhab.binding.cm11a/README.md | 4 +- bundles/org.openhab.binding.dbquery/README.md | 12 +- bundles/org.openhab.binding.deconz/README.md | 2 +- .../README.md | 50 +-- .../README.md | 2 +- bundles/org.openhab.binding.dmx/README.md | 6 +- bundles/org.openhab.binding.dolbycp/README.md | 6 +- .../org.openhab.binding.dominoswiss/README.md | 8 +- .../org.openhab.binding.doorbird/README.md | 2 +- .../org.openhab.binding.dscalarm/README.md | 10 +- .../README.md | 2 +- .../org.openhab.binding.dwdunwetter/README.md | 2 +- .../README.md | 2 +- bundles/org.openhab.binding.emotiva/README.md | 26 +- .../org.openhab.binding.energenie/README.md | 2 +- .../README.md | 6 +- bundles/org.openhab.binding.enigma2/README.md | 8 +- bundles/org.openhab.binding.enocean/README.md | 16 +- .../org.openhab.binding.etherrain/README.md | 6 +- bundles/org.openhab.binding.evohome/README.md | 6 +- bundles/org.openhab.binding.exec/README.md | 2 +- bundles/org.openhab.binding.fenecon/README.md | 4 +- .../README.md | 4 +- bundles/org.openhab.binding.flume/README.md | 8 +- .../org.openhab.binding.fmiweather/README.md | 32 +- bundles/org.openhab.binding.fronius/README.md | 4 +- .../org.openhab.binding.ftpupload/README.md | 8 +- bundles/org.openhab.binding.gce/README.md | 4 +- .../README.md | 4 +- .../org.openhab.binding.globalcache/README.md | 2 +- .../org.openhab.binding.goecharger/README.md | 2 +- bundles/org.openhab.binding.govee/README.md | 2 +- bundles/org.openhab.binding.gpio/README.md | 14 +- bundles/org.openhab.binding.gree/README.md | 4 +- bundles/org.openhab.binding.gridbox/README.md | 28 +- bundles/org.openhab.binding.growatt/README.md | 4 +- .../README.md | 4 +- .../README.md | 2 +- bundles/org.openhab.binding.helios/README.md | 2 +- .../org.openhab.binding.homeconnect/README.md | 26 +- .../org.openhab.binding.homematic/README.md | 4 +- .../org.openhab.binding.hpprinter/README.md | 2 +- bundles/org.openhab.binding.hue/README.md | 2 +- .../org.openhab.binding.hydrawise/README.md | 8 +- .../org.openhab.binding.hyperion/README.md | 2 +- bundles/org.openhab.binding.ihc/README.md | 6 +- bundles/org.openhab.binding.insteon/README.md | 2 +- bundles/org.openhab.binding.intesis/README.md | 4 +- .../org.openhab.binding.iotawatt/README.md | 2 +- .../org.openhab.binding.ipcamera/README.md | 14 +- bundles/org.openhab.binding.irtrans/README.md | 2 +- bundles/org.openhab.binding.ism8/README.md | 44 +-- .../org.openhab.binding.jablotron/README.md | 4 +- .../README.md | 18 +- bundles/org.openhab.binding.keba/README.md | 6 +- bundles/org.openhab.binding.knx/README.md | 6 +- .../org.openhab.binding.konnected/README.md | 2 +- .../README.md | 18 +- .../README.md | 12 +- .../org.openhab.binding.leapmotion/README.md | 2 +- bundles/org.openhab.binding.lgwebos/README.md | 2 +- bundles/org.openhab.binding.luxom/README.md | 2 +- .../org.openhab.binding.mecmeter/README.md | 4 +- .../org.openhab.binding.mercedesme/README.md | 58 ++-- .../proto/README.md | 2 +- .../org.openhab.binding.meteoalerte/README.md | 6 +- bundles/org.openhab.binding.mffan/README.md | 4 +- bundles/org.openhab.binding.mihome/README.md | 6 +- bundles/org.openhab.binding.miio/README.md | 4 +- .../org.openhab.binding.millheat/README.md | 6 +- .../org.openhab.binding.modbus.e3dc/README.md | 10 +- .../README.md | 6 +- .../README.md | 2 +- .../README.md | 14 +- .../README.md | 4 +- bundles/org.openhab.binding.mybmw/README.md | 292 +++++++++--------- bundles/org.openhab.binding.mycroft/README.md | 2 +- bundles/org.openhab.binding.mynice/README.md | 2 +- bundles/org.openhab.binding.mystrom/README.md | 6 +- .../org.openhab.binding.nanoleaf/README.md | 44 +-- bundles/org.openhab.binding.neato/README.md | 2 +- bundles/org.openhab.binding.neeo/README.md | 8 +- bundles/org.openhab.binding.neohub/README.md | 8 +- bundles/org.openhab.binding.netatmo/README.md | 4 +- bundles/org.openhab.binding.network/README.md | 8 +- .../contrib/NibeGW/Arduino/README.md | 4 +- .../org.openhab.binding.nibeuplink/README.md | 10 +- bundles/org.openhab.binding.nikobus/README.md | 6 +- bundles/org.openhab.binding.nobohub/README.md | 8 +- bundles/org.openhab.binding.nuki/README.md | 16 +- bundles/org.openhab.binding.nuvo/README.md | 24 +- bundles/org.openhab.binding.oceanic/README.md | 10 +- bundles/org.openhab.binding.onewire/README.md | 24 +- .../org.openhab.binding.opengarage/README.md | 6 +- bundles/org.openhab.binding.openuv/README.md | 2 +- .../org.openhab.binding.openwebnet/README.md | 24 +- .../org.openhab.binding.orbitbhyve/README.md | 58 ++-- .../README.md | 28 +- .../org.openhab.binding.pegelonline/README.md | 18 +- bundles/org.openhab.binding.pentair/README.md | 6 +- bundles/org.openhab.binding.phc/README.md | 6 +- bundles/org.openhab.binding.pihole/README.md | 10 +- bundles/org.openhab.binding.plex/README.md | 4 +- bundles/org.openhab.binding.prowl/README.md | 12 +- .../README.md | 4 +- .../org.openhab.binding.pulseaudio/README.md | 6 +- .../org.openhab.binding.qolsysiq/README.md | 4 +- .../README.md | 2 +- .../README.md | 8 +- bundles/org.openhab.binding.renault/README.md | 2 +- bundles/org.openhab.binding.rfxcom/README.md | 4 +- bundles/org.openhab.binding.roku/README.md | 62 ++-- .../org.openhab.binding.sagercaster/README.md | 2 +- .../org.openhab.binding.saicismart/README.md | 6 +- .../org.openhab.binding.samsungtv/README.md | 78 ++--- bundles/org.openhab.binding.satel/README.md | 2 +- bundles/org.openhab.binding.sensibo/README.md | 4 +- .../README.md | 40 +-- bundles/org.openhab.binding.shelly/README.md | 10 +- .../org.openhab.binding.siemenshvac/README.md | 32 +- bundles/org.openhab.binding.sinope/README.md | 4 +- bundles/org.openhab.binding.snmp/README.md | 8 +- .../org.openhab.binding.solaredge/README.md | 10 +- .../README.md | 84 ++--- .../org.openhab.binding.solarman/README.md | 10 +- bundles/org.openhab.binding.solax/README.md | 14 +- bundles/org.openhab.binding.somneo/README.md | 4 +- bundles/org.openhab.binding.souliss/README.md | 18 +- .../org.openhab.binding.surepetcare/README.md | 4 +- .../org.openhab.binding.tapocontrol/README.md | 6 +- .../org.openhab.binding.tasmotaplug/README.md | 6 +- bundles/org.openhab.binding.tesla/README.md | 18 +- .../org.openhab.binding.teslascope/README.md | 16 +- bundles/org.openhab.binding.tibber/README.md | 2 +- bundles/org.openhab.binding.tivo/README.md | 112 +++---- bundles/org.openhab.binding.tr064/README.md | 6 +- bundles/org.openhab.binding.tradfri/README.md | 2 +- .../org.openhab.binding.upnpcontrol/README.md | 18 +- bundles/org.openhab.binding.velbus/README.md | 2 +- .../README.md | 2 +- bundles/org.openhab.binding.vesync/README.md | 8 +- .../README.md | 62 ++-- bundles/org.openhab.binding.vizio/README.md | 74 ++--- bundles/org.openhab.binding.volumio/README.md | 2 +- .../org.openhab.binding.volvooncall/README.md | 6 +- bundles/org.openhab.binding.warmup/README.md | 2 +- .../org.openhab.binding.webexteams/README.md | 2 +- .../org.openhab.binding.webthing/README.md | 8 +- bundles/org.openhab.binding.wemo/README.md | 12 +- bundles/org.openhab.binding.wifiled/README.md | 10 +- .../org.openhab.binding.wlanthermo/README.md | 56 ++-- bundles/org.openhab.binding.wled/README.md | 4 +- .../README.md | 4 +- .../README.md | 4 +- .../docs/README.md | 10 +- .../org.openhab.binding.zoneminder/README.md | 2 +- bundles/org.openhab.io.hueemulation/README.md | 4 +- bundles/org.openhab.io.metrics/README.md | 12 +- bundles/org.openhab.io.neeo/README.md | 10 +- bundles/org.openhab.io.openhabcloud/README.md | 8 +- .../org.openhab.persistence.rrd4j/README.md | 8 +- .../org.openhab.transform.bin2json/README.md | 4 +- bundles/org.openhab.transform.exec/README.md | 4 +- bundles/org.openhab.transform.jinja/README.md | 2 +- .../org.openhab.transform.jsonpath/README.md | 2 +- bundles/org.openhab.transform.scale/README.md | 6 +- bundles/org.openhab.transform.xpath/README.md | 6 +- bundles/org.openhab.transform.xslt/README.md | 8 +- bundles/org.openhab.voice.googlestt/README.md | 2 +- bundles/org.openhab.voice.pollytts/README.md | 8 +- .../org.openhab.voice.rustpotterks/README.md | 2 +- bundles/org.openhab.voice.watsonstt/README.md | 4 +- .../org.openhab.voice.whisperstt/README.md | 14 +- 186 files changed, 1187 insertions(+), 1187 deletions(-) diff --git a/bundles/org.openhab.binding.amberelectric/README.md b/bundles/org.openhab.binding.amberelectric/README.md index f856eddbd425c..0a41152294340 100644 --- a/bundles/org.openhab.binding.amberelectric/README.md +++ b/bundles/org.openhab.binding.amberelectric/README.md @@ -4,7 +4,7 @@ A binding that supports the Australian energy retailer Amber's API ( openhab:androidtv androidtv:googletv:theater keypress KEY_POWER ## Pin Code Process -For the AndroidTV to be successfully accessed an on-screen PIN authentication is required on the first connection. +For the AndroidTV to be successfully accessed an on-screen PIN authentication is required on the first connection. To begin the PIN process, send the text "REQUEST" to the pincode channel while watching your AndroidTV. -CLI Example Usage: +CLI Example Usage: ```shell openhab> openhab:androidtv androidtv:googletv:theater pincode REQUEST diff --git a/bundles/org.openhab.binding.argoclima/README.md b/bundles/org.openhab.binding.argoclima/README.md index 3215dc6965e46..590de6b86bce9 100644 --- a/bundles/org.openhab.binding.argoclima/README.md +++ b/bundles/org.openhab.binding.argoclima/README.md @@ -123,23 +123,23 @@ Thing argoclima:local:argoHvacLocalDirect "Argo HVAC (connected locally)" @ "Liv Thing argoclima:local:argoHvacLocalDirectEx "Argo HVAC (connected locally) - extended example (with explicit options)" [ hostname="192.168.0.3", connectionMode="LOCAL_CONNECTION", - refreshInterval=30, + refreshInterval=30, hvacListenPort=1001, // Schedule options (these are valid for all thing types) - schedule1DayOfWeek="[FRI, SAT, SUN, MON]", - schedule1OnTime="7:35", + schedule1DayOfWeek="[FRI, SAT, SUN, MON]", + schedule1OnTime="7:35", schedule1OffTime="18:00", - schedule2DayOfWeek="[MON, TUE, WED, THU, FRI]", + schedule2DayOfWeek="[MON, TUE, WED, THU, FRI]", schedule2OnTime="15:00", schedule2OffTime="22:00", schedule3DayOfWeek="SUN","SAT", //Alternative syntax for the weekdays list - schedule3OnTime="11:00", - schedule3OffTime="22:00" + schedule3OnTime="11:00", + schedule3OffTime="22:00" //,resetToFactoryDefaults=true //This triggers a one-shot command each time the thing - // definition is (re)loaded from file. + // definition is (re)loaded from file. // Use only intermittently - it is not designed with prolonged - // usage via Things text file in mind (mostly a MainUI feature!) + // usage via Things text file in mind (mostly a MainUI feature!) ] //ADVANCED MODES examples @@ -153,19 +153,19 @@ Thing argoclima:local:argoHvacLocalWithPassthroughIndirect "Argo HVAC (accessibl Thing argoclima:local:argoHvacLocalWithPassthroughPlusDirectEx "Argo HVAC (accessible both indirectly and directly, via pass-through mode, with explicit options)" [ hostname="192.168.0.3", // Direct address of the device (reachable from openHAB) connectionMode="REMOTE_API_PROXY", - + hvacListenPort=1001, refreshInterval=30, useLocalConnection=true, - + // Stub server-specific - stubServerPort=8240, - stubServerListenAddresses="7d47:86bd:0bfe:0413:4688:4523:4284:5936","192.168.0.195", - includeDeviceSidePasswordsInProperties="MASKED", - matchAnyIncomingDeviceIp=false, + stubServerPort=8240, + stubServerListenAddresses="7d47:86bd:0bfe:0413:4688:4523:4284:5936","192.168.0.195", + includeDeviceSidePasswordsInProperties="MASKED", + matchAnyIncomingDeviceIp=false, deviceCpuId="deadbeefdeadbeef", // For direct match to a concrete device (optional) localDeviceIP="192.168.4.2", // Address in local subnet (used for indirect request matching) - + // Pass-through-specific oemServerAddress="uisetup.ddns.net", oemServerPort=80 @@ -174,7 +174,7 @@ Thing argoclima:local:argoHvacLocalWithPassthroughPlusDirectEx "Argo HVAC (acces Thing argoclima:local:argoHvacLocalWithStub "Argo HVAC (accessible both indirectly and directly with a stub) - **RECOMMENDED MODE**" [ hostname="192.168.0.3", // Has to be reachable, since useLocalConnection is true (default) - connectionMode="REMOTE_API_STUB", + connectionMode="REMOTE_API_STUB", localDeviceIP="192.168.4.2" // Or use matchAnyIncomingDeviceIp=true ] ``` @@ -185,11 +185,11 @@ Thing argoclima:local:argoHvacLocalWithStub "Argo HVAC (accessible both indirect Group GArgoClimaHVACRemote "Ulisse 13 DCI ECO - remote mode" ["HVAC"] Switch ArgoClimaHVACRemote_Power "Power" (GArgoClimaHVACRemote) { - channel="argoclima:remote:argoHvacRemote:ac-controls#power" + channel="argoclima:remote:argoHvacRemote:ac-controls#power" } String ArgoClimaHVACRemote_Mode "Mode" (GArgoClimaHVACRemote) ["Control"] { - channel="argoclima:remote:argoHvacRemote:ac-controls#mode" + channel="argoclima:remote:argoHvacRemote:ac-controls#mode" } Number:Temperature ArgoClimaHVACRemote_SetTemperature "Set Temperature" (GArgoClimaHVACRemote) ["Temperature", "Setpoint"] { @@ -201,27 +201,27 @@ Number:Temperature ArgoClimaHVACRemote_SetTemperature "Set Temperature" (GArgoClimaHVACRemote) ["Temperature", "Measurement"] { - channel="argoclima:remote:argoHvacRemote:ac-controls#current-temperature" + channel="argoclima:remote:argoHvacRemote:ac-controls#current-temperature" } String ArgoClimaHVACRemote_FanSpeed "Fan Speed" (GArgoClimaHVACRemote) { - channel="argoclima:remote:argoHvacRemote:ac-controls#fan-speed" + channel="argoclima:remote:argoHvacRemote:ac-controls#fan-speed" } Switch ArgoClimaHVACRemote_EcoMode "Eco Mode" (GArgoClimaHVACRemote) { - channel="argoclima:remote:argoHvacRemote:modes#eco-mode" + channel="argoclima:remote:argoHvacRemote:modes#eco-mode" } Switch ArgoClimaHVACRemote_TurboMode "Turbo Mode" (GArgoClimaHVACRemote) { - channel="argoclima:remote:argoHvacRemote:modes#turbo-mode" + channel="argoclima:remote:argoHvacRemote:modes#turbo-mode" } Switch ArgoClimaHVACRemote_NightMode "Night Mode" (GArgoClimaHVACRemote) { - channel="argoclima:remote:argoHvacRemote:modes#night-mode" + channel="argoclima:remote:argoHvacRemote:modes#night-mode" } String ArgoClimaHVACRemote_ActiveTimer "Active timer" (GArgoClimaHVACRemote) { - channel="argoclima:remote:argoHvacRemote:timers#active-timer" + channel="argoclima:remote:argoHvacRemote:timers#active-timer" } Number:Time ArgoClimaHVACRemote_DelayTimer "Delay timer value"