From 5a08ac301004e3d159bad9daade48278c0ae160a Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sat, 1 Nov 2025 08:52:20 +0100 Subject: [PATCH 1/9] T-bindings Signed-off-by: Leo Siepel --- bundles/org.openhab.binding.tacmi/README.md | 84 +++++++------- .../main/resources/OH-INF/config/config.xml | 6 +- .../resources/OH-INF/i18n/tacmi.properties | 13 ++- .../main/resources/OH-INF/thing/bridge.xml | 2 +- .../resources/OH-INF/thing/thing-types.xml | 10 +- .../README.md | 61 +++++----- .../OH-INF/i18n/tankerkoenig.properties | 6 +- .../main/resources/OH-INF/thing/station.xml | 6 +- .../org.openhab.binding.tapocontrol/README.md | 54 ++++----- .../resources/OH-INF/config/bridgeconfig.xml | 19 ++-- .../OH-INF/i18n/tapocontrol.properties | 18 +-- .../org.openhab.binding.tasmotaplug/README.md | 2 +- .../resources/OH-INF/i18n/telegram.properties | 8 +- .../resources/OH-INF/thing/thing-types.xml | 8 +- .../org.openhab.binding.tellstick/README.md | 20 ++-- .../README.md | 8 +- .../OH-INF/i18n/teslapowerwall.properties | 4 +- .../resources/OH-INF/thing/thing-types.xml | 4 +- .../org.openhab.binding.teslascope/README.md | 2 +- .../OH-INF/i18n/teslascope.properties | 14 +-- .../resources/OH-INF/thing/thing-types.xml | 10 +- bundles/org.openhab.binding.tibber/README.md | 104 +++++++++--------- .../src/main/resources/OH-INF/addon/addon.xml | 2 +- .../resources/OH-INF/i18n/tibber.properties | 22 ++-- .../resources/OH-INF/thing/channel-types.xml | 12 +- .../resources/OH-INF/thing/price-group.xml | 4 +- .../resources/OH-INF/thing/thing-types.xml | 6 +- bundles/org.openhab.binding.tivo/README.md | 6 +- .../resources/OH-INF/i18n/tivo.properties | 2 +- .../resources/OH-INF/thing/thing-types.xml | 2 +- .../org.openhab.binding.touchwand/README.md | 46 ++++---- .../main/resources/OH-INF/thing/bridge.xml | 2 +- bundles/org.openhab.binding.tr064/README.md | 50 ++++----- .../resources/OH-INF/i18n/tr064.properties | 13 ++- bundles/org.openhab.binding.tradfri/README.md | 18 +-- .../resources/OH-INF/i18n/tradfri.properties | 2 +- .../resources/OH-INF/thing/thing-types.xml | 10 +- bundles/org.openhab.binding.tuya/README.md | 76 ++++++------- .../main/resources/OH-INF/config/config.xml | 12 +- .../resources/OH-INF/i18n/tuya.properties | 71 +++--------- .../resources/OH-INF/thing/thing-types.xml | 8 +- 41 files changed, 394 insertions(+), 433 deletions(-) diff --git a/bundles/org.openhab.binding.tacmi/README.md b/bundles/org.openhab.binding.tacmi/README.md index cabc414114fac..f58a3578f137c 100644 --- a/bundles/org.openhab.binding.tacmi/README.md +++ b/bundles/org.openhab.binding.tacmi/README.md @@ -13,10 +13,10 @@ Via a "Schema API Page" CoE (CAN over Ethernet) Connection -- Receive data from analog CAN-outputs defined in TAPPS2 -- Receive data from digital CAN-outputs defined in TAPPS2 -- Send ON/OFF to digital CAN-inputs defined in TAPPS2 -- Send numeric values to analog CAN-inputs defined in TAPPS2 +- Receive data from analog CAN outputs defined in TAPPS2 +- Receive data from digital CAN outputs defined in TAPPS2 +- Send ON/OFF to digital CAN inputs defined in TAPPS2 +- Send numeric values to analog CAN inputs defined in TAPPS2 JSON API @@ -30,30 +30,30 @@ If you plan things mainly for user interaction the "Schema API Page" might be be ## Supported Bridge and Things - TA C.M.I. **Schema API Connection** - Thing \ - This thing reflecting one of our 'schema API page' as defined in the prerequisites. + This thing reflects one of our 'schema API page' as defined in the prerequisites. This thing doesn't need the bridge. Multiple of these pages on different C.M.I.'s could be defined within an openHAB instance. - TA C.M.I. **CoE Bridge** \ - In order to get the CAN over Ethernet (COE) envionment working a `coe-bridge` has to be created. + In order to get the CAN over Ethernet (CoE) environment working a `coe-bridge` has to be created. The bridge itself opens the UDP port 5441 for communication with the C.M.I. devices. The bridge could be used for multiple C.M.I. devices. - TA C.M.I. **CoE Connection** - Thing \ - This thing reflects a connection to a node behind a specific C.M.I.. - This node could be every CAN-Capable device from TA which allows to define a CAN-Input. + This thing reflects a connection to a node behind a specific C.M.I. + This node could be every CAN-capable device from TA which allows to define a CAN input. - TA C.M.I. **JSON API Connection** - Thing \ - This is a thing connection that regularly polls the CMI using the JSON API. + This is a thing connection that regularly polls the C.M.I. using the JSON API. ## Discovery -Autodiscovering is not supported. +Auto-discovery is not supported. You have to define the things manually. ## Schema API ### Setting up the "Schema API Page" -The "Schema API page" is a special schema page created via TA's _TA-Designer_ application available as download on their web site. -This page just needs to exist and be deployed on the C.M.I. but it dosn't need to be linked by the other schema pages you are using to control your TA installation. +The "Schema API page" is a special schema page created via TA's _TA-Designer_ application available as download on their website. +This page just needs to exist and be deployed on the C.M.I. but it doesn't need to be linked by the other schema pages you are using to control your TA installation. All objects from this special 'API' page are automatically mapped as channels of this thing, so the labels of the objects on this page have to follow a specific schema. @@ -63,12 +63,12 @@ Maybe this screenshot shows it best: ![screenshot-channel-object-details](doc/images/channel-object-details.png) -The Text from the _Pre-Text_ will be used to define the channel. +The text from the _Pre-Text_ will be used to define the channel. The first word _tempCollector_ (highlighted in the screenshot) will be used as channel name, so it has to be unique. Everything else till the final _:_ will be used as channel description. Be sure to have at least 2 words in the _Pre-Text_ as we need both - the channel name and a description. The binding will log an error otherwise. -Also keep in mind: for the channel name we have to adhere to the openHAB channel name conventions - so just use letters and numbers without any special sings here. +Also keep in mind: for the channel name we have to adhere to the openHAB channel name conventions - so just use letters and numbers without any special signs here. The type of the channel will be automatically determined by the type of the object added. Also don't forget the final colon - this is the separator between the label and the value. Without the colon the parser couldn't build up a working channel for this value. @@ -105,26 +105,26 @@ The channels have a parameter allowing to configure their update behavior: | Parameter Label | Parameter ID | Description | Accepted values | |-------------------------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------| -| Update Policy | updatePolicy | Update policy for this channel. Default means "On-Change" for channels that can be modified and "On-Change" for read-only channels. | 0 (Default), 1 (On-Fetch), 2 (On-Change) | +| Update Policy | updatePolicy | Update policy for this channel. Default means "On-Fetch" for read-only channels and "On-Change" for channels that can be modified. | 0 (Default), 1 (On-Fetch), 2 (On-Change) | The behavior in detail: -- `Default` (`0`): When the channel is 'read-only' the update-policy defaults to _On-Fetch_ . When the channel is linked to something that can be modified it defaults to _On-Change_ . -- `On-Fetch` (`1`): This is the default for read-only values. This means the channel is updated every time the schema page is polled. Ideally for values you want to monitor and log into charts. -- `On-Change` (`2`): When channel values can be changed via OH it is better to only update the channel when the value changes. The binding will cache the previous value and only send an update when it changes to the previous known value. This is especially useful if you intend to link other things (like i.e. Zigbee or Shelly switches) to the TA via OH that can be controlled by different sources. This prevents unintended toggles or even toggle-loops. +- `Default` (`0`): When the channel is 'read-only' the update policy defaults to _On-Fetch_. When the channel is linked to something that can be modified it defaults to _On-Change_. +- `On-Fetch` (`1`): This is the default for read-only values. This means the channel is updated every time the schema page is polled. Ideal for values you want to monitor and log into charts. +- `On-Change` (`2`): When channel values can be changed via openHAB it is better to only update the channel when the value changes. The binding will cache the previous value and only send an update when it changes from the previous known value. This is especially useful if you intend to link other things (like e.g. Zigbee or Shelly switches) to the TA via openHAB that can be controlled by different sources. This prevents unintended toggles or even toggle loops. ### Some additional hints and comments You might already have noticed that some state information is in German. -As I have set the `Accept-Language`-Http-Header to `en` for all request and found no other way setting a language for the schema pages I assume it is a lack of internationalization in the C.M.I. +As I have set the `Accept-Language` HTTP header to `en` for all requests and found no other way to set a language for the schema pages I assume it is a lack of internationalization in the C.M.I. You could circumvent this by creating map files to map things properly to your language. If you want to see the possible options of a multi-state field you could open the _schema API page_ with your web browser and click on the object. -A Popup with an option field will be shown showing all possible options, like in this screenshot: +A popup with an option field will be shown showing all possible options, like in this screenshot: ![screenshot-operation-mode-values](doc/images/operation-mode-values.png) -Please be also aware that there are field having more 'state' values than options, i.E. a manual output override: It has 'Auto/On', 'Auto/Off', 'Manual/On', 'Manual/Off' as state, but only 'Auto', 'Manual/On' and 'Manual/Off' as updateable option. +Please be also aware that there are fields having more 'state' values than options, e.g. a manual output override: It has 'Auto/On', 'Auto/Off', 'Manual/On', 'Manual/Off' as state, but only 'Auto', 'Manual/On' and 'Manual/Off' as updateable options. You only set it to 'Auto' and the extension On/Off is added depending on the system's current state. ## CoE @@ -136,17 +136,17 @@ This can be done by using the TAPPS2 application from TA. Follow the user guide ### Configure your CMI for CoE -Now follow the User Guide of the CMI on how to setup CAN over Ethernet (COE). +Now follow the user guide of the C.M.I. on how to setup CAN over Ethernet (CoE). Here you will map your outputs that you configured in the previous step. -This can be accomplished via the GUI on the CMI or via the coe.csv file. +This can be accomplished via the GUI on the C.M.I. or via the coe.csv file. As the target device you need to put the IP of your openHAB server. -Don’t forget to reboot the CMI after you uploaded the coe.csv file. +Don't forget to reboot the C.M.I. after you uploaded the coe.csv file. ### TA C.M.I. CoE Connection The _TA C.M.I. CoE Connection_ has to be manually configured. -This thing reflects a connection to a node behind a specific C.M.I.. This node could be every CAN-Capable device from TA which allows to define a CAN-Input. +This thing reflects a connection to a node behind a specific C.M.I. This node could be every CAN-capable device from TA which allows to define a CAN input. | Parameter Label | Parameter ID | Description | Accepted values | |-------------------------|-----------------|---------------------------------------------------------------------------------------------------------------|------------------------| @@ -158,14 +158,14 @@ The thing has no channels by default - they have to be added manually matching t ### CoE Connection Channels Some comments on the CoE Connection and channel configuration: -As you might already have taken notice when studying the TA's manual, there are always a multiple CoE-values updated within a single CoE-message. +As you might already have taken notice when studying the TA's manual, there are always multiple CoE values updated within a single CoE message. This is a design decision made by TA. -But this also means for CoE-Messages from openHAB to TA C.M.I. we have to send multiple values at once. -But due to OH's design there is no default restore of previous values out of the box. -So after OH startup the _output thing channels_ are either initialized with it's configured default value or flagged as 'unknown' until the first update on the channel happens. +But this also means for CoE messages from openHAB to TA C.M.I. we have to send multiple values at once. +But due to openHAB's design there is no default restore of previous values out of the box. +So after openHAB startup the _output thing channels_ are either initialized with its configured default value or flagged as 'unknown' until the first update on the channel happens. You could either use some 'illegal' value as initial value and use _CoE Value Validation_ on the TA side to detect invalid values. Another option would be to use only every 4th analog and 16th digital channel if you only need a few channels. -Additionally you could use [OH's persistence service](https://www.openhab.org/docs/configuration/persistence.html#restoring-item-states-on-restart) and it's option to [restore the item states](https://www.openhab.org/docs/configuration/persistence.html#restoring-item-states-on-restart) during OH startup. +Additionally you could use [openHAB's persistence service](https://www.openhab.org/docs/configuration/persistence.html#restoring-item-states-on-restart) and its option to [restore the item states](https://www.openhab.org/docs/configuration/persistence.html#restoring-item-states-on-restart) during openHAB startup. As this only restores the item states you have to write a rule issuing _postUpdates_ on the items with the item's current value so the channel for the binding is updated. Supported channels for the CoE connection are: @@ -177,8 +177,8 @@ Supported channels for the CoE connection are: | coe-analog-in | Number (RO) | Analog input channel for numeric values received from the node | | coe-analog-out | Number | Analog output channel for numeric values sent to the node | -Each channel has it's own set of configuration parameters. -Here a list of possible parameters: +Each channel has its own set of configuration parameters. +Here is a list of possible parameters: Channel's `coe-digital-in` and `coe-analog-in`: @@ -208,18 +208,18 @@ The known measure types are: | id | type | unit | description | |--------|---------------|---------|----------------------------------------------| | 1 | Temperature | °C | Temperature value, multiplied by 0.1 | -| 2 | Energy Flux | W/m2 | e.g. for solar irridiation | +| 2 | Energy Flux | W/m2 | e.g. for solar irradiation | | 3 | Flow Rate | l/h | e.g. for flow meters such as TA FTS-xx | | 4 | Time | s | | | 5 | Time | min | | -| 6 | Flow Rate | l/lmp | standardized lpm flowrate | +| 6 | Flow Rate | l/min | standardized l/min flow rate | | 7 | Temperature | K | Kelvin, e.g. for Temperature differences | | 8 | Percentage | % | | | 9 | unknown | : | might be another dimensionless unit | | 10 | Power | kW | | -| 11 | Energy | KWh | | +| 11 | Energy | kWh | | | 12 | Energy | MWh | | -| 13 | el Voltage | V | | +| 13 | el. Voltage | V | | | 14 | el. Current | mA | | | 15 | Time | hours | | | 16 | dimensionless | [none] | use for multiplexers, etc | @@ -227,8 +227,8 @@ The known measure types are: ## Full Example (CoE/Schema API) -As there is no common configuration as everything depends on the configuration of the TA devices. -So we just can provide some samples providing the basics so you can build the configuration matching your system. +There is no common configuration as everything depends on the configuration of the TA devices. +So we can just provide some samples providing the basics so you can build the configuration matching your system. Example of a _.thing_ file: @@ -253,7 +253,7 @@ Sample _.items_-File: ```java # APIPage-items Number TACMI_Api_tempCollector "Collector temp [%.1f °C]" {channel="tacmi:cmiSchema:apiLab:tempCollector"} -String TACMI_Api_hc1OperationMode "Heating Curcuit 1 Operation Mode [%s]" {channel="tacmi:cmiSchema:apiLab:hc1OperationMode"} +String TACMI_Api_hc1OperationMode "Heating Circuit 1 Operation Mode [%s]" {channel="tacmi:cmiSchema:apiLab:hc1OperationMode"} # COE-items Number TACMI_Analog_In_1 "TA input value 1 [%.1f]" {channel="tacmi:cmi:coe-bridge:cmiTest:analogInput1"} @@ -262,7 +262,7 @@ Switch TACMI_Digital_In_1 "TA input switch 1 [%s]" {channel="tacmi:cmi:coe Switch TACMI_Digital_Out_1 "TA output switch 1 [%s]" {channel="tacmi:cmi:coe-bridge:cmiTest:digitalOutput1"} ``` -Sample _.sitemap_ snipplet +Sample _.sitemap_ snippet ```perl sitemap heatingTA label="heatingTA" @@ -279,7 +279,7 @@ sitemap heatingTA label="heatingTA" ## JSON API -Before setting up the JSON API, it is worth reading the [API documention](https://wiki.ta.co.at/C.M.I._JSON-API). +Before setting up the JSON API, it is worth reading the [API documentation](https://wiki.ta.co.at/C.M.I._JSON-API). Once configured, the exposed items should show up as channels. ### Configuring the JSON API @@ -291,6 +291,6 @@ The _TA C.M.I. JSON API Connection_ has to be manually configured. | C.M.I. IP Address | host | Host name or IP address of the C.M.I. | Any String | | User name | username | User name for authentication on the C.M.I. | Any String | | Password | password | Password for authentication on the C.M.I. | Any String | -| Node Id | nodeId | The node ID of the device you want to monitor (CMI → CAN-Bus) | An Integer that is not 0 | +| Node Id | nodeId | The node ID of the device you want to monitor (C.M.I. → CAN-Bus) | An Integer that is not 0 | | API-Parameters | params | The params to query. E.g. I,O,Sg (See the [API documentation](https://wiki.ta.co.at/C.M.I._JSON-API) for details)
Possible options are: Inputs (I), Outputs (O), General (Sg), Logging Analog (La), Logging Digital (Ld) | Any String | | Poll Interval | pollInterval | Poll interval in seconds. The documentation suggests 60s, but less is possible. | An integer between 10 and 900 | diff --git a/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/config/config.xml b/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/config/config.xml index 720bce4d82164..1552a83abe1fa 100644 --- a/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/config/config.xml +++ b/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/config/config.xml @@ -7,13 +7,13 @@ - Update policy for this channel. Default means "On-Change" for channels that can be modified and - "On-Fetch" for read-only channels. + Update policy for this channel. Default means "On-Fetch" for read-only channels and "On-Change" for + channels that can be modified. 0 - + diff --git a/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/i18n/tacmi.properties b/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/i18n/tacmi.properties index 4c6ea180efbeb..fcd0eadefa8ef 100644 --- a/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/i18n/tacmi.properties +++ b/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/i18n/tacmi.properties @@ -12,18 +12,18 @@ thing-type.tacmi.cmiJSON.description = Communication via the "JSONAPI" on a "Tec thing-type.tacmi.cmiSchema.label = TA C.M.I. Schema API Connection thing-type.tacmi.cmiSchema.description = Communication to a special "API" schema page on a "Technische Alternative C.M.I. Control and Monitoring Interface" thing-type.tacmi.coe-bridge.label = TA C.M.I. CoE Bridge -thing-type.tacmi.coe-bridge.description = This bridge opens the CoE-UDP Port 5441 on OpenHAB for communication with "Technische Alternative C.M.I." +thing-type.tacmi.coe-bridge.description = This bridge opens the CoE-UDP Port 5441 on openHAB for communication with "Technische Alternative C.M.I." # thing types config thing-type.config.tacmi.cmi.host.label = C.M.I. IP Address -thing-type.config.tacmi.cmi.host.description = Host name of IP address of the CMI +thing-type.config.tacmi.cmi.host.description = Host name or IP address of the C.M.I. thing-type.config.tacmi.cmi.node.label = Node thing-type.config.tacmi.cmi.node.description = The CoE / CAN Node number openHAB should represent thing-type.config.tacmi.cmiJSON.host.label = C.M.I. IP Address thing-type.config.tacmi.cmiJSON.host.description = Host name or IP address of the C.M.I. thing-type.config.tacmi.cmiJSON.nodeId.label = Node Id -thing-type.config.tacmi.cmiJSON.nodeId.description = The node ID of the device you want to monitor (CMI → CAN-Bus) +thing-type.config.tacmi.cmiJSON.nodeId.description = The node ID of the device you want to monitor (C.M.I. → CAN-Bus) thing-type.config.tacmi.cmiJSON.params.label = API-Parameters thing-type.config.tacmi.cmiJSON.params.description = The params to query. E.g. I,O,Sg (See the API documentation for details)
Possible options are: Inputs (I), Outputs (O), General (Sg), Logging Analog (La), Logging Digital (Ld) thing-type.config.tacmi.cmiJSON.password.label = Password @@ -42,6 +42,7 @@ thing-type.config.tacmi.cmiSchema.schemaId.label = API Schema Id thing-type.config.tacmi.cmiSchema.schemaId.description = ID of the schema API page thing-type.config.tacmi.cmiSchema.username.label = Username thing-type.config.tacmi.cmiSchema.username.description = Username for authentication on the C.M.I. + # channel types channel-type.tacmi.coe-analog-in.label = Analog Input Channel (C.M.I. -> OH) @@ -51,7 +52,7 @@ channel-type.tacmi.coe-analog-out.description = An Analog Channel sent to the C. channel-type.tacmi.coe-digital-in.label = Digital Input (C.M.I. -> OH) channel-type.tacmi.coe-digital-in.description = A digital channel sent from C.M.I. to openHAB channel-type.tacmi.coe-digital-out.label = Digital Output (OH -> C.M.I.) -channel-type.tacmi.coe-digital-out.description = A digital channel sent from OpenHAB to C.M.I. +channel-type.tacmi.coe-digital-out.description = A digital channel sent from openHAB to C.M.I. channel-type.tacmi.schema-date-time-ro.label = Time Value channel-type.tacmi.schema-date-time-ro.description = A time read from C.M.I. - Only the time is supplied, the date part is set to the current day. channel-type.tacmi.schema-numeric-ro.label = Value @@ -102,7 +103,7 @@ channel-type.config.tacmi.coe-digital-out.initialValue.description = Initial val channel-type.config.tacmi.coe-digital-out.output.label = Output channel-type.config.tacmi.coe-digital-out.output.description = Network Output channel-type.config.tacmi.schemaApiDefaults.updatePolicy.label = Update Policy -channel-type.config.tacmi.schemaApiDefaults.updatePolicy.description = Update policy for this channel. Default means "On-Change" for channels that can be modified and "On-Fetch" for read-only channels. +channel-type.config.tacmi.schemaApiDefaults.updatePolicy.description = Update policy for this channel. Default means "On-Fetch" for read-only channels and "On-Change" for channels that can be modified. channel-type.config.tacmi.schemaApiDefaults.updatePolicy.option.0 = Default channel-type.config.tacmi.schemaApiDefaults.updatePolicy.option.1 = On-Fetch -channel-type.config.tacmi.schemaApiDefaults.updatePolicy.option.2 = On-Update +channel-type.config.tacmi.schemaApiDefaults.updatePolicy.option.2 = On-Change diff --git a/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/thing/bridge.xml b/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/thing/bridge.xml index 7cbed97cc1e2e..d154148f667a1 100644 --- a/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/thing/bridge.xml @@ -6,6 +6,6 @@ - This bridge opens the CoE-UDP Port 5441 on OpenHAB for communication with "Technische Alternative C.M.I." + This bridge opens the CoE-UDP Port 5441 on openHAB for communication with "Technische Alternative C.M.I." diff --git a/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/thing/thing-types.xml index 176386c6027d3..62cfe9d27c300 100644 --- a/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.tacmi/src/main/resources/OH-INF/thing/thing-types.xml @@ -16,7 +16,7 @@ - Host name of IP address of the CMI + Host name or IP address of the C.M.I. network-address @@ -46,7 +46,7 @@ Switch - A digital channel sent from OpenHAB to C.M.I. + A digital channel sent from openHAB to C.M.I. Switch @@ -80,7 +80,7 @@ Number - A Analog Channel sent to the C.M.I. + An Analog Channel sent to the C.M.I. Control @@ -227,9 +227,9 @@ Password for authentication on the C.M.I. password - + - The node ID of the device you want to monitor (CMI → CAN-Bus) + The node ID of the device you want to monitor (C.M.I. → CAN-Bus) diff --git a/bundles/org.openhab.binding.tankerkoenig/README.md b/bundles/org.openhab.binding.tankerkoenig/README.md index 31624c4609d66..17db683a91f0e 100644 --- a/bundles/org.openhab.binding.tankerkoenig/README.md +++ b/bundles/org.openhab.binding.tankerkoenig/README.md @@ -3,14 +3,14 @@ The binding uses the Tankerkönig API for collecting gas price data of German gas stations. Special thanks to the creators of Tankerkönig for providing an easy way to get data from the [MTS-K] (Markttransparenzstelle für Kraftstoffe). -Tankerkönig is providing this service for free, however they request to prevent overloading of their server by reducing the number of web-requests. -This binding handles those requests (minimum Refresh Interval is 5 minutes, a webserver does handle a maximum of 10 stations). -The data will be updated for each Station individually after the initialization and after each Refresh Interval for all (open) stations (Note: changing the Webservice will cause the Refresh Interval to restart). -Additionally one may select the mode Opening-Times in which only those Stations get polled which are actually open. +Tankerkönig is providing this service for free, however they request to prevent overloading of their server by reducing the number of web requests. +This binding handles those requests (minimum Refresh Interval is 5 minutes, a webservice does handle a maximum of 10 stations). +The data will be updated for each station individually after the initialization and after each Refresh Interval for all (open) stations (Note: changing the webservice will cause the Refresh Interval to restart). +Additionally one may select the mode Opening-Times in which only those stations get polled which are actually open. For a correct usage of opening times the binding needs the information if the actual day is a holiday. Note: -While using the mode Opening-Times the channel "station_open" will NOT show "close" because during such times no update is being requested from that Station! +While using the mode Opening-Times the channel "station_open" will NOT show "close" because during such times no update is being requested from that station! ## Preparation @@ -22,7 +22,7 @@ In order to use this binding one needs to prepare: Request a free Tankerkönig API key from: (Select the tab "API-Key"). -- LocationIDs of the selected gas stations +- Location IDs of the selected gas stations Search for the gas station IDs via the [finder tool](https://creativecommons.tankerkoenig.de/TankstellenFinder/index.html) (Select tab "Tools" -> "Tankstellenfinder"). Drag the red marker on the map to the rough location of desired gas stations. @@ -34,9 +34,8 @@ For example: `a7cdd9cf-b467-4aac-8eab-d662f082511e` This binding supports: --Webservice (bridge) - --Station (thing) +- Webservice (bridge) +- Station (thing) ## Discovery @@ -49,14 +48,14 @@ The binding has no configuration options itself, all configuration is done at 'B ## Thing configuration -The Webservice (bridge) needs to be configured with the personal API-Key, the desired Refresh Interval (the time interval between price-updates, default 60 minutes, minimum 5 minutes) and the Opening-Times mode selection (in this mode price-updates are only requested from stations that are actually open). -A single Webservice can handle up to 10 Stations. +The Webservice (bridge) needs to be configured with the personal API-Key, the desired Refresh Interval (the time interval between price updates, default 60 minutes, minimum 5 minutes) and the Opening-Times mode selection (in this mode price updates are only requested from stations that are actually open). +A single Webservice can handle up to 10 stations. -Each Station needs to be configured with a LocationID and the Webservice to which it is linked. +Each station needs to be configured with a location ID and the webservice to which it is linked. ## Channels -The binding introduces the channel `holiday` for the Webservice and the channels `e10`, `e5`, `diesel` and `station_open` for the Stations: +The binding introduces the channel `holiday` for the webservice and the channels `e10`, `e5`, `diesel` and `station_open` for the stations: | Channel ID | Channel Description | Supported item type | Advanced | |--------------|---------------------------------------|---------------------|----------| @@ -95,16 +94,16 @@ Contact Station_Open_2 "Station is [%s]" { channel="tankerkoenig:station:Webserv ## FAQ --The Webservice stays OFFLINE +- The Webservice stays OFFLINE -If only a Webservice is configured, it will remain OFFLINE until a Station is configured as well. -Each Station schedules a daily job to update detail-data, on completion of that job the Station and the Webservice will change to ONLINE. -The further price-updates for all Stations are scheduled by the Webservice using the Refresh Interval. +If only a webservice is configured, it will remain OFFLINE until a station is configured as well. +Each station schedules a daily job to update detail data, on completion of that job the station and the webservice will change to ONLINE. +The further price updates for all stations are scheduled by the webservice using the Refresh Interval. --The Station(s) and Webservice stay OFFLINE +- The stations and webservice stay OFFLINE -Set the logging level for the binding to DEBUG (Karaf-Console command: "log:set DEBUG org.openhab.binding.tankerkoenig". -Create a new Station (in order to start the "initialize" routine). +Set the logging level for the binding to DEBUG (Karaf Console command: "log:set DEBUG org.openhab.binding.tankerkoenig"). +Create a new station (in order to start the "initialize" routine). Check the openhab.log for entries like: ```text @@ -118,7 +117,7 @@ In most cases, updating to the latest version of JDK solves this because the sto Note: You must restart openHAB after a Java update. -If you receive the error because you are running an old Linux installation which does not have the latest java-versions available in its package-repositories, you may be able to fix the issue using one of the three options below: +If you receive the error because you are running an old Linux installation which does not have the latest Java versions available in its package repositories, you may be able to fix the issue using one of the three options below: 1. Update the Linux system and install the latest Java version @@ -145,22 +144,22 @@ The required password is "changeit". Restart your server --The Station(s) and Webservice go to OFFLINE after being ONLINE +- The stations and webservice go to OFFLINE after being ONLINE -Either the web-request to Tankerkönig returned a failure or no valid response was received (this could be caused by a banned API-key). -In both cases the Webservice and the Station(s) go OFFLINE. -If the Tankerkönig return indicates an error a descriptive message (in German) is added next to the OFFLINE which will be displayed on the Webservice and Station(s) pages on UI. For further investigation the API Explorer can be used to show all data-fields of the things. -On the next receipt of a valid message Webservice and Station(s) will go ONLINE again. -The scheduled polling of price-data is canceled in case of no valid response. +Either the web request to Tankerkönig returned a failure or no valid response was received (this could be caused by a banned API key). +In both cases the webservice and the stations go OFFLINE. +If the Tankerkönig return indicates an error a descriptive message (in German) is added next to the OFFLINE which will be displayed on the webservice and stations pages on UI. For further investigation the API Explorer can be used to show all data fields of the things. +On the next receipt of a valid message webservice and stations will go ONLINE again. +The scheduled polling of price data is canceled in case of no valid response. Users should check the log for any reports to solve the reason for the OFFLINE status. -In order to restart the polling a change of the Webservice has to be saved (for example a change in the Refresh Interval). +In order to restart the polling a change of the webservice has to be saved (for example a change in the Refresh Interval). -Note: If the API-key is banned by Tankerkönig, the reason has to be cleared with Tankerkönig! +Note: If the API key is banned by Tankerkönig, the reason has to be cleared with Tankerkönig! --How to set the switch item for the channel holiday? +- How to set the switch item for the channel holiday? The correct usage of opening times needs the information if the actual day is a holiday. -The binding expects a switch item linked to the Webservice channel holiday. +The binding expects a switch item linked to the webservice channel holiday. This switch can be set either manually (only suggested for testing!) or by a rule which uses the [ephemeris action](https://www.openhab.org/docs/configuration/actions.html#ephemeris) to set that switch. ## Tankerkönig API diff --git a/bundles/org.openhab.binding.tankerkoenig/src/main/resources/OH-INF/i18n/tankerkoenig.properties b/bundles/org.openhab.binding.tankerkoenig/src/main/resources/OH-INF/i18n/tankerkoenig.properties index 3125a69840759..99d617c822bb4 100644 --- a/bundles/org.openhab.binding.tankerkoenig/src/main/resources/OH-INF/i18n/tankerkoenig.properties +++ b/bundles/org.openhab.binding.tankerkoenig/src/main/resources/OH-INF/i18n/tankerkoenig.properties @@ -24,11 +24,11 @@ thing-type.config.tankerkoenig.webservice.refresh.description = Sets the refresh # channel types channel-type.tankerkoenig.diesel.label = Diesel -channel-type.tankerkoenig.diesel.description = price for diesel +channel-type.tankerkoenig.diesel.description = Price for diesel channel-type.tankerkoenig.e10.label = E10 -channel-type.tankerkoenig.e10.description = price for E10 +channel-type.tankerkoenig.e10.description = Price for E10 channel-type.tankerkoenig.e5.label = E5 -channel-type.tankerkoenig.e5.description = price for E5 +channel-type.tankerkoenig.e5.description = Price for E5 channel-type.tankerkoenig.holiday.label = Holiday channel-type.tankerkoenig.holiday.description = ON if today is a holiday. channel-type.tankerkoenig.station_open.label = Opening State diff --git a/bundles/org.openhab.binding.tankerkoenig/src/main/resources/OH-INF/thing/station.xml b/bundles/org.openhab.binding.tankerkoenig/src/main/resources/OH-INF/thing/station.xml index 5e70fc5272a1f..91dfc490855a9 100644 --- a/bundles/org.openhab.binding.tankerkoenig/src/main/resources/OH-INF/thing/station.xml +++ b/bundles/org.openhab.binding.tankerkoenig/src/main/resources/OH-INF/thing/station.xml @@ -27,19 +27,19 @@ Number - price for diesel + Price for diesel Number - price for E10 + Price for E10 Number - price for E5 + Price for E5 diff --git a/bundles/org.openhab.binding.tapocontrol/README.md b/bundles/org.openhab.binding.tapocontrol/README.md index 616b5e91ac0c6..6817b95797577 100644 --- a/bundles/org.openhab.binding.tapocontrol/README.md +++ b/bundles/org.openhab.binding.tapocontrol/README.md @@ -32,29 +32,27 @@ The following Tapo-Devices are supported. For precise channel-description look a Before using Smart Plugs with openHAB the devices must be connected to the Wi-Fi network. This can be done using the Tapo provided mobile app. -You need to setup a bridge (Cloud-Login) to commiunicate with your devices. +You need to setup a bridge (Cloud-Login) to communicate with your devices. **Note:** If the Tapo device is to be isolated from the internet e.g. on an IoT LAN, the P110 will not expose its energy and power data until it has successfully synchronised it's clock with an NTP server - at time of writing, this was `pool.ntp.org`. To satisfy this requirement while keeping the device isolated, your router should be configured to either permit `udp/123` out to the internet or a NAT rule created to redirect all internet bound NTP traffic to a local NTP server. ## Discovery -For Wi-Fi-Devices, discovery is done by connecting to the Tapo-Cloud-Service or use local udp-discovery. +For Wi-Fi devices, discovery is done by connecting to the Tapo Cloud Service or use local UDP discovery. If enabled, all devices stored in your cloud account will be detected even if they are not in your local network. -From cloud you can get more information such as "Device-Alias" as from udp-discovery. -But you need to know the IP-Adress of your device. This must be set manually in the thing configuration. +From cloud you can get more information such as "Device-Alias" than from UDP discovery. +But you need to know the IP address of your device. This must be set manually in the thing configuration. -UDP-Discovery can find only devices which are online in your local network and get less information as from the cloud. -But therefore it set's device-ip and protocol automatically. -If you have problems with udp-discovery, try to set the advanced setting 'broadcastAddress' to your local subnet ('e.g. 192.168.0.255'). +UDP discovery can find only devices which are online in your local network and get less information than from the cloud. +But therefore it sets device IP and protocol automatically. +If you have problems with UDP discovery, try to set the advanced setting 'broadcastAddress' to your local subnet (e.g. 192.168.0.255). Default is '255.255.255.255' You can combine both discovery methods to get any information from local devices. -If you enable setting 'onlyLocalOnlineDevices' results will only generated for local online devices but with the combined data of cloud discovery. -RF-Devices will be discovered by the hub they are connected to. -You can discover them manually or use ´backgroundDiscovery´ - -RF-Devices will be discovered by the hub they are connected to. You can discover them manually or use ´backgroundDiscovery´ +If you enable setting 'onlyLocalOnlineDevices' results will only be generated for local online devices but with the combined data of cloud discovery. +RF devices will be discovered by the hub they are connected to. +You can discover them manually or use `backgroundDiscovery` ## Bridge Configuration @@ -65,28 +63,28 @@ The thing has the following configuration parameters: | Parameter | Description | |------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------| -| username | Username (eMail) of your Tapo-Cloud | -| password | Password of your Tapo-Cloud | -| cloudDiscovery | Use Cloud Discovery-Service to get all in Tapo-App registered devices. Includes DeviceName. IP-Address and Encryption has to set manually | -| udpDiscovery | Use UDP Discovery-Service to discover online devices in the local network. Includes Encryption and IP-Address. Results will be merged with cloud discovery | -| onlyLocalOnlineDevices | [advanced] Uses Cloud and UPD-Discovery to get more information but will only discover online devices via UDP | +| username | Username (email) of your Tapo Cloud | +| password | Password of your Tapo Cloud | +| cloudDiscovery | Use Cloud Discovery Service to get all in Tapo App registered devices. Includes device name. IP address and encryption have to be set manually | +| udpDiscovery | Use UDP Discovery Service to discover online devices in the local network. Includes encryption and IP address. Results will be merged with cloud discovery | +| onlyLocalOnlineDevices | [advanced] Uses Cloud and UDP Discovery to get more information but will only discover online devices via UDP | | broadcastAddress | [advanced] Set broadcast address to your local subnet if you have problems with default address | | discoveryInterval | [advanced] Interval in minutes when a background device scan should be executed. Default is 60 | ## Thing Configuration -WiFi-based things needs to be configured with `ipAddress`. -RF-based things need a SmartHub(WiFi-Device) to operate. +Wi-Fi-based things need to be configured with `ipAddress`. +RF-based things need a SmartHub (Wi-Fi device) to operate. -The things has the following configuration parameters: +The things have the following configuration parameters: | Parameter | Description | Things supporting parameter | |--------------------|-----------------------------------------------------------------------|-----------------------------| -| ipAddress | IP Address of the device. | Any Wi-Fi-Device | -| pollingInterval | [optional] Refresh interval in seconds. The default is 30 seconds | Any Wi-Fi-Device | -| httpPort | [optional] HTTP-Communication Port. Default is 80 | Any Wi-Fi-Device | -| protocol | [optional] Used Communication Protocol (AES/KLAP/'') Default 'AES' | Any Wi-Fi-Device | -| backgroundDiscovery| [optional] RF-Devices will be discovered after every polling request | SmartHub | +| ipAddress | IP address of the device. | Any Wi-Fi device | +| pollingInterval | [optional] Refresh interval in seconds. The default is 30 seconds | Any Wi-Fi device | +| httpPort | [optional] HTTP communication port. Default is 80 | Any Wi-Fi device | +| protocol | [optional] Used communication protocol (AES/KLAP/'') Default 'AES' | Any Wi-Fi device | +| backgroundDiscovery| [optional] RF devices will be discovered after every polling request | SmartHub | ## Channels @@ -118,8 +116,10 @@ All devices support some of the following channels: ## Channel Refresh -When the thing receives a `RefreshType` command the thing will send a new refreshRequest over http. -To minimize network traffic the default refresh-rate is set to 30 seconds. This can be reduced down to 10 seconds in advanced settings of the device. If any command was sent to a channel, it will do an immediately refresh of the whole device. +When the thing receives a `RefreshType` command the thing will send a new refresh request over HTTP. +To minimize network traffic the default refresh rate is set to 30 seconds. +This can be reduced down to 10 seconds in advanced settings of the device. +If any command was sent to a channel, it will do an immediate refresh of the whole device. ## Full Example diff --git a/bundles/org.openhab.binding.tapocontrol/src/main/resources/OH-INF/config/bridgeconfig.xml b/bundles/org.openhab.binding.tapocontrol/src/main/resources/OH-INF/config/bridgeconfig.xml index 0fd08a87d9d02..5240c16ad7290 100644 --- a/bundles/org.openhab.binding.tapocontrol/src/main/resources/OH-INF/config/bridgeconfig.xml +++ b/bundles/org.openhab.binding.tapocontrol/src/main/resources/OH-INF/config/bridgeconfig.xml @@ -8,37 +8,38 @@ email - Tapo-Cloud Login User (e-Mail) + Tapo Cloud login user (email) password - Tapo-Cloud Login Password + Tapo Cloud login password - Use Cloud Discovery-Service to get all in Tapo-App registered devices. Includes DeviceName. IP-Address - and Encryption has to set manually if device is not found via udpDiscovery + Use Cloud Discovery Service to get all in Tapo App registered devices. Includes device name. IP address + and encryption have to be set manually if device is not found via udpDiscovery false false - Use UDP Discovery-Service to discover online devices in the local network. Includes Encryption and - IP-Address + Use UDP Discovery Service to discover online devices in the local network. Includes encryption and + IP + address false false - - Uses Cloud and UPD-Discovery to get more informations but will only discover online devices via UDP + + Uses Cloud and UDP Discovery to get more information but will only discover online devices via UDP false true network-address - Broadcast-Address UDP-requests are sent to. Change it to the broadcast-address of your ip-range (e.g. + Broadcast address UDP requests are sent to. Change it to the broadcast address of your IP range (e.g. '192.168.1.255') if you have problems with default (255.255.255.255) 255.255.255.255 diff --git a/bundles/org.openhab.binding.tapocontrol/src/main/resources/OH-INF/i18n/tapocontrol.properties b/bundles/org.openhab.binding.tapocontrol/src/main/resources/OH-INF/i18n/tapocontrol.properties index 6d5c68061abd0..da80f4e1c1932 100644 --- a/bundles/org.openhab.binding.tapocontrol/src/main/resources/OH-INF/i18n/tapocontrol.properties +++ b/bundles/org.openhab.binding.tapocontrol/src/main/resources/OH-INF/i18n/tapocontrol.properties @@ -33,6 +33,10 @@ thing-type.tapocontrol.P115.label = P115 SmartPlug thing-type.tapocontrol.P115.description = Tapo Smart Monitoring Wifi Plug thing-type.tapocontrol.P300.label = P300 Power Strip thing-type.tapocontrol.P300.description = Tapo Smart Wi-Fi Power Strip +thing-type.tapocontrol.S210.label = S210 Smart Switch +thing-type.tapocontrol.S210.description = Tapo Smart Switch +thing-type.tapocontrol.S220.label = S220 Smart Switch +thing-type.tapocontrol.S220.description = Tapo Smart Switch thing-type.tapocontrol.T110.label = T110 Smart Contact Sensor thing-type.tapocontrol.T110.description = Tapo Smart Window/Door Sensor thing-type.tapocontrol.T310.label = T310 Temperature Sensor @@ -45,19 +49,19 @@ thing-type.tapocontrol.bridge.description = Cloud Connector. Acts as device-brid # thing types config bridge-type.config.tapo.bridge.broadcastAddress.label = Broadcast Address -bridge-type.config.tapo.bridge.broadcastAddress.description = Broadcast-Address UDP-requests are sent to. Change it to the broadcast-address of your ip-range (e.g. '192.168.1.255') if you have problems with default (255.255.255.255) +bridge-type.config.tapo.bridge.broadcastAddress.description = Broadcast address UDP requests are sent to. Change it to the broadcast address of your IP range (e.g. '192.168.1.255') if you have problems with default (255.255.255.255) bridge-type.config.tapo.bridge.cloudDiscovery.label = Cloud Discovery -bridge-type.config.tapo.bridge.cloudDiscovery.description = Use Cloud Discovery-Service to get all in Tapo-App registered devices. Includes DeviceName. IP-Address and Encryption has to set manually if device is not found via udpDiscovery +bridge-type.config.tapo.bridge.cloudDiscovery.description = Use Cloud Discovery Service to get all in Tapo App registered devices. Includes device name. IP address and encryption have to be set manually if device is not found via udpDiscovery bridge-type.config.tapo.bridge.discoveryInterval.label = Background Discovery Interval bridge-type.config.tapo.bridge.discoveryInterval.description = Interval background discovery in minutes (default 60) -bridge-type.config.tapo.bridge.onlyLocalOnlineDevices.label = Discover only online devices -bridge-type.config.tapo.bridge.onlyLocalOnlineDevices.description = Uses Cloud and UPD-Discovery to get more informations but will only discover online devices via UDP +bridge-type.config.tapo.bridge.onlyLocalOnlineDevices.label = Discover Only Online Devices +bridge-type.config.tapo.bridge.onlyLocalOnlineDevices.description = Uses Cloud and UDP Discovery to get more information but will only discover online devices via UDP bridge-type.config.tapo.bridge.password.label = Password -bridge-type.config.tapo.bridge.password.description = Tapo-Cloud Login Password +bridge-type.config.tapo.bridge.password.description = Tapo Cloud login password bridge-type.config.tapo.bridge.udpDiscovery.label = UDP Discovery -bridge-type.config.tapo.bridge.udpDiscovery.description = Use UDP Discovery-Service to discover online devices in the local network. Includes Encryption and IP-Address +bridge-type.config.tapo.bridge.udpDiscovery.description = Use UDP Discovery Service to discover online devices in the local network. Includes encryption and IP address bridge-type.config.tapo.bridge.username.label = Username -bridge-type.config.tapo.bridge.username.description = Tapo-Cloud Login User (e-Mail) +bridge-type.config.tapo.bridge.username.description = Tapo Cloud login user (email) bridge-type.config.tapo.hub.backgroundDiscovery.label = Background Discovery bridge-type.config.tapo.hub.backgroundDiscovery.description = If background discovery is enabled, devices will be discovered after every polling request bridge-type.config.tapo.hub.httpPort.label = Port diff --git a/bundles/org.openhab.binding.tasmotaplug/README.md b/bundles/org.openhab.binding.tasmotaplug/README.md index e9348d0d4ee5c..dbad3b468b52d 100644 --- a/bundles/org.openhab.binding.tasmotaplug/README.md +++ b/bundles/org.openhab.binding.tasmotaplug/README.md @@ -30,7 +30,7 @@ The refresh interval and number of channels can be overridden from the default. ## Channels -The number of channels depends of on the `numChannels` configuration parameter. +The number of channels depends on the `numChannels` configuration parameter. Channels above the number specified are automatically removed. Therefore `numChannels` cannot be changed upward after Thing creation. If the number of channels must be increased, delete the Thing and re-create it with the correct number. diff --git a/bundles/org.openhab.binding.telegram/src/main/resources/OH-INF/i18n/telegram.properties b/bundles/org.openhab.binding.telegram/src/main/resources/OH-INF/i18n/telegram.properties index 90985fda6af9a..6a6513860c520 100644 --- a/bundles/org.openhab.binding.telegram/src/main/resources/OH-INF/i18n/telegram.properties +++ b/bundles/org.openhab.binding.telegram/src/main/resources/OH-INF/i18n/telegram.properties @@ -6,7 +6,7 @@ addon.telegram.description = This is the binding for Telegram. It allows to send # thing types thing-type.telegram.telegramBot.label = Telegram Bot -thing-type.telegram.telegramBot.description = Thing to receive the latest message send to a Telegram Bot. +thing-type.telegram.telegramBot.description = Thing to receive the latest message sent to a Telegram Bot. # thing types config @@ -34,7 +34,7 @@ thing-type.config.telegram.telegramBot.proxyType.option.HTTP = HTTP # channel types channel-type.telegram.callbackEvent.label = Query Callback Received -channel-type.telegram.callbackEvent.description = Callback Query response encoded as JSON.
Event payload could contain the following, but `null` values will not be present:
  • Long `message_id` - Unique message ID of the original Query message
  • String `from` - First and/or last name of sender
  • Long `chat_id` - Unique chat ID
  • String `callback_id` - Unique callback ID to send receipt confirmation to
  • String `reply_id` - Plain text name of original Query
  • String `text` - Selected response text from options give in original Query
+channel-type.telegram.callbackEvent.description = Callback Query response encoded as JSON.
Event payload could contain the following, but `null` values will not be present:
  • Long `message_id` - Unique message ID of the original Query message
  • String `from` - First and/or last name of sender
  • Long `chat_id` - Unique chat ID
  • String `callback_id` - Unique callback ID to send receipt confirmation to
  • String `reply_id` - Plain text name of original Query
  • String `text` - Selected response text from options given in original Query
channel-type.telegram.callbackRawEvent.label = Raw Callback Query Received channel-type.telegram.callbackRawEvent.description = Raw Callback Query response from the Telegram library encoded as JSON. channel-type.telegram.chatId.label = Chat Id @@ -42,13 +42,13 @@ channel-type.telegram.chatId.description = Contains the id of chat from where th channel-type.telegram.lastMessageDate.label = Last Message Date channel-type.telegram.lastMessageDate.description = Contains the latest message date as a DateTime channel-type.telegram.lastMessageName.label = Last Message Name -channel-type.telegram.lastMessageName.description = Contains the latest message senders name as a string +channel-type.telegram.lastMessageName.description = Contains the latest message sender's name as a string channel-type.telegram.lastMessageText.label = Last Message Text channel-type.telegram.lastMessageText.description = Contains the latest message text as a string channel-type.telegram.lastMessageURL.label = Last Message URL channel-type.telegram.lastMessageURL.description = Contains the URL of the latest message channel-type.telegram.lastMessageUsername.label = Last Message Username -channel-type.telegram.lastMessageUsername.description = Contains the latest message senders username as a string +channel-type.telegram.lastMessageUsername.description = Contains the latest message sender's username as a string channel-type.telegram.messageEvent.label = Message Received channel-type.telegram.messageEvent.description = Message encoded as JSON.
Event payload could contain the following, but `null` values will not be present:
  • Long `message_id` - Unique message ID in this chat
  • String `from` - First and/or last name of sender
  • Long `chat_id` - Unique chat ID
  • String `text` - Message text
  • String `animation_url` - URL to download animation from
  • String `audio_url` - URL to download audio from
  • String `document_url` - URL to download file from
  • Array `photo_url` - Array of URLs to download photos from
  • String `sticker_url` - URL to download sticker from
  • String `video_url` - URL to download video from
  • String `video_note_url` - URL to download video note from
  • String `voice_url` - URL to download voice clip from
channel-type.telegram.messageRawEvent.label = Raw Message Received diff --git a/bundles/org.openhab.binding.telegram/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.telegram/src/main/resources/OH-INF/thing/thing-types.xml index 7a1b8e77e71b9..3cb907ab9debf 100644 --- a/bundles/org.openhab.binding.telegram/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.telegram/src/main/resources/OH-INF/thing/thing-types.xml @@ -6,7 +6,7 @@ - Thing to receive the latest message send to a Telegram Bot. + Thing to receive the latest message sent to a Telegram Bot. @@ -93,14 +93,14 @@ String - Contains the latest message senders name as a string + Contains the latest message sender's name as a string String - Contains the latest message senders username as a string + Contains the latest message sender's username as a string @@ -165,7 +165,7 @@
  • Long `chat_id` - Unique chat ID
  • String `callback_id` - Unique callback ID to send receipt confirmation to
  • String `reply_id` - Plain text name of original Query
  • -
  • String `text` - Selected response text from options give in original Query
  • +
  • String `text` - Selected response text from options given in original Query
  • ]]>
    diff --git a/bundles/org.openhab.binding.tellstick/README.md b/bundles/org.openhab.binding.tellstick/README.md index 22af53d0a0d1b..1d17fd5e1d561 100644 --- a/bundles/org.openhab.binding.tellstick/README.md +++ b/bundles/org.openhab.binding.tellstick/README.md @@ -3,10 +3,10 @@ This is an openHAB binding for Tellstick devices produced by Telldus, a Swedish company based in Lund. The original Tellstick focused on controlling 433 MHz devices like switches, dimmers and reading sensors from different brands. -Many of the supported devices are cheaper and "low-end" and support have been made by reverse engineer the transmission protocols. -All of these 433 MHz devices is one-way, so some versions of the Tellstick monitoring the air to keep the state of all devices. +Many of the supported devices are cheaper and "low-end" and support has been made by reverse engineering the transmission protocols. +All of these 433 MHz devices are one-way, so some versions of the Tellstick monitor the air to keep the state of all devices. -The latest versions have also implemented Z-Wave as transmission protocol which open up for more robust transmission due two-ways communication. +The latest versions have also implemented Z-Wave as a transmission protocol which opens up for more robust transmission due to two-way communication. ![Tellstick Duo device](doc/tellstick_duo.jpg) @@ -28,14 +28,14 @@ Additionally the binding have two types of bridge things which correspond to ava ### Switchbased sensors workaround -- Some 433MHz magnetic & PIR sensors, for example, magnetic door sensors, are detected as regular `switch` Things instead of type `contact`. There is technically no way of distinguish them apart from regulur `switch` Things. For using them as sensors only (not paired to a lamp) please consult the workaround in the channel section. +- Some 433MHz magnetic & PIR sensors, for example, magnetic door sensors, are detected as regular `switch` Things instead of type `contact`. There is technically no way to distinguish them apart from regular `switch` Things. For using them as sensors only (not paired to a lamp) please consult the workaround in the channel section. ## Discovery -Devices which is added to _Telldus Core_, _Telldus Live_ and _Telldus Local_ can be discovered by openHAB. +Devices which are added to _Telldus Core_, _Telldus Live_ and _Telldus Local_ can be discovered by openHAB. When you add this binding it will try to discover the _Telldus Core Bridge_. -If it is installed correct its devices will show up. +If it is installed correctly its devices will show up. If you want to use the _Telldus Live_ or _Telldus Local_, their bridges, _Telldus Live bridge_ or _Tellstick Local_, needs to be added manually. @@ -153,11 +153,11 @@ Actuators (dimmer/switch) support the following channels: Sensors (sensor) support the following channels: -| Channel Type ID | Item Type | Description | +| Channel Type ID | Item Type | Description | |-----------------|---------------------|-------------------------------------------------------------| | humidity | Number:Dimensionless| This channel reports the current humidity in percentage. | | temperature | Number:Temperature | This channel reports the current temperature. | -| timestamp | DateTime | This channel reports the last time this sensor was updates. | +| timestamp | DateTime | This channel reports the last time this sensor was updated. | PowerSensors ([powersensor]) support the following channels: @@ -165,7 +165,7 @@ PowerSensors ([powersensor]) support the following channels: |-----------------|------------------------|-------------------------------------------------------------| | watt | Number:Power | This channel reports the current watt. | | ampere | Number:ElectricCurrent | This channel reports the current ampere. | -| timestamp | DateTime | This channel reports the last time this sensor was updates. | +| timestamp | DateTime | This channel reports the last time this sensor was updated. | WindSensors ([windsensor]) support the following channels: @@ -179,7 +179,7 @@ RainSensors ([rainsensor]) support the following channels: | Channel Type ID | Item Type | Description | |-----------------|---------------|----------------------------| -| rainrate | Number:Length | This current rate of rain. | +| rainrate | Number:Length | The current rate of rain. | | raintotal | Number:Length | The total rain. | ### Switchbased sensor workaround diff --git a/bundles/org.openhab.binding.teslapowerwall/README.md b/bundles/org.openhab.binding.teslapowerwall/README.md index 903667c34ed14..8e2011ef0ce02 100644 --- a/bundles/org.openhab.binding.teslapowerwall/README.md +++ b/bundles/org.openhab.binding.teslapowerwall/README.md @@ -15,8 +15,8 @@ The binding does not support auto discovery. | Thing Parameter | Default Value | Required | Advanced | Description | |-----------------|---------------|----------|----------|--------------------------------------------------------------------------------------| | hostname | N/A | Yes | No | The IP or hostname of the Tesla Powerwall | -| email | N/A | Yes | No | the email of the local account on the Powerwall that the installer provided | -| password | N/A | Yes | No | the password of the local account on the Powerwall that the installer provided | +| email | N/A | Yes | No | The email of the local account on the Powerwall that the installer provided | +| password | N/A | Yes | No | The password of the local account on the Powerwall that the installer provided | | refresh | 10 | No | Yes | The frequency with which to refresh information from the Powerwall (in seconds) | ## Channels @@ -55,7 +55,7 @@ teslapowerwall:tesla-powerwall:TeslaPowerwall [ hostname="192.168.0.5" ] ```java String TeslaPowerwall_grid-status { channel="teslapowerwall:tesla-powerwall:TeslaPowerwall:grid-status" } Switch TeslaPowerwall_grid-services { channel="teslapowerwall:tesla-powerwall:TeslaPowerwall:grid-services" } -Number:Dimensionless TeslaPowerwall_battery-soe { channel="tesla-powerwall:teslapowerwall:TeslaPowerwall:battery-soe", unit="%" } +Number:Dimensionless TeslaPowerwall_battery-soe { channel="teslapowerwall:tesla-powerwall:TeslaPowerwall:battery-soe", unit="%" } String TeslaPowerwall_mode { channel="teslapowerwall:tesla-powerwall:TeslaPowerwall:mode" } Number:Dimensionless TeslaPowerwall_reserve { channel="teslapowerwall:tesla-powerwall:TeslaPowerwall:reserve", unit="%" } Number:Power TeslaPowerwall_grid-inst-power { channel="teslapowerwall:tesla-powerwall:TeslaPowerwall:grid-inst-power" } @@ -89,7 +89,7 @@ Text item=TeslaPowerwall_solar-inst-power label="Solar Power [%.1f W]" Text item=TeslaPowerwall_grid-energy-exported label="Grid Energy Exported [%.1f kWh]" Text item=TeslaPowerwall_grid-energy-imported label="Grid Energy Imported [%.1f kWh]" Text item=TeslaPowerwall_battery-energy-exported label="Battery Energy Exported [%.1f kWh]" -Text item=TeslaPowerwall_battery-energyi-mported label="Battery Energy Imported [%.1f kWh]" +Text item=TeslaPowerwall_battery-energy-imported label="Battery Energy Imported [%.1f kWh]" Text item=TeslaPowerwall_home-energy-exported label="Home Energy Exported [%.1f kWh]" Text item=TeslaPowerwall_home-energy-imported label="Home Energy Imported [%.1f kWh]" Text item=TeslaPowerwall_solar-energy-exported label="Solar Energy Exported [%.1f kWh]" diff --git a/bundles/org.openhab.binding.teslapowerwall/src/main/resources/OH-INF/i18n/teslapowerwall.properties b/bundles/org.openhab.binding.teslapowerwall/src/main/resources/OH-INF/i18n/teslapowerwall.properties index 564a9675effe1..87309aa404278 100644 --- a/bundles/org.openhab.binding.teslapowerwall/src/main/resources/OH-INF/i18n/teslapowerwall.properties +++ b/bundles/org.openhab.binding.teslapowerwall/src/main/resources/OH-INF/i18n/teslapowerwall.properties @@ -30,7 +30,7 @@ channel-type.teslapowerwall.battery-inst-power.description = Instantaneous batte channel-type.teslapowerwall.battery-soe.label = Battery SOE channel-type.teslapowerwall.battery-soe.description = Current battery state of charge channel-type.teslapowerwall.degradation.label = Battery Degradation -channel-type.teslapowerwall.degradation.description = Current battery degradation %, based on 13.5kW full capacity +channel-type.teslapowerwall.degradation.description = Current battery degradation %, based on 13.5 kWh full capacity channel-type.teslapowerwall.full-pack-energy.label = Battery Full Pack Energy channel-type.teslapowerwall.full-pack-energy.description = Battery full pack energy channel-type.teslapowerwall.grid-energy-exported.label = Grid Energy Exported @@ -46,7 +46,7 @@ channel-type.teslapowerwall.grid-status.description = Current status of the powe channel-type.teslapowerwall.home-energy-exported.label = Home Energy Exported channel-type.teslapowerwall.home-energy-exported.description = Total home energy exported channel-type.teslapowerwall.home-energy-imported.label = Home Energy Imported -channel-type.teslapowerwall.home-energy-imported.description = Total home energy emported +channel-type.teslapowerwall.home-energy-imported.description = Total home energy imported channel-type.teslapowerwall.home-inst-power.label = Instant Home Power channel-type.teslapowerwall.home-inst-power.description = Instantaneous home power supply channel-type.teslapowerwall.mode.label = Operating Mode diff --git a/bundles/org.openhab.binding.teslapowerwall/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.teslapowerwall/src/main/resources/OH-INF/thing/thing-types.xml index a78b9a62458b3..54b7bf51ad96e 100644 --- a/bundles/org.openhab.binding.teslapowerwall/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.teslapowerwall/src/main/resources/OH-INF/thing/thing-types.xml @@ -201,7 +201,7 @@ Number:Energy - Total home energy emported + Total home energy imported Measurement Energy @@ -231,7 +231,7 @@ Number:Dimensionless - Current battery degradation %, based on 13.5kW full capacity + Current battery degradation %, based on 13.5 kWh full capacity Measurement Power diff --git a/bundles/org.openhab.binding.teslascope/README.md b/bundles/org.openhab.binding.teslascope/README.md index acdf82529ae8e..0f72f54756e39 100644 --- a/bundles/org.openhab.binding.teslascope/README.md +++ b/bundles/org.openhab.binding.teslascope/README.md @@ -73,7 +73,7 @@ Additionally, these advanced channels are available (not all are available on al | charge-limit-soc-min | Number:Dimensionless | Charge Limit SOC Min | Minimum charging limit of the vehicle, in % | | charge-limit-soc-max | Number:Dimensionless | Charge Limit SOC Max | Maximum charging limit of the vehicle, in % | | charge-limit-soc-standard | Number:Dimensionless | Charge Limit SOC Standard | Standard charging limit of the vehicle, in % | -| charge-port-latch | Switch | Charge Port Latch | Indicate the Charge Port Latch status, (ON/OFF if latched/unlatched) | +| charge-port-latch | Switch | Charge Port Latch | Indicates the Charge Port Latch status (ON/OFF if latched/unlatched) | | charge-rate | Number:Speed | Charge Rate | Distance per hour charging rate | | charger-power | Number:Power | Charger Power | Power actually delivered by the charger | | charger-voltage | Number:ElectricPotential | Charger Voltage | Voltage (V) actually presented by the charger | diff --git a/bundles/org.openhab.binding.teslascope/src/main/resources/OH-INF/i18n/teslascope.properties b/bundles/org.openhab.binding.teslascope/src/main/resources/OH-INF/i18n/teslascope.properties index 8d53b64f285fc..5a454e7d44db2 100644 --- a/bundles/org.openhab.binding.teslascope/src/main/resources/OH-INF/i18n/teslascope.properties +++ b/bundles/org.openhab.binding.teslascope/src/main/resources/OH-INF/i18n/teslascope.properties @@ -5,9 +5,9 @@ addon.teslascope.description = This is the binding for Teslascope. # thing types -thing-type.teslascope.account.label = Teslascope Account Handler +thing-type.teslascope.account.label = Teslascope Account thing-type.teslascope.account.description = Access to Tesla Vehicle data via the Teslascope developer API -thing-type.teslascope.vehicle.label = Teslascope Vehicle +thing-type.teslascope.vehicle.label = Vehicle thing-type.teslascope.vehicle.description = Access to Tesla Vehicle data via the Teslascope developer API # thing types config @@ -15,11 +15,11 @@ thing-type.teslascope.vehicle.description = Access to Tesla Vehicle data via the thing-type.config.teslascope.account.apiKey.label = apiKey thing-type.config.teslascope.account.apiKey.description = apiKey provided by Teslascope thing-type.config.teslascope.account.refreshInterval.label = Refresh Interval -thing-type.config.teslascope.account.refreshInterval.description = Interval the account is polled in sec. +thing-type.config.teslascope.account.refreshInterval.description = Interval at which the account is polled (in seconds). thing-type.config.teslascope.vehicle.publicID.label = Vehicle Public ID thing-type.config.teslascope.vehicle.publicID.description = Vehicle public ID listed in Teslascope thing-type.config.teslascope.vehicle.refreshInterval.label = Refresh Interval -thing-type.config.teslascope.vehicle.refreshInterval.description = Interval the API is polled in sec. +thing-type.config.teslascope.vehicle.refreshInterval.description = Interval at which the API is polled (in seconds). # channel types @@ -48,7 +48,7 @@ channel-type.teslascope.charge-limit-soc-standard.description = Standard chargin channel-type.teslascope.charge-limit-soc.label = Charge Limit SOC channel-type.teslascope.charge-limit-soc.description = Current charging limit of the vehicle, in % channel-type.teslascope.charge-port-latch.label = Charge Port Latch -channel-type.teslascope.charge-port-latch.description = Indicate the Charge Port Latch status, (ON/OFF if latched/unlatched) +channel-type.teslascope.charge-port-latch.description = Indicates the Charge Port Latch status (ON/OFF if latched/unlatched) channel-type.teslascope.charge-port.label = Charge Port channel-type.teslascope.charge-port.description = Open the Charge Port (ON) or indicates the state of the Charge Port (ON/OFF if Open/Closed) channel-type.teslascope.charge-rate.label = Charge Rate @@ -185,8 +185,8 @@ channel-type.teslascope.vehicle-state.label = Vehicle State channel-type.teslascope.vehicle-state.description = Vehicle State channel-type.teslascope.vin.label = VIN channel-type.teslascope.vin.description = Vehicle Identification Number -channel-type.teslascope.wiper-blade-heater.label = Wiperblade Heater -channel-type.teslascope.wiper-blade-heater.description = Indicates if the wiperblade heater is switched on +channel-type.teslascope.wiper-blade-heater.label = Wiper Blade Heater +channel-type.teslascope.wiper-blade-heater.description = Indicates if the wiper blade heater is switched on # thing types config diff --git a/bundles/org.openhab.binding.teslascope/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.teslascope/src/main/resources/OH-INF/thing/thing-types.xml index 159851f6abc41..1255949aa37be 100644 --- a/bundles/org.openhab.binding.teslascope/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.teslascope/src/main/resources/OH-INF/thing/thing-types.xml @@ -15,7 +15,7 @@
    - Interval the account is polled in sec. + Interval at which the account is polled (in seconds). 60 true @@ -127,7 +127,7 @@
    - Interval the API is polled in sec. + Interval at which the API is polled (in seconds). 60 true @@ -272,7 +272,7 @@ Switch - Indicate the Charge Port Latch status, (ON/OFF if latched/unlatched) + Indicates the Charge Port Latch status (ON/OFF if latched/unlatched) Status OpenState @@ -674,8 +674,8 @@ Switch - - Indicates if the wiperblade heater is switched on + + Indicates if the wiper blade heater is switched on diff --git a/bundles/org.openhab.binding.tibber/README.md b/bundles/org.openhab.binding.tibber/README.md index e92e0aa369dd5..700c0038a88ef 100644 --- a/bundles/org.openhab.binding.tibber/README.md +++ b/bundles/org.openhab.binding.tibber/README.md @@ -1,7 +1,7 @@ # Tibber Binding -The Tibber Binding retrieves `prices` from [Tibber API](https://developer.tibber.com). -Users equipped with Tibber Pulse hardware can connect in addition to [live group](#live-group) and [statistics group](#statistics-group). +The Tibber Binding retrieves `prices` from the [Tibber API](https://developer.tibber.com). +If you have Tibber Pulse hardware, you can also use the [live group](#live-group) and [statistics group](#statistics-group). ## Supported Things @@ -15,17 +15,17 @@ Users equipped with Tibber Pulse hardware can connect in addition to [live group |---------------|-----------|---------------------------------------|-----------|-----------| | token | text | Tibber Personal Token | N/A | yes | | homeid | text | Tibber Home ID | N/A | yes | -| updateHour | integer | Hour when spot prices are updated | 13 | yes | +| updateHour | integer | Local hour when spot prices are updated | 13 | yes | -Note: Tibber token is retrieved from your Tibber account: +Note: The Tibber token is retrieved from your Tibber account: [Tibber Account](https://developer.tibber.com/settings/accesstoken) -Note: Tibber HomeId is retrieved from [developer.tibber.com](https://developer.tibber.com/explorer): +Note: The Tibber Home ID is retrieved from [developer.tibber.com](https://developer.tibber.com/explorer): - Sign in (Tibber user account) and "load" personal token. - Copy query from below and paste into the Tibber API Explorer, and run query. - If Tibber Pulse is connected, the Tibber API Explorer will report "true" for "realTimeConsumptionEnabled" -- Copy HomeId from Tibber API Explorer, without quotation marks, and use this in the bindings configuration. +- Copy the Home ID from the Tibber API Explorer, without quotation marks, and use it in the binding configuration. ```graphql { @@ -40,14 +40,14 @@ Note: Tibber HomeId is retrieved from [developer.tibber.com](https://developer.t } ``` -If user have multiple HomeIds / Pulse, separate Things have to be created for the different/desired HomeIds. +If you have multiple Home IDs/Pulse devices, create separate Things for each Home ID. ## Channels ### `price` group Current and forecast Tibber price information. -All read-only. +All values are read-only. | Channel ID | Type | Description | Time Series | |-------------------|----------------------|--------------------------------------------|--------------| @@ -58,11 +58,11 @@ All read-only. | average | Number:EnergyPrice | Average price from last 24 hours | yes | Channel `spot-price` is _deprecated_ and will be removed in the next major update. -It's still available as advanced channel. -Naming was misleading as it reflected the total price and not the [Nord Pool spot price](https://developer.tibber.com/docs/reference#price) used by Tibber. +It's still available as an advanced channel. +The naming was misleading as it reflected the total price and not the [Nord Pool spot price](https://developer.tibber.com/docs/reference#price) used by Tibber. -The `level` number is mapping the [Tibber Rating](https://developer.tibber.com/docs/reference#pricelevel) into numbers. -Zero reflects _normal_ price while values above 0 are _expensive_ and values below 0 are _cheap_. +The `level` number maps the [Tibber Rating](https://developer.tibber.com/docs/reference#pricelevel) into numbers. +Zero reflects _normal_ price, while values above 0 are _expensive_ and values below 0 are _cheap_. Mapping: @@ -73,11 +73,11 @@ Mapping: - Very Expensive: 2 The `average` values are not delivered by the Tibber API. -It's calculated by the binding to provide a trend line for the last 24 hours. -After initial setup the average values will stay NULL until the next day because the previous 24 h prices cannot be obtained by the Tibber API. +They are calculated by the binding to provide a trend line for the last 24 hours. +After the initial setup, the average values will remain NULL until the next day because the previous 24 h prices cannot be obtained by the Tibber API. -Please note time series are not supported by the default [rrd4j](https://www.openhab.org/addons/persistence/rrd4j/) persistence. -The items connected to the above channels needs to be stored in e.g. [InfluxDB](https://www.openhab.org/addons/persistence/influxdb/) or [InMemory](https://www.openhab.org/addons/persistence/inmemory/). +Please note that time series are not supported by the default [rrd4j](https://www.openhab.org/addons/persistence/rrd4j/) persistence. +The items connected to the above channels need to be stored in, e.g., [InfluxDB](https://www.openhab.org/addons/persistence/influxdb/) or [InMemory](https://www.openhab.org/addons/persistence/inmemory/). #### Trigger Channels @@ -90,7 +90,7 @@ Channel `event` can trigger the following events: ### `live` group Live information from Tibber Pulse. -All values read-only. +All values are read-only. | Channel ID | Type | Description | |----------------------------|--------------------------|----------------------------------------------------------------------------------| @@ -111,8 +111,8 @@ All values read-only. ### `statistics` group -Statistic information about total, daily and last hour energy consumption and production. -All values read-only. +Statistical information about total, daily, and last-hour energy consumption and production. +All values are read-only. | Channel ID | Type | Description | |-----------------------|---------------------------|---------------------------------------------------------------| @@ -126,42 +126,42 @@ All values read-only. ## Thing Actions -Thing actions can be used to perform calculations on the current available price information cached by the binding. -Cache contains energy prices from today and after reaching the `updateHour` also for tomorrow. -This is for planning when and for what cost a specific electric consumer can be started. +Thing actions can be used to perform calculations on the currently available price information cached by the binding. +The cache contains energy prices for today and, after reaching the `updateHour`, also for tomorrow. +This helps plan when to run a device and at what cost. -Performing a calcuation a `parameters` object is needed containing e.g. your boundaries for the calculation. -Parameter object allow 2 types: Java `Map` or JSON `String`. -The result is returned as JSON encoded `String`. -Refer below sections how the result looks like. +Performing a calculation requires a `parameters` object containing, e.g., your boundaries for the calculation. +The parameter object allows two types: a Java `Map` or a JSON `String`. +The result is returned as a JSON-encoded `String`. +See the sections below for the result format. If the action cannot be performed, a warning will be logged and an empty `String` will be returned. -Some real life scenarios are schown in [Thing Actions](#thing-actions) section. +Some real-life scenarios are shown in the [Thing Actions](#thing-actions) section. ### `priceInfoStart` -Returns starting point as `Instant` of first available energy price. -It's not allowed to start calculations before this timestamp. +Returns the starting point as an `Instant` of the first available energy price. +Calculations must not start before this timestamp. In case of error `Instant.MAX` is returned. ### `priceInfoEnd` -Returns end point as `Instant` of the last available energy price. -It's not allowed to exceed calculations after this timestamp. +Returns the end point as an `Instant` of the last available energy price. +Calculations must not extend beyond this timestamp. In case of error `Instant.MIN` is returned. ### `listPrices` -List prices in ascending / decending _price_ order. -Use [persistence estensions](https://www.openhab.org/docs/configuration/persistence.html#persistence-extensions-in-scripts-and-rules) if you need _time_ ordering. +List prices in ascending or descending price order. +Use [persistence extensions](https://www.openhab.org/docs/configuration/persistence.html#persistence-extensions-in-scripts-and-rules) if you need time ordering. #### Parameters | Name | Type | Description | Default | Required | |---------------|-----------|---------------------------------------|-------------------|-----------| | earliestStart | Instant | Earliest start time | now | no | -| latestStop | Instant | Latest end time | `priceInfoEnd` | no | +| latestEnd | Instant | Latest end time | `priceInfoEnd` | no | | ascending | boolean | Price sorting order | true | no | #### Example @@ -172,7 +172,7 @@ when System started // use your trigger then var actions = getActions("tibber","tibber:tibberapi:xyz") - // parameters empty => default parameters are used = starting from now till end of available price infos, ascending + // parameters empty => default parameters are used = starting from now till end of available price information, ascending var parameters = "{}" var result = actions.listPrices(parameters) val numberOfPrices = transform("JSONPATH", "$.size", result) @@ -199,12 +199,12 @@ end ### Result -JSON encoded `String` result with keys +JSON-encoded `String` result with keys | Key | Type | Description | |---------------|-----------|---------------------------------------| | size | int | Size of price list | -| priceList | JsonArray | Array of `priceInfo` entries | +| priceList | JSON array | Array of `priceInfo` entries | JSON Object `priceInfo` @@ -250,8 +250,8 @@ JSON Object `priceInfo` ### `bestPricePeriod` -Calculates best cost for a consecutive period. -For use cases like dishwasher or laundry. +Calculates the lowest cost for a consecutive period. +For use cases like a dishwasher or laundry. #### Parameters @@ -266,7 +266,7 @@ For use cases like dishwasher or laundry. Provide either - `power` and `duration` for constant consumption _or_ -- `curve` for sophisticated use cases like a recorded laundry power timeseries +- `curve` for sophisticated use cases like a recorded laundry power time series JSON Object `curveEntry` @@ -303,7 +303,7 @@ then // calculate time between now and cheapest start and start timer to execute action val startsAt = transform("JSONPATH", "$.cheapestStart", result) var secondsTillStart = Duration.between(Instant.now(), Instant.parse(startsAt)).getSeconds() - // is start shall happen immediately avoid negative values + // if the start should happen immediately, avoid negative values secondsTillStart = Math::max(0,secondsTillStart) bestPriceTimer = createTimer(now.plusSeconds(secondsTillStart), [| logInfo("TibberBestPrice","Start your device") @@ -323,7 +323,7 @@ Console output: #### Result -JSON encoded `String` result with keys +JSON-encoded `String` result with keys | Key | Type | Description | |-----------------------|-----------|---------------------------------------| @@ -347,8 +347,8 @@ JSON encoded `String` result with keys ### `bestPriceSchedule` -Calculates best cost for a non-consecutive schedule. -For use cases like battery electric vehicle or heat-pump. +Calculates the lowest cost for a non-consecutive schedule. +For use cases like a battery electric vehicle or a heat pump. #### Parameters @@ -405,20 +405,18 @@ JSON encoded `String` result with keys | Key | Type | Description | |---------------|-----------|---------------------------------------| | size | int | Number of schedules | -| schedule | JsonArray | Array of `scheduleEntry` elements | +| schedule | JSON array | Array of `scheduleEntry` elements | JSON Object `scheduleEntry` | Key | Type | Description | |---------------|-----------|---------------------------------------| -| timestamp | String | String encoded Instant | -| duration | int | Price duration in seconds | -| price | double | Price in your currency | +| start | String | Start time (Instant as string) | +| stop | String | Stop time (Instant as string) | +| duration | int | Duration in seconds | +| cost | double | Cost in your currency | -Provide either -- `timestamp` - duration will be calculated automatically _or_ -- `duration` if you already know it #### Result Example @@ -456,7 +454,7 @@ Thing tibber:tibberapi:xyz [ homeid="xxx", token="xxxxxxx", updateHour=13 ] ### `demo.items` Example ```java -Number:EnergyPrice Tibber_API_Spot_Prices "Spot Prices" {channel="tibber:tibberapi:xyz:price#spot-price"} +Number:EnergyPrice Tibber_API_Spot_Prices "Spot Prices" {channel="tibber:tibberapi:xyz:price#spot"} Number Tibber_API_Price_Level "Price Level" {channel="tibber:tibberapi:xyz:price#level"} Number:EnergyPrice Tibber_API_Average "Average Price" {channel="tibber:tibberapi:xyz:price#average"} @@ -467,7 +465,7 @@ Number:Power Tibber_API_Average_Consumption "Average Consump Number:Power Tibber_API_Live_Production "Live Production" {channel="tibber:tibberapi:xyz:live#production"} Number:Power Tibber_API_Minimum_Production "Minimum Production" {channel="tibber:tibberapi:xyz:live#minimum-production"} Number:Power Tibber_API_Peak_Production "Peak Production" {channel="tibber:tibberapi:xyz:live#peak-production"} -Number:Power Tibber_API_Power_Balance "Power Balance" {channel="tibber:tibberapi:xyz:live#consumption-and-production"} +Number:Power Tibber_API_Power_Balance "Power Balance" {channel="tibber:tibberapi:xyz:live#power-balance"} Number:ElectricPotential Tibber_API_Voltage_1 "Voltage 1" {channel="tibber:tibberapi:xyz:live#voltage1"} Number:ElectricPotential Tibber_API_Voltage_2 "Voltage 2" {channel="tibber:tibberapi:xyz:live#voltage2"} Number:ElectricPotential Tibber_API_Voltage_3 "Voltage 3" {channel="tibber:tibberapi:xyz:live#voltage3"} diff --git a/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/addon/addon.xml b/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/addon/addon.xml index 4083862ac8556..8d9e535f5311b 100644 --- a/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/addon/addon.xml +++ b/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/addon/addon.xml @@ -5,7 +5,7 @@ binding Tibber Binding - This binding retrieves price and consumption data from Tibber API using queries and live subscription + This binding retrieves price and consumption data from the Tibber API using queries and live subscriptions. cloud diff --git a/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/i18n/tibber.properties b/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/i18n/tibber.properties index 2b526c73e4de8..fb09d8cbe8175 100644 --- a/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/i18n/tibber.properties +++ b/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/i18n/tibber.properties @@ -1,7 +1,7 @@ # add-on addon.tibber.name = Tibber Binding -addon.tibber.description = This binding retrieves price and consumption data from Tibber API using queries and live subscription +addon.tibber.description = This binding retrieves price and consumption data from the Tibber API using queries and live subscriptions. # thing types @@ -10,12 +10,12 @@ thing-type.tibber.tibberapi.description = Tibber API connector # thing types config -thing-type.config.tibber.tibberapi.homeid.label = HomeID +thing-type.config.tibber.tibberapi.homeid.label = Home ID thing-type.config.tibber.tibberapi.homeid.description = Tibber Home ID thing-type.config.tibber.tibberapi.token.label = Token thing-type.config.tibber.tibberapi.token.description = Tibber Personal Token thing-type.config.tibber.tibberapi.updateHour.label = Spot Price Update Hour -thing-type.config.tibber.tibberapi.updateHour.description = Your local time hour when spot prices are updated +thing-type.config.tibber.tibberapi.updateHour.description = Local hour when spot prices are updated # channel group types @@ -50,7 +50,7 @@ channel-group-type.tibber.live.channel.voltage2.description = Electric potential channel-group-type.tibber.live.channel.voltage3.label = Voltage 3 channel-group-type.tibber.live.channel.voltage3.description = Electric potential on phase 3 channel-group-type.tibber.price.label = Price -channel-group-type.tibber.price.description = Price Informations +channel-group-type.tibber.price.description = Price Information channel-group-type.tibber.price.channel.average.label = Average 24h channel-group-type.tibber.price.channel.average.description = Average price from last 24 hours channel-group-type.tibber.price.channel.level.label = Price Level @@ -58,7 +58,7 @@ channel-group-type.tibber.price.channel.level.description = Price levels for tod channel-group-type.tibber.price.channel.spot.label = Spot Price channel-group-type.tibber.price.channel.spot.description = Spot prices for energy today and tomorrow channel-group-type.tibber.price.channel.spot-price.label = Spot Price (DEPRECATED) -channel-group-type.tibber.price.channel.spot-price.description = (DEPRECATED) Use total channel from price group +channel-group-type.tibber.price.channel.spot-price.description = (DEPRECATED) Use the total channel from the price group channel-group-type.tibber.price.channel.tax.label = Tax channel-group-type.tibber.price.channel.tax.description = Taxes and additional expenses channel-group-type.tibber.price.channel.total.label = Total Price @@ -83,18 +83,18 @@ channel-group-type.tibber.statistics.channel.total-production.description = Tota # channel types channel-type.tibber.advanced-price.label = Current Total Price -channel-type.tibber.advanced-price.description = Total Price + Tax +channel-type.tibber.advanced-price.description = Total price including taxes channel-type.tibber.cost.label = Total Cost channel-type.tibber.current.label = Current -channel-type.tibber.current.description = Current on the given phase +channel-type.tibber.current.description = Electric current on the given phase channel-type.tibber.energy-detailed.label = Total Consumption -channel-type.tibber.energy-detailed.description = Consumption at given time interval (e.g. hourly, daily, last meter reading, accumulated since midnight) +channel-type.tibber.energy-detailed.description = Consumption at a given time interval (e.g., hourly, daily, last meter reading, accumulated since midnight) channel-type.tibber.energy.label = Total Consumption -channel-type.tibber.energy.description = Consumption at given time interval (e.g. hourly, daily, last meter reading, accumulated since midnight) +channel-type.tibber.energy.description = Consumption at a given time interval (e.g., hourly, daily, last meter reading, accumulated since midnight) channel-type.tibber.event.label = Event channel-type.tibber.event.description = Event triggered channel-type.tibber.power.label = Power Consumption/Production -channel-type.tibber.power.description = Power consumption/production for given time interval +channel-type.tibber.power.description = Power consumption/production for a given time interval channel-type.tibber.price-level.label = Price Level channel-type.tibber.price-level.description = Current price level channel-type.tibber.price-level.state.option.-2 = Very Cheap @@ -103,7 +103,7 @@ channel-type.tibber.price-level.state.option.0 = Normal channel-type.tibber.price-level.state.option.1 = Expensive channel-type.tibber.price-level.state.option.2 = Very Expensive channel-type.tibber.price.label = Current Total Price -channel-type.tibber.price.description = Total Price + Tax +channel-type.tibber.price.description = Total price including taxes channel-type.tibber.voltage.label = Voltage channel-type.tibber.voltage.description = Voltage on the given phase diff --git a/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/channel-types.xml index 516dcf0754034..34205b58ef25c 100644 --- a/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/channel-types.xml +++ b/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/channel-types.xml @@ -7,14 +7,14 @@ Number:EnergyPrice - Total Price + Tax + Total price including taxes Price Number:EnergyPrice - Total Price + Tax + Total price including taxes Price @@ -43,7 +43,7 @@ Number:Energy - Consumption at given time interval (e.g. hourly, daily, last meter reading, accumulated since midnight) + Consumption at a given time interval (e.g., hourly, daily, last meter reading, accumulated since midnight) Measurement Energy @@ -53,7 +53,7 @@ Number:Energy - Consumption at given time interval (e.g. hourly, daily, last meter reading, accumulated since midnight) + Consumption at a given time interval (e.g., hourly, daily, last meter reading, accumulated since midnight) Measurement Energy @@ -63,7 +63,7 @@ Number:Power - Power consumption/production for given time interval + Power consumption/production for a given time interval Measurement Power @@ -83,7 +83,7 @@ Number:ElectricCurrent - Current on the given phase + Electric current on the given phase Measurement Current diff --git a/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/price-group.xml b/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/price-group.xml index b9b01b1ce8541..a5d91cf649a27 100644 --- a/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/price-group.xml +++ b/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/price-group.xml @@ -5,7 +5,7 @@ xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd"> - Price Informations + Price Information @@ -13,7 +13,7 @@ - (DEPRECATED) Use total channel from price group + (DEPRECATED) Use the total channel from the price group diff --git a/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/thing-types.xml index 3557442b96b52..06c60d76f1c5f 100644 --- a/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/thing-types.xml @@ -25,12 +25,12 @@ Tibber Personal Token
    - + Tibber Home ID - + - Your local time hour when spot prices are updated + Local hour when spot prices are updated 13
    diff --git a/bundles/org.openhab.binding.tivo/README.md b/bundles/org.openhab.binding.tivo/README.md index edf1fa47ca5a5..53a77e3c725a3 100644 --- a/bundles/org.openhab.binding.tivo/README.md +++ b/bundles/org.openhab.binding.tivo/README.md @@ -44,8 +44,8 @@ The thing has the following configuration parameters: Some notes: -- If openHAB is the only device or application that you have that makes use of the Network Remote Control functions of your TiVo, enable the **Keep Connection Open** option. This will connect and lock the port in-use preventing any other device from connecting it. If you use some other application, disable this option. Performance is improved if the connection is kept open. -- **Poll for Channel Changes** only needs to be enabled if you also plan to use the TiVo remote control or other application to change channel. If openHAB is your only method of control, you can disable this option. Turning polling off, minimizes the periodic polling overhead on your hardware. +- If openHAB is the only device or application that you have that makes use of the Network Remote Control functions of your TiVo, enable the **Keep Connection Open** option.This will connect and lock the port in use, preventing any other device from connecting to it. If you use some other application, disable this option. Performance is improved if the connection is kept open. +- **Poll for Channel Changes** only needs to be enabled if you also plan to use the TiVo remote control or another application to change channel. If openHAB is your only method of control, you can disable this option. Turning polling off minimizes the periodic polling overhead on your hardware. ## Channels @@ -64,7 +64,7 @@ All devices support the following channels: - To change channels simply post/send the number of the channel to channelSet or channelForce. For OTA channels, a decimal for the sub-channel must be specified (ie: 2.1), for all others just send the channel as a whole number (ie: 100). - Keyboard commands must currently be issued one character at a time to the item (this is how the TiVo natively supports this command). - To send multiple copies of the same keyboard command, append an asterisk with the number of repeats required e.g. NUM2*4 would send the number 2 four times. This is useful for performing searches where the number characters can only be accessed by pressing the keys multiple times in rapid succession i.e. each key press cycles through characters A, B, C, 2. -- Special characters must also be changed to the appropriate command e.g. the comma symbol(`,`) must not be sent it should be replaced by 'COMMA'. +- Special characters must also be changed to the appropriate command, e.g., the comma symbol (`,`) must not be sent; it should be replaced with 'COMMA'. ### Available IR Commands to use with `irCommand` channel: diff --git a/bundles/org.openhab.binding.tivo/src/main/resources/OH-INF/i18n/tivo.properties b/bundles/org.openhab.binding.tivo/src/main/resources/OH-INF/i18n/tivo.properties index 77cb4a9c2b5ca..4a63b84468989 100644 --- a/bundles/org.openhab.binding.tivo/src/main/resources/OH-INF/i18n/tivo.properties +++ b/bundles/org.openhab.binding.tivo/src/main/resources/OH-INF/i18n/tivo.properties @@ -32,7 +32,7 @@ channel-type.tivo.channelForce.description = Displays the current channel number channel-type.tivo.channelSet.label = Current Channel - Request channel-type.tivo.channelSet.description = Displays the current channel number. When changed (SETCH), tunes the DVR to the specified channel (unless a recording is in progress on all available tuners). The TiVo must be in Live TV mode for this command to work. Type: Number (1-9999) [Decimals allowed for OTA sub-channels], DisplayFormat: %d channel-type.tivo.dvrStatus.label = TiVo Status -channel-type.tivo.dvrStatus.description = Action return code / channel information returned by the TiVo. Type: String {ReadOnly) +channel-type.tivo.dvrStatus.description = Action return code / channel information returned by the TiVo. Type: String (read-only) channel-type.tivo.irCommand.label = Remote Control Button channel-type.tivo.irCommand.description = Send a simulated button push (IRCODE) from the remote control to the TiVo. See README.md for supported codes. Type: String channel-type.tivo.irCommand.state.option.UP = UP diff --git a/bundles/org.openhab.binding.tivo/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.tivo/src/main/resources/OH-INF/thing/thing-types.xml index 67689f79e1b14..407be9d1d3a52 100644 --- a/bundles/org.openhab.binding.tivo/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.tivo/src/main/resources/OH-INF/thing/thing-types.xml @@ -208,7 +208,7 @@ String - Action return code / channel information returned by the TiVo. Type: String {ReadOnly) + Action return code / channel information returned by the TiVo. Type: String (read-only) diff --git a/bundles/org.openhab.binding.touchwand/README.md b/bundles/org.openhab.binding.touchwand/README.md index f5c7eb45cdff5..bcaa9cad81b2b 100644 --- a/bundles/org.openhab.binding.touchwand/README.md +++ b/bundles/org.openhab.binding.touchwand/README.md @@ -1,6 +1,6 @@ # TouchWand Binding -Touchwand Wanderfull™ Hub basic is a plug & play Z-Wave based controller that uses Wi-Fi and Bluetooth to easily connect all smart home components. +TouchWand Wanderfull™ Hub basic is a plug & play Z-Wave based controller that uses Wi-Fi and Bluetooth to easily connect all smart home components. TouchWand products are compatible with most major Z-Wave products, IP controlled devices and KNX devices, providing the ideal solution for building all-inclusive full-featured smart homes. [TouchWand.com](https://www.touchwand.com) @@ -8,7 +8,7 @@ TouchWand products are compatible with most major Z-Wave products, IP controlled ## Supported Things -This binding supports switches, shutters dimmers alarm sensors and wall controllers configured in Touchwand Wanderfull™ Hub Controller. +This binding supports switches, shutters, dimmers, alarm sensors and wall controllers configured in TouchWand Wanderfull™ Hub Controller. The binding also supports [AcWand™](https://www.touchwand.com/products/touchwand-acwand/) - smart control for your air conditioner controller. ![AcWand](https://www.touchwand.com/wp-content/uploads/2019/04/AcWand-300x350.png) @@ -25,28 +25,28 @@ The binding also supports [AcWand™](https://www.touchwand.com/products/touchwa ## Discovery -After adding TouchWand Hub the auto discovery will add all suppored devuces to inbox. -Auto discovery scans priodically and add to the Inbox new devices added to the Touchwand Wanderfull™ Hub +After adding TouchWand Hub the auto discovery will add all supported devices to inbox. +Auto discovery scans periodically and adds to the Inbox new devices added to the TouchWand Wanderfull™ Hub. ## Bridge Configuration -**Touchwand Wanderfull™** Hub Controller need to be added manually by IP address. The controller requires **username** and **password** +**TouchWand Wanderfull™** Hub Controller needs to be added manually by IP address. The controller requires **username** and **password**. | Parameter | Description | Units | required | |-------------------|-----------------------------------------------------------------------|---------|----------| -| username | Touchwand hub username | string | yes | -| password | Touchwand hub password | string | yes | -| ipAddress | Touchwand hub hostname or IP address | string | yes | +| username | TouchWand hub username | string | yes | +| password | TouchWand hub password | string | yes | +| ipAddress | TouchWand hub hostname or IP address | string | yes | | port | Management port (default 80) | integer | no | | addSecondaryUnits | If the controller is primary, add secondary controllers units as well | bool | no | ## Thing Configuration -No thing configuration is needed +No thing configuration is needed. ## Channels -note **Touchwand Wanderfull™** supports various types of alarm sensors such as water leak, door/window sensor and motion sensor. +Note: **TouchWand Wanderfull™** supports various types of alarm sensors such as water leak, door/window sensor and motion sensor. Alarm Sensor thing represents a generic sensor, relevant sensor channels will be displayed once a sensor is added as a Thing. ## Switch Shutters Channels @@ -54,9 +54,9 @@ Alarm Sensor thing represents a generic sensor, relevant sensor channels will be | Channel Type ID | Item Type | Description | |-------------------|--------------------|-----------------------------------------------------------------------| | switch | Switch | This channel supports switching the device on and off. | -| shutter | Rollershutter | This channel controls the shutter position | +| shutter | Rollershutter | This channel controls the shutter position. | | brightness | Dimmer | This channel supports adjusting the brightness value. | -| wallaction | String | This channel indicate SHORT or LONG wallcontroller button pressed | +| wallaction | String | This channel indicates SHORT or LONG wallcontroller button pressed. | ## Alarm Sensors Channels @@ -64,9 +64,9 @@ Alarm Sensor thing represents a generic sensor, relevant sensor channels will be |-------------------|--------------------|-----------------------------------------------------------------------| | illumination | Number:Illuminance | This channel shows the current illuminance measured by the sensor. | | temperature | Number:Temperature | This channel shows the current temperature measured by the sensor. | -| leak | Switch | This channel alert when water leak is detected by the sensor | -| motion | Switch | This channel alert when motion detected by the sensor. | -| smoke | Switch | This channel alert when smoke detected by the sensor. | +| leak | Switch | This channel alerts when water leak is detected by the sensor. | +| motion | Switch | This channel alerts when motion is detected by the sensor. | +| smoke | Switch | This channel alerts when smoke is detected by the sensor. | | isOpen | Contact | This channel shows the status of Door/Window sensor. | | battery_level | Number | This channel shows the battery level. | | battery_low | Switch | This channel indicates whether the battery is low or not. | @@ -76,27 +76,27 @@ Alarm Sensor thing represents a generic sensor, relevant sensor channels will be | Channel Type ID | Item Type | Description | |-------------------|--------------------|-----------------------------------------------------------------------| | State | Switch | Set and read the device state ON or OFF. | -| targetTemperature | Number:Temperature | Shows the current set point of the thrermostat. | -| roomTemperature | Number:Temperature | Shows the current termprature measured by the thermostat. | -| mode | String | Set/Read Thermostat mode - Cool, Heat, Fan, Dry, Auto | -| fanLevel | String | Set/Read fan leval - Low, Medium, High, Auto | +| targetTemperature | Number:Temperature | Shows the current set point of the thermostat. | +| roomTemperature | Number:Temperature | Shows the current temperature measured by the thermostat. | +| mode | String | Set/Read Thermostat mode - Cool, Heat, Fan, Dry, Auto. | +| fanLevel | String | Set/Read fan level - Low, Medium, High, Auto. | ## Full Example ### touchwand.things -Things can be defined manually -The syntax for touchwand this is +Things can be defined manually. +The syntax for touchwand is: ```java Thing :: "Label" @ "Location" ``` -Where is the unit id in touchwand hub. +Where is the unit id in TouchWand hub. ```java Bridge touchwand:bridge:1921681116 [ipAddress="192.168.1.116", username="username" , password="password"]{ -Thing switch 408 "Strairs light" +Thing switch 408 "Stairs light" Thing switch 411 "South Garden light" Thing dimmer 415 "Living Room Ceiling dimmer" Thing switch 418 "Kitchen light" diff --git a/bundles/org.openhab.binding.touchwand/src/main/resources/OH-INF/thing/bridge.xml b/bundles/org.openhab.binding.touchwand/src/main/resources/OH-INF/thing/bridge.xml index 47f10887b79b5..2bcf482e0e6ac 100644 --- a/bundles/org.openhab.binding.touchwand/src/main/resources/OH-INF/thing/bridge.xml +++ b/bundles/org.openhab.binding.touchwand/src/main/resources/OH-INF/thing/bridge.xml @@ -12,7 +12,7 @@ - + Username for TouchWand Wanderfull Hub diff --git a/bundles/org.openhab.binding.tr064/README.md b/bundles/org.openhab.binding.tr064/README.md index 9b4995cc38ef3..598b435b478e7 100644 --- a/bundles/org.openhab.binding.tr064/README.md +++ b/bundles/org.openhab.binding.tr064/README.md @@ -44,13 +44,11 @@ It only needs to be changed from the default value of `5` seconds when the remot ### `fritzbox` -The `fritzbox` devices can give additional information in dedicated channels, controlled - by additional parameters (visible if Show Advanced is selected), w.r.t. to `generic` devices. +The `fritzbox` devices can give additional information in dedicated channels, controlled by additional parameters (visible if Show Advanced is selected), with respect to `generic` devices. If the parameters are specified, the corresponding channels will be added to the device. One or more TAM (telephone answering machines) are supported by most fritzbox devices. -By setting the `tamIndices` parameter you can instruct the binding to add channels for these - devices to the thing. +By setting the `tamIndices` parameter you can instruct the binding to add channels for these devices to the thing. Values start with `0`. This is an optional parameter and multiple values are allowed: add one value per line in the Main User Interface. @@ -60,9 +58,8 @@ Values start with `0`, including the number of "Call Blocks" (two configured cal This is an optional parameter and multiple values are allowed: add one value per line in the Main User Interface. Most devices support call lists. -The binding can retrieve these call lists and provide channels for the number of missed calls, inbound calls, outbound calls and rejected (blocked) calls, -for a given number of days. A channel is added to the Thing if such a number is set through the corresponding parameter -in the Main User Interface. +The binding can retrieve these call lists and provide channels for the number of missed calls, inbound calls, outbound calls and rejected (blocked) calls, for a given number of days. +A channel is added to the Thing if such a number is set through the corresponding parameter in the Main User Interface. The parameters are: `missedCallDays`, `rejectedCallDays`, `inboundCallDays`, `outboundCallDays` and `callListDays`. Since FritzOS! 7.20 WAN access of local devices can be controlled by their IPs. @@ -91,13 +88,13 @@ If no password is given, the user password (parameter `password`) is used. Additional information (i.e. channels) is available in subdevices of the bridge. Each subdevice is characterized by a unique `uuid` parameter: this is the UUID/UDN of the device. -This is a mandatory parameter to be set in order to add the subdevice. Since the parameter value can only be determined -by examining the SCPD of the root device, the simplest way to obtain it is through auto-discovery. +This is a mandatory parameter to be set in order to add the subdevice. +Since the parameter value can only be determined by examining the SCPD of the root device, the simplest way to obtain it is through auto-discovery. Auto discovery may find several sub-devices, each one holding channels as described in the following. The LAN sub-device, in particular, is also used for presence detection. -It therefore optionally contains a channel for each MAC address (in a format 11:11:11:11:11:11, different than the old v1 version of this binding), defined by the parameter `macOnline`. +It therefore optionally contains a channel for each MAC address (in a format 11:11:11:11:11:11, different from the old v1 version of this binding), defined by the parameter `macOnline`. ## Channels @@ -136,17 +133,17 @@ The call-types are the same as provided by the FritzBox, i.e. `1` (inbound), `2` | `wifiXEnable` | `Switch` | | Enable/Disable the WiFi X. See below for details. | | `macOnline` | `Switch` | x | Online status of the device with the given MAC | | `macOnlineIpAddress` | `String` | x | IP of the MAC (uses same parameter as `macOnline`) | -| `macSignalStrength1` | `Number` | x | Wifi Signal Strength of the device with the given MAC. This is set in case the Device is connected to 2.4Ghz | -| `macSpeed1` | `Number:DataTransferRate` | x | Wifi Speed of the device with the given MAC. This is set in case the Device is connected to 2.4Ghz | -| `macSignalStrength2` | `Number` | x | Wifi Signal Strength of the device with the given MAC. This is set in case the Device is connected to 5Ghz | -| `macSpeed2` | `Number:DataTransferRate` | x | Wifi Speed of the device with the given MAC. This is set in case the Device is connected to 5Ghz | +| `macSignalStrength1` | `Number` | x | WiFi Signal Strength of the device with the given MAC. This is set in case the Device is connected to 2.4GHz | +| `macSpeed1` | `Number:DataTransferRate` | x | WiFi Speed of the device with the given MAC. This is set in case the Device is connected to 2.4GHz | +| `macSignalStrength2` | `Number` | x | WiFi Signal Strength of the device with the given MAC. This is set in case the Device is connected to 5GHz | +| `macSpeed2` | `Number:DataTransferRate` | x | WiFi Speed of the device with the given MAC. This is set in case the Device is connected to 5GHz | -_Note:_ The `wifi24GHzEnable`, `wifi5GHzEnable` and `wifiGuestEnable`channels have been deprecated and will be removed in future versions. +_Note:_ The `wifi24GHzEnable`, `wifi5GHzEnable` and `wifiGuestEnable` channels have been deprecated and will be removed in future versions. They are replaced by `wifiXEnable` (with `X` being a number between `1` and `4`). -- FritzBoxes which do not support 5 GHz use `wifi1Enable` for the standard WiFi and `wifi2Enable`for the guest WiFi. -- FritzBoxes which support 5 GHz use `wifi1Enable` for the 2.5 GHz WiFi, `wifi2Enable` for the 5 GHz WiFi and `wifi3Enable` for the guest WiFi. -- FritzBoxes which support two 5 GHz networks use `wifi1Enable` for the 2.5 GHz WiFi, `wifi2Enable` and `wifi3Enable` for the 5 GHz WiFis and `wifi4Enable` for the guest WiFi. +- FritzBoxes which do not support 5 GHz use `wifi1Enable` for the standard WiFi and `wifi2Enable` for the guest WiFi. +- FritzBoxes which support 5 GHz use `wifi1Enable` for the 2.4 GHz WiFi, `wifi2Enable` for the 5 GHz WiFi and `wifi3Enable` for the guest WiFi. +- FritzBoxes which support two 5 GHz networks use `wifi1Enable` for the 2.4 GHz WiFi, `wifi2Enable` and `wifi3Enable` for the 5 GHz WiFis and `wifi4Enable` for the guest WiFi. ### WANConnection `subdevice` channels @@ -230,12 +227,12 @@ val result = tr064Actions.phonebookLookup("49157712341234", 5) The `fritzbox` things can create configuration backups of the Fritz!Box. The default configuration of the Fritz!Boxes requires 2-factor-authentication for creating backups. -If you see a `Failed to get configuration backup URL: HTTP-Response-Code 500 (Internal Server Error), SOAP-Fault: 866 (second factor authentication required)` warning, you need to disable 2-actor authentication. +If you see a `Failed to get configuration backup URL: HTTP-Response-Code 500 (Internal Server Error), SOAP-Fault: 866 (second factor authentication required)` warning, you need to disable 2-factor authentication. But beware: depending on your configuration this might be a security issue. The setting can be found under "System -> FRITZ!Box Users -> Login to the Home Network -> Confirm". When executed, the action requests a backup file with the given password in the configured path. -The backup file is names as `ThingFriendlyName dd.mm.yyyy HHMM.export` (e.g. `My FritzBox 18.06.2021 1720.export`). +The backup file is named as `ThingFriendlyName dd.mm.yyyy HHMM.export` (e.g. `My FritzBox 18.06.2021 1720.export`). Files with the same name will be overwritten, so make sure that you trigger the rules at different times if your devices have the same friendly name. ```java @@ -245,14 +242,11 @@ tr064Actions.createConfigurationBackup() ## A note on textual configuration -Textual configuration through a `.things` file is possible but, at present, strongly discouraged because it is significantly more error-prone -than the configuration through Main User Interface. +Textual configuration through a `.things` file is possible but, at present, strongly discouraged because it is significantly more error-prone than the configuration through Main User Interface. -If an advanced user is really motivated to define a textual configuration, it is suggested to perform -an automatic scan through the user interface first in order to extract the required parameters (namely the different `uuid` of the -needed subdevices). +If an advanced user is really motivated to define a textual configuration, it is suggested to perform an automatic scan through the user interface first in order to extract the required parameters (namely the different `uuid` of the needed subdevices). -The definition of the bridge and of the subdevices things is the following +The definition of the bridge and of the subdevices things is the following: ```java Bridge tr064:fritzbox:rootuid "Root label" @ "location" [ host="192.168.1.1", user="user", password="passwd", @@ -265,14 +259,14 @@ Bridge tr064:fritzbox:rootuid "Root label" @ "location" [ host="192.168.1.1", us } ``` -The channel are automatically generated and it is simpler to use the Main User Interface to copy the textual definition of the channel +The channels are automatically generated and it is simpler to use the Main User Interface to copy the textual definition of the channel: ```java Switch PresXX "[%s]" {channel="tr064:subdeviceLan:rootuid:LAN:macOnline_XX_3AXX_3AXX_3AXX_3AXX_3AXX"} Switch PresYY "[%s]" {channel="tr064:subdeviceLan:rootuid:LAN:macOnline_YY_3AYY_3AYY_3AYY_3AYY_3AYY"} ``` -Example `*.items` file using the `PHONEBOOK` profile for storing the name of a caller in an item. it matches 8 digits from the right of the "from" number (note the escaping of `:` to `_3A`): +Example `*.items` file using the `PHONEBOOK` profile for storing the name of a caller in an item. It matches 8 digits from the right of the "from" number (note the escaping of `:` to `_3A`): ```java Call IncomingCallResolved "Caller name: [%s]" { channel="avmfritz:fritzbox:fritzbox:incoming_call" [profile="transform:PHONEBOOK", phonebook="tr064_3Afritzbox_3AfritzboxTR064", phoneNumberIndex="1", matchCount="8"] } diff --git a/bundles/org.openhab.binding.tr064/src/main/resources/OH-INF/i18n/tr064.properties b/bundles/org.openhab.binding.tr064/src/main/resources/OH-INF/i18n/tr064.properties index 80141aeb90756..899afdb2d77fe 100644 --- a/bundles/org.openhab.binding.tr064/src/main/resources/OH-INF/i18n/tr064.properties +++ b/bundles/org.openhab.binding.tr064/src/main/resources/OH-INF/i18n/tr064.properties @@ -60,15 +60,16 @@ thing-type.config.tr064.subdeviceLan.refresh.label = Refresh Interval thing-type.config.tr064.subdeviceLan.uuid.label = UUID thing-type.config.tr064.subdeviceLan.uuid.description = UUID of the sub-device +profile.config.transform.PHONEBOOK.matchCount.label = Match Count +profile.config.transform.PHONEBOOK.matchCount.description = The number of digits matching the incoming value, counted from far right (default is 0 = all matching). Negative numbers skip digits from the left. +profile.config.transform.PHONEBOOK.phoneNumberIndex.label = Phone Number Index +profile.config.transform.PHONEBOOK.phoneNumberIndex.description = The index of the phone number to be resolved from a CallItem state (StringListType), 0 or 1 (default is 0). +profile.config.transform.PHONEBOOK.phonebook.label = Phone Book +profile.config.transform.PHONEBOOK.phonebook.description = The name of the the phone book. + # thing types config profile-type.transform.PHONEBOOK.label = Phone Book -profile.config.transform.PHONEBOOK.phonebook.label = Phone Book -profile.config.transform.PHONEBOOK.phonebook.description = The phone book name. -profile.config.transform.PHONEBOOK.matchCount.label = Match Count -profile.config.transform.PHONEBOOK.matchCount.description = The number of matching numbers required for matches. Matching is done from the far end of numbers. The default value is 0, which is considered as "match everything". -profile.config.transform.PHONEBOOK.phoneNumberIndex.label = Phone Number Index -profile.config.transform.PHONEBOOK.phoneNumberIndex.description = The index of the phone number that is resolved from a CallItem-State (StringListType), 0 (default) or 1. # actions diff --git a/bundles/org.openhab.binding.tradfri/README.md b/bundles/org.openhab.binding.tradfri/README.md index bf464c367b0b1..e3a5c9241de08 100644 --- a/bundles/org.openhab.binding.tradfri/README.md +++ b/bundles/org.openhab.binding.tradfri/README.md @@ -5,11 +5,11 @@ This binding only supports IKEA TRÅDFRI gateway v1.x, it is **not** compatible ## Supported Things -Beside the gateway (thing type "gateway"), the binding currently supports colored bulbs, dimmable warm white bulbs as well as white spectrum bulbs, control outlets and blinds. +Besides the gateway (thing type "gateway"), the binding currently supports colored bulbs, dimmable warm white bulbs as well as white spectrum bulbs, control outlets and blinds. The binding also supports read-only data from remote controls and motion sensors (e.g. the battery status). The TRÅDFRI controller and sensor devices currently cannot be observed right away because they are communicating directly with the bulbs or lamps without routing their commands through the gateway. This makes it nearly impossible to trigger events for pressed buttons. -We only can access some static data like the present status or battery level. +We can only access some static data like the present status or battery level. The thing type ids are defined according to the lighting devices defined for Zigbee Light Link ([see page 24, table 2](https://www.nxp.com/docs/en/user-guide/JN-UG-3091.pdf)). These are: @@ -36,7 +36,7 @@ The following matrix lists the capabilities (channels) for each of the supported | 0820 | | | | X | X | | | 0830 | | | | X | X | | -The following things are also supported even thought they are not standardized in Zigbee Light Link: +The following things are also supported even though they are not standardized in Zigbee Light Link: | Device type | Zigbee Device ID | Thing type | |---------------------------------|------------------|------------| @@ -72,21 +72,21 @@ The white spectrum bulbs additionally also support the `color_temperature` chann Full color bulbs support the `color_temperature` and `color` channels. Brightness can be changed with the `color` channel. -The remote control and the motion sensor supports the `battery_level` and `battery_low` channels for reading the battery status. +The remote control and the motion sensor support the `battery_level` and `battery_low` channels for reading the battery status. The control outlet supports the `power` channel. -A blind or curtain supports, beside `battery_level` and `battery_low` channels, a `positon` channel. +A blind or curtain supports, besides the `battery_level` and `battery_low` channels, a `position` 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. +- `disable_led` and `lock_button` channels, to respectively disable the LEDs 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. +Refer to the matrices above. | Channel Type ID | Item Type | Description | |---------------------|----------------------|----------------------------------------------------------------------------------------------| @@ -99,10 +99,10 @@ Refer to the matrixes above. | position | Rollershutter | Position of the blinds from 0% = open to 100% = closed | | fan_mode | Number | Fan mode, target speed of the fan (0 = off, 1 = auto, 10..50 = Level 1 to 5) | | fan_speed | Number | Current Fan Speed between 0 (off) and 50 (maximum speed) | -| disable_led | Switch | Disables the LED's on the device | +| disable_led | Switch | Disables the LEDs on the device | | lock_button | Switch | Disables the physical button on the device (applications can still make changes) | | air_quality_pm25 | Number:Dimensionless | Density of Particulate Matter of 2.5μm, measured in ppm | -| air_quality_rating | Number | Gives a rating about air quality (1 = Good, 2 = OK, 3 = Bad) similar to Tradfri app | +| air_quality_rating | Number | Gives an air quality rating (1 = Good, 2 = OK, 3 = Bad), similar to the TRÅDFRI app | | filter_check_next | Number:Time | Time in minutes before the next filter check if > 0, if < 0 you are late checking the filter | | filter_check_alarm | Switch | When ON, you must perform a filter check (i.e. `filter_check_next` is < 0) | | filter_uptime | Number:Time | Time elapsed since the last filter change, in minutes | diff --git a/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/i18n/tradfri.properties b/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/i18n/tradfri.properties index 69ce097058ddd..d663193cce885 100644 --- a/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/i18n/tradfri.properties +++ b/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/i18n/tradfri.properties @@ -53,7 +53,7 @@ channel-type.tradfri.air-quality-rating.state.option.1 = Good channel-type.tradfri.air-quality-rating.state.option.2 = OK channel-type.tradfri.air-quality-rating.state.option.3 = Bad channel-type.tradfri.disable-led.label = Disable LED -channel-type.tradfri.disable-led.description = Disables the LED's on the Air Purifier. +channel-type.tradfri.disable-led.description = Disables the LEDs on the Air Purifier. channel-type.tradfri.fan-mode.label = Fan Speed Mode channel-type.tradfri.fan-mode.description = Controls the configured fan speed. channel-type.tradfri.fan-mode.state.option.0 = Power Off diff --git a/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml index ebb984a72a955..fafba8c749bea 100644 --- a/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml @@ -253,7 +253,7 @@ Switch - Disables the LED's on the Air Purifier. + Disables the LEDs on the Air Purifier. Switch Mode @@ -304,7 +304,7 @@ - Number:Time + Number:Time The number of minutes before the next filter check (or time since check is required if below 0). @@ -314,7 +314,7 @@ Measurement Duration - + @@ -330,7 +330,7 @@ - Number:Time + Number:Time The duration for which the current filter was used. @@ -340,7 +340,7 @@ Measurement Duration - + diff --git a/bundles/org.openhab.binding.tuya/README.md b/bundles/org.openhab.binding.tuya/README.md index 0d99aed530eae..ff521dd498131 100644 --- a/bundles/org.openhab.binding.tuya/README.md +++ b/bundles/org.openhab.binding.tuya/README.md @@ -1,10 +1,10 @@ # Tuya Binding -This addon connects Tuya WiFi devices with openHAB or compatible systems. +This add-on connects Tuya Wi-Fi devices with openHAB or compatible systems. The control and status reporting is done on the local network. Cloud access is only needed for discovery and initial connection. -Devices need to be connected to a Tuya account (Tuya App or SmartLife App). +Devices need to be connected to a Tuya account (Tuya Smart app or Smart Life app). Each device has a unique "local key" (password/secret) which needs to be added during thing creation. It is highly recommended to use the discovery feature for that, but you can also sniff the local key with a MITM proxy during pairing. @@ -25,13 +25,13 @@ They can be configured manually or by discovery. ## Discovery Discovery is supported for `tuyaDevice` things. -By using discovery all necessary setting of the device are retrieved from your cloud account. +By using discovery all necessary settings of the device are retrieved from your cloud account. ## Thing Configuration ### `project` -First create and link a Tuya Develop Account: +First create and link a Tuya Developer Account: - Go to `iot.tuya.com` (the Tuya developer portal) and create an account. You can choose any credentials (email/password) you like (it is not necessary that they are the same as in the app). @@ -42,21 +42,21 @@ For security reasons, select only the "Data Center" that your app is connected t Select "IoT Core", "Authorization" and "Device Status Notification" as APIs. - You should be redirected to the "Overview" tab of your project. Write down (or copy) "Access ID/Client ID" and "Access Secret/Client Secret" (you can always look it up in your account). -- In the upper menu bar, select the "Devices" tab, then go to "Link Tuya App Account" and link you App account. +- In the upper menu bar, select the "Devices" tab, then go to "Link Tuya App Account" and link your app account. The next steps are performed in openHAB's Main UI: -Add a `project` and enter your credentials (`username`/`password`, from the app - not your cloud account!) and the cloud project credentials (`accessId`/`accessSecret`). +Add a `project` and enter your credentials (`username`/`password`, from the app — not your cloud account!) and the cloud project credentials (`accessId`/`accessSecret`). The `countryCode` is the international dial prefix of the country you registered your app in (e.g. `49` for Germany or `43` for Austria). Depending on the app you use, set `schema` to `tuyaSmart` (for the Tuya Smart app) or `smartLife` (for the Smart Life app). -The `datacenter` needs to be set to the same value as in your IoT project. +The `dataCenter` needs to be set to the same value as in your IoT project. The thing should come online immediately. If the thing does not come online, check - if you really used the app and not the developer portal credentials -- if you entered the correct country code (check in the App if you accidentally choose a wrong country) +- if you entered the correct country code (check in the app if you accidentally chose a wrong country) - check if you selected the correct "Data Center" in your cloud project (you can select more than one for testing). ### `tuyaDevice` @@ -68,13 +68,13 @@ The `deviceId` is used to identify the device, the `productId` identifies the ty These parameters are set during discovery. If you want to manually configure the device, you can also read those values from the cloud project above. -For line powered device on the same subnet `ip` address and `protocol` version are automatically detected. +For line-powered devices on the same subnet, the `ip` address and `protocol` version are automatically detected. Tuya devices announce their presence via UDP broadcast packets, which is usually not available in other subnets. -Battery powered devices do not announce their presence at all. +Battery-powered devices do not announce their presence at all. If automatic protocol version detection does not work there is no clear rule how to determine if a device has protocol 3.3 or 3.1. -In this case it is recommended to start with 3.3 and watch the log file. If 3.3 does not work try use 3.1. +In this case it is recommended to start with 3.3 and watch the log file. If 3.3 does not work, try using 3.1. -Some devices do not automatically refresh channels or only refresh at fairly long intervals even though the data is sampled at a much higher rate. (e.g. some power meters only send updates every 10 minutes but sample continuously.) +Some devices do not automatically refresh channels or only refresh at fairly long intervals even though the data is sampled at a much higher rate (e.g., some power meters only send updates every 10 minutes but sample continuously). The `pollingInterval` can be used to adjust how often channels are updated and can be set to `0` (off) or to any integer value of 10 seconds or higher. The default is 10 seconds. Note that this has no practical effect on battery powered devices. These only wake up when they have something to say and then go straight back to sleep. @@ -93,7 +93,7 @@ The available channel-types are `color`, `dimmer`, `number`, `string` and `swit Depending on the channel one or more parameters are available. If a schema is available (which should be the case in most setups), these parameters are auto-configured. -All channels have at least the `dp` parameter which is used to identify the channel when communication with the device. +All channels have at least the `dp` parameter which is used to identify the channel when communicating with the device. ### Type `color` @@ -122,32 +122,32 @@ It contains a comma-separated list of command options for this channel (e.g. `wh IR code types: -- `Tuya DIY-mode` - use study codes from real remotes. +- `Tuya DIY-mode` - use learned codes from real remotes. Make a virtual remote control in DIY, learn virtual buttons. -- `Tuya Codes Library (check Advanced options)` - use codes from templates library. +- `Tuya Codes Library (check Advanced options)` - use codes from the template library. Make a virtual remote control from pre-defined type of devices. - Select Advanced checkbox to configure other parameters: - - `irCode` - Decoding parameter - - `irSendDelay` - used as `Send delay` parameter - - `irCodeType` - used as `type library` parameter + Select the Advanced checkbox to configure other parameters: + - `irCode` - decoding parameter + - `irSendDelay` - send delay parameter + - `irCodeType` - code library type parameter - `NEC` - IR Code in NEC format - `Samsung` - IR Code in Samsung format. **Additional options:** -- `Active Listening` - Device will be always in learning mode. - After send command with key code device stays in the learning mode -- `DP Study Key` - **Advanced**. DP number for study key. Uses for receive key code in learning mode. Change it own your +- `Active Listening` - Device will always be in learning mode. + After sending a command with a key code, the device stays in learning mode +- `DP Study Key` - **Advanced**. DP number for study key. Used to receive key codes in learning mode. Change at your own risk. -If linked item received a command with `Key Code` (Code Library Parameter) then device sends appropriate key code. +If the linked Item receives a command with a `Key Code` (code library parameter), the device sends the appropriate key code. -#### How to use IR Code in NEC format. +#### How to use an IR code in NEC format Example, from Tasmota you need to use **_Data_** parameter, it can be with or without **_0x_** @@ -155,36 +155,36 @@ Example, from Tasmota you need to use **_Data_** parameter, it can be with or wi {"Time": "2023-07-05T18:17:42", "IrReceived": {"Protocol": "NEC", "Bits": 32, "Data": "0x10EFD02F"}} ``` -Another example, use **_hex_** parameter +Another example: use the **_hex_** parameter ```json { "type": "nec", "uint32": 284151855, "address": 8, "data": 11, "hex": "10EFD02F" } ``` -#### How to get key codes without Tasmota and other +#### How to get key codes without Tasmota or others -Channel can receive learning key (autodetect format and put autodetected code in channel). +The channel can receive a learned key (auto-detects the format and puts the auto-detected code in the channel). -To start learning codes add new channel with Type String and DP = 1 and Range with `send_ir,study,study_exit,study_key`. +To start learning codes, add a new channel with type String, set DP = 1, and set Range to `send_ir,study,study_exit,study_key`. -Link Item to this added channel and send command `study`. +Link an Item to this channel and send the command `study`. -Device will be in learning mode and be able to receive codes from remote control. +The device will enter learning mode and will be able to receive codes from the remote control. -Just press a button on the remote control and see key code in channel `ir-code`. +Press a button on the remote control and you will see the key code in the `ir-code` channel. -If type of channel `ir-code` is **_NEC_** or **_Samsung_** you will see just a hex code. +If the type of the `ir-code` channel is **_NEC_** or **_Samsung_**, you will see just a hex code. -If type of channel `ir-code` is **_Tuya DIY-mode_** you will see a type of code format and a hex code. +If the type of the `ir-code` channel is **_Tuya DIY-mode_**, you will see the code format type and a hex code. -Pressing buttons and copying codes, then assign codes with Item which control device (adjust State Description and Command Options you want). +After pressing buttons and copying codes, assign the codes to the Item which controls the device (adjust State Description and Command Options as desired). -After receiving the key code, the learning mode automatically continues until you send command `study_exit` or send key code by Item with code +After receiving the key code, learning mode automatically continues until you send the `study_exit` command or send a key code via the Item containing a code. ## Troubleshooting -- If the `project` thing is not coming `ONLINE` check if you see your devices in the cloud-account on `iot.tuya.com`. -If the listis empty, most likely you selected a wrong datacenter. +- If the `project` thing is not coming `ONLINE`, check if you see your devices in the cloud account on `iot.tuya.com`. +If the list is empty, most likely you selected the wrong data center. - Check if there are errors in the log and if you see messages like `Configuring IP address '192.168.1.100' for thing 'tuya:tuya:tuyaDevice:bf3122fba012345fc9pqa'`. If this is missing, try configuring the IP manually. The MAC of your device can be found in the auto-discovered thing properties (this helps to identify the device in your router). @@ -194,6 +194,6 @@ Use `log:tail` to display the log. You can revert to normal logging with `log:set DEFAULT org.openhab.binding.tuya` - At least disable/enable the thing when providing logs. For most details better remove the device, use discovery and re-add the device. -Please use PasteBin or a similar service, do not use JPG or other images, they can't be analysed properly. +Please use PasteBin or a similar service, do not use JPG or other images, they can't be analyzed properly. Check that the log doesn't contain any credentials. - Add the thing configuration to your report (in the UI use the "Code" view). diff --git a/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/config/config.xml b/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/config/config.xml index aca597f65ba68..677644301340e 100644 --- a/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/config/config.xml +++ b/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/config/config.xml @@ -27,10 +27,10 @@ Set only on brightness channels. - + - + @@ -45,10 +45,10 @@ - + - + @@ -63,10 +63,10 @@ - + - + diff --git a/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/i18n/tuya.properties b/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/i18n/tuya.properties index 37dd686514f51..eafcb44cddeca 100644 --- a/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/i18n/tuya.properties +++ b/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/i18n/tuya.properties @@ -3,11 +3,6 @@ addon.tuya.name = Tuya Binding addon.tuya.description = This is the binding for Tuya. -# thing status descriptions - -offline.wait-for-ip = Waiting for IP address -online.wait-for-device = Waiting for device wake up - # thing types thing-type.tuya.project.label = Tuya Cloud Project @@ -45,7 +40,6 @@ thing-type.config.tuya.tuyaDevice.ip.label = IP Address thing-type.config.tuya.tuyaDevice.ip.description = Auto-detected if device is on same subnet or broadcast forwarding configured. thing-type.config.tuya.tuyaDevice.localKey.label = Device Local Key thing-type.config.tuya.tuyaDevice.pollingInterval.label = Polling Interval -thing-type.config.tuya.tuyaDevice.pollingInterval.option.0 = disabled thing-type.config.tuya.tuyaDevice.productId.label = Product ID thing-type.config.tuya.tuyaDevice.protocol.label = Protocol Version thing-type.config.tuya.tuyaDevice.protocol.option.3.1 = 3.1 @@ -58,7 +52,7 @@ thing-type.config.tuya.tuyaDevice.protocol.option.3.5 = 3.5 channel-type.tuya.color.label = Color channel-type.tuya.dimmer.label = Dimmer channel-type.tuya.ir-code.label = IR Code -channel-type.tuya.ir-code.description = Supported codes: tuya base64 codes diy mode, nec-format codes, samsung-format codes +channel-type.tuya.ir-code.description = Supported codes: Tuya DIY base64 codes, NEC-format codes, Samsung-format codes. channel-type.tuya.number.label = Number channel-type.tuya.quantity.label = Number channel-type.tuya.string.label = String @@ -76,9 +70,9 @@ channel-type.config.tuya.dimmer.min.label = Minimum channel-type.config.tuya.dimmer.reversed.label = Reversed channel-type.config.tuya.dimmer.reversed.description = Changes the direction of the scale (e.g. 0 becomes 100, 100 becomes 0). channel-type.config.tuya.ir-code.activeListen.label = Active Listening -channel-type.config.tuya.ir-code.activeListen.description = Device will be always in learning mode. After send command with key code device stays in the learning mode +channel-type.config.tuya.ir-code.activeListen.description = Device will always be in learning mode. After sending a command with a key code, the device stays in learning mode. channel-type.config.tuya.ir-code.dp.label = DP Study Key -channel-type.config.tuya.ir-code.dp.description = DP number for study key. Uses for receive key code in learning mode +channel-type.config.tuya.ir-code.dp.description = DP number for the study key. Used to receive key codes in learning mode. channel-type.config.tuya.ir-code.irCode.label = IR Code channel-type.config.tuya.ir-code.irCode.description = Only for Tuya Codes Library: Decoding parameter channel-type.config.tuya.ir-code.irCodeType.label = Type @@ -104,49 +98,22 @@ channel-type.config.tuya.string.dp.label = DP channel-type.config.tuya.string.range.label = Range channel-type.config.tuya.switch.dp.label = DP +# thing status descriptions + +offline.wait-for-ip = Waiting for IP address +online.wait-for-device = Waiting for device wake up + +# thing types config -# When looking up translations for channel-type:tuya:... we start with a translation using -# the lower-cased channelId, override using the channelId as given (which matches the DP -# identifier in the schema) and finally override using the full ${productId}_${channelId}. -# If no translations is found the default is the channelId split and with the first letter -# of each word capitalized. -# -# i.e. the translation for an "bAr" channel of a product "FOO" would be the last of: -# channel-type.tuya.bar.... = ... -# channel-type.tuya.bAr.... = ... -# channel-type.tuya.FOO_bAr.... = ... -# -# Where commands/options are concerned we check for lower-cased options first then as given -# and start with a completely generic channelId. Since Tuya schemas are somewhat vague -# about what are commands and what are options any options are first looked for first using -# ".command." and then using ".option.". -# -# i.e. for a command "WiBBle" for a "bAr" channel of a product "FOO" it would be the last of: -# channel-type.tuya._.command.option.wibble... = ... -# channel-type.tuya.bar.command.option.wibble... = ... -# channel-type.tuya.bAr.command.option.wibble... = ... -# channel-type.tuya.bar.command.option.WiBBle... = ... -# channel-type.tuya.bAr.command.option.WiBBle... = ... -# channel-type.tuya.FOO_bAr.command.option.WiBBle... = ... +thing-type.config.tuya.tuyaDevice.pollingInterval.option.0 = disabled +# descriptions cannot be generated by src/main/tool/mki18n.js. if they're needed, add them. -# Descriptions cannot be generated by src/main/tool/mki18n.js. If they're needed, add them. channel-type.tuya.countdown_1.description = Seconds until the switch reverses state. channel-type.tuya.overcharge_switch.description = Switch off when the power drawn is less than 3 Watts for 40 minutes channel-type.tuya.relay_status.description = Relay state after the socket itself is reset or powered on. -# src/main/tool/mki18n.js only generates command translations. Where devices return state -# options that are not also commands (as expressed in schemas) they should be listed here. -# e.g. -# channel-type.tuya._.state.option.off = Off - - -# ------------------------------------------------------------------------ -# Everything from here onwards is generated by src/main/tool/mki18n.js. -# You should make changes there as any changes here are likely to be lost. - - -# Channel type command options +# channel type command options channel-type.tuya._.command.option.0 = 0 channel-type.tuya._.command.option.00 = 00 @@ -1480,10 +1447,10 @@ channel-type.tuya._.command.option.fullcharge = Fullcharge channel-type.tuya._.command.option.fully = Fully channel-type.tuya._.command.option.fully_close = Fully Close channel-type.tuya._.command.option.fully_open = Fully Open -channel-type.tuya._.command.option.func_back = Back -channel-type.tuya._.command.option.func_home = Home -channel-type.tuya._.command.option.func_ok = OK -channel-type.tuya._.command.option.func_power = Power +channel-type.tuya._.command.option.func_back = Back +channel-type.tuya._.command.option.func_home = Home +channel-type.tuya._.command.option.func_ok = OK +channel-type.tuya._.command.option.func_power = Power channel-type.tuya._.command.option.function1 = Function 1 channel-type.tuya._.command.option.function2 = Function 2 channel-type.tuya._.command.option.function3 = Function 3 @@ -3280,8 +3247,7 @@ channel-type.tuya.route.command.option.ok = Ok channel-type.tuya.sensor_ctrl.command.option.no = NO channel-type.tuya.sync_response.command.option.ok = Ok - -# Channel type labels +# channel type labels channel-type.tuya.a.label = A channel-type.tuya.a_batterycharge.label = Battery Charge (A) @@ -4419,7 +4385,6 @@ channel-type.tuya.cold_settempup.label = Cold Set Temperature Up channel-type.tuya.cold_temp_set.label = Cold Temperature Set channel-type.tuya.collect_dust.label = Collect Dust channel-type.tuya.collect_times.label = Collect Times -channel-type.tuya.color.label = Colour channel-type.tuya.color_brightness.label = Colour Brightness channel-type.tuya.color_controller.label = Colour Controller channel-type.tuya.color_correction.label = Colour Correction @@ -6919,7 +6884,6 @@ channel-type.tuya.nowtemp.label = Now Temperature channel-type.tuya.ntc_select.label = NTC Select channel-type.tuya.ntc_temp.label = NTC Temperature channel-type.tuya.num.label = Number -channel-type.tuya.number.label = Number channel-type.tuya.numberandtype.label = Number And Type channel-type.tuya.o_.label = (O) channel-type.tuya.object_temp.label = Object Temperature @@ -8567,7 +8531,6 @@ channel-type.tuya.swing3d.label = Swing 3D channel-type.tuya.swing_leftright.label = Swing Left/Right channel-type.tuya.swing_updown.label = Swing Up/Down channel-type.tuya.swiprfid.label = Swipe RFID -channel-type.tuya.switch.label = Switch channel-type.tuya.switch03.label = Switch 03 channel-type.tuya.switch1.label = Switch 1 channel-type.tuya.switch10_time.label = Switch 10 Time diff --git a/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/thing/thing-types.xml index 8015f2a8b570b..5ce918b4e98f0 100644 --- a/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/thing/thing-types.xml @@ -171,7 +171,7 @@ String - Supported codes: tuya base64 codes diy mode, nec-format codes, samsung-format codes + Supported codes: Tuya DIY base64 codes, NEC-format codes, Samsung-format codes. @@ -186,8 +186,8 @@ - Device will be always in learning mode. After send command with key code device stays in the learning - mode + Device will always be in learning mode. After sending a command with a key code, the device stays in + learning mode. @@ -208,7 +208,7 @@ - DP number for study key. Uses for receive key code in learning mode + DP number for the study key. Used to receive key codes in learning mode. 2 true From c999d2ef31641bcb6c17c82e98c3c629207ca459 Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sun, 23 Nov 2025 11:17:51 +0100 Subject: [PATCH 2/9] Spotless Signed-off-by: Leo Siepel --- .../src/main/resources/OH-INF/addon/addon.xml | 3 ++- .../src/main/resources/OH-INF/thing/channel-types.xml | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/addon/addon.xml b/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/addon/addon.xml index 8d9e535f5311b..6928bfacdcfa1 100644 --- a/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/addon/addon.xml +++ b/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/addon/addon.xml @@ -5,7 +5,8 @@ binding Tibber Binding - This binding retrieves price and consumption data from the Tibber API using queries and live subscriptions. + This binding retrieves price and consumption data from the Tibber API using queries and live + subscriptions. cloud diff --git a/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/channel-types.xml b/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/channel-types.xml index 34205b58ef25c..ae39917c28ce8 100644 --- a/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/channel-types.xml +++ b/bundles/org.openhab.binding.tibber/src/main/resources/OH-INF/thing/channel-types.xml @@ -43,7 +43,8 @@ Number:Energy - Consumption at a given time interval (e.g., hourly, daily, last meter reading, accumulated since midnight) + Consumption at a given time interval (e.g., hourly, daily, last meter reading, accumulated since + midnight) Measurement Energy @@ -53,7 +54,8 @@ Number:Energy - Consumption at a given time interval (e.g., hourly, daily, last meter reading, accumulated since midnight) + Consumption at a given time interval (e.g., hourly, daily, last meter reading, accumulated since + midnight) Measurement Energy From f74fbb5d1250357a2744451e96b46cf775f26f15 Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sun, 7 Dec 2025 09:38:38 +0100 Subject: [PATCH 3/9] Fix thing => Thing Signed-off-by: Leo Siepel --- bundles/org.openhab.binding.tacmi/README.md | 22 +++++++++---------- bundles/org.openhab.binding.tado/README.md | 8 +++---- .../org.openhab.binding.tapocontrol/README.md | 6 ++--- .../org.openhab.binding.tasmotaplug/README.md | 2 +- .../org.openhab.binding.telegram/README.md | 2 +- .../org.openhab.binding.tellstick/README.md | 2 +- .../org.openhab.binding.teslascope/README.md | 2 +- bundles/org.openhab.binding.tivo/README.md | 4 ++-- .../org.openhab.binding.touchwand/README.md | 4 ++-- .../README.md | 8 +++---- bundles/org.openhab.binding.tr064/README.md | 16 +++++++------- bundles/org.openhab.binding.tradfri/README.md | 4 ++-- bundles/org.openhab.binding.tuya/README.md | 18 +++++++-------- 13 files changed, 49 insertions(+), 49 deletions(-) diff --git a/bundles/org.openhab.binding.tacmi/README.md b/bundles/org.openhab.binding.tacmi/README.md index f58a3578f137c..5450299f34a02 100644 --- a/bundles/org.openhab.binding.tacmi/README.md +++ b/bundles/org.openhab.binding.tacmi/README.md @@ -30,18 +30,18 @@ If you plan things mainly for user interaction the "Schema API Page" might be be ## Supported Bridge and Things - TA C.M.I. **Schema API Connection** - Thing \ - This thing reflects one of our 'schema API page' as defined in the prerequisites. - This thing doesn't need the bridge. + This Thing reflects one of our 'schema API page' as defined in the prerequisites. + This Thing doesn't need the bridge. Multiple of these pages on different C.M.I.'s could be defined within an openHAB instance. - TA C.M.I. **CoE Bridge** \ In order to get the CAN over Ethernet (CoE) environment working a `coe-bridge` has to be created. The bridge itself opens the UDP port 5441 for communication with the C.M.I. devices. The bridge could be used for multiple C.M.I. devices. - TA C.M.I. **CoE Connection** - Thing \ - This thing reflects a connection to a node behind a specific C.M.I. + This Thing reflects a connection to a node behind a specific C.M.I. This node could be every CAN-capable device from TA which allows to define a CAN input. - TA C.M.I. **JSON API Connection** - Thing \ - This is a thing connection that regularly polls the C.M.I. using the JSON API. + This is a Thing connection that regularly polls the C.M.I. using the JSON API. ## Discovery @@ -55,7 +55,7 @@ You have to define the things manually. The "Schema API page" is a special schema page created via TA's _TA-Designer_ application available as download on their website. This page just needs to exist and be deployed on the C.M.I. but it doesn't need to be linked by the other schema pages you are using to control your TA installation. -All objects from this special 'API' page are automatically mapped as channels of this thing, so the labels of the objects on this page have to follow a specific schema. +All objects from this special 'API' page are automatically mapped as channels of this Thing, so the labels of the objects on this page have to follow a specific schema. When adding objects to this page, the schema for the Object's _Pre-Text_ field has to follow the schema ` :`. @@ -83,7 +83,7 @@ In this screenshot you also see the schema page id - the parenthesized number on The _TA C.M.I. Schema API Connection_ has to be manually configured. -The thing has the following configuration parameters: +The Thing has the following configuration parameters: | Parameter Label | Parameter ID | Description | Accepted values | |-------------------------|--------------|---------------------------------------------------------------------------------------------------------------|------------------------| @@ -93,11 +93,11 @@ The thing has the following configuration parameters: | API Schema ID | schemaId | ID of the schema API page | 1-256 | | Poll Interval | pollInterval | Poll interval (in seconds) how often to poll the API Page | 1-300; default 10 | -This thing doesn't need a bridge. Multiple of these things for different C.M.I.'s could be defined within an openHAB instance. +This Thing doesn't need a bridge. Multiple of these things for different C.M.I.'s could be defined within an openHAB instance. ### TA C.M.I. schema API Channels -The channels provided by this thing depend on the configuration of the "schema API page". +The channels provided by this Thing depend on the configuration of the "schema API page". All the channels are dynamically created to match it. Also when the API Page is updated, the channels are also updated during the next refresh. @@ -146,14 +146,14 @@ Don't forget to reboot the C.M.I. after you uploaded the coe.csv file. The _TA C.M.I. CoE Connection_ has to be manually configured. -This thing reflects a connection to a node behind a specific C.M.I. This node could be every CAN-capable device from TA which allows to define a CAN input. +This Thing reflects a connection to a node behind a specific C.M.I. This node could be every CAN-capable device from TA which allows to define a CAN input. | Parameter Label | Parameter ID | Description | Accepted values | |-------------------------|-----------------|---------------------------------------------------------------------------------------------------------------|------------------------| | C.M.I. IP Address | host | Host name or IP address of the C.M.I | host name or ip | | Node | node | The CoE / CAN Node number openHAB should represent | 1-64 | -The thing has no channels by default - they have to be added manually matching the configured inputs / outputs for the related CAN Node. Digital and Analog channels are supported. Please read TA's documentation related to the CAN-protocol - multiple analog (4) and digital (16) channels are combined so please be aware of this design limitation. +The Thing has no channels by default - they have to be added manually matching the configured inputs / outputs for the related CAN Node. Digital and Analog channels are supported. Please read TA's documentation related to the CAN-protocol - multiple analog (4) and digital (16) channels are combined so please be aware of this design limitation. ### CoE Connection Channels @@ -162,7 +162,7 @@ As you might already have taken notice when studying the TA's manual, there are This is a design decision made by TA. But this also means for CoE messages from openHAB to TA C.M.I. we have to send multiple values at once. But due to openHAB's design there is no default restore of previous values out of the box. -So after openHAB startup the _output thing channels_ are either initialized with its configured default value or flagged as 'unknown' until the first update on the channel happens. +So after openHAB startup the _output Thing channels_ are either initialized with its configured default value or flagged as 'unknown' until the first update on the channel happens. You could either use some 'illegal' value as initial value and use _CoE Value Validation_ on the TA side to detect invalid values. Another option would be to use only every 4th analog and 16th digital channel if you only need a few channels. Additionally you could use [openHAB's persistence service](https://www.openhab.org/docs/configuration/persistence.html#restoring-item-states-on-restart) and its option to [restore the item states](https://www.openhab.org/docs/configuration/persistence.html#restoring-item-states-on-restart) during openHAB startup. diff --git a/bundles/org.openhab.binding.tado/README.md b/bundles/org.openhab.binding.tado/README.md index ae75b13c179fb..5e74f1a552105 100644 --- a/bundles/org.openhab.binding.tado/README.md +++ b/bundles/org.openhab.binding.tado/README.md @@ -9,8 +9,8 @@ You can then monitor and control all zone types (Heating, AC, Hot Water) as well ## `home` Thing (the Bridge) -The `home` thing serves as bridge to the tado° cloud services. -The binding will automatically discover this thing and place it in the Inbox. +The `home` Thing serves as bridge to the tado° cloud services. +The binding will automatically discover this Thing and place it in the Inbox. It must be authenticated before it will actually go online. Authenticatation is done online via the OAuth Device Code Grant Flow (RFC-8628) authentication process via the link provided at `http://[openhab-ip-address]:8080/tado`. @@ -38,7 +38,7 @@ Bridge tado:home:demo Bridge tado:home:demo [ rfcWithUser=true, username="mail@example.com", homeId=1234 ] ``` -Once the `home` thing is online, the binding will discover all its respective zones and mobile devices, and place them in the Inbox. +Once the `home` Thing is online, the binding will discover all its respective zones and mobile devices, and place them in the Inbox. ### Channels @@ -148,7 +148,7 @@ In case the zone is currently in smart-schedule mode and thus doesn't have a ter ## `mobiledevice` Thing -The `mobiledevice` thing represents a smart phone that is configured for tado°. It provides access to the geotracking functionality. +The `mobiledevice` Thing represents a smart phone that is configured for tado°. It provides access to the geotracking functionality. | Parameter | Required | Description | Default | | ----------------- | -------- | -------------------------------------------- | ------- | diff --git a/bundles/org.openhab.binding.tapocontrol/README.md b/bundles/org.openhab.binding.tapocontrol/README.md index 6817b95797577..5aa218ecb1e0b 100644 --- a/bundles/org.openhab.binding.tapocontrol/README.md +++ b/bundles/org.openhab.binding.tapocontrol/README.md @@ -42,7 +42,7 @@ To satisfy this requirement while keeping the device isolated, your router shoul For Wi-Fi devices, discovery is done by connecting to the Tapo Cloud Service or use local UDP discovery. If enabled, all devices stored in your cloud account will be detected even if they are not in your local network. From cloud you can get more information such as "Device-Alias" than from UDP discovery. -But you need to know the IP address of your device. This must be set manually in the thing configuration. +But you need to know the IP address of your device. This must be set manually in the Thing configuration. UDP discovery can find only devices which are online in your local network and get less information than from the cloud. But therefore it sets device IP and protocol automatically. @@ -59,7 +59,7 @@ You can discover them manually or use `backgroundDiscovery` The bridge needs to be configured with by `username` and `password` (Tapo-Cloud login) . This is used for device discovery and to create a handshake (cookie) to act with your devices over the local network. -The thing has the following configuration parameters: +The Thing has the following configuration parameters: | Parameter | Description | |------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------| @@ -116,7 +116,7 @@ All devices support some of the following channels: ## Channel Refresh -When the thing receives a `RefreshType` command the thing will send a new refresh request over HTTP. +When the Thing receives a `RefreshType` command the Thing will send a new refresh request over HTTP. To minimize network traffic the default refresh rate is set to 30 seconds. This can be reduced down to 10 seconds in advanced settings of the device. If any command was sent to a channel, it will do an immediate refresh of the whole device. diff --git a/bundles/org.openhab.binding.tasmotaplug/README.md b/bundles/org.openhab.binding.tasmotaplug/README.md index dbad3b468b52d..05042caf2f406 100644 --- a/bundles/org.openhab.binding.tasmotaplug/README.md +++ b/bundles/org.openhab.binding.tasmotaplug/README.md @@ -7,7 +7,7 @@ See the [Tasmota Supported Devices Repository](https://templates.blakadder.com/p ## Supported Things -There is exactly one supported thing type, which represents any supported Tasmota smart plug. +There is exactly one supported Thing type, which represents any supported Tasmota smart plug. It has the `plug` id. Multiple Things can be added if more than one plug is to be controlled. diff --git a/bundles/org.openhab.binding.telegram/README.md b/bundles/org.openhab.binding.telegram/README.md index 3787c033fa37e..7db86338005b9 100644 --- a/bundles/org.openhab.binding.telegram/README.md +++ b/bundles/org.openhab.binding.telegram/README.md @@ -178,7 +178,7 @@ This binding includes a number of rule actions, which allow the sending of Teleg val telegramAction = getActions("telegram","telegram:telegramBot:") ``` -where uid is the Thing UID of the Telegram thing (not the chat id!). +where uid is the Thing UID of the Telegram Thing (not the chat id!). Once this action instance is retrieved, you can invoke the `sendTelegram' method on it: diff --git a/bundles/org.openhab.binding.tellstick/README.md b/bundles/org.openhab.binding.tellstick/README.md index 1d17fd5e1d561..b1916f6f0a84c 100644 --- a/bundles/org.openhab.binding.tellstick/README.md +++ b/bundles/org.openhab.binding.tellstick/README.md @@ -14,7 +14,7 @@ The latest versions have also implemented Z-Wave as a transmission protocol whic ## Supported Things -This binding supports the following thing types: +This binding supports the following Thing types: - _Dimmable Device_ - Usually for controlling lamps. `dimmer` - _Switchable Device_ - On/Off only could be lamps or other electronic equipment. `switch` diff --git a/bundles/org.openhab.binding.teslascope/README.md b/bundles/org.openhab.binding.teslascope/README.md index 0f72f54756e39..ba1040550d467 100644 --- a/bundles/org.openhab.binding.teslascope/README.md +++ b/bundles/org.openhab.binding.teslascope/README.md @@ -16,7 +16,7 @@ After (manually) adding a Teslascope Account bridge, registered vehicles will be Account configuration is necessary. The easiest way to do this is from the UI. -Just add a new thing, select the Teslascope binding, then Teslascope Account Binding Thing, and enter the apiKey from the Teslascope website. +Just add a new Thing, select the Teslascope binding, then Teslascope Account Binding Thing, and enter the apiKey from the Teslascope website. As a minimum, the apiKey is needed: diff --git a/bundles/org.openhab.binding.tivo/README.md b/bundles/org.openhab.binding.tivo/README.md index 53a77e3c725a3..ec2ab007b3601 100644 --- a/bundles/org.openhab.binding.tivo/README.md +++ b/bundles/org.openhab.binding.tivo/README.md @@ -26,11 +26,11 @@ TiVo devices with the network remote control interface enabled will be displayed ## Binding Configuration There are no overall binding configuration settings that need to be set. -All settings are through thing configuration parameters. +All settings are through Thing configuration parameters. ## Thing Configuration -The thing has the following configuration parameters: +The Thing has the following configuration parameters: | Parameter | Display Name | Description | |-------------------|--------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| diff --git a/bundles/org.openhab.binding.touchwand/README.md b/bundles/org.openhab.binding.touchwand/README.md index bcaa9cad81b2b..d1499f496b64c 100644 --- a/bundles/org.openhab.binding.touchwand/README.md +++ b/bundles/org.openhab.binding.touchwand/README.md @@ -42,12 +42,12 @@ Auto discovery scans periodically and adds to the Inbox new devices added to the ## Thing Configuration -No thing configuration is needed. +No Thing configuration is needed. ## Channels Note: **TouchWand Wanderfull™** supports various types of alarm sensors such as water leak, door/window sensor and motion sensor. -Alarm Sensor thing represents a generic sensor, relevant sensor channels will be displayed once a sensor is added as a Thing. +Alarm Sensor Thing represents a generic sensor, relevant sensor channels will be displayed once a sensor is added as a Thing. ## Switch Shutters Channels diff --git a/bundles/org.openhab.binding.tplinksmarthome/README.md b/bundles/org.openhab.binding.tplinksmarthome/README.md index edd1066d78601..f8acc1171e2f0 100644 --- a/bundles/org.openhab.binding.tplinksmarthome/README.md +++ b/bundles/org.openhab.binding.tplinksmarthome/README.md @@ -361,7 +361,7 @@ It is not possible to connect to devices on a different network using `deviceId` The thingId is the product type in lower case. For example `HS100` has thingId `hs100`. -The thing can be configured by `ipAddress` or by `deviceId`. +The Thing can be configured by `ipAddress` or by `deviceId`. If the one of them is used the other is automatically set by the binding. When manually configured it is preferred to set the `deviceId` because if the ip address of the device would change this will be automatically updated. The `deviceId` is the unique identifier each TP-Link device has. @@ -374,7 +374,7 @@ With background discovery disabled the ip address, which is needed to communicat It will not update the ip address if background discovery is disabled and the ip address of the device changes. Manually starting a discovery can also be used to set the ip address directly instead of waiting for the 1 minute background discovery refresh period. -The thing has the following configuration parameters: +The Thing has the following configuration parameters: | Parameter | Description | |--------------------|----------------------------------------------------------------------------------------------| @@ -414,8 +414,8 @@ The following group ids are available: ### Channel Refresh -When the thing receives a `RefreshType` command the channel state is updated from an internal cache. -This cache is updated per refresh interval as configured in the thing. +When the Thing receives a `RefreshType` command the channel state is updated from an internal cache. +This cache is updated per refresh interval as configured in the Thing. However for some use cases it is preferable to set the refresh interval higher than the default. For example for switches the 1 second refresh interval may cause a burden to the network traffic. Therefore if the refresh interval for switches is set to a value higher than 5 seconds, and for the other devices higher than 1 minute. diff --git a/bundles/org.openhab.binding.tr064/README.md b/bundles/org.openhab.binding.tr064/README.md index 598b435b478e7..ead92487bdc78 100644 --- a/bundles/org.openhab.binding.tr064/README.md +++ b/bundles/org.openhab.binding.tr064/README.md @@ -13,18 +13,18 @@ Two Bridge things are supported: Two kind of Things are supported: -- `subDevice`: a sub-device of the Bridge thing (e.g. a WAN interface) +- `subDevice`: a sub-device of the Bridge Thing (e.g. a WAN interface) - `subDeviceLan`: a special type of sub-device that supports MAC-detection ## Discovery The gateway device needs to be added manually. After that, sub-devices should be detected automatically. -Otherwise go to "Things", click "+" to add a new thing, select the TR-064 binding and click the "Scan" button. +Otherwise go to "Things", click "+" to add a new Thing, select the TR-064 binding and click the "Scan" button. ## Thing Configuration -All thing types have a `refresh` parameter. +All Thing types have a `refresh` parameter. It sets the refresh-interval in seconds for each device channel. The default value is 60. @@ -48,7 +48,7 @@ The `fritzbox` devices can give additional information in dedicated channels, co If the parameters are specified, the corresponding channels will be added to the device. One or more TAM (telephone answering machines) are supported by most fritzbox devices. -By setting the `tamIndices` parameter you can instruct the binding to add channels for these devices to the thing. +By setting the `tamIndices` parameter you can instruct the binding to add channels for these devices to the Thing. Values start with `0`. This is an optional parameter and multiple values are allowed: add one value per line in the Main User Interface. @@ -77,7 +77,7 @@ These parameters that accept list can also contain comments. Comments are separated from the value with a '#' (e.g. `192.168.0.77 # Daughter's iPhone`). The full string is used for the channel label. -Two more advanced parameters are used for the backup thing action. +Two more advanced parameters are used for the backup Thing action. The `backupDirectory` is the directory where the backup files are stored. The default value is the userdata directory. The `backupPassword` is used to encrypt the backup file. @@ -189,9 +189,9 @@ They are replaced by `wifiXEnable` (with `X` being a number between `1` and `4`) The binding provides a profile for using the FritzBox phonebooks for resolving numbers to names. The `PHONEBOOK` profile takes strings containing the number as input and provides strings with the caller's name, if found. -The parameter `thingUid` with the UID of the phonebook providing thing is a mandatory parameter. +The parameter `thingUid` with the UID of the phonebook providing Thing is a mandatory parameter. If only a specific phonebook from the device should be used, this can be specified with the `phonebookName` parameter. -The default is to use all available phonebooks from the specified thing. +The default is to use all available phonebooks from the specified Thing. In case the format of the number in the phonebook and the format of the number from the channel are different (e.g. regarding country prefixes), the `matchCount` parameter can be used. The configured `matchCount` is counted from the right end and denotes the number of matching characters needed to consider this number as matching. Negative `matchCount` values skip digits from the left (e.g. if the input number is `033998005671` a `matchCount` of `-1` would remove the leading `0` ). @@ -203,7 +203,7 @@ There is an optional configuration parameter called `phoneNumberIndex` that shou ### Phonebook lookup -The phonebooks of a `fritzbox` thing can be used to lookup a number from rules via a thing action: +The phonebooks of a `fritzbox` Thing can be used to lookup a number from rules via a Thing action: `String name = phonebookLookup(String number, String phonebook, int matchCount)` diff --git a/bundles/org.openhab.binding.tradfri/README.md b/bundles/org.openhab.binding.tradfri/README.md index e3a5c9241de08..67e68ae3f8ae8 100644 --- a/bundles/org.openhab.binding.tradfri/README.md +++ b/bundles/org.openhab.binding.tradfri/README.md @@ -11,7 +11,7 @@ The TRÅDFRI controller and sensor devices currently cannot be observed right aw This makes it nearly impossible to trigger events for pressed buttons. We can only access some static data like the present status or battery level. -The thing type ids are defined according to the lighting devices defined for Zigbee Light Link ([see page 24, table 2](https://www.nxp.com/docs/en/user-guide/JN-UG-3091.pdf)). +The Thing type ids are defined according to the lighting devices defined for Zigbee Light Link ([see page 24, table 2](https://www.nxp.com/docs/en/user-guide/JN-UG-3091.pdf)). These are: | Device type | Zigbee Device ID | Thing type | @@ -60,7 +60,7 @@ The gateway requires at least firmware version 1.2.42 to connect to this binding The `code` is used during the initialization for retrieving unique identity and pre-shared key from the gateway and then it is discarded from the configuration. The newly created authentication data is stored in advanced parameters `identity` and `preSharedKey`. -On each initialization if the code is present in the thing configuration - the `identity` and `preSharedKey` are recreated and the `code` is again discarded. +On each initialization if the code is present in the Thing configuration - the `identity` and `preSharedKey` are recreated and the `code` is again discarded. The devices require only a single (integer) parameter, which is their instance id. Unfortunately, this is not displayed anywhere in the IKEA app, but it seems that they are sequentially numbered starting with 65537 for the first device. If in doubt, use the auto-discovered things to find out the correct instance ids. diff --git a/bundles/org.openhab.binding.tuya/README.md b/bundles/org.openhab.binding.tuya/README.md index ff521dd498131..56dc9b269c2ef 100644 --- a/bundles/org.openhab.binding.tuya/README.md +++ b/bundles/org.openhab.binding.tuya/README.md @@ -5,7 +5,7 @@ The control and status reporting is done on the local network. Cloud access is only needed for discovery and initial connection. Devices need to be connected to a Tuya account (Tuya Smart app or Smart Life app). -Each device has a unique "local key" (password/secret) which needs to be added during thing creation. +Each device has a unique "local key" (password/secret) which needs to be added during Thing creation. It is highly recommended to use the discovery feature for that, but you can also sniff the local key with a MITM proxy during pairing. Please note that only one local connection is allowed per device. @@ -16,7 +16,7 @@ The other app (and/or tuya-mqtt) must be closed in order for this binding to ope There are two things: `project` and `tuyaDevice`. -The `project` thing represents a Tuya developer portal cloud project (see below). +The `project` Thing represents a Tuya developer portal cloud project (see below). `project` things must be configured manually and are needed for discovery only. `tuyaDevice` things represent a single device. @@ -51,9 +51,9 @@ The `countryCode` is the international dial prefix of the country you registered Depending on the app you use, set `schema` to `tuyaSmart` (for the Tuya Smart app) or `smartLife` (for the Smart Life app). The `dataCenter` needs to be set to the same value as in your IoT project. -The thing should come online immediately. +The Thing should come online immediately. -If the thing does not come online, check +If the Thing does not come online, check - if you really used the app and not the developer portal credentials - if you entered the correct country code (check in the app if you accidentally chose a wrong country) @@ -183,17 +183,17 @@ After receiving the key code, learning mode automatically continues until you se ## Troubleshooting -- If the `project` thing is not coming `ONLINE`, check if you see your devices in the cloud account on `iot.tuya.com`. +- If the `project` Thing is not coming `ONLINE`, check if you see your devices in the cloud account on `iot.tuya.com`. If the list is empty, most likely you selected the wrong data center. -- Check if there are errors in the log and if you see messages like `Configuring IP address '192.168.1.100' for thing 'tuya:tuya:tuyaDevice:bf3122fba012345fc9pqa'`. +- Check if there are errors in the log and if you see messages like `Configuring IP address '192.168.1.100' for Thing 'tuya:tuya:tuyaDevice:bf3122fba012345fc9pqa'`. If this is missing, try configuring the IP manually. -The MAC of your device can be found in the auto-discovered thing properties (this helps to identify the device in your router). +The MAC of your device can be found in the auto-discovered Thing properties (this helps to identify the device in your router). - Provide TRACE level logs. Type `log:set TRACE org.openhab.binding.tuya` on the Karaf console to enable TRACE logging. Use `log:tail` to display the log. You can revert to normal logging with `log:set DEFAULT org.openhab.binding.tuya` -- At least disable/enable the thing when providing logs. +- At least disable/enable the Thing when providing logs. For most details better remove the device, use discovery and re-add the device. Please use PasteBin or a similar service, do not use JPG or other images, they can't be analyzed properly. Check that the log doesn't contain any credentials. -- Add the thing configuration to your report (in the UI use the "Code" view). +- Add the Thing configuration to your report (in the UI use the "Code" view). From 4bc42d36398c0e4b150458cbe419a68686b05c04 Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Sun, 28 Dec 2025 18:18:16 +0100 Subject: [PATCH 4/9] Fix table alignment Signed-off-by: Leo Siepel --- bundles/org.openhab.binding.tacmi/README.md | 22 +- bundles/org.openhab.binding.tado/README.md | 40 ++-- .../org.openhab.binding.tapocontrol/README.md | 44 ++-- .../org.openhab.binding.telegram/README.md | 18 +- .../org.openhab.binding.teleinfo/README.md | 218 ++++++++--------- .../org.openhab.binding.tellstick/README.md | 8 +- bundles/org.openhab.binding.tesla/README.md | 222 +++++++++--------- .../org.openhab.binding.teslascope/README.md | 2 +- bundles/org.openhab.binding.tibber/README.md | 184 +++++++-------- 9 files changed, 379 insertions(+), 379 deletions(-) diff --git a/bundles/org.openhab.binding.tacmi/README.md b/bundles/org.openhab.binding.tacmi/README.md index 5450299f34a02..b5b23733cf6dc 100644 --- a/bundles/org.openhab.binding.tacmi/README.md +++ b/bundles/org.openhab.binding.tacmi/README.md @@ -103,9 +103,9 @@ Also when the API Page is updated, the channels are also updated during the next The channels have a parameter allowing to configure their update behavior: -| Parameter Label | Parameter ID | Description | Accepted values | -|-------------------------|--------------|-----------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------| -| Update Policy | updatePolicy | Update policy for this channel. Default means "On-Fetch" for read-only channels and "On-Change" for channels that can be modified. | 0 (Default), 1 (On-Fetch), 2 (On-Change) | +| Parameter Label | Parameter ID | Description | Accepted values | +|-----------------|--------------|------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------| +| Update Policy | updatePolicy | Update policy for this channel. Default means "On-Fetch" for read-only channels and "On-Change" for channels that can be modified. | 0 (Default), 1 (On-Fetch), 2 (On-Change) | The behavior in detail: @@ -286,11 +286,11 @@ Once configured, the exposed items should show up as channels. The _TA C.M.I. JSON API Connection_ has to be manually configured. -| Parameter Label | Parameter ID | Description | Accepted values | -| ----------------- | ------------ | ------------------------------------------------------------------------------- | ----------------------------- | -| C.M.I. IP Address | host | Host name or IP address of the C.M.I. | Any String | -| User name | username | User name for authentication on the C.M.I. | Any String | -| Password | password | Password for authentication on the C.M.I. | Any String | -| Node Id | nodeId | The node ID of the device you want to monitor (C.M.I. → CAN-Bus) | An Integer that is not 0 | -| API-Parameters | params | The params to query. E.g. I,O,Sg (See the [API documentation](https://wiki.ta.co.at/C.M.I._JSON-API) for details)
    Possible options are: Inputs (I), Outputs (O), General (Sg), Logging Analog (La), Logging Digital (Ld) | Any String | -| Poll Interval | pollInterval | Poll interval in seconds. The documentation suggests 60s, but less is possible. | An integer between 10 and 900 | +| Parameter Label | Parameter ID | Description | Accepted values | +|-------------------|--------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------| +| C.M.I. IP Address | host | Host name or IP address of the C.M.I. | Any String | +| User name | username | User name for authentication on the C.M.I. | Any String | +| Password | password | Password for authentication on the C.M.I. | Any String | +| Node Id | nodeId | The node ID of the device you want to monitor (C.M.I. → CAN-Bus) | An Integer that is not 0 | +| API-Parameters | params | Parameters to query (I, O, Sg, La, Ld). See [API documentation](https://wiki.ta.co.at/C.M.I._JSON-API) for details: Inputs (I), Outputs (O), General (Sg), Logging Analog (La), Logging Digital (Ld) | Any String | +| Poll Interval | pollInterval | Poll interval in seconds. The documentation suggests 60s, but less is possible. | An integer between 10 and 900 | diff --git a/bundles/org.openhab.binding.tado/README.md b/bundles/org.openhab.binding.tado/README.md index 5e74f1a552105..e3e94386a31b3 100644 --- a/bundles/org.openhab.binding.tado/README.md +++ b/bundles/org.openhab.binding.tado/README.md @@ -83,26 +83,26 @@ A zone is either of type `HEATING`, `AC` or `DHW` (domestic hot water). The availability of items as well as their allowed values depend on type and capabilities of the HVAC setup. If you are unsure, have a look at the tado° app and see if the functionality is available and what values are supported. -| Name | Type | Description | Read/Write | Zone type | -| ------------------------------ | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- | ------------------------------------------------------------------- | -| `currentTemperature` | Number:Temperature | Current inside temperature | R | `HEATING`, `AC` | -| `humidity` | Number:Dimensionless | Current relative inside humidity in percent | R | `HEATING`, `AC` | -| `hvacMode` | String | Active mode, one of `OFF`, `HEAT`, `COOL`, `DRY`, `FAN`, `AUTO` | RW | `HEATING` and `DHW` support `OFF` and `HEAT`, `AC` can support more | -| `targetTemperature` | Number:Temperature | Set point | RW | `HEATING`, `AC`, `DHW` | -| `operationMode` | String | Operation mode the zone is currently in. One of `SCHEDULE` (follow smart schedule), `MANUAL` (override until ended manually), `TIMER` (override for a given time), `UNTIL_CHANGE` (active until next smart schedule block or until AWAY mode becomes active) | RW | `HEATING`, `AC`, `DHW` | -| `overlayExpiry` | DateTime | End date and time of a timer | R | `HEATING`, `AC`, `DHW` | -| `timerDuration` | Number | Timer duration in minutes | RW | `HEATING`, `AC`, `DHW` | -| `heatingPower` | Number:Dimensionless | Amount of heating power currently present | R | `HEATING` | -| `acPower` | Switch | Indicates if the Air-Conditioning is Off or On | R | `AC` | -| `fanspeed`1) | String | Fan speed, one of `AUTO`, `LOW`, `MIDDLE`, `HIGH` | RW | `AC` | -| `fanLevel`1) | String | Fan speed, one of 3) `AUTO`, `SILENT`, `LEVEL1`, `LEVEL2`, `LEVEL3`, `LEVEL4`, `LEVEL5` | RW | `AC` | -| `swing`2) | Switch | Swing on/off | RW | `AC` | -| `verticalSwing`2) | String | Vertical swing state, one of 3) `OFF`, `ON`, `UP`, `MID_UP`, `MID`, `MID_DOWN`, `DOWN`, `AUTO` | RW | `AC` | -| `horizontalSwing`2) | String | Horizontal swing state, one of 3) `OFF`, `ON`, `LEFT`, `MID_LEFT`, `MID`, `MID_RIGHT`, `RIGHT`, `AUTO` | RW | `AC` | -| `batteryLowAlarm` | Switch | A control device in the Zone has a low battery | R | Any Zone | -| `openWindowDetected` | Switch | An open window has been detected in the Zone | R | `HEATING`, `AC` | -| `openWindowRemainingTime` | Number:Time | The remaining Open Window heating/cooling Override time in the Zone | R | `HEATING`, `AC` | -| `light` | Switch | State (`ON`, `OFF`) of the control panel light | RW | `AC` | +| Name | Type | Description | Read/Write | Zone type | +|--------------------------------|----------------------|-------------------------------------------------------------------------------------------------------------------|------------|---------------------------------------------------------------------| +| `currentTemperature` | Number:Temperature | Current inside temperature | R | `HEATING`, `AC` | +| `humidity` | Number:Dimensionless | Current relative inside humidity in percent | R | `HEATING`, `AC` | +| `hvacMode` | String | Active mode, one of `OFF`, `HEAT`, `COOL`, `DRY`, `FAN`, `AUTO` | RW | `HEATING` and `DHW` support `OFF` and `HEAT`, `AC` can support more | +| `targetTemperature` | Number:Temperature | Set point | RW | `HEATING`, `AC`, `DHW` | +| `operationMode` | String | Operation mode: `SCHEDULE`, `MANUAL`, `TIMER`, `UNTIL_CHANGE` | RW | `HEATING`, `AC`, `DHW` | +| `overlayExpiry` | DateTime | End date and time of a timer | R | `HEATING`, `AC`, `DHW` | +| `timerDuration` | Number | Timer duration in minutes | RW | `HEATING`, `AC`, `DHW` | +| `heatingPower` | Number:Dimensionless | Amount of heating power currently present | R | `HEATING` | +| `acPower` | Switch | Air-Conditioning on/off state | R | `AC` | +| `fanspeed`1) | String | Fan speed, one of `AUTO`, `LOW`, `MIDDLE`, `HIGH` | RW | `AC` | +| `fanLevel`1) | String | Fan speed, one of 3) `AUTO`, `SILENT`, `LEVEL1`, `LEVEL2`, `LEVEL3`, `LEVEL4`, `LEVEL5` | RW | `AC` | +| `swing`2) | Switch | Swing on/off | RW | `AC` | +| `verticalSwing`2) | String | Vertical swing state, one of 3) `OFF`, `ON`, `UP`, `MID_UP`, `MID`, `MID_DOWN`, `DOWN`, `AUTO` | RW | `AC` | +| `horizontalSwing`2) | String | Horizontal swing state, one of 3) `OFF`, `ON`, `LEFT`, `MID_LEFT`, `MID`, `MID_RIGHT`, `RIGHT`, `AUTO` | RW | `AC` | +| `batteryLowAlarm` | Switch | A control device in the Zone has a low battery | R | Any Zone | +| `openWindowDetected` | Switch | An open window has been detected in the Zone | R | `HEATING`, `AC` | +| `openWindowRemainingTime` | Number:Time | The remaining Open Window heating/cooling Override time in the Zone | R | `HEATING`, `AC` | +| `light` | Switch | State (`ON`, `OFF`) of the control panel light | RW | `AC` | You will see some of the above mentioned Channels only if your tado° device supports the respective function. diff --git a/bundles/org.openhab.binding.tapocontrol/README.md b/bundles/org.openhab.binding.tapocontrol/README.md index 5aa218ecb1e0b..8d73a86291029 100644 --- a/bundles/org.openhab.binding.tapocontrol/README.md +++ b/bundles/org.openhab.binding.tapocontrol/README.md @@ -6,27 +6,27 @@ This binding adds support to control Tapo (Copyright © TP-Link Corporation Limi The following Tapo-Devices are supported. For precise channel-description look at `channels-table` below -| DeviceType | ThingType | Description | -|------------------------------------|-------------|----------------------------------------------| -| SmartPlug (Wi-Fi) | P100 | Smart Socket | -| | P105 | Smart Mini Socket | -| EnergyMonitoring SmartPlug (Wi-Fi) | P110 | Energy Monitoring Smart Socket | -| | P115 | Energy Monitoring Mini Smart Socket | -| Power Strip (Wi-Fi) | P300 | Smart Wi-Fi Power Strip - 3 sockets | -| Dimmable SmartBulb (Wi-Fi) | L510 | Dimmable White-Light Smart-Bulb (E27) | -| | L610 | Dimmable White-Light Smart-Spot (GU10) | -| MultiColor SmartBulb (Wi-Fi) | L530 | Multicolor Smart-Bulb (E27) | -| | L630 | Multicolor Smart-Spot (GU10) | -| MultiColor LightStrip (Wi-Fi) | L900 | Multicolor RGB Dimmable LightStrip (5m) | -| | L920 | Multicolor RGB-IC ColorZone LightStrip (5m) | -| | L930 | Multicolor RGBW-IC 50-Zone LightStrip (5m) | -| Smart Hub (Wi-Fi / RF) | H100 | Smart Hub with Chime to control Child Devices| -| Smart Contact Sensor (RF) | T110 | Window/Door Smart Contact Sensor | -| Smart Temperature Sensor (RF) | T310 | Temperature and Humidity Sensor | -| | T315 | Temperature and Humidity Sensor with Display | -| Smart Switch (RF) | S210 | Wall switch with 1 contact | -| Smart Switch (RF) | S220 | Wall switch with 2 contacts | -| Smart Light Switch (Wi-Fi) | HS200 | Wall switch with 1 contact | +| DeviceType | ThingType | Description | +|------------------------------------|-----------|-----------------------------------------------| +| SmartPlug (Wi-Fi) | P100 | Smart Socket | +| | P105 | Smart Mini Socket | +| EnergyMonitoring SmartPlug (Wi-Fi) | P110 | Energy Monitoring Smart Socket | +| | P115 | Energy Monitoring Mini Smart Socket | +| Power Strip (Wi-Fi) | P300 | Smart Wi-Fi Power Strip - 3 sockets | +| Dimmable SmartBulb (Wi-Fi) | L510 | Dimmable White-Light Smart-Bulb (E27) | +| | L610 | Dimmable White-Light Smart-Spot (GU10) | +| MultiColor SmartBulb (Wi-Fi) | L530 | Multicolor Smart-Bulb (E27) | +| | L630 | Multicolor Smart-Spot (GU10) | +| MultiColor LightStrip (Wi-Fi) | L900 | Multicolor RGB Dimmable LightStrip (5m) | +| | L920 | Multicolor RGB-IC ColorZone LightStrip (5m) | +| | L930 | Multicolor RGBW-IC 50-Zone LightStrip (5m) | +| Smart Hub (Wi-Fi / RF) | H100 | Smart Hub with Chime to control Child Devices | +| Smart Contact Sensor (RF) | T110 | Window/Door Smart Contact Sensor | +| Smart Temperature Sensor (RF) | T310 | Temperature and Humidity Sensor | +| | T315 | Temperature and Humidity Sensor with Display | +| Smart Switch (RF) | S210 | Wall switch with 1 contact | +| Smart Switch (RF) | S220 | Wall switch with 2 contacts | +| Smart Light Switch (Wi-Fi) | HS200 | Wall switch with 1 contact | ## Prerequisites @@ -65,7 +65,7 @@ The Thing has the following configuration parameters: |------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------| | username | Username (email) of your Tapo Cloud | | password | Password of your Tapo Cloud | -| cloudDiscovery | Use Cloud Discovery Service to get all in Tapo App registered devices. Includes device name. IP address and encryption have to be set manually | +| cloudDiscovery | Use Cloud Discovery Service to get all in Tapo App registered devices. Includes device name. IP address and encryption have to be set manually | | udpDiscovery | Use UDP Discovery Service to discover online devices in the local network. Includes encryption and IP address. Results will be merged with cloud discovery | | onlyLocalOnlineDevices | [advanced] Uses Cloud and UDP Discovery to get more information but will only discover online devices via UDP | | broadcastAddress | [advanced] Set broadcast address to your local subnet if you have problems with default address | diff --git a/bundles/org.openhab.binding.telegram/README.md b/bundles/org.openhab.binding.telegram/README.md index 7db86338005b9..18af02bc5a62a 100644 --- a/bundles/org.openhab.binding.telegram/README.md +++ b/bundles/org.openhab.binding.telegram/README.md @@ -109,15 +109,15 @@ Thing telegram:telegramBot:Telegram_Bot [ chatIds="ID", botToken="TOKEN", proxyH ## State Channels -| Channel Type ID | Item Type | Description | -|--------------------------------------|-----------|-----------------------------------------------------------------| -| lastMessageText | String | The last received message | -| lastMessageURL | String | The URL of the last received message content | -| lastMessageDate | DateTime | The date of the last received message (UTC) | -| lastMessageName | String | The full name of the sender of the last received message | -| lastMessageUsername | String | The username of the sender of the last received message | -| chatId | String | The id of the chat of the last received message | -| replyId | String | The id of the reply which was passed to sendTelegram() as replyId argument. This id can be used to have an unambiguous assignment of the users reply to the message which was sent by the bot | +| Channel Type ID | Item Type | Description | +|---------------------|-----------|----------------------------------------------------------------------------------| +| lastMessageText | String | The last received message | +| lastMessageURL | String | The URL of the last received message content | +| lastMessageDate | DateTime | The date of the last received message (UTC) | +| lastMessageName | String | The full name of the sender of the last received message | +| lastMessageUsername | String | The username of the sender of the last received message | +| chatId | String | The chat ID of the last received message | +| replyId | String | The reply ID passed to sendTelegram() for unambiguous assignment of user replies | All channels are read-only. Either `lastMessageText` or `lastMessageURL` are populated for a given message. diff --git a/bundles/org.openhab.binding.teleinfo/README.md b/bundles/org.openhab.binding.teleinfo/README.md index d5bc1c073b722..453acdb83493b 100644 --- a/bundles/org.openhab.binding.teleinfo/README.md +++ b/bundles/org.openhab.binding.teleinfo/README.md @@ -44,12 +44,12 @@ Linky telemeters add a new `Standard` mode with more detailed information but st Standard mode doesn't depend on the pricing options, but it adds some useful information for electricity producers. -| Thing type | Connection | Producer mode | -|--------------------------------------------|--------------|--------------| -| lsmm_electricitymeter | single-phase | | -| lsmm_prod_electricitymeter | single-phase | [x] | -| lstm_electricitymeter | three-phase | | -| lstm_prod_electricitymeter | three-phase | [x] | +| Thing type | Connection | Producer mode | +|----------------------------|--------------|---------------| +| lsmm_electricitymeter | single-phase | | +| lsmm_prod_electricitymeter | single-phase | [x] | +| lstm_electricitymeter | three-phase | | +| lstm_prod_electricitymeter | three-phase | [x] | ## Discovery @@ -62,11 +62,11 @@ Once the serial controller added, electricity meters will automatically appear a ## Thing Configuration -| Thing type | Parameter | Meaning | Possible values | -|----------------------|--------------|---------------------------------------|---------------------------------| -| `serialcontroller` | `serialport` | Path to the serial controller | /dev/ttyXXXX, rfc2217://ip:port | -| | `ticMode` | TIC mode | `STANDARD`, `HISTORICAL` (default) | -| `*_electricitymeter` | `adco` | Electricity meter identifier | 12 digits number | +| Thing type | Parameter | Meaning | Possible values | +|----------------------|--------------|-------------------------------|------------------------------------| +| `serialcontroller` | `serialport` | Path to the serial controller | /dev/ttyXXXX, rfc2217://ip:port | +| | `ticMode` | TIC mode | `STANDARD`, `HISTORICAL` (default) | +| `*_electricitymeter` | `adco` | Electricity meter identifier | 12 digits number | ## Channels @@ -74,39 +74,39 @@ Once the serial controller added, electricity meters will automatically appear a Channel availability depends on the electricity connection (single or three-phase) and on the pricing mode (Base, HCHP, EJP or Tempo). -| Channel | Type | Description | Connection | Mode | -|----------|---------------------------|----------------------------------------------------------|--------|-------| -| isousc | `Number:ElectricCurrent` | Subscribed electric current | All | All | -| ptec | `String` | Current pricing period | All | All | -| imax | `Number:ElectricCurrent` | Maximum consumed electric current | Single-phase | All | -| imax1 | `Number:ElectricCurrent` | Maximum consumed electric current on phase 1 | Three-phase | All | -| imax2 | `Number:ElectricCurrent` | Maximum consumed electric current on phase 2 | Three-phase | All | -| imax3 | `Number:ElectricCurrent` | Maximum consumed electric current on phase 3 | Three-phase | All | -| adps | `Number:ElectricCurrent` | Excess electric current warning | Single-phase | All | -| adir1 | `Number:ElectricCurrent` | Excess electric current on phase 1 warning | Three-phase | All | -| adir2 | `Number:ElectricCurrent` | Excess electric current on phase 2 warning | Three-phase | All | -| adir3 | `Number:ElectricCurrent` | Excess electric current on phase 3 warning | Three-phase | All | -| iinst | `Number:ElectricCurrent` | Instantaneous electric current | Single-phase | All | -| iinst1 | `Number:ElectricCurrent` | Instantaneous electric current on phase 1 | Three-phase | All | -| iinst2 | `Number:ElectricCurrent` | Instantaneous electric current on phase 2 | Three-phase | All | -| iinst3 | `Number:ElectricCurrent` | Instantaneous electric current on phase 3 | Three-phase | All | -| ppot | `String` | Electrical potential presence | Three-phase | All | -| pmax | `Number:Energy` | Maximum consumed electric power on all phases | Three-phase | All | -| papp | `Number:Power` | Instantaneous apparent power | Three-phase, single-phase (ICC evolution only) | All | -| hhphc | `String` | Pricing schedule group | All | HCHP | -| hchc | `Number:Energy` | Total consumed energy at low rate pricing | All | HCHP | -| hchp | `Number:Energy` | Total consumed energy at high rate pricing | All | HCHP | -| base | `Number:Energy` | Total consumed energy | All | Base | -| ejphn | `Number:Energy` | Total consumed energy at low rate pricing | All | EJP | -| ejphpm | `Number:Energy` | Total consumed energy at high rate pricing | All | EJP | -| bbrhcjb | `Number:Energy` | Total consumed energy at low rate pricing on blue days | All | Tempo | -| bbrhpjb | `Number:Energy` | Total consumed energy at high rate pricing on blue days | All | Tempo | -| bbrhcjw | `Number:Energy` | Total consumed energy at low rate pricing on white days | All | Tempo | -| bbrhpjw | `Number:Energy` | Total consumed energy at high rate pricing on white days | All | Tempo | -| bbrhcjr | `Number:Energy` | Total consumed energy at low rate pricing on red days | All | Tempo | -| bbrhpjr | `Number:Energy` | Total consumed energy at high rate pricing on red days | All | Tempo | -| pejp | `Number:Time` | Prior notice to EJP start | All | EJP | -| demain | `String` | Following day color | All | Tempo | +| Channel | Type | Description | Connection | Mode | +|---------|--------------------------|----------------------------------------------------------|------------------------------------------------|-------| +| isousc | `Number:ElectricCurrent` | Subscribed electric current | All | All | +| ptec | `String` | Current pricing period | All | All | +| imax | `Number:ElectricCurrent` | Maximum consumed electric current | Single-phase | All | +| imax1 | `Number:ElectricCurrent` | Maximum consumed electric current on phase 1 | Three-phase | All | +| imax2 | `Number:ElectricCurrent` | Maximum consumed electric current on phase 2 | Three-phase | All | +| imax3 | `Number:ElectricCurrent` | Maximum consumed electric current on phase 3 | Three-phase | All | +| adps | `Number:ElectricCurrent` | Excess electric current warning | Single-phase | All | +| adir1 | `Number:ElectricCurrent` | Excess electric current on phase 1 warning | Three-phase | All | +| adir2 | `Number:ElectricCurrent` | Excess electric current on phase 2 warning | Three-phase | All | +| adir3 | `Number:ElectricCurrent` | Excess electric current on phase 3 warning | Three-phase | All | +| iinst | `Number:ElectricCurrent` | Instantaneous electric current | Single-phase | All | +| iinst1 | `Number:ElectricCurrent` | Instantaneous electric current on phase 1 | Three-phase | All | +| iinst2 | `Number:ElectricCurrent` | Instantaneous electric current on phase 2 | Three-phase | All | +| iinst3 | `Number:ElectricCurrent` | Instantaneous electric current on phase 3 | Three-phase | All | +| ppot | `String` | Electrical potential presence | Three-phase | All | +| pmax | `Number:Energy` | Maximum consumed electric power on all phases | Three-phase | All | +| papp | `Number:Power` | Instantaneous apparent power | Three-phase, single-phase (ICC evolution only) | All | +| hhphc | `String` | Pricing schedule group | All | HCHP | +| hchc | `Number:Energy` | Total consumed energy at low rate pricing | All | HCHP | +| hchp | `Number:Energy` | Total consumed energy at high rate pricing | All | HCHP | +| base | `Number:Energy` | Total consumed energy | All | Base | +| ejphn | `Number:Energy` | Total consumed energy at low rate pricing | All | EJP | +| ejphpm | `Number:Energy` | Total consumed energy at high rate pricing | All | EJP | +| bbrhcjb | `Number:Energy` | Total consumed energy at low rate pricing on blue days | All | Tempo | +| bbrhpjb | `Number:Energy` | Total consumed energy at high rate pricing on blue days | All | Tempo | +| bbrhcjw | `Number:Energy` | Total consumed energy at low rate pricing on white days | All | Tempo | +| bbrhpjw | `Number:Energy` | Total consumed energy at high rate pricing on white days | All | Tempo | +| bbrhcjr | `Number:Energy` | Total consumed energy at low rate pricing on red days | All | Tempo | +| bbrhpjr | `Number:Energy` | Total consumed energy at high rate pricing on red days | All | Tempo | +| pejp | `Number:Time` | Prior notice to EJP start | All | EJP | +| demain | `String` | Following day color | All | Tempo | ### Standard TIC mode @@ -114,41 +114,41 @@ Channel availability depends on the electricity connection (single or three-phas The following channels are available on all Linky telemeters in standard TIC mode. -| Channel | Type | Description | -|---------------------------------|---------------------------|-----------------------------------------------------------------------------| -| commonLSMGroup#ngtf | `String` | Provider schedule name | -| commonLSMGroup#ltarf | `String` | Current pricing label | -| commonLSMGroup#east | `Number:Energy` | Total active energy withdrawn | -| commonLSMGroup#easf_XX_ | `Number:Energy` | Active energy withdrawn from provider on index _XX, XX_ in {01,...,10} | -| commonLSMGroup#easd_XX_ | `Number:Energy` | Active energy withdrawn from distributor on index _XX, XX_ in {01,...,04} | -| commonLSMGroup#irms1 | `Number:ElectricCurrent` | RMS Current on phase 1 | -| commonLSMGroup#urms1 | `Number:Potential` | RMS Voltage on phase 1 | -| commonLSMGroup#pref | `Number:Power` | Reference apparent power | -| commonLSMGroup#pcoup | `Number:Power` | Apparent power rupture capacity | -| commonLSMGroup#sinsts | `Number:Power` | Instantaneous withdrawn apparent power | -| commonLSMGroup#smaxsn | `Number:Power` | Maximum withdrawn apparent power of the day | -| commonLSMGroup#smaxsnMinus1 | `Number:Power` | Maximum withdrawn apparent power of the previous day | -| commonLSMGroup#ccasn | `Number:Power` | Active charge point N | -| commonLSMGroup#ccasnMinus1 | `Number:Power` | Active charge point N-1 | -| commonLSMGroup#umoy1 | `Number:Potential` | Mean Voltage on phase 1 | -| commonLSMGroup#dpm_X_ | `String` | Start of mobile peak period _X, X_ in {1,2,3} | -| commonLSMGroup#fpm_X_ | `String` | End of mobile peak period _X, X_ in {1,2,3} | -| commonLSMGroup#msg1 | `String` | Short message | -| commonLSMGroup#msg2 | `String` | Very short message | -| commonLSMGroup#ntarf | `String` | Index of current pricing | -| commonLSMGroup#njourf | `String` | Number of current provider schedule | -| commonLSMGroup#njourfPlus1 | `String` | Number of next day provider schedule | -| commonLSMGroup#pjourfPlus1 | `String` | Profile of next day provider schedule | -| commonLSMGroup#ppointe | `String` | Profile of next rush day | -| commonLSMGroup#date | `DateTime` | Date and Time | -| commonLSMGroup#smaxsnDate | `DateTime` | Timestamp of SMAXSN value | -| commonLSMGroup#smaxsnMinus1Date | `DateTime` | Timestamp of SMAXSN-1 value | -| commonLSMGroup#ccasnDate | `DateTime` | Timestamp of CCASN value | -| commonLSMGroup#ccasnMinus1Date | `DateTime` | Timestamp of CCASN-1 value | -| commonLSMGroup#umoy1Date | `DateTime` | Timestamp of UMOY1 value | -| commonLSMGroup#dpm_X_Date | `DateTime` | Date of DPM_X_, _X_ in {1,2,3} | -| commonLSMGroup#fpm_X_Date | `DateTime` | Date of FPM_X_, _X_ in {1,2,3} | -| commonLSMGroup#relais_X_ | `Switch` | state of relais _X, X_ in {1,...,8} | +| Channel | Type | Description | +|---------------------------------|--------------------------|---------------------------------------------------------------------------| +| commonLSMGroup#ngtf | `String` | Provider schedule name | +| commonLSMGroup#ltarf | `String` | Current pricing label | +| commonLSMGroup#east | `Number:Energy` | Total active energy withdrawn | +| commonLSMGroup#easf_XX_ | `Number:Energy` | Active energy withdrawn from provider on index _XX, XX_ in {01,...,10} | +| commonLSMGroup#easd_XX_ | `Number:Energy` | Active energy withdrawn from distributor on index _XX, XX_ in {01,...,04} | +| commonLSMGroup#irms1 | `Number:ElectricCurrent` | RMS Current on phase 1 | +| commonLSMGroup#urms1 | `Number:Potential` | RMS Voltage on phase 1 | +| commonLSMGroup#pref | `Number:Power` | Reference apparent power | +| commonLSMGroup#pcoup | `Number:Power` | Apparent power rupture capacity | +| commonLSMGroup#sinsts | `Number:Power` | Instantaneous withdrawn apparent power | +| commonLSMGroup#smaxsn | `Number:Power` | Maximum withdrawn apparent power of the day | +| commonLSMGroup#smaxsnMinus1 | `Number:Power` | Maximum withdrawn apparent power of the previous day | +| commonLSMGroup#ccasn | `Number:Power` | Active charge point N | +| commonLSMGroup#ccasnMinus1 | `Number:Power` | Active charge point N-1 | +| commonLSMGroup#umoy1 | `Number:Potential` | Mean Voltage on phase 1 | +| commonLSMGroup#dpm_X_ | `String` | Start of mobile peak period _X, X_ in {1,2,3} | +| commonLSMGroup#fpm_X_ | `String` | End of mobile peak period _X, X_ in {1,2,3} | +| commonLSMGroup#msg1 | `String` | Short message | +| commonLSMGroup#msg2 | `String` | Very short message | +| commonLSMGroup#ntarf | `String` | Index of current pricing | +| commonLSMGroup#njourf | `String` | Number of current provider schedule | +| commonLSMGroup#njourfPlus1 | `String` | Number of next day provider schedule | +| commonLSMGroup#pjourfPlus1 | `String` | Profile of next day provider schedule | +| commonLSMGroup#ppointe | `String` | Profile of next rush day | +| commonLSMGroup#date | `DateTime` | Date and Time | +| commonLSMGroup#smaxsnDate | `DateTime` | Timestamp of SMAXSN value | +| commonLSMGroup#smaxsnMinus1Date | `DateTime` | Timestamp of SMAXSN-1 value | +| commonLSMGroup#ccasnDate | `DateTime` | Timestamp of CCASN value | +| commonLSMGroup#ccasnMinus1Date | `DateTime` | Timestamp of CCASN-1 value | +| commonLSMGroup#umoy1Date | `DateTime` | Timestamp of UMOY1 value | +| commonLSMGroup#dpm_X_Date | `DateTime` | Date of DPM_X_, _X_ in {1,2,3} | +| commonLSMGroup#fpm_X_Date | `DateTime` | Date of FPM_X_, _X_ in {1,2,3} | +| commonLSMGroup#relais_X_ | `Switch` | state of relais _X, X_ in {1,...,8} | #### Three phase only channels @@ -157,17 +157,17 @@ These channels are available on the following telemeters: - lstm_electricitymeter - lsmt_prod_electricitymeter -| Channel | Type | Description | -|-----------------------------------------|---------------------------|-----------------------------------------------------------------------------------| -| threePhasedLSMGroup#irms_X_ | `Number:ElectricCurrent` | RMS Current on phase _X, X_ in {2,3} | -| threePhasedLSMGroup#urms_X_ | `Number:Potential` | RMS Voltage on phase _X, X_ in {2,3} | -| threePhasedLSMGroup#umoy_X_ | `Number:Potential` | Mean Voltage on phase _X, X_ in {2,3} | -| threePhasedLSMGroup#sinsts_X_ | `Number:Power` | Instantaneous withdrawn apparent power on phase _X, X_ in {1,2,3} | -| threePhasedLSMGroup#smaxsn_X_ | `Number:Power` | Maximum withdrawn apparent power of the day on phase _X, X_ in {1,2,3} | -| commonLSMGroup#umoy_X_Date | `DateTime` | Timestamp of UMOY_X_ value, _X_ in {2,3} | -| threePhasedLSMGroup#smaxsn_X_Minus1 | `Number:Power` | Maximum withdrawn apparent power on the previous day on phase _X, X_ in {1,2,3} | -| threePhasedLSMGroup#smaxs_X_nDate | `DateTime` | Timestamp of SMAXSN_X_ value, _X_ in {1,2,3} | -| threePhasedLSMGroup#smaxsn_X_Minus1Date | `DateTime` | Timestamp of SMAXSN_X_-1 value, _X_ in {1,2,3} | +| Channel | Type | Description | +|-----------------------------------------|--------------------------|---------------------------------------------------------------------------------| +| threePhasedLSMGroup#irms_X_ | `Number:ElectricCurrent` | RMS Current on phase _X, X_ in {2,3} | +| threePhasedLSMGroup#urms_X_ | `Number:Potential` | RMS Voltage on phase _X, X_ in {2,3} | +| threePhasedLSMGroup#umoy_X_ | `Number:Potential` | Mean Voltage on phase _X, X_ in {2,3} | +| threePhasedLSMGroup#sinsts_X_ | `Number:Power` | Instantaneous withdrawn apparent power on phase _X, X_ in {1,2,3} | +| threePhasedLSMGroup#smaxsn_X_ | `Number:Power` | Maximum withdrawn apparent power of the day on phase _X, X_ in {1,2,3} | +| commonLSMGroup#umoy_X_Date | `DateTime` | Timestamp of UMOY_X_ value, _X_ in {2,3} | +| threePhasedLSMGroup#smaxsn_X_Minus1 | `Number:Power` | Maximum withdrawn apparent power on the previous day on phase _X, X_ in {1,2,3} | +| threePhasedLSMGroup#smaxs_X_nDate | `DateTime` | Timestamp of SMAXSN_X_ value, _X_ in {1,2,3} | +| threePhasedLSMGroup#smaxsn_X_Minus1Date | `DateTime` | Timestamp of SMAXSN_X_-1 value, _X_ in {1,2,3} | #### Producer only channels @@ -176,19 +176,19 @@ These channels are available on the following telemeters: - lsmm_prod_electricitymeter - lsmt_prod_electricitymeter -| Channel | Type | Description | -|-----------------------------------|-----------------|----------------------------------------------------------| -| producerLSMGroup#eait | `Number:Energy` | Total active energy injected | -| producerLSMGroup#erq_X_ | `Number:Energy` | Total reactive energy on index _X, X_ in {1,...,4} | -| producerLSMGroup#sinsti | `Number:Energy` | Instantaneous injected apparent power | -| producerLSMGroup#smaxin | `Number:Power` | Maximum injected apparent power of the day | -| producerLSMGroup#smaxinMinus1 | `Number:Power` | Maximum injected apparent power of the previous day | -| producerLSMGroup#ccain | `Number:Power` | Injected active charge point N | -| producerLSMGroup#ccainMinus1 | `Number:Power` | Injected active charge point N-1 | -| producerLSMGroup#smaxinDate | `DateTime` | Timestamp of SMAXIN value | -| producerLSMGroup#smaxinMinus1Date | `DateTime` | Timestamp of SMAXIN-1 value | -| producerLSMGroup#ccainDate | `DateTime` | Timestamp of CCAIN value | -| producerLSMGroup#ccainMinus1Date | `DateTime` | Timestamp of CCAIN-1 value | +| Channel | Type | Description | +|-----------------------------------|-----------------|-----------------------------------------------------| +| producerLSMGroup#eait | `Number:Energy` | Total active energy injected | +| producerLSMGroup#erq_X_ | `Number:Energy` | Total reactive energy on index _X, X_ in {1,...,4} | +| producerLSMGroup#sinsti | `Number:Energy` | Instantaneous injected apparent power | +| producerLSMGroup#smaxin | `Number:Power` | Maximum injected apparent power of the day | +| producerLSMGroup#smaxinMinus1 | `Number:Power` | Maximum injected apparent power of the previous day | +| producerLSMGroup#ccain | `Number:Power` | Injected active charge point N | +| producerLSMGroup#ccainMinus1 | `Number:Power` | Injected active charge point N-1 | +| producerLSMGroup#smaxinDate | `DateTime` | Timestamp of SMAXIN value | +| producerLSMGroup#smaxinMinus1Date | `DateTime` | Timestamp of SMAXIN-1 value | +| producerLSMGroup#ccainDate | `DateTime` | Timestamp of CCAIN value | +| producerLSMGroup#ccainMinus1Date | `DateTime` | Timestamp of CCAIN-1 value | ## Full Example @@ -246,11 +246,11 @@ DateTime TLInfoEDF_SMAXSN_DATE "SMAXSN_DATE" ["Measurement","Energy"] { The Teleinfo binding has been successfully validated with below hardware configuration: -| Serial interface | Power Energy Meter model | Mode(s) | TIC mode | -|------------------|-----------------------------|---------------------------|----------| -| GCE Electronics USB Teleinfo module [(more details)](https://gce-electronics.com/fr/usb/655-module-teleinfo-usb.html) | Actaris A14C5 | Single-phase HCHP & Base | Historical | -| Cartelectronic USB Teleinfo modem [(more details)](https://www.cartelectronic.fr/teleinfo-compteur-enedis/17-teleinfo-1-compteur-usb-rail-din-3760313520028.html) | Sagem S10C4 | Single-phase HCHP | Historical | -| GCE Electronics USB Teleinfo module [(more details)](https://gce-electronics.com/fr/usb/655-module-teleinfo-usb.html) | Linky | Single-phase HCHP | Standard | -| Cartelectronic USB Teleinfo modem [(more details)](https://www.cartelectronic.fr/teleinfo-compteur-enedis/17-teleinfo-1-compteur-usb-rail-din-3760313520028.html) | Linky | Three-phase TEMPO | Standard | +| Serial interface | Power Energy Meter model | Mode(s) | TIC mode | +|-------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------|--------------------------|------------| +| GCE Electronics USB Teleinfo module [(more details)](https://gce-electronics.com/fr/usb/655-module-teleinfo-usb.html) | Actaris A14C5 | Single-phase HCHP & Base | Historical | +| Cartelectronic USB Teleinfo modem [(more details)](https://www.cartelectronic.fr/teleinfo-compteur-enedis/17-teleinfo-1-compteur-usb-rail-din-3760313520028.html) | Sagem S10C4 | Single-phase HCHP | Historical | +| GCE Electronics USB Teleinfo module [(more details)](https://gce-electronics.com/fr/usb/655-module-teleinfo-usb.html) | Linky | Single-phase HCHP | Standard | +| Cartelectronic USB Teleinfo modem [(more details)](https://www.cartelectronic.fr/teleinfo-compteur-enedis/17-teleinfo-1-compteur-usb-rail-din-3760313520028.html) | Linky | Three-phase TEMPO | Standard | The method for changing the TIC mode of a Linky telemeter is explained in the [GCE Electronics forum post](https://forum.gce-electronics.com/t/comment-passer-un-cpt-linky-en-mode-standard/8206/7). diff --git a/bundles/org.openhab.binding.tellstick/README.md b/bundles/org.openhab.binding.tellstick/README.md index b1916f6f0a84c..88d5e2825564f 100644 --- a/bundles/org.openhab.binding.tellstick/README.md +++ b/bundles/org.openhab.binding.tellstick/README.md @@ -154,10 +154,10 @@ Actuators (dimmer/switch) support the following channels: Sensors (sensor) support the following channels: | Channel Type ID | Item Type | Description | -|-----------------|---------------------|-------------------------------------------------------------| -| humidity | Number:Dimensionless| This channel reports the current humidity in percentage. | -| temperature | Number:Temperature | This channel reports the current temperature. | -| timestamp | DateTime | This channel reports the last time this sensor was updated. | +|-----------------|----------------------|-------------------------------------------------------------| +| humidity | Number:Dimensionless | This channel reports the current humidity in percentage. | +| temperature | Number:Temperature | This channel reports the current temperature. | +| timestamp | DateTime | This channel reports the last time this sensor was updated. | PowerSensors ([powersensor]) support the following channels: diff --git a/bundles/org.openhab.binding.tesla/README.md b/bundles/org.openhab.binding.tesla/README.md index c649e37000dad..3b6e7cb348b4e 100644 --- a/bundles/org.openhab.binding.tesla/README.md +++ b/bundles/org.openhab.binding.tesla/README.md @@ -88,117 +88,117 @@ All vehicles support a huge number of channels - the following list shows the st Additionally, these advanced channels are available (not all are available on all vehicle types, e.g., the sunroof): -| Channel ID | Item Type | Label | Description | -|---------------------------|--------------------------|-------------------------------|------------------------------------------------------------------------------------------------------------------| -| destinationname | String | Route destination | Name of the destination | -| destinationlocation | Location | Route location | Location of the destination | -| distancetoarrival | Number:Length | Distance to arrival | Distance to drive to the destination (in miles) | -| minutestoarrival | Number:Time | Minutes to arrival | Minutes to drive to the destination | -| trafficminutesdelay | Number:Time | Traffic delay | Minutes of delay due to traffic | -| autoparkstate | String | Autopark State | Undocumented / To be defined | -| autoparkstyle | String | Autopark Style | Undocumented / To be defined | -| batterycurrent | Number:ElectricCurrent | Battery Current | Current (Ampere) floating into (+) or out (-) of the battery | -| batteryheater | Switch | Battery Heater | Indicates if the battery heater is switched on | -| batteryheaternopower | Switch | Battery Heater Power | Indicates if there is enough power to use the battery heater | -| batteryrange | Number:Length | Battery Range | Range of the battery | -| calendarenabled | Switch | Calendar Enabled | Indicates if access to a remote calendar is enabled | -| centerdisplay | Number | Central Display State | Indicates the state of the central display in the vehicle, see the [Unofficial Tesla API Vehicle State documentation](https://tesla-api.timdorr.com/vehicle/state/vehiclestate) for valid values | -| centerrearseatheater | Switch | Center Rear Seat Heater | Indicates if the center rear seat heater is switched on | -| charge | Switch | Charge | Start (ON) or stop (OFF) charging | -| chargecable | String | Charge Cable | Undocumented / To be defined | -| chargecurrent | Number:ElectricCurrent | Charge Current | Current (Ampere) requested from the charger | -| chargeenablerequest | Switch | Charge Enable Request | Undocumented / To be defined | -| chargeenergyadded | Number:Energy | Charge Energy Added | Energy added, in kWh, during the last charging session | -| chargelimit | Dimmer | Charge Limit | Limit charging of the vehicle to the given % | -| chargelimitmaximum | Dimmer | Charge Limit Maximum | Maximum charging limit of the vehicle, as % | -| chargelimitminimum | Dimmer | Charge Limit Minimum | Minimum charging limit of the vehicle, as % | -| chargelimitsocstandard | Dimmer | Charge Limit SOC Standard | Standard charging limit of the vehicle, in % | -| chargeidealdistanceadded | Number:Length | Ideal Charge Distance Added | Ideal range added during the last charging session | -| chargemaxcurrent | Number:ElectricCurrent | Charge Max Current | Maximum current (Ampere) that can be requested from the charger | -| chargerateddistanceadded | Number:Length | Rated Charge Distance Added | Rated range added during the last charging session | -| chargerate | Number:Speed | Charge Rate | Distance per hour charging rate | -| chargestartingrange | String | Charge Starting Range | Undocumented / To be defined | -| chargestartingsoc | String | Charge Starting SOC | Undocumented / To be defined | -| chargetomax | Switch | Charge To Max Range | Indicates if charging to the maximum range is enabled | -| chargercurrent | Number:ElectricCurrent | Charge Current | Current (Ampere) actually being drawn from the charger | -| chargerphases | Number | Charger Phases | Indicates the number of phases (1 to 3) used for charging | -| chargermaxcurrent | Number:ElectricCurrent | Charger Maximum Current | Maximum current (Ampere) that can be delivered by the charger | -| chargerpower | Number | Charger Power | Power actually delivered by the charger | -| chargervoltage | Number:ElectricPotential | Charger Voltage | Voltage (V) actually presented by the charger | -| chargingamps | Number:ElectricCurrent | Set Charging Amps | Current (Ampere) to use for charging | -| driverfrontdoor | Contact | Driver Front Door | Indicates if the front door at the driver's side is open | -| driverreardoor | Contact | Driver Rear Door | Indicates if the rear door at the driver's side is open | -| drivertemp | Number:Temperature | Driver Temperature | Indicates the auto conditioning temperature set at the driver's side | -| eventstamp | DateTime | Event Timestamp | Timestamp of the last event received from the Tesla streaming service | -| estimatedbatteryrange | Number:Length | Estimated Battery Range | Estimated battery range | -| estimatedrange | Number | Estimated Range | Estimated range of the vehicle | -| fan | Number | Fan | Indicates the speed (0-7) of the fan | -| flashlights | Switch | Flash Lights | Flash the lights of the car (when ON is received) | -| frontdefroster | Switch | Front Defroster | Indicates if the front defroster is enabled | -| fronttrunk | Switch | Front Trunk | Indicates if the front trunk is opened, or open the front trunk when ON is received | -| gpstimestamp | DateTime | GPS Time Stamp | Time stamp of the most recent GPS location of the vehicle | -| heading | Number | Heading | Indicates the (compass) heading of the car, in 0-360 degrees | -| headingestimation | Number | Estimated Heading | Estimated (compass) heading of the car, in 0 to 360 degrees | -| honkhorn | Switch | Honk the Horn | Honk the horn of the vehicle, when ON is received | -| homelink | Switch | Homelink Nearby | Indicates if the Home Link is nearby | -| idealbatteryrange | Number:Length | Ideal Battery Range | Indicates the Battery Range | -| lefttempdirection | Number | Left Temperature Direction | Not documented / To be defined | -| lastautoparkerror | String | Last Autopark Error | Not documented / To be defined | -| location | Location | Location | The actual position of the vehicle | -| leftseatheater | Switch | Left Seat Heater | Indicates if the left seat heater is switched on | -| leftrearseatheater | Switch | Left Rear Seat Heater | Indicates if the left rear seat heater is switched on | -| leftrearbackseatheater | Number | Left Rear Backseat Heater | Indicates the level (0, 1, 2, or 3) of the left rear backseat heater | -| managedcharging | Switch | Managed Charging | Indicates if managed charging is active | -| managedchargingcancelled | Switch | Managed Charging Cancelled | Indicates if managed charging is cancelled by the user | -| managedchargingstart | String | Managed Charging Start Time | Not documented / To be defined | -| maxcharges | Number | Max Charges | Indicates the number of consecutive "Max Range Charges" performed by the vehicle | -| minavailabletemp | Number:Temperature | Minimum Temperature | Indicates the minimal inside temperature of the vehicle | -| maxavailabletemp | Number:Temperature | Maximum Temperature | Indicates the maximum inside temperature of the vehicle | -| mobileenabled | Switch | Mobile Enabled | Indicates whether the vehicle can be remotely controlled | -| notenoughpower | Switch | Not Enough Power | Indicates if not enough power (ON) is available to heat the vehicle | -| notificationsenabled | Switch | Notifications Enabled | Not documented / To be defined | -| notificationssupported | Switch | Notifications Supported | Not documented / To be defined | -| outsidetemp | Number:Temperature | Outside Temperature | Indicates the outside temperature of the vehicle | -| parsedcalendar | Switch | Parsed Calendar Supported | Not documented / To be defined | -| passengertemp | Number | Passenger Temperature | Indicates the auto conditioning temperature set at the passenger's side | -| passengerfrontdoor | Contact | Passenger Front Door | Indicates if the front door at the passenger's side is opened | -| passengerreardoor | Contact | Passenger Rear Door | Indicates if the rear door at the passenger's side is opened | -| power | Number | Power | Net kW flowing in (+) or out (-) of the battery | -| preconditioning | Switch | Preconditioning | Indicates if preconditioning is activated | -| range | Number | Range | Vehicle range - Not documented / To be defined | -| reardefroster | Switch | Rear Defroster | Indicates if the rear defroster is enabled | -| remotestartenabled | Switch | Remote Start | Not documented / To be defined | -| reartrunk | Switch | Rear Trunk | Indicates if the rear trunk is opened, or open/close the rear trunk when ON/OFF is received | -| remotestart | Switch | Remote Start | Not documented / To be defined | -| remotestartsupported | Switch | Remote Start Supported | Not documented / To be defined | -| rightseatheater | Switch | Right Seat Heater | Indicates if the right seat heater is switched on | -| rightrearseatheater | Switch | Right Rear Seat Heater | Indicates if the right rear seat heater is switched on | -| rightrearbackseatheater | Number | Right Rear Backseat Heater | Indicates the level (0, 1, 2, or 3) of the right rear backseat heater | -| righttempdirection | Number | Right Temperature Direction | Not documented / To be defined | -| scheduledchargingpending | Switch | Scheduled Charging Pending | Indicates if a scheduled charging session is still pending | -| scheduledchargingstart | DateTime | Scheduled Charging Start | Indicates when the scheduled charging session will start, in yyyy-MM-dd'T'HH:mm:ss format | -| sentrymode | Switch | Sentry Mode | Activates or deactivates sentry mode | -| sentrymodeavailable | Switch | Sentry Mode Available | Indicates whether sentry mode is currently available | -| shiftstate | String | Shift State | Indicates the state of the transmission, “P”, “D”, “R”, or “N” | -| sidemirrorheaters | Switch | Side Mirror Heaters | Indicates if the side mirror heaters are switched on | -| smartpreconditioning | Switch | Smart Preconditioning | Indicates if smart preconditioning is switched on | -| softwareupdateavailable | Switch | Update Available | Car software or map update available, automatically generated on non-empty "update version" | -| softwareupdatestatus | String | Update Status | Car software or map update status, e.g. "downloading_wifi_wait", "installing" | -| softwareupdateversion | String | Update Version | Car software or map version to update to, e.g. "2023.32.9", "EU-2023.32-14783" for map updates, or empty | -| soc | Number | State of Charge | State of Charge, in % | -| state | String | State | “online”, “asleep”, “waking” | -| steeringwheelheater | Switch | Steering Wheel Heater | Turns On/Off the steering wheel heater | -| sunroofstate | String | Sunroof State | Valid states are “unknown”, “open”, “closed”, “vent”, “comfort”. Accepts commands "close" and "vent". | -| sunroof | Dimmer | Sunroof | Indicates the opening state of the sunroof (0% closed, 100% fully open) | -| temperature | Number:Temperature | Temperature | Set the temperature of the autoconditioning system. The temperature for the driver and passenger will be synced. | -| timetofullcharge | Number | Time To Full Charge | Number of hours to fully charge the battery | -| tripcharging | Switch | Trip Charging | Not documented / To be defined | -| usablebatterylevel | Number | Usable Battery Level | Indicates the % of battery that can be used for vehicle functions like driving | -| userchargeenablerequest | String | User Charge Enable Request | Not documented / To be defined | -| valetmode | Switch | Valet Mode | Enable or disable Valet Mode | -| valetpin | Switch | Valet PIN Required | Indicates if a PIN code is required to disable valet mode | -| wakeup | Switch | Wake Up | Wake up the vehicle from a (deep) sleep | -| wiperbladeheater | Switch | Wiperblade Heater | Indicates if the wiperblade heater is switched on | +| Channel ID | Item Type | Label | Description | +|--------------------------|--------------------------|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------| +| destinationname | String | Route destination | Name of the destination | +| destinationlocation | Location | Route location | Location of the destination | +| distancetoarrival | Number:Length | Distance to arrival | Distance to drive to the destination (in miles) | +| minutestoarrival | Number:Time | Minutes to arrival | Minutes to drive to the destination | +| trafficminutesdelay | Number:Time | Traffic delay | Minutes of delay due to traffic | +| autoparkstate | String | Autopark State | Undocumented / To be defined | +| autoparkstyle | String | Autopark Style | Undocumented / To be defined | +| batterycurrent | Number:ElectricCurrent | Battery Current | Current (Ampere) floating into (+) or out (-) of the battery | +| batteryheater | Switch | Battery Heater | Indicates if the battery heater is switched on | +| batteryheaternopower | Switch | Battery Heater Power | Indicates if there is enough power to use the battery heater | +| batteryrange | Number:Length | Battery Range | Range of the battery | +| calendarenabled | Switch | Calendar Enabled | Indicates if access to a remote calendar is enabled | +| centerdisplay | Number | Central Display State | Indicates the state of the central display, see the [Unofficial Tesla API documentation](https://tesla-api.timdorr.com/vehicle/state/vehiclestate) | +| centerrearseatheater | Switch | Center Rear Seat Heater | Indicates if the center rear seat heater is switched on | +| charge | Switch | Charge | Start (ON) or stop (OFF) charging | +| chargecable | String | Charge Cable | Undocumented / To be defined | +| chargecurrent | Number:ElectricCurrent | Charge Current | Current (Ampere) requested from the charger | +| chargeenablerequest | Switch | Charge Enable Request | Undocumented / To be defined | +| chargeenergyadded | Number:Energy | Charge Energy Added | Energy added, in kWh, during the last charging session | +| chargelimit | Dimmer | Charge Limit | Limit charging of the vehicle to the given % | +| chargelimitmaximum | Dimmer | Charge Limit Maximum | Maximum charging limit of the vehicle, as % | +| chargelimitminimum | Dimmer | Charge Limit Minimum | Minimum charging limit of the vehicle, as % | +| chargelimitsocstandard | Dimmer | Charge Limit SOC Standard | Standard charging limit of the vehicle, in % | +| chargeidealdistanceadded | Number:Length | Ideal Charge Distance Added | Ideal range added during the last charging session | +| chargemaxcurrent | Number:ElectricCurrent | Charge Max Current | Maximum current (Ampere) that can be requested from the charger | +| chargerateddistanceadded | Number:Length | Rated Charge Distance Added | Rated range added during the last charging session | +| chargerate | Number:Speed | Charge Rate | Distance per hour charging rate | +| chargestartingrange | String | Charge Starting Range | Undocumented / To be defined | +| chargestartingsoc | String | Charge Starting SOC | Undocumented / To be defined | +| chargetomax | Switch | Charge To Max Range | Indicates if charging to the maximum range is enabled | +| chargercurrent | Number:ElectricCurrent | Charge Current | Current (Ampere) actually being drawn from the charger | +| chargerphases | Number | Charger Phases | Indicates the number of phases (1 to 3) used for charging | +| chargermaxcurrent | Number:ElectricCurrent | Charger Maximum Current | Maximum current (Ampere) that can be delivered by the charger | +| chargerpower | Number | Charger Power | Power actually delivered by the charger | +| chargervoltage | Number:ElectricPotential | Charger Voltage | Voltage (V) actually presented by the charger | +| chargingamps | Number:ElectricCurrent | Set Charging Amps | Current (Ampere) to use for charging | +| driverfrontdoor | Contact | Driver Front Door | Indicates if the front door at the driver's side is open | +| driverreardoor | Contact | Driver Rear Door | Indicates if the rear door at the driver's side is open | +| drivertemp | Number:Temperature | Driver Temperature | Indicates the auto conditioning temperature set at the driver's side | +| eventstamp | DateTime | Event Timestamp | Timestamp of the last event received from the Tesla streaming service | +| estimatedbatteryrange | Number:Length | Estimated Battery Range | Estimated battery range | +| estimatedrange | Number | Estimated Range | Estimated range of the vehicle | +| fan | Number | Fan | Indicates the speed (0-7) of the fan | +| flashlights | Switch | Flash Lights | Flash the lights of the car (when ON is received) | +| frontdefroster | Switch | Front Defroster | Indicates if the front defroster is enabled | +| fronttrunk | Switch | Front Trunk | Indicates if the front trunk is opened, or open the front trunk when ON is received | +| gpstimestamp | DateTime | GPS Time Stamp | Time stamp of the most recent GPS location of the vehicle | +| heading | Number | Heading | Indicates the (compass) heading of the car, in 0-360 degrees | +| headingestimation | Number | Estimated Heading | Estimated (compass) heading of the car, in 0 to 360 degrees | +| honkhorn | Switch | Honk the Horn | Honk the horn of the vehicle, when ON is received | +| homelink | Switch | Homelink Nearby | Indicates if the Home Link is nearby | +| idealbatteryrange | Number:Length | Ideal Battery Range | Indicates the Battery Range | +| lefttempdirection | Number | Left Temperature Direction | Not documented / To be defined | +| lastautoparkerror | String | Last Autopark Error | Not documented / To be defined | +| location | Location | Location | The actual position of the vehicle | +| leftseatheater | Switch | Left Seat Heater | Indicates if the left seat heater is switched on | +| leftrearseatheater | Switch | Left Rear Seat Heater | Indicates if the left rear seat heater is switched on | +| leftrearbackseatheater | Number | Left Rear Backseat Heater | Indicates the level (0, 1, 2, or 3) of the left rear backseat heater | +| managedcharging | Switch | Managed Charging | Indicates if managed charging is active | +| managedchargingcancelled | Switch | Managed Charging Cancelled | Indicates if managed charging is cancelled by the user | +| managedchargingstart | String | Managed Charging Start Time | Not documented / To be defined | +| maxcharges | Number | Max Charges | Indicates the number of consecutive "Max Range Charges" performed by the vehicle | +| minavailabletemp | Number:Temperature | Minimum Temperature | Indicates the minimal inside temperature of the vehicle | +| maxavailabletemp | Number:Temperature | Maximum Temperature | Indicates the maximum inside temperature of the vehicle | +| mobileenabled | Switch | Mobile Enabled | Indicates whether the vehicle can be remotely controlled | +| notenoughpower | Switch | Not Enough Power | Indicates if not enough power (ON) is available to heat the vehicle | +| notificationsenabled | Switch | Notifications Enabled | Not documented / To be defined | +| notificationssupported | Switch | Notifications Supported | Not documented / To be defined | +| outsidetemp | Number:Temperature | Outside Temperature | Indicates the outside temperature of the vehicle | +| parsedcalendar | Switch | Parsed Calendar Supported | Not documented / To be defined | +| passengertemp | Number | Passenger Temperature | Indicates the auto conditioning temperature set at the passenger's side | +| passengerfrontdoor | Contact | Passenger Front Door | Indicates if the front door at the passenger's side is opened | +| passengerreardoor | Contact | Passenger Rear Door | Indicates if the rear door at the passenger's side is opened | +| power | Number | Power | Net kW flowing in (+) or out (-) of the battery | +| preconditioning | Switch | Preconditioning | Indicates if preconditioning is activated | +| range | Number | Range | Vehicle range - Not documented / To be defined | +| reardefroster | Switch | Rear Defroster | Indicates if the rear defroster is enabled | +| remotestartenabled | Switch | Remote Start | Not documented / To be defined | +| reartrunk | Switch | Rear Trunk | Indicates if the rear trunk is opened, or open/close the rear trunk when ON/OFF is received | +| remotestart | Switch | Remote Start | Not documented / To be defined | +| remotestartsupported | Switch | Remote Start Supported | Not documented / To be defined | +| rightseatheater | Switch | Right Seat Heater | Indicates if the right seat heater is switched on | +| rightrearseatheater | Switch | Right Rear Seat Heater | Indicates if the right rear seat heater is switched on | +| rightrearbackseatheater | Number | Right Rear Backseat Heater | Indicates the level (0, 1, 2, or 3) of the right rear backseat heater | +| righttempdirection | Number | Right Temperature Direction | Not documented / To be defined | +| scheduledchargingpending | Switch | Scheduled Charging Pending | Indicates if a scheduled charging session is still pending | +| scheduledchargingstart | DateTime | Scheduled Charging Start | Indicates when the scheduled charging session will start, in yyyy-MM-dd'T'HH:mm:ss format | +| sentrymode | Switch | Sentry Mode | Activates or deactivates sentry mode | +| sentrymodeavailable | Switch | Sentry Mode Available | Indicates whether sentry mode is currently available | +| shiftstate | String | Shift State | Indicates the state of the transmission, “P”, “D”, “R”, or “N” | +| sidemirrorheaters | Switch | Side Mirror Heaters | Indicates if the side mirror heaters are switched on | +| smartpreconditioning | Switch | Smart Preconditioning | Indicates if smart preconditioning is switched on | +| softwareupdateavailable | Switch | Update Available | Car software or map update available, automatically generated on non-empty "update version" | +| softwareupdatestatus | String | Update Status | Car software or map update status, e.g. "downloading_wifi_wait", "installing" | +| softwareupdateversion | String | Update Version | Car software or map version to update to, e.g. "2023.32.9", "EU-2023.32-14783" for map updates, or empty | +| soc | Number | State of Charge | State of Charge, in % | +| state | String | State | “online”, “asleep”, “waking” | +| steeringwheelheater | Switch | Steering Wheel Heater | Turns On/Off the steering wheel heater | +| sunroofstate | String | Sunroof State | Valid states are “unknown”, “open”, “closed”, “vent”, “comfort”. Accepts commands "close" and "vent". | +| sunroof | Dimmer | Sunroof | Indicates the opening state of the sunroof (0% closed, 100% fully open) | +| temperature | Number:Temperature | Temperature | Set the temperature of the autoconditioning system. The temperature for the driver and passenger will be synced. | +| timetofullcharge | Number | Time To Full Charge | Number of hours to fully charge the battery | +| tripcharging | Switch | Trip Charging | Not documented / To be defined | +| usablebatterylevel | Number | Usable Battery Level | Indicates the % of battery that can be used for vehicle functions like driving | +| userchargeenablerequest | String | User Charge Enable Request | Not documented / To be defined | +| valetmode | Switch | Valet Mode | Enable or disable Valet Mode | +| valetpin | Switch | Valet PIN Required | Indicates if a PIN code is required to disable valet mode | +| wakeup | Switch | Wake Up | Wake up the vehicle from a (deep) sleep | +| wiperbladeheater | Switch | Wiperblade Heater | Indicates if the wiperblade heater is switched on | ## Example diff --git a/bundles/org.openhab.binding.teslascope/README.md b/bundles/org.openhab.binding.teslascope/README.md index ba1040550d467..554e55fd1c351 100644 --- a/bundles/org.openhab.binding.teslascope/README.md +++ b/bundles/org.openhab.binding.teslascope/README.md @@ -73,7 +73,7 @@ Additionally, these advanced channels are available (not all are available on al | charge-limit-soc-min | Number:Dimensionless | Charge Limit SOC Min | Minimum charging limit of the vehicle, in % | | charge-limit-soc-max | Number:Dimensionless | Charge Limit SOC Max | Maximum charging limit of the vehicle, in % | | charge-limit-soc-standard | Number:Dimensionless | Charge Limit SOC Standard | Standard charging limit of the vehicle, in % | -| charge-port-latch | Switch | Charge Port Latch | Indicates the Charge Port Latch status (ON/OFF if latched/unlatched) | +| charge-port-latch | Switch | Charge Port Latch | Indicates the Charge Port Latch status (ON/OFF if latched/unlatched) | | charge-rate | Number:Speed | Charge Rate | Distance per hour charging rate | | charger-power | Number:Power | Charger Power | Power actually delivered by the charger | | charger-voltage | Number:ElectricPotential | Charger Voltage | Voltage (V) actually presented by the charger | diff --git a/bundles/org.openhab.binding.tibber/README.md b/bundles/org.openhab.binding.tibber/README.md index 700c0038a88ef..b0ee00f9e4131 100644 --- a/bundles/org.openhab.binding.tibber/README.md +++ b/bundles/org.openhab.binding.tibber/README.md @@ -5,17 +5,17 @@ If you have Tibber Pulse hardware, you can also use the [live group](#live-group ## Supported Things -| Type | ID | Description | -|-----------|-----------|---------------------------| -| Thing | tibberapi | Connection to Tibber API | +| Type | ID | Description | +|-------|-----------|--------------------------| +| Thing | tibberapi | Connection to Tibber API | ## Thing Configuration -| Name | Type | Description | Default | Required | -|---------------|-----------|---------------------------------------|-----------|-----------| -| token | text | Tibber Personal Token | N/A | yes | -| homeid | text | Tibber Home ID | N/A | yes | -| updateHour | integer | Local hour when spot prices are updated | 13 | yes | +| Name | Type | Description | Default | Required | +|------------|---------|-----------------------------------------|---------|----------| +| token | text | Tibber Personal Token | N/A | yes | +| homeid | text | Tibber Home ID | N/A | yes | +| updateHour | integer | Local hour when spot prices are updated | 13 | yes | Note: The Tibber token is retrieved from your Tibber account: [Tibber Account](https://developer.tibber.com/settings/accesstoken) @@ -49,13 +49,13 @@ If you have multiple Home IDs/Pulse devices, create separate Things for each Hom Current and forecast Tibber price information. All values are read-only. -| Channel ID | Type | Description | Time Series | -|-------------------|----------------------|--------------------------------------------|--------------| -| total | Number:EnergyPrice | Total price including energy and taxes | yes | -| spot | Number:EnergyPrice | Spot prices for energy today and tomorrow | yes | -| tax | Number:EnergyPrice | Taxes and additional expenses | yes | -| level | Number | Price levels for today and tomorrow | yes | -| average | Number:EnergyPrice | Average price from last 24 hours | yes | +| Channel ID | Type | Description | Time Series | +|------------|--------------------|-------------------------------------------|-------------| +| total | Number:EnergyPrice | Total price including energy and taxes | yes | +| spot | Number:EnergyPrice | Spot prices for energy today and tomorrow | yes | +| tax | Number:EnergyPrice | Taxes and additional expenses | yes | +| level | Number | Price levels for today and tomorrow | yes | +| average | Number:EnergyPrice | Average price from last 24 hours | yes | Channel `spot-price` is _deprecated_ and will be removed in the next major update. It's still available as an advanced channel. @@ -83,46 +83,46 @@ The items connected to the above channels need to be stored in, e.g., [InfluxDB] Channel `event` can trigger the following events: -| Event | Description | -|----------------------|--------------------------------| -| DAY_AHEAD_AVAILABLE | Day-ahead prices are available | +| Event | Description | +|---------------------|--------------------------------| +| DAY_AHEAD_AVAILABLE | Day-ahead prices are available | ### `live` group Live information from Tibber Pulse. All values are read-only. -| Channel ID | Type | Description | -|----------------------------|--------------------------|----------------------------------------------------------------------------------| -| consumption | Number:Power | Consumption at the moment in watts | -| minimum-consumption | Number:Power | Minimum power consumption since midnight in watts | -| peak-consumption | Number:Power | Peak power consumption since midnight in watts | -| average-consumption | Number:Power | Average power consumption since midnight in watts | -| production | Number:Power | Net power production at the moment in watts | -| minimum-production | Number:Power | Minimum net power production since midnight in watts | -| peak-production | Number:Power | Maximum net power production since midnight in watts | -| power-balance | Number:Power | Current power consumption (as positive value) and production (as negative value) | -| voltage1 | Number:ElectricPotential | Electric potential on phase 1 | -| voltage2 | Number:ElectricPotential | Electric potential on phase 2 | -| voltage3 | Number:ElectricPotential | Electric potential on phase 3 | -| current1 | Number:ElectricCurrent | Electric current on phase 1 | -| current2 | Number:ElectricCurrent | Electric current on phase 2 | -| current3 | Number:ElectricCurrent | Electric current on phase 3 | +| Channel ID | Type | Description | +|---------------------|--------------------------|----------------------------------------------------------------------------------| +| consumption | Number:Power | Consumption at the moment in watts | +| minimum-consumption | Number:Power | Minimum power consumption since midnight in watts | +| peak-consumption | Number:Power | Peak power consumption since midnight in watts | +| average-consumption | Number:Power | Average power consumption since midnight in watts | +| production | Number:Power | Net power production at the moment in watts | +| minimum-production | Number:Power | Minimum net power production since midnight in watts | +| peak-production | Number:Power | Maximum net power production since midnight in watts | +| power-balance | Number:Power | Current power consumption (as positive value) and production (as negative value) | +| voltage1 | Number:ElectricPotential | Electric potential on phase 1 | +| voltage2 | Number:ElectricPotential | Electric potential on phase 2 | +| voltage3 | Number:ElectricPotential | Electric potential on phase 3 | +| current1 | Number:ElectricCurrent | Electric current on phase 1 | +| current2 | Number:ElectricCurrent | Electric current on phase 2 | +| current3 | Number:ElectricCurrent | Electric current on phase 3 | ### `statistics` group Statistical information about total, daily, and last-hour energy consumption and production. All values are read-only. -| Channel ID | Type | Description | -|-----------------------|---------------------------|---------------------------------------------------------------| -| total-consumption | Number:Energy | Total energy consumption measured by Tibber Pulse meter | -| daily-consumption | Number:Energy | Energy consumed since midnight in kilowatt-hours | -| daily-cost | Number:Currency | Accumulated cost since midnight | -| last-hour-consumption | Number:Energy | Energy consumed since last hour shift in kilowatt-hours | -| total-production | Number:Energy | Total energy production measured by Tibber Pulse meter | -| daily-production | Number:Energy | Net energy produced since midnight in kilowatt-hours | -| last-hour-production | Number:Energy | Net energy produced since last hour shift in kilowatt-hours | +| Channel ID | Type | Description | +|-----------------------|-----------------|-------------------------------------------------------------| +| total-consumption | Number:Energy | Total energy consumption measured by Tibber Pulse meter | +| daily-consumption | Number:Energy | Energy consumed since midnight in kilowatt-hours | +| daily-cost | Number:Currency | Accumulated cost since midnight | +| last-hour-consumption | Number:Energy | Energy consumed since last hour shift in kilowatt-hours | +| total-production | Number:Energy | Total energy production measured by Tibber Pulse meter | +| daily-production | Number:Energy | Net energy produced since midnight in kilowatt-hours | +| last-hour-production | Number:Energy | Net energy produced since last hour shift in kilowatt-hours | ## Thing Actions @@ -158,11 +158,11 @@ Use [persistence extensions](https://www.openhab.org/docs/configuration/persiste #### Parameters -| Name | Type | Description | Default | Required | -|---------------|-----------|---------------------------------------|-------------------|-----------| -| earliestStart | Instant | Earliest start time | now | no | -| latestEnd | Instant | Latest end time | `priceInfoEnd` | no | -| ascending | boolean | Price sorting order | true | no | +| Name | Type | Description | Default | Required | +|---------------|---------|---------------------|----------------|----------| +| earliestStart | Instant | Earliest start time | now | no | +| latestEnd | Instant | Latest end time | `priceInfoEnd` | no | +| ascending | boolean | Price sorting order | true | no | #### Example @@ -201,18 +201,18 @@ end JSON-encoded `String` result with keys -| Key | Type | Description | -|---------------|-----------|---------------------------------------| -| size | int | Size of price list | -| priceList | JSON array | Array of `priceInfo` entries | +| Key | Type | Description | +|-----------|------------|------------------------------| +| size | int | Size of price list | +| priceList | JSON array | Array of `priceInfo` entries | JSON Object `priceInfo` -| Key | Type | Description | -|---------------|-----------|---------------------------------------| -| startsAt | String | String encoded Instant | -| duration | int | Price duration in seconds | -| price | double | Price in your currency | +| Key | Type | Description | +|----------|--------|---------------------------| +| startsAt | String | String encoded Instant | +| duration | int | Price duration in seconds | +| price | double | Price in your currency | #### Example @@ -255,13 +255,13 @@ For use cases like a dishwasher or laundry. #### Parameters -| Name | Type | Description | Default | Required | -|---------------|-----------|-----------------------------------------------|-------------------|-----------| -| earliestStart | Instant | Earliest start time | now | no | -| latestStop | Instant | Latest end time | `priceInfoEnd` | no | -| power | int | Power in watts | N/A | no | -| duration | String | Duration as String with units `h`,`m` or `s` | N/A | true | -| curve | JsonArray | Array with `curveEntry` elements | N/A | no | +| Name | Type | Description | Default | Required | +|---------------|-----------|----------------------------------------------|----------------|----------| +| earliestStart | Instant | Earliest start time | now | no | +| latestStop | Instant | Latest end time | `priceInfoEnd` | no | +| power | int | Power in watts | N/A | no | +| duration | String | Duration as String with units `h`,`m` or `s` | N/A | true | +| curve | JsonArray | Array with `curveEntry` elements | N/A | no | Provide either @@ -270,11 +270,11 @@ Provide either JSON Object `curveEntry` -| Key | Type | Description | -|---------------|-----------|---------------------------------------| -| timestamp | String | String encoded Instant | -| power | int | Power in watts | -| duration | int | Duration in seconds | +| Key | Type | Description | +|-----------|--------|------------------------| +| timestamp | String | String encoded Instant | +| power | int | Power in watts | +| duration | int | Duration in seconds | #### Example @@ -325,13 +325,13 @@ Console output: JSON-encoded `String` result with keys -| Key | Type | Description | -|-----------------------|-----------|---------------------------------------| -| cheapestStart | String | Timestamp of cheapest start | -| lowestPrice | double | Price of the cheapest period | -| mostExpensiveStart | String | Timestamp of most expensive start | -| highestPrice | double | Price of the most expensive period | -| averagePrice | double | Average price within the period | +| Key | Type | Description | +|--------------------|--------|------------------------------------| +| cheapestStart | String | Timestamp of cheapest start | +| lowestPrice | double | Price of the cheapest period | +| mostExpensiveStart | String | Timestamp of most expensive start | +| highestPrice | double | Price of the most expensive period | +| averagePrice | double | Average price within the period | #### Result Example @@ -352,12 +352,12 @@ For use cases like a battery electric vehicle or a heat pump. #### Parameters -| Name | Type | Description | Default | Required | -|---------------|-----------|-------------------------------------------|-------------------|-----------| -| earliestStart | Instant | Earliest start time | now | no | -| latestStop | Instant | Latest end time | `priceInfoEnd` | no | -| power | int | Needed power | N/A | no | -| duration | int | Duration in seconds or String (8h 15m) | N/A | yes | +| Name | Type | Description | Default | Required | +|---------------|---------|----------------------------------------|----------------|----------| +| earliestStart | Instant | Earliest start time | now | no | +| latestStop | Instant | Latest end time | `priceInfoEnd` | no | +| power | int | Needed power | N/A | no | +| duration | int | Duration in seconds or String (8h 15m) | N/A | yes | #### Example @@ -402,19 +402,19 @@ Console output JSON encoded `String` result with keys -| Key | Type | Description | -|---------------|-----------|---------------------------------------| -| size | int | Number of schedules | -| schedule | JSON array | Array of `scheduleEntry` elements | +| Key | Type | Description | +|----------|------------|-----------------------------------| +| size | int | Number of schedules | +| schedule | JSON array | Array of `scheduleEntry` elements | JSON Object `scheduleEntry` -| Key | Type | Description | -|---------------|-----------|---------------------------------------| -| start | String | Start time (Instant as string) | -| stop | String | Stop time (Instant as string) | -| duration | int | Duration in seconds | -| cost | double | Cost in your currency | +| Key | Type | Description | +|----------|--------|--------------------------------| +| start | String | Start time (Instant as string) | +| stop | String | Stop time (Instant as string) | +| duration | int | Duration in seconds | +| cost | double | Cost in your currency | From 5090ffb81112fd6772934664ad1499bd5bc86857 Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Wed, 21 Jan 2026 21:36:56 +0100 Subject: [PATCH 5/9] Review comments Signed-off-by: Leo Siepel --- bundles/org.openhab.binding.tacmi/README.md | 2 +- .../org.openhab.binding.tapocontrol/README.md | 4 +-- .../resources/OH-INF/config/bridgeconfig.xml | 3 +- bundles/org.openhab.binding.tivo/README.md | 2 +- bundles/org.openhab.binding.tr064/README.md | 22 ++++++------ .../resources/OH-INF/thing/thing-types.xml | 4 +-- .../main/resources/OH-INF/config/config.xml | 12 +++---- .../resources/OH-INF/i18n/tuya.properties | 34 +++++++++++++++++++ 8 files changed, 58 insertions(+), 25 deletions(-) diff --git a/bundles/org.openhab.binding.tacmi/README.md b/bundles/org.openhab.binding.tacmi/README.md index b5b23733cf6dc..54e87de99c409 100644 --- a/bundles/org.openhab.binding.tacmi/README.md +++ b/bundles/org.openhab.binding.tacmi/README.md @@ -46,7 +46,7 @@ If you plan things mainly for user interaction the "Schema API Page" might be be ## Discovery Auto-discovery is not supported. -You have to define the things manually. +You have to define the Things manually. ## Schema API diff --git a/bundles/org.openhab.binding.tapocontrol/README.md b/bundles/org.openhab.binding.tapocontrol/README.md index 8d73a86291029..71f16d3bff5b9 100644 --- a/bundles/org.openhab.binding.tapocontrol/README.md +++ b/bundles/org.openhab.binding.tapocontrol/README.md @@ -73,10 +73,10 @@ The Thing has the following configuration parameters: ## Thing Configuration -Wi-Fi-based things need to be configured with `ipAddress`. +Wi-Fi-based Things need to be configured with `ipAddress`. RF-based things need a SmartHub (Wi-Fi device) to operate. -The things have the following configuration parameters: +The Things have the following configuration parameters: | Parameter | Description | Things supporting parameter | |--------------------|-----------------------------------------------------------------------|-----------------------------| diff --git a/bundles/org.openhab.binding.tapocontrol/src/main/resources/OH-INF/config/bridgeconfig.xml b/bundles/org.openhab.binding.tapocontrol/src/main/resources/OH-INF/config/bridgeconfig.xml index 5240c16ad7290..f0ac54f6996d5 100644 --- a/bundles/org.openhab.binding.tapocontrol/src/main/resources/OH-INF/config/bridgeconfig.xml +++ b/bundles/org.openhab.binding.tapocontrol/src/main/resources/OH-INF/config/bridgeconfig.xml @@ -24,8 +24,7 @@
    - Use UDP Discovery Service to discover online devices in the local network. Includes encryption and - IP + Use UDP Discovery Service to discover online devices in the local network. Includes encryption and IP address false false diff --git a/bundles/org.openhab.binding.tivo/README.md b/bundles/org.openhab.binding.tivo/README.md index ec2ab007b3601..db190a65f96a6 100644 --- a/bundles/org.openhab.binding.tivo/README.md +++ b/bundles/org.openhab.binding.tivo/README.md @@ -44,7 +44,7 @@ The Thing has the following configuration parameters: Some notes: -- If openHAB is the only device or application that you have that makes use of the Network Remote Control functions of your TiVo, enable the **Keep Connection Open** option.This will connect and lock the port in use, preventing any other device from connecting to it. If you use some other application, disable this option. Performance is improved if the connection is kept open. +- If openHAB is the only device or application that you have that makes use of the Network Remote Control functions of your TiVo, enable the **Keep Connection Open** option. This will connect and lock the port in use, preventing any other device from connecting to it. If you use some other application, disable this option. Performance is improved if the connection is kept open. - **Poll for Channel Changes** only needs to be enabled if you also plan to use the TiVo remote control or another application to change channel. If openHAB is your only method of control, you can disable this option. Turning polling off minimizes the periodic polling overhead on your hardware. ## Channels diff --git a/bundles/org.openhab.binding.tr064/README.md b/bundles/org.openhab.binding.tr064/README.md index ead92487bdc78..a8d31187732b3 100644 --- a/bundles/org.openhab.binding.tr064/README.md +++ b/bundles/org.openhab.binding.tr064/README.md @@ -127,23 +127,23 @@ The call-types are the same as provided by the FritzBox, i.e. `1` (inbound), `2` | channel | item-type | advanced | description | |----------------------|---------------------------|:--------:|--------------------------------------------------------------------------------------------------------------| -| `wifi24GHzEnable` | `Switch` | | Enable/Disable the 2.4 GHz WiFi device. Deprecated for removal. Use `wifi1Enable`. | -| `wifi5GHzEnable` | `Switch` | | Enable/Disable the 5.0 GHz WiFi device. Deprecated for removal. Use `wifi2Enable`. | -| `wifiGuestEnable` | `Switch` | | Enable/Disable the guest WiFi. Deprecated for removal. Use `wifi3Enable`. | -| `wifiXEnable` | `Switch` | | Enable/Disable the WiFi X. See below for details. | +| `wifi24GHzEnable` | `Switch` | | Enable/Disable the 2.4 GHz Wi-Fi device. Deprecated for removal. Use `wifi1Enable`. | +| `wifi5GHzEnable` | `Switch` | | Enable/Disable the 5.0 GHz Wi-Fi device. Deprecated for removal. Use `wifi2Enable`. | +| `wifiGuestEnable` | `Switch` | | Enable/Disable the guest Wi-Fi. Deprecated for removal. Use `wifi3Enable`. | +| `wifiXEnable` | `Switch` | | Enable/Disable the Wi-Fi X. See below for details. | | `macOnline` | `Switch` | x | Online status of the device with the given MAC | | `macOnlineIpAddress` | `String` | x | IP of the MAC (uses same parameter as `macOnline`) | -| `macSignalStrength1` | `Number` | x | WiFi Signal Strength of the device with the given MAC. This is set in case the Device is connected to 2.4GHz | -| `macSpeed1` | `Number:DataTransferRate` | x | WiFi Speed of the device with the given MAC. This is set in case the Device is connected to 2.4GHz | -| `macSignalStrength2` | `Number` | x | WiFi Signal Strength of the device with the given MAC. This is set in case the Device is connected to 5GHz | -| `macSpeed2` | `Number:DataTransferRate` | x | WiFi Speed of the device with the given MAC. This is set in case the Device is connected to 5GHz | +| `macSignalStrength1` | `Number` | x | Wi-Fi Signal Strength of the device with the given MAC. This is set in case the Device is connected to 2.4GHz | +| `macSpeed1` | `Number:DataTransferRate` | x | Wi-Fi Speed of the device with the given MAC. This is set in case the Device is connected to 2.4GHz | +| `macSignalStrength2` | `Number` | x | Wi-Fi Signal Strength of the device with the given MAC. This is set in case the Device is connected to 5GHz | +| `macSpeed2` | `Number:DataTransferRate` | x | Wi-Fi Speed of the device with the given MAC. This is set in case the Device is connected to 5GHz | _Note:_ The `wifi24GHzEnable`, `wifi5GHzEnable` and `wifiGuestEnable` channels have been deprecated and will be removed in future versions. They are replaced by `wifiXEnable` (with `X` being a number between `1` and `4`). -- FritzBoxes which do not support 5 GHz use `wifi1Enable` for the standard WiFi and `wifi2Enable` for the guest WiFi. -- FritzBoxes which support 5 GHz use `wifi1Enable` for the 2.4 GHz WiFi, `wifi2Enable` for the 5 GHz WiFi and `wifi3Enable` for the guest WiFi. -- FritzBoxes which support two 5 GHz networks use `wifi1Enable` for the 2.4 GHz WiFi, `wifi2Enable` and `wifi3Enable` for the 5 GHz WiFis and `wifi4Enable` for the guest WiFi. +- FritzBoxes which do not support 5 GHz use `wifi1Enable` for the standard Wi-Fi and `wifi2Enable` for the guest Wi-Fi. +- FritzBoxes which support 5 GHz use `wifi1Enable` for the 2.4 GHz Wi-Fi, `wifi2Enable` for the 5 GHz Wi-Fi and `wifi3Enable` for the guest Wi-Fi. +- FritzBoxes which support two 5 GHz networks use `wifi1Enable` for the 2.4 GHz Wi-Fi, `wifi2Enable` and `wifi3Enable` for the 5 GHz Wi-Fis and `wifi4Enable` for the guest Wi-Fi. ### WANConnection `subdevice` channels diff --git a/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml index fafba8c749bea..02eb4802a8929 100644 --- a/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml @@ -304,7 +304,7 @@ - Number:Time + Number:Time The number of minutes before the next filter check (or time since check is required if below 0). @@ -330,7 +330,7 @@ - Number:Time + Number:Time The duration for which the current filter was used. diff --git a/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/config/config.xml b/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/config/config.xml index 677644301340e..aca597f65ba68 100644 --- a/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/config/config.xml +++ b/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/config/config.xml @@ -27,10 +27,10 @@ Set only on brightness channels. - + - + @@ -45,10 +45,10 @@ - + - + @@ -63,10 +63,10 @@ - + - + diff --git a/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/i18n/tuya.properties b/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/i18n/tuya.properties index eafcb44cddeca..2e1ba5018f978 100644 --- a/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/i18n/tuya.properties +++ b/bundles/org.openhab.binding.tuya/src/main/resources/OH-INF/i18n/tuya.properties @@ -98,6 +98,30 @@ channel-type.config.tuya.string.dp.label = DP channel-type.config.tuya.string.range.label = Range channel-type.config.tuya.switch.dp.label = DP +# When looking up translations for channel-type:tuya:... we start with a translation using +# the lower-cased channelId, override using the channelId as given (which matches the DP +# identifier in the schema) and finally override using the full ${productId}_${channelId}. +# If no translations is found the default is the channelId split and with the first letter +# of each word capitalized. +# +# i.e. the translation for an "bAr" channel of a product "FOO" would be the last of: +# channel-type.tuya.bar.... = ... +# channel-type.tuya.bAr.... = ... +# channel-type.tuya.FOO_bAr.... = ... +# +# Where commands/options are concerned we check for lower-cased options first then as given +# and start with a completely generic channelId. Since Tuya schemas are somewhat vague +# about what are commands and what are options any options are first looked for first using +# ".command." and then using ".option.". +# +# i.e. for a command "WiBBle" for a "bAr" channel of a product "FOO" it would be the last of: +# channel-type.tuya._.command.option.wibble... = ... +# channel-type.tuya.bar.command.option.wibble... = ... +# channel-type.tuya.bAr.command.option.wibble... = ... +# channel-type.tuya.bar.command.option.WiBBle... = ... +# channel-type.tuya.bAr.command.option.WiBBle... = ... +# channel-type.tuya.FOO_bAr.command.option.WiBBle... = ... + # thing status descriptions offline.wait-for-ip = Waiting for IP address @@ -113,6 +137,16 @@ channel-type.tuya.countdown_1.description = Seconds until the switch reverses st channel-type.tuya.overcharge_switch.description = Switch off when the power drawn is less than 3 Watts for 40 minutes channel-type.tuya.relay_status.description = Relay state after the socket itself is reset or powered on. +# src/main/tool/mki18n.js only generates command translations. Where devices return state +# options that are not also commands (as expressed in schemas) they should be listed here. +# e.g. +# channel-type.tuya._.state.option.off = Off + + +# ------------------------------------------------------------------------ +# Everything from here onwards is generated by src/main/tool/mki18n.js. +# You should make changes there as any changes here are likely to be lost. + # channel type command options channel-type.tuya._.command.option.0 = 0 From 66720f73eb3309311357794e5636bba38edba71d Mon Sep 17 00:00:00 2001 From: Leo Siepel Date: Wed, 21 Jan 2026 21:44:09 +0100 Subject: [PATCH 6/9] Align tables Signed-off-by: Leo Siepel --- bundles/org.openhab.binding.tr064/README.md | 98 ++++++++++----------- 1 file changed, 49 insertions(+), 49 deletions(-) diff --git a/bundles/org.openhab.binding.tr064/README.md b/bundles/org.openhab.binding.tr064/README.md index a8d31187732b3..a2260106033b8 100644 --- a/bundles/org.openhab.binding.tr064/README.md +++ b/bundles/org.openhab.binding.tr064/README.md @@ -104,20 +104,20 @@ Channels are grouped according to the subdevice they belong to. Advanced channels appear only if the corresponding parameters are set in the Thing definition. -| channel | item-type | advanced | description | -|----------------------------|---------------------------|:--------:|----------------------------------------------------------------| -| `callDeflectionEnable` | `Switch` | x | Enable/Disable the call deflection setup with the given index. | -| `callList` | `String` | x | A string containing the call list as JSON (see below) | -| `deviceLog` | `String` | x | A string containing the last log messages | -| `missedCalls` | `Number` | | Number of missed calls within the given number of days. | -| `outboundCalls` | `Number` | x | Number of outbound calls within the given number of days. | -| `inboundCalls` | `Number` | x | Number of inbound calls within the given number of days. | -| `reboot` | `Switch` | | Reboot | -| `rejectedCalls` | `Number` | x | Number of rejected calls within the given number of days. | -| `securityPort` | `Number` | x | The port for connecting via HTTPS to the TR-064 service. | -| `tamEnable` | `Switch` | x | Enable/Disable the answering machine with the given index. | -| `tamNewMessages` | `Number` | x | The number of new messages of the given answering machine. | -| `uptime` | `Number:Time` | | Uptime of the device | +| channel | item-type | advanced | description | +|------------------------|---------------|:--------:|----------------------------------------------------------------| +| `callDeflectionEnable` | `Switch` | x | Enable/Disable the call deflection setup with the given index. | +| `callList` | `String` | x | A string containing the call list as JSON (see below) | +| `deviceLog` | `String` | x | A string containing the last log messages | +| `missedCalls` | `Number` | | Number of missed calls within the given number of days. | +| `outboundCalls` | `Number` | x | Number of outbound calls within the given number of days. | +| `inboundCalls` | `Number` | x | Number of inbound calls within the given number of days. | +| `reboot` | `Switch` | | Reboot | +| `rejectedCalls` | `Number` | x | Number of rejected calls within the given number of days. | +| `securityPort` | `Number` | x | The port for connecting via HTTPS to the TR-064 service. | +| `tamEnable` | `Switch` | x | Enable/Disable the answering machine with the given index. | +| `tamNewMessages` | `Number` | x | The number of new messages of the given answering machine. | +| `uptime` | `Number:Time` | | Uptime of the device | Call lists are provided via the `callList` channel for one or more days (as configured) as JSON. The JSON consists of an array of individual calls with the fields `date`, `type`, `localNumber`, `remoteNumber`, `duration`. @@ -125,14 +125,14 @@ The call-types are the same as provided by the FritzBox, i.e. `1` (inbound), `2` ### LAN `subdeviceLan` channels -| channel | item-type | advanced | description | -|----------------------|---------------------------|:--------:|--------------------------------------------------------------------------------------------------------------| +| channel | item-type | advanced | description | +|----------------------|---------------------------|:--------:|---------------------------------------------------------------------------------------------------------------| | `wifi24GHzEnable` | `Switch` | | Enable/Disable the 2.4 GHz Wi-Fi device. Deprecated for removal. Use `wifi1Enable`. | | `wifi5GHzEnable` | `Switch` | | Enable/Disable the 5.0 GHz Wi-Fi device. Deprecated for removal. Use `wifi2Enable`. | | `wifiGuestEnable` | `Switch` | | Enable/Disable the guest Wi-Fi. Deprecated for removal. Use `wifi3Enable`. | | `wifiXEnable` | `Switch` | | Enable/Disable the Wi-Fi X. See below for details. | -| `macOnline` | `Switch` | x | Online status of the device with the given MAC | -| `macOnlineIpAddress` | `String` | x | IP of the MAC (uses same parameter as `macOnline`) | +| `macOnline` | `Switch` | x | Online status of the device with the given MAC | +| `macOnlineIpAddress` | `String` | x | IP of the MAC (uses same parameter as `macOnline`) | | `macSignalStrength1` | `Number` | x | Wi-Fi Signal Strength of the device with the given MAC. This is set in case the Device is connected to 2.4GHz | | `macSpeed1` | `Number:DataTransferRate` | x | Wi-Fi Speed of the device with the given MAC. This is set in case the Device is connected to 2.4GHz | | `macSignalStrength2` | `Number` | x | Wi-Fi Signal Strength of the device with the given MAC. This is set in case the Device is connected to 5GHz | @@ -147,40 +147,40 @@ They are replaced by `wifiXEnable` (with `X` being a number between `1` and `4`) ### WANConnection `subdevice` channels -| channel | item-type | advanced | description | -|----------------------------|---------------------------|:--------:|----------------------------------------------------------------| -| `Uptime` | `Number:Time` | | Uptime | -| `pppUptime` | `Number:Time` | | Uptime (if using PPP) | -| `wanConnectionStatus` | `String` | | Connection Status | -| `wanPppConnectionStatus` | `String` | | Connection Status (if using PPP) | -| `wanIpAddress` | `String` | x | WAN IP Address | -| `wanPppIpAddress` | `String` | x | WAN IP Address (if using PPP) | +| channel | item-type | advanced | description | +|--------------------------|---------------|:--------:|----------------------------------| +| `Uptime` | `Number:Time` | | Uptime | +| `pppUptime` | `Number:Time` | | Uptime (if using PPP) | +| `wanConnectionStatus` | `String` | | Connection Status | +| `wanPppConnectionStatus` | `String` | | Connection Status (if using PPP) | +| `wanIpAddress` | `String` | x | WAN IP Address | +| `wanPppIpAddress` | `String` | x | WAN IP Address (if using PPP) | ### WAN `subdevice` channels -| channel | item-type | advanced | description | -|----------------------------|---------------------------|:--------:|----------------------------------------------------------------| -| `dslCRCErrors` | `Number:Dimensionless` | x | DSL CRC Errors | -| `dslDownstreamMaxRate` | `Number:DataTransferRate` | x | DSL Max Downstream Rate | -| `dslDownstreamCurrRate` | `Number:DataTransferRate` | x | DSL Curr. Downstream Rate | -| `dslDownstreamNoiseMargin` | `Number:Dimensionless` | x | DSL Downstream Noise Margin | -| `dslDownstreamAttenuation` | `Number:Dimensionless` | x | DSL Downstream Attenuation | -| `dslEnable` | `Switch` | | DSL Enable | -| `dslFECErrors` | `Number:Dimensionless` | x | DSL FEC Errors | -| `dslHECErrors` | `Number:Dimensionless` | x | DSL HEC Errors | -| `dslStatus` | `String` | | DSL Status | -| `dslUpstreamMaxRate` | `Number:DataTransferRate` | x | DSL Max Upstream Rate | -| `dslUpstreamCurrRate` | `Number:DataTransferRate` | x | DSL Curr. Upstream Rate | -| `dslUpstreamNoiseMargin` | `Number:Dimensionless` | x | DSL Upstream Noise Margin | -| `dslUpstreamAttenuation` | `Number:Dimensionless` | x | DSL Upstream Attenuation | -| `wanAccessType` | `String` | x | Access Type | -| `wanMaxDownstreamRate` | `Number:DataTransferRate` | x | Max. Downstream Rate | -| `wanMaxUpstreamRate` | `Number:DataTransferRate` | x | Max. Upstream Rate | -| `wanCurrentDownstreamRate` | `Number:DataTransferRate` | x | Current Downstream Rate (average last 15 seconds) | -| `wanCurrentUpstreamRate` | `Number:DataTransferRate` | x | Current Upstream Rate (average last 15 seconds) | -| `wanPhysicalLinkStatus` | `String` | x | Link Status | -| `wanTotalBytesReceived` | `Number:DataAmount` | x | Total Bytes Received | -| `wanTotalBytesSent` | `Number:DataAmount` | x | Total Bytes Sent | +| channel | item-type | advanced | description | +|----------------------------|---------------------------|:--------:|---------------------------------------------------| +| `dslCRCErrors` | `Number:Dimensionless` | x | DSL CRC Errors | +| `dslDownstreamMaxRate` | `Number:DataTransferRate` | x | DSL Max Downstream Rate | +| `dslDownstreamCurrRate` | `Number:DataTransferRate` | x | DSL Curr. Downstream Rate | +| `dslDownstreamNoiseMargin` | `Number:Dimensionless` | x | DSL Downstream Noise Margin | +| `dslDownstreamAttenuation` | `Number:Dimensionless` | x | DSL Downstream Attenuation | +| `dslEnable` | `Switch` | | DSL Enable | +| `dslFECErrors` | `Number:Dimensionless` | x | DSL FEC Errors | +| `dslHECErrors` | `Number:Dimensionless` | x | DSL HEC Errors | +| `dslStatus` | `String` | | DSL Status | +| `dslUpstreamMaxRate` | `Number:DataTransferRate` | x | DSL Max Upstream Rate | +| `dslUpstreamCurrRate` | `Number:DataTransferRate` | x | DSL Curr. Upstream Rate | +| `dslUpstreamNoiseMargin` | `Number:Dimensionless` | x | DSL Upstream Noise Margin | +| `dslUpstreamAttenuation` | `Number:Dimensionless` | x | DSL Upstream Attenuation | +| `wanAccessType` | `String` | x | Access Type | +| `wanMaxDownstreamRate` | `Number:DataTransferRate` | x | Max. Downstream Rate | +| `wanMaxUpstreamRate` | `Number:DataTransferRate` | x | Max. Upstream Rate | +| `wanCurrentDownstreamRate` | `Number:DataTransferRate` | x | Current Downstream Rate (average last 15 seconds) | +| `wanCurrentUpstreamRate` | `Number:DataTransferRate` | x | Current Upstream Rate (average last 15 seconds) | +| `wanPhysicalLinkStatus` | `String` | x | Link Status | +| `wanTotalBytesReceived` | `Number:DataAmount` | x | Total Bytes Received | +| `wanTotalBytesSent` | `Number:DataAmount` | x | Total Bytes Sent | **Note:** AVM FritzBox devices use 4-byte-unsigned-integers for `wanTotalBytesReceived` and `wanTotalBytesSent`, because of that the counters are reset after around 4GB data. From 950a0fd05d03ee096a6ae32e7e05826a30366640 Mon Sep 17 00:00:00 2001 From: lsiepel Date: Fri, 23 Jan 2026 20:51:58 +0100 Subject: [PATCH 7/9] Update bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml Co-authored-by: Jacob Laursen Signed-off-by: lsiepel --- .../src/main/resources/OH-INF/thing/thing-types.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml index 02eb4802a8929..5604cd10c836a 100644 --- a/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml @@ -330,7 +330,7 @@ - Number:Time + Number:Time The duration for which the current filter was used. From d071bacd8446c89474fc22f4d12ed9a406d1991d Mon Sep 17 00:00:00 2001 From: lsiepel Date: Fri, 23 Jan 2026 20:52:17 +0100 Subject: [PATCH 8/9] Update bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml Co-authored-by: Jacob Laursen Signed-off-by: lsiepel --- .../src/main/resources/OH-INF/thing/thing-types.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml index 5604cd10c836a..fc1e8d1291a57 100644 --- a/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml @@ -304,7 +304,7 @@ - Number:Time + Number:Time The number of minutes before the next filter check (or time since check is required if below 0). From 444f09b1986e839a13fc73fdcbaf2a49b0f590be Mon Sep 17 00:00:00 2001 From: lsiepel Date: Sat, 24 Jan 2026 13:59:09 +0100 Subject: [PATCH 9/9] Update bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml Co-authored-by: Jacob Laursen Signed-off-by: lsiepel --- .../src/main/resources/OH-INF/thing/thing-types.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml index fc1e8d1291a57..0a2762d2c3c6d 100644 --- a/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.tradfri/src/main/resources/OH-INF/thing/thing-types.xml @@ -340,7 +340,7 @@ Measurement Duration - +