diff --git a/bundles/org.openhab.binding.unifi/README.md b/bundles/org.openhab.binding.unifi/README.md index a59f5a7921169..74eeb34e58903 100644 --- a/bundles/org.openhab.binding.unifi/README.md +++ b/bundles/org.openhab.binding.unifi/README.md @@ -1,12 +1,12 @@ # UniFi Binding -This binding integrates with [Ubiquiti UniFi Networks](https://www.ubnt.com/products/#unifi) allowing for presence detection of network clients. +This binding integrates with [Ubiquiti UniFi Networks](https://www.ubnt.com/products/#unifi), allowing presence detection of network clients. ## Supported Things - `controller` - An instance of the UniFi controller software -- `site` - A site thing with connection statistics -- `wlan` - A wireless network thing. Control Wi-Fi network and easy access to access. +- `site` - A site with connection statistics +- `wlan` - A wireless network. Control the Wi‑Fi network and provide easy access via QR code. - `wirelessClient` - Any wireless client connected to a UniFi wireless network - `wiredClient` - A wired client connected to the UniFi network - `poePort` - A PoE (Power over Ethernet) port on a UniFi switch @@ -15,29 +15,29 @@ This binding integrates with [Ubiquiti UniFi Networks](https://www.ubnt.com/prod ## Discovery -The binding supports discovery of things connected to a UniFi controller (Bridge). -To discover things start the discovery process manually. +The binding supports discovery of Things connected to a UniFi controller (bridge). +To discover Things, start the discovery process manually. ## Binding Configuration -The binding has no configuration options, all configuration is done at the Bridge and Thing levels. +The binding has no global configuration options; all configuration is done at the bridge and Thing levels. ## Bridge Configuration -You need at least one UniFi Controller (Bridge) for this binding to work. +You need at least one UniFi Controller (bridge) for this binding to work. It requires a network accessible instance of the [Ubiquiti Networks Controller Software](https://www.ubnt.com/download/unifi). The following table describes the Bridge configuration parameters: -| Parameter | Description | Config | Default | -|----------------|-----------------------------------------------------------------------------|--------- |---------| -| host | Hostname of IP address of the UniFi Controller | Required | - | -| port | Port of the UniFi Controller. For UniFi OS, the default port is usually 443 | Required | - | -| unifios | If the UniFi Controller is running on UniFi OS | Required | false | -| username | The username to access the UniFi Controller | Required | - | -| password | The password to access the UniFi Controller | Required | - | -| refresh | Refresh interval in seconds | Optional | 10 | -| timeoutSeconds | Request timeout in seconds. Increase if you experience TimeoutExceptions | Optional | 5 | +| Parameter | Description | Config | Default | +|----------------|------------------------------------------------------------------------------|--------- |---------| +| host | Hostname or IP address of the UniFi Controller | Required | unifi | +| port | Port of the UniFi Controller. On UniFi OS, the default port is typically 443 | Optional | 8443 | +| unifios | Whether the UniFi Controller is running on UniFi OS | Required | false | +| username | The username to access the UniFi Controller | Required | - | +| password | The password to access the UniFi Controller | Required | - | +| refresh | Refresh interval in seconds | Optional | 10 | +| timeoutSeconds | Request timeout in seconds. Increase if you experience timeout exceptions | Optional | 5 | ## Thing Configuration @@ -49,15 +49,15 @@ The following table describes the `site` configuration parameters: | Parameter | Description | Config | Default | | ------------ | -------------------------------------------------------------|--------- | ------- | -| sid | The name, description or id of the site | Required | - | +| sid | The ID, name, or description of the site | Required | - | ### `wlan` The following table describes the `wlan` configuration parameters: -| Parameter | Description | Config | Default | -| ------------ | -------------------------------------------------------------|--------- | ------- | -| wid | The name or id of the WLAN | Required | - | +| Parameter | Description | Config | Default | +| ------------ |----------------------------|--------- | ------- | +| wid | The name or ID of the WLAN | Required | - | ### `wirelessClient` & `wiredClient` @@ -69,7 +69,7 @@ The following table describes the `wirelessClient` & `wiredClient` configuration | site | The site where the client should be found | Optional | - | | considerHome | The interval in seconds to consider the client as home | Optional | 180 | -Here's some additional notes regarding the thing configuration parameters: +Here's some additional notes regarding the Thing configuration parameters: #### `cid` @@ -77,16 +77,16 @@ The `cid` parameter is a universal "client identifier". It accepts the following 1. MAC address [highest priority] 1. IP address - 1. Hostname (as show by the controller) + 1. Hostname (as shown by the controller) 1. Alias (as defined by you in the controller UI) [lowest priority] -The priority essentially means the binding attempts to lookup by MAC address, then by IP address, then by hostname and finally by alias. -Once it finds a matching client, it short circuits and stops searching. -Most of the time, you will simply use the MAC address. +The priority essentially means the binding attempts to look up by MAC address, then by IP address, then by hostname, and finally by alias. +Once it finds a matching client, it short-circuits and stops searching. +Most of the time, you will simply use the MAC address. #### `site` -The `site` parameter is optional. If you leave it blank, the client will appear `ONLINE` if found in _any_ site defined on the controller. +The `site` parameter is optional. If you leave it blank, the client will appear `ONLINE` if found in any site defined on the controller. You may use the `site` parameter as a filter if you only want the client to appear home if it is found in the site defined in the `site` parameter. @@ -95,7 +95,7 @@ Additionally, you may use friendly site names as they appear in the controller U #### `considerHome` The `considerHome` parameter allows you to control how quickly the binding marks a client as away. -For example, using the default of `180` (seconds), the binding will report a client away as soon as `lastSeen` + `180` (seconds) < `now`. +For example, using the default of `180` (seconds), the binding will report a client as away as soon as `lastSeen` + `180` (seconds) < `now`. ### `poePort` @@ -160,22 +160,22 @@ The `wlan` information that is retrieved is available as these channels: | wirelessClients | Number | Number of wireless clients connected | Read | | guestClients | Number | Number of guest clients connected | Read | | essid | String | Wireless Network (ESSID) | Read | -| site | String | UniFi Site the client is associated with | Read | +| site | String | UniFi site the WLAN is associated with | Read | | security | String | Security protocol of the Wi-Fi network | Read | | wlanBand | String | Wireless LAN band of the Wi-Fi network | Read | | wpaEnc | String | WPA Encoding of the Wi-Fi network | Read | | wpaMode | String | WPA Mode of the Wi-Fi network | Read | | passphrase | String | Passphrase of the Wi-Fi network | Read | -| qrcodeEncoding | String | MECARD like encoding to generate a QR Code for easy access to the Wi-Fi network | Read | +| qrcodeEncoding | String | MECARD-like encoding to generate a QR code for easy access to the Wi‑Fi network | Read | ::: warning Attention -If you link an item to the `passphrase` or `qrcodeEncoding` channel your Wi-Fi password will be exposed in openHAB. -The password will also be visible in openHAB event log. +If you link an item to the `passphrase` or `qrcodeEncoding` channel, your Wi‑Fi password will be exposed in openHAB. +The password will also be visible in the openHAB event log. ::: -The `qrcodeEncoding` channel can be used to easily create a QR Code to access, for example, a guest network. -It contains a MECARD like representation of the access. -This is the notation used in QR Codes that can be scanned by mobile phones. +The `qrcodeEncoding` channel can be used to easily create a QR code to access, for example, a guest network. +It contains a MECARD-like representation of the access. +This is the notation used in QR codes that can be scanned by mobile phones. ### `wirelessClient` @@ -274,7 +274,7 @@ The `network` information that is retrieved is available as these channels: ## Rule Actions -As an alternative to using the `guestVoucher` and `guestVouchersGenerate` channels on the `site` thing, it is possible to use rule actions on the thing to generate, revoke and list guest vouchers. +As an alternative to using the `guestVoucher` and `guestVouchersGenerate` channels on the `site` Thing, it is possible to use rule actions on the Thing to generate, revoke and list guest vouchers. The following actions are available: - `boolean success = generateVoucher(Integer expire, Integer users, Integer upLimit, Integer downLimit, Integer dataQuota)` @@ -284,7 +284,7 @@ The following actions are available: - `boolean success = revokeAllVouchers()` - `String vouchers = listVouchers()` -Since there is a separate rule action instance for each `site` thing, this needs to be retrieved through `getActions(scope, thingUID)`. +Since there is a separate rule action instance for each `site` Thing, this needs to be retrieved through `getActions(scope, thingUID)`. The first parameter always has to be `unifi` and the second is the full Thing UID of the site that should be used. Once this action instance is retrieved, you can invoke the action method on it. @@ -351,10 +351,10 @@ Bridge unifi:controller:home "UniFi Controller" [ host="unifi", port=8443, unifi ``` :::tip Note -Usually on Unifi OS, the default port is 443 +On UniFi OS, the default port is typically 443. ::: -Replace `$user`, `$password`, `$cid` and `$sid` accordingly. +Replace `$username`, `$password`, `$cid`, and `$sid` accordingly. ### `items/unifi.items` @@ -366,7 +366,7 @@ String MatthewsPhoneIP "Matthew's iPhone: IP [%s]" String MatthewsPhoneAP "Matthew's iPhone: AP [%s]" { channel="unifi:wirelessClient:home:matthewsPhone:ap" } String MatthewsPhoneESSID "Matthew's iPhone: ESSID [%s]" { channel="unifi:wirelessClient:home:matthewsPhone:essid" } Number:Power MatthewsPhoneRSSI "Matthew's iPhone: RSSI [%d dBm]" { channel="unifi:wirelessClient:home:matthewsPhone:rssi" } -Number:Time MatthewsPhoneUptime "Matthew's iPhone: Uptime [%1$tR]" { channel="unifi:wirelessClient:home:matthewsPhone:uptime" } +Number:Time MatthewsPhoneUptime "Matthew's iPhone: Uptime [%d %unit%]" { channel="unifi:wirelessClient:home:matthewsPhone:uptime" } DateTime MatthewsPhoneLastSeen "Matthew's iPhone: Last Seen [%1$tH:%1$tM:%1$tS]" { channel="unifi:wirelessClient:home:matthewsPhone:lastSeen" } Switch MatthewsPhoneBlocked "Matthew's iPhone: Blocked" { channel="unifi:wirelessClient:home:matthewsPhone:blocked" } Switch MatthewsPhoneReconnect "Matthew's iPhone: Reconnect" { channel="unifi:wirelessClient:home:matthewsPhone:reconnect" } @@ -400,7 +400,7 @@ sitemap unifi label="UniFi Binding" } ``` -### `rule actions` for `site` thing +### `rule actions` for `site` Thing ```java val uniFiActions = getActions("unifi","unifi:site:home:mysite") diff --git a/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/config/config.xml b/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/config/config.xml index b80f3495ec780..60343ec13eb95 100644 --- a/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/config/config.xml +++ b/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/config/config.xml @@ -7,7 +7,7 @@ - Hostname of IP address of the UniFi Controller + Hostname or IP address of the UniFi Controller unifi network-address @@ -60,14 +60,14 @@ - The id or name of the wlan + The ID or name of the WLAN - The MAC address, IP address, hostname or name of the client + The MAC address, IP address, hostname or alias of the client diff --git a/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/i18n/unifi.properties b/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/i18n/unifi.properties index 621a8d25c824b..4eeacb0fbcc90 100644 --- a/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/i18n/unifi.properties +++ b/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/i18n/unifi.properties @@ -38,13 +38,13 @@ thing-type.config.unifi.accessPoint.macAddress.description = The MAC address of thing-type.config.unifi.accessPoint.site.label = Site thing-type.config.unifi.accessPoint.site.description = The site where the access point should be found (optional) thing-type.config.unifi.client.cid.label = Client ID -thing-type.config.unifi.client.cid.description = The MAC address, IP address, hostname or name of the client +thing-type.config.unifi.client.cid.description = The MAC address, IP address, hostname or alias of the client thing-type.config.unifi.client.considerHome.label = Consider Home Interval thing-type.config.unifi.client.considerHome.description = The interval in seconds to consider the client as home thing-type.config.unifi.client.site.label = Site thing-type.config.unifi.client.site.description = The site where the client should be found (optional) thing-type.config.unifi.controller.host.label = Hostname -thing-type.config.unifi.controller.host.description = Hostname of IP address of the UniFi Controller +thing-type.config.unifi.controller.host.description = Hostname or IP address of the UniFi Controller thing-type.config.unifi.controller.password.label = Password thing-type.config.unifi.controller.password.description = The password to access the UniFi Controller. thing-type.config.unifi.controller.port.label = Port @@ -66,7 +66,7 @@ thing-type.config.unifi.poePort.portNumber.description = The number of the port thing-type.config.unifi.site.sid.label = Site Id thing-type.config.unifi.site.sid.description = The id, name or description of the site thing-type.config.unifi.wlan.wid.label = WLAN Id -thing-type.config.unifi.wlan.wid.description = The id or name of the wlan +thing-type.config.unifi.wlan.wid.description = The ID or name of the WLAN # channel types @@ -75,7 +75,7 @@ channel-type.unifi.ap.description = Access Point the wireless client is connecte channel-type.unifi.apEnable.label = Enabled channel-type.unifi.apEnable.description = If the access point is enabled channel-type.unifi.blocked.label = Blocked -channel-type.unifi.blocked.description = Is device blocked +channel-type.unifi.blocked.description = Whether the device is blocked channel-type.unifi.devState.label = Device State channel-type.unifi.devState.description = The state of the device channel-type.unifi.devState.state.option.0 = Offline @@ -93,7 +93,7 @@ channel-type.unifi.essid.description = Wireless Network (ESSID) the wireless cli channel-type.unifi.experience.label = Experience channel-type.unifi.experience.description = The wired/wireless experience of the client channel-type.unifi.guest.label = Guest -channel-type.unifi.guest.description = Is the client connected a guest +channel-type.unifi.guest.description = Whether the client is a guest channel-type.unifi.guestClients.label = Guest Clients channel-type.unifi.guestClients.description = Number of guest clients connected channel-type.unifi.guestVoucher.label = Guest Voucher @@ -144,7 +144,7 @@ channel-type.unifi.purpose.state.option.remote-user-vpn = VPN channel-type.unifi.purpose.state.option.wan = WAN channel-type.unifi.purpose.state.option.vlan-only = VLAN Only channel-type.unifi.qrcodeEncoding.label = QR Code Encoding -channel-type.unifi.qrcodeEncoding.description = MECARD like encoding to generate a QRCode for easy access to the Wi-Fi network +channel-type.unifi.qrcodeEncoding.description = MECARD-like encoding to generate a QR code for easy access to the Wi-Fi network channel-type.unifi.reconnect.label = Reconnect channel-type.unifi.reconnect.description = Forces a client to reconnect channel-type.unifi.rssi.label = Received Signal Strength Indicator @@ -167,7 +167,7 @@ channel-type.unifi.wirelessCmd.command.option.reconnect = Reconnect channel-type.unifi.wlanBand.label = WLAN Band channel-type.unifi.wlanBand.description = Wireless LAN band of the Wi-Fi network channel-type.unifi.wlanEnable.label = Enable -channel-type.unifi.wlanEnable.description = Enable status of the wLAN +channel-type.unifi.wlanEnable.description = Enable status of the WLAN channel-type.unifi.wlanEssid.label = Wireless Network channel-type.unifi.wlanEssid.description = Wireless Network (ESSID) channel-type.unifi.wpaEnc.label = WPA Encoding diff --git a/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/thing/thing-types.xml index 7bed3496eba31..123aa05081088 100644 --- a/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.unifi/src/main/resources/OH-INF/thing/thing-types.xml @@ -256,7 +256,7 @@ Switch - Enable status of the wLAN + Enable status of the WLAN @@ -304,7 +304,7 @@ String - MECARD like encoding to generate a QRCode for easy access to the Wi-Fi network + MECARD-like encoding to generate a QR code for easy access to the Wi-Fi network @@ -395,13 +395,13 @@ Switch - Is device blocked + Whether the device is blocked Switch - Is the client connected a guest + Whether the client is a guest diff --git a/bundles/org.openhab.binding.unifiedremote/README.md b/bundles/org.openhab.binding.unifiedremote/README.md index 41023375897a4..d02343d37f376 100644 --- a/bundles/org.openhab.binding.unifiedremote/README.md +++ b/bundles/org.openhab.binding.unifiedremote/README.md @@ -2,7 +2,7 @@ This binding integrates the [Unified Remote Server](https://www.unifiedremote.com/). -Known Limitations: It needs the web interface to be enabled on the server settings to work. +Known limitation: The web interface must be enabled in the server settings for this binding to work. ## Discovery @@ -10,22 +10,22 @@ Discovery works on the default discovery UDP port 9511. ## Thing Configuration -Only supported thing is 'Unified Remote Server Thing' which requires the Hostname to be correctly configured in order to work. +The only supported Thing is the Unified Remote Server, which requires the hostname to be correctly configured to work. -| ThinTypeID | description | -|----------|------------------------------| -| server | Unified Remote Server Thing | +| ThingTypeID | Description | +|-------------|---------------------------| +| server | Unified Remote Server | -| Config | Type | description | -|----------|----------|------------------------------| -| host | String | Unified Remote Server IP | +| Parameter | Type | Description | +|-----------|--------|-----------------------------------------| +| host | String | Unified Remote Server IP or hostname | ## Channels -| channel | type | description | -|----------|--------|------------------------------| -| mouse-move | String | Relative mouse move in pixels. Expect number JSON array [x,y] ("[10,10]"). | -| send-key | String | Use server key. Supported keys are: LEFT_CLICK, RIGHT_CLICK, LOCK, UNLOCK, SLEEP, SHUTDOWN, RESTART, LOGOFF, PLAY, PLAY, PAUSE, NEXT, PREVIOUS, STOP, VOLUME_MUTE, VOLUME_UP, VOLUME_DOWN, BRIGHTNESS_UP, BRIGHTNESS_DOWN, MONITOR_OFF, MONITOR_ON, ESCAPE, SPACE, BACK, LWIN, CONTROL, TAB, MENU, RETURN, UP, DOWN, LEFT, RIGHT | +| Channel | Type | Description | +|------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| mouse-move | String | Relative mouse movement in pixels. Expects a JSON array of two numbers [x, y], e.g., "[10,10]". | +| send-key | String | Send a server key command. Supported keys: LEFT_CLICK, RIGHT_CLICK, LOCK, UNLOCK, SLEEP, SHUTDOWN, RESTART, LOGOFF, PLAY/PAUSE, NEXT, PREVIOUS, STOP, VOLUME_MUTE, VOLUME_UP, VOLUME_DOWN, BRIGHTNESS_UP, BRIGHTNESS_DOWN, MONITOR_OFF, MONITOR_ON, ESCAPE, SPACE, BACK, LWIN, CONTROL, TAB, MENU, RETURN, UP, DOWN, LEFT, RIGHT | ## Full Example @@ -40,5 +40,5 @@ Thing unifiedremote:server:xx-xx-xx-xx-xx-xx [ host="192.168.1.10" ] ```java Group pcRemote "Living room PC" String PC_SendKey "Send Key" (pcRemote) { channel="unifiedremote:server:xx-xx-xx-xx-xx-xx:send-key" } -String PC_MouseMove "Mouse Move" (pcRemote) { channel="samsungtv:tv:livingroom:mouse-move" } +String PC_MouseMove "Mouse Move" (pcRemote) { channel="unifiedremote:server:xx-xx-xx-xx-xx-xx:mouse-move" } ``` diff --git a/bundles/org.openhab.binding.unifiedremote/src/main/resources/OH-INF/i18n/unifiedremote.properties b/bundles/org.openhab.binding.unifiedremote/src/main/resources/OH-INF/i18n/unifiedremote.properties index a839665f91c4d..fee8abd022b16 100644 --- a/bundles/org.openhab.binding.unifiedremote/src/main/resources/OH-INF/i18n/unifiedremote.properties +++ b/bundles/org.openhab.binding.unifiedremote/src/main/resources/OH-INF/i18n/unifiedremote.properties @@ -11,18 +11,18 @@ thing-type.unifiedremote.server.description = Unified Remote Server Thing for Un # thing types config thing-type.config.unifiedremote.server.host.label = Hostname -thing-type.config.unifiedremote.server.host.description = Unified Remote Server Hostname +thing-type.config.unifiedremote.server.host.description = Hostname or IP address of the Unified Remote Server thing-type.config.unifiedremote.server.tcpPort.label = TCP Port -thing-type.config.unifiedremote.server.tcpPort.description = Unified Remote Server Port TCP +thing-type.config.unifiedremote.server.tcpPort.description = Unified Remote Server TCP port thing-type.config.unifiedremote.server.udpPort.label = UDP Port -thing-type.config.unifiedremote.server.udpPort.description = Unified Remote Server Port UDP +thing-type.config.unifiedremote.server.udpPort.description = Unified Remote Server UDP port # channel types -channel-type.unifiedremote.mouse-move-channel.label = Mouse Move Channel -channel-type.unifiedremote.mouse-move-channel.description = Relative mouse control on the server host -channel-type.unifiedremote.send-key-channel.label = Toggle Key Channel -channel-type.unifiedremote.send-key-channel.description = Toggle Key +channel-type.unifiedremote.mouse-move-channel.label = Mouse Move +channel-type.unifiedremote.mouse-move-channel.description = Relative mouse movement on the server host +channel-type.unifiedremote.send-key-channel.label = Send Key +channel-type.unifiedremote.send-key-channel.description = Send a key command channel-type.unifiedremote.send-key-channel.state.option.LEFT_CLICK = LEFT_CLICK channel-type.unifiedremote.send-key-channel.state.option.RIGHT_CLICK = RIGHT_CLICK channel-type.unifiedremote.send-key-channel.state.option.LOCK = LOCK diff --git a/bundles/org.openhab.binding.unifiedremote/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.unifiedremote/src/main/resources/OH-INF/thing/thing-types.xml index 37ddaf04f8426..6f3ce6b4e70db 100644 --- a/bundles/org.openhab.binding.unifiedremote/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.unifiedremote/src/main/resources/OH-INF/thing/thing-types.xml @@ -17,29 +17,29 @@ network-address - Unified Remote Server Hostname + Hostname or IP address of the Unified Remote Server - Unified Remote Server Port TCP + Unified Remote Server TCP port - Unified Remote Server Port UDP + Unified Remote Server UDP port String - - Relative mouse control on the server host + + Relative mouse movement on the server host String - - Toggle Key + + Send a key command diff --git a/bundles/org.openhab.binding.upb/README.md b/bundles/org.openhab.binding.upb/README.md index c84962ac89fce..09eef1cd92bfc 100644 --- a/bundles/org.openhab.binding.upb/README.md +++ b/bundles/org.openhab.binding.upb/README.md @@ -4,8 +4,8 @@ Universal Powerline Bus (UPB) is a protocol for communication over household ele ## Supported Things -The binding has not yet been tested with a variety of devices, so specific device support is limited. -Instead the binding provides some generic devices, and allows adding channels that match the type of device. +The binding has not yet been tested with a wide variety of devices, so specific device support is limited. +Instead, the binding provides some generic devices and allows adding channels that match the type of device. - `serial-pim` - Serial PIM - `generic` - Generic UPB device @@ -21,7 +21,7 @@ The following binding configuration parameters are supported: | Parameter | Description | Config | Default | | ------------------------ | ---------------------------------------------- |--------- | ------- | -| networkId | Default UPB network ID (0-255) | Optional | - | +| networkId | Default UPB network ID (0–255) | Optional | - | ## Thing Configuration @@ -29,7 +29,7 @@ The following binding configuration parameters are supported: You need a Powerline Interface Module (PIM) for the binding to work. This is a piece of equipment that connects a computer to the powerline. -There are a few different PIM interfaces but this binding only supports serial PIMs. +There are a few different PIM interfaces, but this binding only supports serial PIMs. The `serial-pim` takes the following configuration parameters: @@ -39,7 +39,7 @@ The `serial-pim` takes the following configuration parameters: ### Generic device -The `generic` thing type supports most UPB devices such as dimmers, light switches, +The `generic` Thing type supports most UPB devices such as dimmers, light switches, and appliance modules. It has the following configuration parameters: | Parameter | Description | Config | Default | @@ -52,11 +52,8 @@ and appliance modules. It has the following configuration parameters: The `virtual` pseudo-device does not correspond to any real device on the UPB network. It is nevertheless useful for reading and setting the current scene. The device has two channels, `linkActivated` and `linkDeactivated`. -If a device on the UPB network activates or de-activates a scene by broadcasting a link -activation command, the link ID (or scene number) can be read from -the corresponding channel. -Similarly, updating the channel with a link ID will send out the -corresponding link command on the UPB network. +If a device on the UPB network activates or deactivates a scene by broadcasting a link activation command, the link ID (or scene number) can be read from the corresponding channel. +Similarly, updating the channel with a link ID will send out the corresponding link command on the UPB network. ## Channels @@ -75,7 +72,7 @@ The virtual device supports the `link` channel type: ## Full Example -Here is a sample `.things configuration file: +Here is a sample `.things` configuration file: ```java Bridge upb:serial-pim:pim "UPB PIM" @ "Basement" [port="/dev/ttyUSB0"] { diff --git a/bundles/org.openhab.binding.upnpcontrol/README.md b/bundles/org.openhab.binding.upnpcontrol/README.md index cf15341b93d24..c8b241f2a4a27 100644 --- a/bundles/org.openhab.binding.upnpcontrol/README.md +++ b/bundles/org.openhab.binding.upnpcontrol/README.md @@ -1,4 +1,4 @@ -# UpnpControl Binding +# UPnP Control Binding This binding acts as a UPnP control point to control UPnP AV media servers and media renderers as defined by the [UPnP Forum](https://openconnectivity.org/developer/specifications/upnp-resources/upnp/). It discovers UPnP media servers and renderers in the local network. @@ -16,7 +16,7 @@ Each discovered renderer will also be registered as an openHAB audio sink. ## Supported Things -Two thing types are supported, a server thing, `upnpserver`, and a renderer thing, `upnprenderer`. +Two Thing types are supported, a server Thing, `upnpserver`, and a renderer Thing, `upnprenderer`. The binding has been tested with the AV Media Server and AV Media Renderer from [Intel Developer Tools](https://www.meshcommander.com/upnptools) for UPnP Technology. A second test set included a [TVersity Media Server](http://tversity.com/). @@ -35,11 +35,11 @@ UPnP media servers and media renderers in the network will be discovered automat ## Thing Configuration -Both the `upnprenderer` and `upnpserver` thing require a configuration parameter, `udn` (Universal Device Name). +Both the `upnprenderer` and `upnpserver` Things require a configuration parameter, `udn` (Universal Device Name). This `udn` uniquely defines the UPnP device. -It can be retrieved from the thing ID when using auto discovery. +It can be retrieved from the Thing ID when using auto discovery. -Both also have `refresh` configuration parameter. This parameter defines a polling interval for polling the state of the `upnprenderer` or `upnpserver`. +Both also have a `refresh` configuration parameter. This parameter defines a polling interval for polling the state of the `upnprenderer` or `upnpserver`. The default polling interval is 60s. 0 turns off polling. @@ -107,7 +107,7 @@ The `upnpserver` has the following channels (item type and access mode indicated Search criteria are defined in UPnP search criteria format. Examples: `dc:title contains "song"`, `dc:creator contains "SpringSteen"`, `unp:class = "object.item.audioItem"`, `upnp:album contains "Born in"`. - The search, by default, starts at the value of the `currentid` and searches down from there unless the `searchfromroot` thing configuration parameter is set to `true`. + The search, by default, starts at the value of the `currentid` and searches down from there unless the `searchfromroot` Thing configuration parameter is set to `true`. The result (media and containers) will be available in the `browse` command option list. The `currentid` channel will be put to the id of the top container where the search started. @@ -142,7 +142,7 @@ The `upnpserver` has the following channels (item type and access mode indicated - `DELETE`: delete `playlist` from disk and remove from `playlistselect` command option list. -A number of convenience channels replicate the basic control channels from the `upnprenderer` thing for the currently selected renderer on the `upnprenderer` channel. +A number of convenience channels replicate the basic control channels from the `upnprenderer` Thing for the currently selected renderer on the `upnprenderer` channel. These channels are `volume`, `mute` and `control`. ### `upnprenderer` @@ -162,7 +162,7 @@ The `upnprenderer` has the following default channels: | `favoriteselect` | String | W | play favorite from list of saved favorites | | `favorite` | String | RW | set name for existing of new favorite | | `favoriteaction` | String | W | `SAVE` or `DELETE` `favorite` | -| `playlistselect` | String | W | play playlist from list of saved playlists | +| `playlistselect` | String | W | play playlist from list of saved playlists | | `title` | String | R | media title | | `album` | String | R | media album | | `albumart` | Image | R | image for media album | @@ -175,7 +175,7 @@ The `upnprenderer` has the following default channels: | `trackposition` | Number:Time | RW | current position in track during playback or pause | | `reltrackposition` | Dimmer | RW | current position relative to track duration | -A numer of `upnprenderer` audio control channels may be dynamically created depending on the specific renderer capabilities. +A number of `upnprenderer` audio control channels may be dynamically created depending on the specific renderer capabilities. Examples of these are: | Channel Type ID | Item Type | Access Mode | Description | @@ -197,7 +197,7 @@ It is used for normal playback of a sound or stream. The second audio sink has `-notify` appended to the renderer id for its name, and has a special behavior. This audio sink is used to play notifications. When setting the volume parameter in the `playSound` command, the volume of the renderer will only change for the duration of playing the notification. -The `maxNotificationDuration` configuration parameter of the renderer will limit the notification duration the value of the parameter in seconds. +The `maxNotificationDuration` configuration parameter of the renderer will limit the notification duration to the value of the parameter in seconds. Normal playing will resume after the notification has played or when the maximum notification duration has been reached, whichever happens first. Longer sounds or streams will be cut off. @@ -205,18 +205,18 @@ Longer sounds or streams will be cut off. There are multiple ways to serve content to a renderer for playback. -- Directly provide a URI on the `URI` channel or through `playSound` or `playStream` actions: +- Directly provide a URI on the `uri` channel or through `playSound` or `playStream` actions: Playing will start immediately, interrupting currently playing media. - No metadata for the media is available, therefore will be provided in the media channels for metadata (e.g. `title`, `album`, ...). + No metadata for the media is available; therefore, none will be provided in the media channels for metadata (e.g., `title`, `album`). - Content served from one or multiple `upnpserver` servers: - This is done on the `upnpserver` thing with the `upnprenderer` set the the renderer for playback. + This is done on the `upnpserver` Thing with the `upnprenderer` set to the renderer for playback. The media at any point in time in the `upnpserver browse` option list (result from browse, search or restoring a playlist), will be queued to the `upnprenderer` for playback. Playback does not start automatically if not yet playing. When already playing a queue, the first entry of the new queue will be playing as the next entry. - When playing an URI or media provided through an action, playback will immediately switch to the new queue. + When playing a URI or media provided through an action, playback will immediately switch to the new queue. The `upnprenderer` will use that queue until it is replaced by another queue from the same or another `upnpserver`. Note that querying the content hierarchy on the `upnpserver` will update the `upnpserver browse` option list each time, and therefore the queue on the `upnprenderer` will be updated each time as long as `upnprenderer` is selected on `upnpserver`. @@ -257,8 +257,8 @@ Playing the server queue will resume after playing the favorite. Playlists provide a way to define lists of server content for playback. -A new playlist can be created on a server thing from the selection in the `upnpserver browse` selection list. -When restoring a playlist on the server, the media in the playlist from the `upnpserver` thing used for restoring, will be put in the `upnpserver browse` selection list. +A new playlist can be created on a server Thing from the selection in the `upnpserver browse` selection list. +When restoring a playlist on the server, the media in the playlist from the `upnpserver` Thing used for restoring, will be put in the `upnpserver browse` selection list. The current selection of media playable on the currently selected renderer will automatically be stored as a playlist with name `current`. @@ -308,7 +308,7 @@ BasicUI has a number of limitations that impact the way some of the channels can - The player control in BasicUI does not support fast forward or rewind. -None of these are limitations when using the main UI. +None of these are limitations when using the Main UI. ## Full Example @@ -349,9 +349,9 @@ String Genre "Genre" (MediaRenderer) {channel= Number TrackNumber "Track Number" (MediaRenderer) {channel="upnpcontrol:upnprenderer:mymediarenderer:tracknumber"} Number:Time TrackDuration "Track Duration [%d %unit%]" (MediaRenderer) {channel="upnpcontrol:upnprenderer:mymediarenderer:trackduration"} Number:Time TrackPosition "Track Position [%d %unit%]" (MediaRenderer) {channel="upnpcontrol:upnprenderer:mymediarenderer:trackposition"} -Dimmer RelTrackPosition "Relative Track Position ´[%d %%]" (MediaRenderer) {channel="upnpcontrol:upnprenderer:mymediarenderer:reltrackposition"} +Dimmer RelTrackPosition "Relative Track Position [%d %%]" (MediaRenderer) {channel="upnpcontrol:upnprenderer:mymediarenderer:reltrackposition"} -String Renderer "Renderer [%s]" (MediaServer) {channel="upnpcontrol:upnpserver:mymediaserver:title"} +String Renderer "Renderer [%s]" (MediaServer) {channel="upnpcontrol:upnpserver:mymediaserver:upnprenderer"} String CurrentTitle "Current Entry [%s]" (MediaServer) {channel="upnpcontrol:upnpserver:mymediaserver:currenttitle"} String Browse "Browse" (MediaServer) {channel="upnpcontrol:upnpserver:mymediaserver:browse"} String Search "Search" (MediaServer) {channel="upnpcontrol:upnpserver:mymediaserver:search"} diff --git a/bundles/org.openhab.binding.upnpcontrol/src/main/resources/OH-INF/addon/addon.xml b/bundles/org.openhab.binding.upnpcontrol/src/main/resources/OH-INF/addon/addon.xml index 3de9973a316fb..68a70fb959abe 100644 --- a/bundles/org.openhab.binding.upnpcontrol/src/main/resources/OH-INF/addon/addon.xml +++ b/bundles/org.openhab.binding.upnpcontrol/src/main/resources/OH-INF/addon/addon.xml @@ -11,7 +11,7 @@ - Folder path for playlists and favourites. If not set, it will default to $OPENHAB_USERDATA/upnpcontrol. + Folder path for playlists and favorites. If not set, it will default to $OPENHAB_USERDATA/upnpcontrol. The folder will be created on first use when it does not exist. diff --git a/bundles/org.openhab.binding.upnpcontrol/src/main/resources/OH-INF/i18n/upnpcontrol.properties b/bundles/org.openhab.binding.upnpcontrol/src/main/resources/OH-INF/i18n/upnpcontrol.properties index aed094ee26b87..6746edc8662b3 100644 --- a/bundles/org.openhab.binding.upnpcontrol/src/main/resources/OH-INF/i18n/upnpcontrol.properties +++ b/bundles/org.openhab.binding.upnpcontrol/src/main/resources/OH-INF/i18n/upnpcontrol.properties @@ -6,7 +6,7 @@ addon.upnpcontrol.description = This binding acts as a UPnP Control Point that c # add-on config addon.config.upnpcontrol.path.label = Storage Path -addon.config.upnpcontrol.path.description = Folder path for playlists and favourites. If not set, it will default to $OPENHAB_USERDATA/upnpcontrol. The folder will be created on first use when it does not exist. +addon.config.upnpcontrol.path.description = Folder path for playlists and favorites. If not set, it will default to $OPENHAB_USERDATA/upnpcontrol. The folder will be created on first use when it does not exist. # thing types @@ -18,7 +18,7 @@ thing-type.upnpcontrol.upnpserver.description = UPnP AV Server # thing types config thing-type.config.upnpcontrol.upnprenderer.maxNotificationDuration.label = Maximum Notification Duration -thing-type.config.upnpcontrol.upnprenderer.maxNotificationDuration.description = Specifies the maximum duration for notifications, longer notification sounds will be interrupted. O represents no maximum duration +thing-type.config.upnpcontrol.upnprenderer.maxNotificationDuration.description = Specifies the maximum duration for notifications; longer sounds will be interrupted. 0 represents no maximum duration thing-type.config.upnpcontrol.upnprenderer.notificationVolumeAdjustment.label = Notification Sound Volume Adjustment thing-type.config.upnpcontrol.upnprenderer.notificationVolumeAdjustment.description = Specifies the percentage adjustment to the current sound volume when playing notifications thing-type.config.upnpcontrol.upnprenderer.refresh.label = Refresh Interval @@ -26,7 +26,7 @@ thing-type.config.upnpcontrol.upnprenderer.refresh.description = Specifies the r thing-type.config.upnpcontrol.upnprenderer.responseTimeout.label = UPnP Response Timeout thing-type.config.upnpcontrol.upnprenderer.responseTimeout.description = Specifies the timeout in milliseconds when waiting for responses on UPnP actions thing-type.config.upnpcontrol.upnprenderer.seekStep.label = Fast Forward/Rewind Step -thing-type.config.upnpcontrol.upnprenderer.seekStep.description = Step in seconds for fast forward rewind +thing-type.config.upnpcontrol.upnprenderer.seekStep.description = Step in seconds for fast forward/rewind thing-type.config.upnpcontrol.upnprenderer.udn.label = Unique Device Name thing-type.config.upnpcontrol.upnprenderer.udn.description = The UDN identifies the UPnP Renderer thing-type.config.upnpcontrol.upnpserver.browseDown.label = Auto Browse Down @@ -44,121 +44,14 @@ thing-type.config.upnpcontrol.upnpserver.sortCriteria.description = Sort criteri thing-type.config.upnpcontrol.upnpserver.udn.label = Unique Device Name thing-type.config.upnpcontrol.upnpserver.udn.description = The UDN identifies the UPnP Media Server -# dynamic channels - -channel.upnpcontrol.lfvolume.label = Left Front Volume -channel.upnpcontrol.lfvolume.description = Left front volume, will be left volume with stereo sound -channel.upnpcontrol.rfvolume.label = Right Front Volume -channel.upnpcontrol.rfvolume.description = Right front volume, will be right volume with stereo sound -channel.upnpcontrol.cfvolume.label = Center Front Volume -channel.upnpcontrol.cfvolume.description = Center front volume -channel.upnpcontrol.lfevolume.label = Low Frequency Enhancement Volume -channel.upnpcontrol.lfevolume.description = Low frequency enhancement volume (subwoofer) -channel.upnpcontrol.lsvolume.label = Left Surround Volume -channel.upnpcontrol.lsvolume.description = Left surround volume -channel.upnpcontrol.rsvolume.label = Right Surround Volume -channel.upnpcontrol.rsvolume.description = Right surround volume -channel.upnpcontrol.lfcvolume.label = Left of Center Volume -channel.upnpcontrol.lfcvolume.description = Left of center (in front) volume -channel.upnpcontrol.rfcvolume.label = Right of Center Volume -channel.upnpcontrol.rfcvolume.description = Right of center (in front) volume -channel.upnpcontrol.sdvolume.label = Surround Volume -channel.upnpcontrol.sdvolume.description = Surround (rear) volume -channel.upnpcontrol.slvolume.label = Side Left Volume -channel.upnpcontrol.slvolume.description = Side left (left wall) volume -channel.upnpcontrol.srvolume.label = Side Right Volume -channel.upnpcontrol.srvolume.description = Side right (right wall) volume -channel.upnpcontrol.tvolume.label = Top Volume -channel.upnpcontrol.tvolume.description = Top (overhead) volume -channel.upnpcontrol.bvolume.label = Bottom Volume -channel.upnpcontrol.bvolume.description = Bottom volume -channel.upnpcontrol.bcvolume.label = Back Center Volume -channel.upnpcontrol.bcvolume.description = Back center volume -channel.upnpcontrol.blvolume.label = Back Left Volume -channel.upnpcontrol.blvolume.description = Back left volume -channel.upnpcontrol.brvolume.label = Back Right Volume -channel.upnpcontrol.brvolume.description = Back right volume -channel.upnpcontrol.vendorvolume.label = {0} Volume -channel.upnpcontrol.vendorvolume.description = Vendor specific UPnP volume channel - -channel.upnpcontrol.lfmute.label = Left Front Mute -channel.upnpcontrol.lfmute.description = Left front mute, will be left mute with stereo sound -channel.upnpcontrol.rfmute.label = Right Front Mute -channel.upnpcontrol.rfmute.description = Right front mute, will be right mute with stereo sound -channel.upnpcontrol.cfmute.label = Center Front Mute -channel.upnpcontrol.cfmute.description = Center front mute -channel.upnpcontrol.lfemute.label = Low Frequency Enhancement Mute -channel.upnpcontrol.lfemute.description = Low frequency enhancement mute (subwoofer) -channel.upnpcontrol.lsmute.label = Left Surround Mute -channel.upnpcontrol.lsmute.description = Left surround mute -channel.upnpcontrol.rsmute.label = Right Surround Mute -channel.upnpcontrol.rsmute.description = Right surround mute -channel.upnpcontrol.lfcmute.label = Left of Center Mute -channel.upnpcontrol.lfcmute.description = Left of center (in front) mute -channel.upnpcontrol.rfcmute.label = Right of Center Mute -channel.upnpcontrol.rfcmute.description = Right of center (in front) mute -channel.upnpcontrol.sdmute.label = Surround Mute -channel.upnpcontrol.sdmute.description = Surround (rear) mute -channel.upnpcontrol.slmute.label = Side Left Mute -channel.upnpcontrol.slmute.description = Side left (left wall) mute -channel.upnpcontrol.srmute.label = Side Right Mute -channel.upnpcontrol.srmute.description = Side right (right wall) mute -channel.upnpcontrol.tmute.label = Top Mute -channel.upnpcontrol.tmute.description = Top (overhead) mute -channel.upnpcontrol.bmute.label = Bottom Mute -channel.upnpcontrol.bmute.description = Bottom mute -channel.upnpcontrol.bcmute.label = Back Center Mute -channel.upnpcontrol.bcmute.description = Back center mute -channel.upnpcontrol.blmute.label = Back Left Mute -channel.upnpcontrol.blmute.description = Back left mute -channel.upnpcontrol.brmute.label = Back Right Mute -channel.upnpcontrol.brmute.description = Back right mute -channel.upnpcontrol.vendormute.label = {0} Mute -channel.upnpcontrol.vendormute.description = Vendor specific UPnP mute channel - -channel.upnpcontrol.lfloudness.label = Left Front Loudness -channel.upnpcontrol.lfloudness.description = Left front loudness, will be left loudness with stereo sound -channel.upnpcontrol.rfloudness.label = Right Front Loudness -channel.upnpcontrol.rfloudness.description = Right front loudness, will be right loudness with stereo sound -channel.upnpcontrol.cfloudness.label = Center Front Loudness -channel.upnpcontrol.cfloudness.description = Center front loudness -channel.upnpcontrol.lfeloudness.label = Low Frequency Enhancement Loudness -channel.upnpcontrol.lfeloudness.description = Low frequency enhancement loudness (subwoofer) -channel.upnpcontrol.lsloudness.label = Left Surround Loudness -channel.upnpcontrol.lsloudness.description = Left surround loudness -channel.upnpcontrol.rsloudness.label = Right Surround Loudness -channel.upnpcontrol.rsloudness.description = Right surround loudness -channel.upnpcontrol.lfcloudness.label = Left of Center Loudness -channel.upnpcontrol.lfcloudness.description = Left of center (in front) loudness -channel.upnpcontrol.rfcloudness.label = Right of Center Loudness -channel.upnpcontrol.rfcloudness.description = Right of center (in front) loudness -channel.upnpcontrol.sdloudness.label = Surround Loudness -channel.upnpcontrol.sdloudness.description = Surround (rear) loudness -channel.upnpcontrol.slloudness.label = Side Left Loudness -channel.upnpcontrol.slloudness.description = Side left (left wall) loudness -channel.upnpcontrol.srloudness.label = Side Right Loudness -channel.upnpcontrol.srloudness.description = Side right (right wall) loudness -channel.upnpcontrol.tloudness.label = Top Loudness -channel.upnpcontrol.tloudness.description = Top (overhead) loudness -channel.upnpcontrol.bloudness.label = Bottom Loudness -channel.upnpcontrol.bloudness.description = Bottom loudness -channel.upnpcontrol.bcloudness.label = Back Center Loudness -channel.upnpcontrol.bcloudness.description = Back center loudness -channel.upnpcontrol.blloudness.label = Back Left Loudness -channel.upnpcontrol.blloudness.description = Back left loudness -channel.upnpcontrol.brloudness.label = Back Right Loudness -channel.upnpcontrol.brloudness.description = Back right loudness -channel.upnpcontrol.vendorloudness.label = {0} Loudness -channel.upnpcontrol.vendorloudness.description = Vendor specific UPnP loudness channel - # channel types channel-type.upnpcontrol.album.label = Album channel-type.upnpcontrol.album.description = Now playing album channel-type.upnpcontrol.albumart.label = Album Art channel-type.upnpcontrol.albumart.description = Now playing album art -channel-type.upnpcontrol.browse.label = Current Media Id -channel-type.upnpcontrol.browse.description = Current id of media entry or container, option list to browse hierarchy +channel-type.upnpcontrol.browse.label = Current Media ID +channel-type.upnpcontrol.browse.description = Current ID of media entry or container; option list to browse hierarchy channel-type.upnpcontrol.creator.label = Creator channel-type.upnpcontrol.creator.description = Now playing creator channel-type.upnpcontrol.favorite.label = Favorite @@ -192,7 +85,7 @@ channel-type.upnpcontrol.reltrackposition.description = Track position as percen channel-type.upnpcontrol.repeat.label = Repeat channel-type.upnpcontrol.repeat.description = Repeat the selection channel-type.upnpcontrol.search.label = Search Criteria -channel-type.upnpcontrol.search.description = Search criteria for searching the directory. Search criteria are defined in UPnP search criteria format. Examples: dc:title contains "song", dc:creator contains "SpringSteen", unp:class = "object.item.audioItem", upnp:album contains "Born in" +channel-type.upnpcontrol.search.description = Search criteria for searching the directory. Search criteria are defined in UPnP search criteria format. Examples: dc:title contains "song", dc:creator contains "Springsteen", upnp:class = "object.item.audioItem", upnp:album contains "Born in" channel-type.upnpcontrol.shuffle.label = Shuffle channel-type.upnpcontrol.shuffle.description = Random shuffle the selection channel-type.upnpcontrol.stop.label = Stop @@ -208,6 +101,111 @@ channel-type.upnpcontrol.upnprenderer.description = Select AV renderer channel-type.upnpcontrol.uri.label = URI channel-type.upnpcontrol.uri.description = Now playing URI +# dynamic channels + +channel.upnpcontrol.lfloudness.label = Left Front Loudness +channel.upnpcontrol.lfloudness.description = Left front loudness, will be left loudness with stereo sound +channel.upnpcontrol.rfloudness.label = Right Front Loudness +channel.upnpcontrol.rfloudness.description = Right front loudness, will be right loudness with stereo sound +channel.upnpcontrol.cfloudness.label = Center Front Loudness +channel.upnpcontrol.cfloudness.description = Center front loudness +channel.upnpcontrol.lfeloudness.label = Low Frequency Enhancement Loudness +channel.upnpcontrol.lfeloudness.description = Low frequency enhancement loudness (subwoofer) +channel.upnpcontrol.lsloudness.label = Left Surround Loudness +channel.upnpcontrol.lsloudness.description = Left surround loudness +channel.upnpcontrol.rsloudness.label = Right Surround Loudness +channel.upnpcontrol.rsloudness.description = Right surround loudness +channel.upnpcontrol.lfcloudness.label = Left of Center Loudness +channel.upnpcontrol.lfcloudness.description = Left of center (in front) loudness +channel.upnpcontrol.rfcloudness.label = Right of Center Loudness +channel.upnpcontrol.rfcloudness.description = Right of center (in front) loudness +channel.upnpcontrol.sdloudness.label = Surround Loudness +channel.upnpcontrol.sdloudness.description = Surround (rear) loudness +channel.upnpcontrol.slloudness.label = Side Left Loudness +channel.upnpcontrol.slloudness.description = Side left (left wall) loudness +channel.upnpcontrol.srloudness.label = Side Right Loudness +channel.upnpcontrol.srloudness.description = Side right (right wall) loudness +channel.upnpcontrol.tloudness.label = Top Loudness +channel.upnpcontrol.tloudness.description = Top (overhead) loudness +channel.upnpcontrol.bloudness.label = Bottom Loudness +channel.upnpcontrol.bloudness.description = Bottom loudness +channel.upnpcontrol.bcloudness.label = Back Center Loudness +channel.upnpcontrol.bcloudness.description = Back center loudness +channel.upnpcontrol.blloudness.label = Back Left Loudness +channel.upnpcontrol.blloudness.description = Back left loudness +channel.upnpcontrol.brloudness.label = Back Right Loudness +channel.upnpcontrol.brloudness.description = Back right loudness +channel.upnpcontrol.vendorloudness.label = {0} Loudness +channel.upnpcontrol.vendorloudness.description = Vendor specific UPnP loudness channel +channel.upnpcontrol.lfmute.label = Left Front Mute +channel.upnpcontrol.lfmute.description = Left front mute, will be left mute with stereo sound +channel.upnpcontrol.rfmute.label = Right Front Mute +channel.upnpcontrol.rfmute.description = Right front mute, will be right mute with stereo sound +channel.upnpcontrol.cfmute.label = Center Front Mute +channel.upnpcontrol.cfmute.description = Center front mute +channel.upnpcontrol.lfemute.label = Low Frequency Enhancement Mute +channel.upnpcontrol.lfemute.description = Low frequency enhancement mute (subwoofer) +channel.upnpcontrol.lsmute.label = Left Surround Mute +channel.upnpcontrol.lsmute.description = Left surround mute +channel.upnpcontrol.rsmute.label = Right Surround Mute +channel.upnpcontrol.rsmute.description = Right surround mute +channel.upnpcontrol.lfcmute.label = Left of Center Mute +channel.upnpcontrol.lfcmute.description = Left of center (in front) mute +channel.upnpcontrol.rfcmute.label = Right of Center Mute +channel.upnpcontrol.rfcmute.description = Right of center (in front) mute +channel.upnpcontrol.sdmute.label = Surround Mute +channel.upnpcontrol.sdmute.description = Surround (rear) mute +channel.upnpcontrol.slmute.label = Side Left Mute +channel.upnpcontrol.slmute.description = Side left (left wall) mute +channel.upnpcontrol.srmute.label = Side Right Mute +channel.upnpcontrol.srmute.description = Side right (right wall) mute +channel.upnpcontrol.tmute.label = Top Mute +channel.upnpcontrol.tmute.description = Top (overhead) mute +channel.upnpcontrol.bmute.label = Bottom Mute +channel.upnpcontrol.bmute.description = Bottom mute +channel.upnpcontrol.bcmute.label = Back Center Mute +channel.upnpcontrol.bcmute.description = Back center mute +channel.upnpcontrol.blmute.label = Back Left Mute +channel.upnpcontrol.blmute.description = Back left mute +channel.upnpcontrol.brmute.label = Back Right Mute +channel.upnpcontrol.brmute.description = Back right mute +channel.upnpcontrol.vendormute.label = {0} Mute +channel.upnpcontrol.vendormute.description = Vendor specific UPnP mute channel +channel.upnpcontrol.lfvolume.label = Left Front Volume +channel.upnpcontrol.lfvolume.description = Left front volume, will be left volume with stereo sound +channel.upnpcontrol.rfvolume.label = Right Front Volume +channel.upnpcontrol.rfvolume.description = Right front volume, will be right volume with stereo sound +channel.upnpcontrol.cfvolume.label = Center Front Volume +channel.upnpcontrol.cfvolume.description = Center front volume +channel.upnpcontrol.lfevolume.label = Low Frequency Enhancement Volume +channel.upnpcontrol.lfevolume.description = Low frequency enhancement volume (subwoofer) +channel.upnpcontrol.lsvolume.label = Left Surround Volume +channel.upnpcontrol.lsvolume.description = Left surround volume +channel.upnpcontrol.rsvolume.label = Right Surround Volume +channel.upnpcontrol.rsvolume.description = Right surround volume +channel.upnpcontrol.lfcvolume.label = Left of Center Volume +channel.upnpcontrol.lfcvolume.description = Left of center (in front) volume +channel.upnpcontrol.rfcvolume.label = Right of Center Volume +channel.upnpcontrol.rfcvolume.description = Right of center (in front) volume +channel.upnpcontrol.sdvolume.label = Surround Volume +channel.upnpcontrol.sdvolume.description = Surround (rear) volume +channel.upnpcontrol.slvolume.label = Side Left Volume +channel.upnpcontrol.slvolume.description = Side left (left wall) volume +channel.upnpcontrol.srvolume.label = Side Right Volume +channel.upnpcontrol.srvolume.description = Side right (right wall) volume +channel.upnpcontrol.tvolume.label = Top Volume +channel.upnpcontrol.tvolume.description = Top (overhead) volume +channel.upnpcontrol.bvolume.label = Bottom Volume +channel.upnpcontrol.bvolume.description = Bottom volume +channel.upnpcontrol.bcvolume.label = Back Center Volume +channel.upnpcontrol.bcvolume.description = Back center volume +channel.upnpcontrol.blvolume.label = Back Left Volume +channel.upnpcontrol.blvolume.description = Back left volume +channel.upnpcontrol.brvolume.label = Back Right Volume +channel.upnpcontrol.brvolume.description = Back right volume +channel.upnpcontrol.vendorvolume.label = {0} Volume +channel.upnpcontrol.vendorvolume.description = Vendor specific UPnP volume channel + # thing status messages offline.no-udn = No UDN configured for {0} diff --git a/bundles/org.openhab.binding.upnpcontrol/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.upnpcontrol/src/main/resources/OH-INF/thing/thing-types.xml index 70db520edcf37..0e22f00c0b97f 100644 --- a/bundles/org.openhab.binding.upnpcontrol/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.upnpcontrol/src/main/resources/OH-INF/thing/thing-types.xml @@ -57,13 +57,13 @@ - Specifies the maximum duration for notifications, longer notification sounds will be interrupted. O - represents no maximum duration + Specifies the maximum duration for notifications; longer sounds will be interrupted. 0 represents no + maximum duration 15 - Step in seconds for fast forward rewind + Step in seconds for fast forward/rewind 5 @@ -321,14 +321,14 @@ String - - Current id of media entry or container, option list to browse hierarchy + + Current ID of media entry or container; option list to browse hierarchy String Search criteria for searching the directory. Search criteria are defined in UPnP search criteria format. - Examples: dc:title contains "song", dc:creator contains "SpringSteen", unp:class = "object.item.audioItem", + Examples: dc:title contains "song", dc:creator contains "Springsteen", upnp:class = "object.item.audioItem", upnp:album contains "Born in" diff --git a/bundles/org.openhab.binding.urtsi/README.md b/bundles/org.openhab.binding.urtsi/README.md index e40d74c802e71..ed7b7a5f19c62 100644 --- a/bundles/org.openhab.binding.urtsi/README.md +++ b/bundles/org.openhab.binding.urtsi/README.md @@ -1,17 +1,17 @@ # Somfy URTSI II Binding -The addressable Universal RTS Interface II (URTSI II) can be used to communicate between home automation or other third party systems and SOMFY’s RTS Motors and controls. +The addressable Universal RTS Interface II (URTSI II) can be used to communicate between home automation or other third-party systems and Somfy’s RTS motors and controls. It is capable of individual or group control, and can be operated via infrared remote, RS232 and RS485 serial communication. Once an input is activated, an RTS radio command is sent to the automated window treatment. -The binding supports the RS232 communication. +The binding supports RS‑232 communication. ## Supported Things -There are two supported things: +There are two supported Things: -- URTSI II Device: Bridge -- RTS Device (e.g. Rollershutter): Thing +- URTSI II device: Bridge +- RTS device (e.g., roller shutter): Thing ## Discovery @@ -19,15 +19,15 @@ Discovery is not supported. ## Thing Configuration -### URTSI II Device +### URTSI II device -- Port: The port which is used to access the device (e.g. /dev/ttyUSB0) -- Command execution interval: The time (in ms) the binding should wait between sending commands to the device +- Port: The port used to access the device (e.g., /dev/ttyUSB0) +- Command execution interval: The time in milliseconds the binding waits between sending commands to the device -### RTS Device (e.g. rollershutter) +### RTS device (e.g., roller shutter) -- Channel: The URTSI II channel the RTS device is assigned to at URTSI II. +- Channel: The URTSI II channel the RTS device is assigned to on the URTSI II. ## Channels -- Position: Change the position of a device. This is used in order to interact with the device (move it up, down or stop). +- Position: Change the position of a device. This is used to interact with the device (move it up, down, or stop). diff --git a/bundles/org.openhab.binding.urtsi/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.urtsi/src/main/resources/OH-INF/thing/thing-types.xml index ccce865135c1f..f9ed065effc92 100644 --- a/bundles/org.openhab.binding.urtsi/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.urtsi/src/main/resources/OH-INF/thing/thing-types.xml @@ -17,7 +17,7 @@ false @text/urtsiDevicePortDescription - + @text/urtsiDeviceCommandIntervalDescription 100 @@ -35,7 +35,7 @@ - + @text/rtsDeviceChannelDescription diff --git a/bundles/org.openhab.binding.valloxmv/README.md b/bundles/org.openhab.binding.valloxmv/README.md index 7ef9fdfb663a2..01738abfc2b04 100644 --- a/bundles/org.openhab.binding.valloxmv/README.md +++ b/bundles/org.openhab.binding.valloxmv/README.md @@ -1,69 +1,72 @@ # ValloxMV Binding -This binding is designed to connect to the web interface of Vallox MV series of ventilation unit. -It has been tested so far only with Vallox 350 MV and 510 MV. +This binding connects to the web interface of the Vallox MV series of ventilation units. +It has been tested so far with Vallox 350 MV and 510 MV. ## Supported Things -There is one thing (valloxmv) supporting the connection via the web interface of the Vallox MV. There is NO support of former modbus connected devices. +There is one Thing type (`valloxmv`) supporting the connection via the web interface of the Vallox MV. +There is no support for earlier Modbus-connected devices. ## Discovery -This binding does not support any discovery, IP address has to be provided. +This binding does not support discovery; you must provide the IP address. ## Thing Configuration -The Thing needs the information at which IP the web interface could be reached and how often the values should be updated. -Minimum update interval is limited to 15 sec in order to avoid polling again before results have been evaluated. +The Thing needs the IP/hostname of the web interface and how often values should be updated. +The minimum update interval is 15 seconds to avoid polling again before results have been evaluated. -| Config | Description | Type | Default | -| :-------------------- |:------------------------------------------------------|:-----:|:-------:| -| ip | IP address of web interface |string | n/a | -| updateinterval | Interval in seconds in which the interface is polled |int | 60 | +| Config | Description | Type | Default | +|----------------|------------------------------------|--------|---------| +| ip | IP/hostname of the web interface | string | n/a | +| updateinterval | Poll interval in seconds (min. 15) | int | 60 | ## Channels Overview of provided channels -| Channel ID | Vallox Name | Description | Read/Write | Values | -| :------------------------- | :--------------------------- |:-----------------------------------|:-:|:----------------------:| -| onoff | A_CYC_MODE | On off switch |rw| On/Off | -| state | _several_ | Current state of ventilation unit |rw| 1=FIREPLACE, 2=AWAY, 3=ATHOME, 4=BOOST | -| fanspeed | A_CYC_FAN_SPEED | Fan speed |r | 0 - 100 (%) | -| fanspeedextract | A_CYC_EXTR_FAN_SPEED | Fan speed of extracting fan |r | 1/min | -| fanspeedsupply | A_CYC_SUPP_FAN_SPEED | Fan speed of supplying fan |r | 1/min | -| tempinside | A_CYC_TEMP_EXTRACT_AIR | Extracted air temp |r | Number (°C) | -| tempoutside | A_CYC_TEMP_OUTDOOR_AIR | Outside air temp |r | Number (°C) | -| tempexhaust | A_CYC_TEMP_EXHAUST_AIR | Exhausted air temp |r | Number (°C) | -| tempincomingbeforeheating | A_CYC_TEMP_SUPPLY_CELL_AIR | Incoming air temp (pre heating) |r | Number (°C) | -| tempincoming | A_CYC_TEMP_SUPPLY_AIR | Incoming air temp |r | Number (°C) | -| humidity | A_CYC_RH_VALUE | Extracted air humidity |r | 0 - 100 (%) | -| cellstate | A_CYC_CELL_STATE | Current cell state |r | 0=heat recovery, 1=cool recovery, 2=bypass, 3=defrosting | -| uptimeyears | A_CYC_TOTAL_UP_TIME_YEARS | Total uptime years |r | Y | -| uptimehours | A_CYC_TOTAL_UP_TIME_HOURS | Total uptime hours |r | h | -| uptimehourscurrent | A_CYC_CURRENT_UP_TIME_HOURS | Current uptime in hours |r | h | -| filterchangeddate | A\_CYC\_FILTER\_CHANGED\_DAY/MONTH/YEAR | Last filter change |r | date | -| remainingfilterdays | A_CYC_CURRENT_UP_TIME_HOURS | Days until filter change |r | d | -| extrfanbalancebase | A_CYC_EXTR_FAN_BALANCE_BASE | Extract fan base speed |rw| 0 - 100 (%) | -| suppfanbalancebase | A_CYC_SUPP_FAN_BALANCE_BASE | Supply fan base speed |rw| 0 - 100 (%) | -| homespeedsetting | A_CYC_HOME_SPEED_SETTING | Home fan speed |rw| 0 - 100 (%) | -| awayspeedsetting | A_CYC_AWAY_SPEED_SETTING | Away fan speed |rw| 0 - 100 (%) | -| boostspeedsetting | A_CYC_BOOST_SPEED_SETTING | Boost fan speed |rw| 0 - 100 (%) | -| homeairtemptarget | A_CYC_HOME_AIR_TEMP_TARGET | Target temperature in home state |rw| Number (°C) | -| awayairtemptarget | A_CYC_AWAY_AIR_TEMP_TARGET | Target temperature in away state |rw| Number (°C) | -| boostairtemptarget | A_CYC_BOOST_AIR_TEMP_TARGET | Target temperature in boost state |rw| Number (°C) | -| boosttime | A_CYC_BOOST_TIME | Timer value in boost profile |rw| 1 - 65535 (min) | -| boosttimerenabled | A_CYC_BOOST_TIMER_ENABLED | Timer enabled setting in boost profile |rw| On/Off | -| fireplaceextrfan | A_CYC_FIREPLACE_EXTR_FAN | Fireplace profile extract fan speed |rw| 0 - 100 (%) | -| fireplacesuppfan | A_CYC_FIREPLACE_SUPP_FAN | Fireplace profile supply fan speed |rw| 0 - 100 (%) | -| fireplacetime | A_CYC_FIREPLACE_TIME | Timer value in fireplace profile |rw| 1 - 65535 (min) | -| fireplacetimerenabled | A_CYC_FIREPLACE_TIMER_ENABLED | Timer enabled setting in fireplace profile |rw| On/Off | -| extraairtemptarget | A_CYC_EXTRA_AIR_TEMP_TARGET | Target temperature in extra profile |rw| Number (°C) | -| extraextrfan | A_CYC_EXTRA_EXTR_FAN | Extra profile extract fan speed |rw| 0 - 100 (%) | -| extrasuppfan | A_CYC_EXTRA_EXTR_FAN | Extra profile supply fan speed |rw| 0 - 100 (%) | -| extratime | A_CYC_EXTRA_TIME | Timer value in extra profile |rw| 1 - 65535 (min) | -| extratimerenabled | A_CYC_EXTRA_TIMER_ENABLED | Timer enabled setting in extra profile |rw| On/Off | -| weeklytimerenabled | A_CYC_WEEKLY_TIMER_ENABLED | Weekly timer enabled setting |rw| On/Off | +| Channel ID | Vallox Name | Description | Read/Write | Values | +|---------------------------|-----------------------------------------|--------------------------------------------|------------|----------------------------------------------------------| +| onoff | A_CYC_MODE | On/off switch | rw | On/Off | +| state | _several_ | Current state of ventilation unit | rw | 1=FIREPLACE, 2=AWAY, 3=ATHOME, 4=BOOST | +| fanspeed | A_CYC_FAN_SPEED | Fan speed | r | 0 - 100 (%) | +| fanspeedextract | A_CYC_EXTR_FAN_SPEED | Fan speed of extracting fan | r | 1/min | +| fanspeedsupply | A_CYC_SUPP_FAN_SPEED | Fan speed of supplying fan | r | 1/min | +| tempinside | A_CYC_TEMP_EXTRACT_AIR | Extracted air temp | r | Number (°C) | +| tempoutside | A_CYC_TEMP_OUTDOOR_AIR | Outside air temp | r | Number (°C) | +| tempexhaust | A_CYC_TEMP_EXHAUST_AIR | Exhausted air temp | r | Number (°C) | +| tempincomingbeforeheating | A_CYC_TEMP_SUPPLY_CELL_AIR | Incoming air temp (pre heating) | r | Number (°C) | +| tempincoming | A_CYC_TEMP_SUPPLY_AIR | Incoming air temp | r | Number (°C) | +| humidity | A_CYC_RH_VALUE | Extracted air humidity | r | 0 - 100 (%) | +| cellstate | A_CYC_CELL_STATE | Current cell state | r | 0=heat recovery, 1=cool recovery, 2=bypass, 3=defrosting | +| uptimeyears | A_CYC_TOTAL_UP_TIME_YEARS | Total uptime years | r | Y | +| uptimehours | A_CYC_TOTAL_UP_TIME_HOURS | Total uptime hours | r | h | +| uptimehourscurrent | A_CYC_CURRENT_UP_TIME_HOURS | Current uptime in hours | r | h | +| filterchangeddate | A\_CYC\_FILTER\_CHANGED\_DAY/MONTH/YEAR | Last filter change | r | date | +| remainingfilterdays | A_CYC_CURRENT_UP_TIME_HOURS | Days until filter change | r | d | +| extrfanbalancebase | A_CYC_EXTR_FAN_BALANCE_BASE | Extract fan base speed | rw | 0 - 100 (%) | +| suppfanbalancebase | A_CYC_SUPP_FAN_BALANCE_BASE | Supply fan base speed | rw | 0 - 100 (%) | +| homespeedsetting | A_CYC_HOME_SPEED_SETTING | Home fan speed | rw | 0 - 100 (%) | +| awayspeedsetting | A_CYC_AWAY_SPEED_SETTING | Away fan speed | rw | 0 - 100 (%) | +| boostspeedsetting | A_CYC_BOOST_SPEED_SETTING | Boost fan speed | rw | 0 - 100 (%) | +| homeairtemptarget | A_CYC_HOME_AIR_TEMP_TARGET | Target temperature in home state | rw | Number (°C) | +| awayairtemptarget | A_CYC_AWAY_AIR_TEMP_TARGET | Target temperature in away state | rw | Number (°C) | +| boostairtemptarget | A_CYC_BOOST_AIR_TEMP_TARGET | Target temperature in boost state | rw | Number (°C) | +| boosttime | A_CYC_BOOST_TIME | Timer value in boost profile | rw | 1 - 65535 (min) | +| boosttimerenabled | A_CYC_BOOST_TIMER_ENABLED | Timer enabled setting in boost profile | rw | On/Off | +| fireplaceextrfan | A_CYC_FIREPLACE_EXTR_FAN | Fireplace profile extract fan speed | rw | 0 - 100 (%) | +| fireplacesuppfan | A_CYC_FIREPLACE_SUPP_FAN | Fireplace profile supply fan speed | rw | 0 - 100 (%) | +| fireplacetime | A_CYC_FIREPLACE_TIME | Timer value in fireplace profile | rw | 1 - 65535 (min) | +| fireplacetimerenabled | A_CYC_FIREPLACE_TIMER_ENABLED | Timer enabled setting in fireplace profile | rw | On/Off | +| extraairtemptarget | A_CYC_EXTRA_AIR_TEMP_TARGET | Target temperature in extra profile | rw | Number (°C) | +| extraextrfan | A_CYC_EXTRA_EXTR_FAN | Extra profile extract fan speed | rw | 0 - 100 (%) | +| extrasuppfan | A_CYC_EXTRA_EXTR_FAN | Extra profile supply fan speed | rw | 0 - 100 (%) | +| extratime | A_CYC_EXTRA_TIME | Timer value in extra profile | rw | 1 - 65535 (min) | +| extratimerenabled | A_CYC_EXTRA_TIMER_ENABLED | Timer enabled setting in extra profile | rw | On/Off | +| weeklytimerenabled | A_CYC_WEEKLY_TIMER_ENABLED | Weekly timer enabled setting | rw | On/Off | + +Note: If your unit is equipped with a CO₂ sensor, an additional read-only channel `co2` (Number:Dimensionless, in ppm) is available. ## Example diff --git a/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/i18n/valloxmv.properties b/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/i18n/valloxmv.properties index 5f943dd32d206..b9421f49a33f8 100644 --- a/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/i18n/valloxmv.properties +++ b/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/i18n/valloxmv.properties @@ -11,9 +11,9 @@ thing-type.valloxmv.valloxmv.description = Interface to online interface of Vall # thing types config thing-type.config.valloxmv.valloxmv.ip.label = IP Address -thing-type.config.valloxmv.valloxmv.ip.description = IP address or host name of online interface of ventilation unit +thing-type.config.valloxmv.valloxmv.ip.description = Hostname or IP address of the ventilation unit's web interface thing-type.config.valloxmv.valloxmv.updateinterval.label = Update Interval -thing-type.config.valloxmv.valloxmv.updateinterval.description = Data update interval in seconds (default: 60s) +thing-type.config.valloxmv.valloxmv.updateinterval.description = Data update interval in seconds (minimum: 15s; default: 60s) # channel types diff --git a/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/thing/thing-types.xml index f626a1937c742..db32ed7ad6c5f 100644 --- a/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/thing/thing-types.xml @@ -51,11 +51,11 @@ network-address - IP address or host name of online interface of ventilation unit + Hostname or IP address of the ventilation unit's web interface - + - Data update interval in seconds (default: 60s) + Data update interval in seconds (minimum: 15s; default: 60s) 60 @@ -97,7 +97,7 @@ Measurement Speed - + diff --git a/bundles/org.openhab.binding.vdr/README.md b/bundles/org.openhab.binding.vdr/README.md index 5e315b39aa684..2cac290720178 100644 --- a/bundles/org.openhab.binding.vdr/README.md +++ b/bundles/org.openhab.binding.vdr/README.md @@ -2,26 +2,27 @@ The Video Disk Recorder (VDR) binding allows openHAB to control your own [Video Disk Recorder](https://www.tvdr.de). -The binding is based on VDR's own SVDRP (Simple VDR Protocol) connectivity. It supports remote control like changing volume and channels as well as sending key commands to your VDR. Also current and next EPG event data is available. +The binding is based on VDR's own SVDRP (Simple VDR Protocol) connectivity. +It supports remote control actions like changing volume and channels as well as sending key commands to your VDR. +Current and next EPG event data is also available. -## Supported Things - -The binding provides only one thing type: `vdr`. You can create one thing for each VDR instance at your home. +The binding provides only one Thing type: `vdr`. +You can create one Thing for each VDR instance in your home. ## Thing Configuration -To configure a VDR, hostname or IP address and the actual SVDRP port are required. +To configure a VDR, a hostname or IP address and the SVDRP port are required. Please note that until VDR version 1.7.15 the standard SVDRP port was 2001 and after that version it changed to 6419. -The VDR configuration file svdrphosts.conf needs to be configured to allow SVDRP access from host where openHAB instance is running. +The VDR configuration file `svdrphosts.conf` needs to allow SVDRP access from the host where the openHAB instance is running. Please check VDR documentation if you are unsure about this. -| Configuration Parameter | Default | Required | Description | -|-------------------------|------------------|:--------:|--------------------------------------------------------------| -| host | | Yes | Hostname or IP Address of VDR instance | -| port | 6419 | Yes | SVDRP Port of VDR instance | -| refresh | 30 | No | Interval in seconds the data from VDR instance is refreshed | +| Configuration Parameter | Default | Required | Description | +|-------------------------|---------|:--------:|-----------------------------------------------------------------| +| host | | Yes | Hostname or IP address of the VDR instance | +| port | 6419 | Yes | SVDRP port of the VDR instance | +| refresh | 30 | No | Interval in seconds the data from the VDR instance is refreshed | -A typical thing configuration would look like this: +A typical Thing configuration would look like this: ```java Thing vdr:vdr:livingRoom "VDR" @ "LivingRoom" [ host="192.168.0.51", port=6419, refresh=30 ] @@ -29,11 +30,11 @@ Thing vdr:vdr:livingRoom "VDR" @ "LivingRoom" [ host="192.168.0.51", port=641 ## Channels -`power`, `channel` and `volume` can be used for basic control of your VDR. `diskUsage` might be used within a rule to notify if disk space for recordings runs short. It is also possible to display custom messages on VDR OSD, please use `message` for this. You can build your own remote control widget in openHAB by using the `keyCode` channel. +`power`, `channel`, and `volume` can be used for basic control of your VDR. `diskUsage` can be used within a rule to notify you when disk space for recordings runs short. It is also possible to display custom messages on the VDR OSD via `message`. You can build your own remote control widget in openHAB by using the `keyCode` channel. -Also you can show information about the current channel's program on your VDR by displaying the EPG Event Channels in your favorite openHAB user interface. +You can also show information about the current channel's program on your VDR by displaying the EPG event channels in your favorite openHAB user interface. -To turn on the device VDR is running on please use Wake-On-LAN functionality from Network Binding. +To turn on the device VDR is running on, use the Wake-on-LAN functionality from the Network binding. | channel | type | description | |----------------------|-------------|-----------------------------------------| @@ -46,12 +47,12 @@ To turn on the device VDR is running on please use Wake-On-LAN functionality fro | message | String | Send Message to be displayed on VDR | | keyCode | String | Send Key Code of Remote Control to VDR | | currentEventTitle | String | Current EPG Event Title | -| currentEventSubTitle | String | Current EPG Event Sub Title | +| currentEventSubTitle | String | Current EPG Event Subtitle | | currentEventBegin | DateTime | Current EPG Event Begin | | currentEventEnd | DateTime | Current EPG Event End | | currentEventDuration | Number:Time | Current EPG Event Duration in Minutes | | nextEventTitle | String | Next EPG Event Title | -| nextEventSubTitle | String | Next EPG Event Sub Title | +| nextEventSubTitle | String | Next EPG Event Subtitle | | nextEventBegin | DateTime | Next EPG Event Begin | | nextEventEnd | DateTime | Next EPG Event End | | nextEventDuration | Number:Time | Next EPG Event Duration in Minutes | @@ -67,24 +68,24 @@ Thing vdr:vdr:livingRoom "VDR" @ "LivingRoom" [ host="192.168.0.77", port=641 ### Items ```java -Switch VDR_LivingRoom_Power "Power" {channel="vdr:vdr:livingRoom:power" } -Number VDR_LivingRoom_Channel "Channel Number" {channel="vdr:vdr:livingRoom:channel" } -String VDR_LivingRoom_ChannelName "Channel Name" {channel="vdr:vdr:livingRoom:channelName" } -Dimmer VDR_LivingRoom_Volume "Volume" {channel="vdr:vdr:livingRoom:volume" } -Number VDR_LivingRoom_DiskUsage "Disk [%d %%]" {channel="vdr:vdr:livingRoom:diskUsage" } -Switch VDR_LivingRoom_Recording "Recording" {channel="vdr:vdr:livingRoom:recording" } -String VDR_LivingRoom_Message "Message" {channel="vdr:vdr:livingRoom:message" } -String VDR_LivingRoom_Key "Key Code" {channel="vdr:vdr:livingRoom:keyCode" } -String VDR_LivingRoom_CurrentEventTitle "Title (current)" {channel="vdr:vdr:livingRoom:currentEventTitle" } -String VDR_LivingRoom_CurrentEventSubTitle "Subtitle (current)" {channel="vdr:vdr:livingRoom:currentEventSubTitle" } -DateTime VDR_LivingRoom_CurrentEventBegin "Begin (current) [%1$td.%1$tm.%1$tY %1$tR]" {channel="vdr:vdr:livingRoom:currentEventBegin" } -DateTime VDR_LivingRoom_CurrentEventEnd "End (current) [%1$td.%1$tm.%1$tY %1$tR]" {channel="vdr:vdr:livingRoom:currentEventEnd" } -Number VDR_LivingRoom_CurrentEventDuration "Duration (current) [%d min]" {channel="vdr:vdr:livingRoom:currentEventDuration" } -String VDR_LivingRoom_NextEventTitle "Title (next)" {channel="vdr:vdr:livingRoom:nextEventTitle" } -String VDR_LivingRoom_NextEventSubTitle "Subtitle (next)" {channel="vdr:vdr:livingRoom:nextEventSubTitle" } -DateTime VDR_LivingRoom_NextEventBegin "Begin (next) [%1$td.%1$tm.%1$tY %1$tR]" {channel="vdr:vdr:livingRoom:nextEventBegin" } -DateTime VDR_LivingRoom_NextEventEnd "End (next) [%1$td.%1$tm.%1$tY %1$tR]" {channel="vdr:vdr:livingRoom:nextEventEnd" } -Number VDR_LivingRoom_NextEventDuration "Duration (next) [%d min]" {channel="vdr:vdr:livingRoom:nextEventDuration" } +Switch VDR_LivingRoom_Power "Power" {channel="vdr:vdr:livingRoom:power" } +Number VDR_LivingRoom_Channel "Channel Number" {channel="vdr:vdr:livingRoom:channel" } +String VDR_LivingRoom_ChannelName "Channel Name" {channel="vdr:vdr:livingRoom:channelName" } +Dimmer VDR_LivingRoom_Volume "Volume" {channel="vdr:vdr:livingRoom:volume" } +Number VDR_LivingRoom_DiskUsage "Disk [%d %%]" {channel="vdr:vdr:livingRoom:diskUsage" } +Switch VDR_LivingRoom_Recording "Recording" {channel="vdr:vdr:livingRoom:recording" } +String VDR_LivingRoom_Message "Message" {channel="vdr:vdr:livingRoom:message" } +String VDR_LivingRoom_Key "Key Code" {channel="vdr:vdr:livingRoom:keyCode" } +String VDR_LivingRoom_CurrentEventTitle "Title (current)" {channel="vdr:vdr:livingRoom:currentEventTitle" } +String VDR_LivingRoom_CurrentEventSubTitle "Subtitle (current)" {channel="vdr:vdr:livingRoom:currentEventSubTitle" } +DateTime VDR_LivingRoom_CurrentEventBegin "Begin (current) [%1$td.%1$tm.%1$tY %1$tR]" {channel="vdr:vdr:livingRoom:currentEventBegin" } +DateTime VDR_LivingRoom_CurrentEventEnd "End (current) [%1$td.%1$tm.%1$tY %1$tR]" {channel="vdr:vdr:livingRoom:currentEventEnd" } +Number:Time VDR_LivingRoom_CurrentEventDuration "Duration (current) [%d min]" {channel="vdr:vdr:livingRoom:currentEventDuration" } +String VDR_LivingRoom_NextEventTitle "Title (next)" {channel="vdr:vdr:livingRoom:nextEventTitle" } +String VDR_LivingRoom_NextEventSubTitle "Subtitle (next)" {channel="vdr:vdr:livingRoom:nextEventSubTitle" } +DateTime VDR_LivingRoom_NextEventBegin "Begin (next) [%1$td.%1$tm.%1$tY %1$tR]" {channel="vdr:vdr:livingRoom:nextEventBegin" } +DateTime VDR_LivingRoom_NextEventEnd "End (next) [%1$td.%1$tm.%1$tY %1$tR]" {channel="vdr:vdr:livingRoom:nextEventEnd" } +Number:Time VDR_LivingRoom_NextEventDuration "Duration (next) [%d min]" {channel="vdr:vdr:livingRoom:nextEventDuration" } ``` ### Sitemap diff --git a/bundles/org.openhab.binding.vdr/src/main/resources/OH-INF/i18n/vdr.properties b/bundles/org.openhab.binding.vdr/src/main/resources/OH-INF/i18n/vdr.properties index 1afbe43bb58ea..9d24a76de8daf 100644 --- a/bundles/org.openhab.binding.vdr/src/main/resources/OH-INF/i18n/vdr.properties +++ b/bundles/org.openhab.binding.vdr/src/main/resources/OH-INF/i18n/vdr.properties @@ -10,12 +10,12 @@ thing-type.vdr.vdr.description = VDR - The Video Disk Recorder (https://tvdr.de) thing-type.vdr.vdr.channel.currentEventBegin.label = Current EPG Event Begin thing-type.vdr.vdr.channel.currentEventDuration.label = Current EPG Event Duration in Minutes thing-type.vdr.vdr.channel.currentEventEnd.label = Current EPG Event End -thing-type.vdr.vdr.channel.currentEventSubTitle.label = Current EPG Event Sub Title +thing-type.vdr.vdr.channel.currentEventSubTitle.label = Current EPG Event Subtitle thing-type.vdr.vdr.channel.currentEventTitle.label = Current EPG Event Title thing-type.vdr.vdr.channel.nextEventBegin.label = Next EPG Event Begin thing-type.vdr.vdr.channel.nextEventDuration.label = Next EPG Event Duration in Minutes thing-type.vdr.vdr.channel.nextEventEnd.label = Next EPG Event End -thing-type.vdr.vdr.channel.nextEventSubTitle.label = Next EPG Event Sub Title +thing-type.vdr.vdr.channel.nextEventSubTitle.label = Next EPG Event Subtitle thing-type.vdr.vdr.channel.nextEventTitle.label = Next EPG Event Title # thing types config @@ -41,8 +41,8 @@ channel-type.vdr.vdrEventDuration.label = Event Duration channel-type.vdr.vdrEventDuration.description = Duration of EPG Event in Minutes channel-type.vdr.vdrEventEnd.label = Event End Time channel-type.vdr.vdrEventEnd.description = End Time of EPG Event -channel-type.vdr.vdrEventSubTitle.label = Event Sub Title -channel-type.vdr.vdrEventSubTitle.description = Sub Title of EPG Event +channel-type.vdr.vdrEventSubTitle.label = Event Subtitle +channel-type.vdr.vdrEventSubTitle.description = Subtitle of EPG Event channel-type.vdr.vdrEventTitle.label = Event Title channel-type.vdr.vdrEventTitle.description = Title of EPG Event channel-type.vdr.vdrKeyCode.label = VDR Key Code diff --git a/bundles/org.openhab.binding.vdr/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.vdr/src/main/resources/OH-INF/thing/thing-types.xml index fc2d147f45d2f..f626bd63ae3b0 100644 --- a/bundles/org.openhab.binding.vdr/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.vdr/src/main/resources/OH-INF/thing/thing-types.xml @@ -20,7 +20,7 @@ - + @@ -35,7 +35,7 @@ - + @@ -180,8 +180,8 @@ String - - Sub Title of EPG Event + + Subtitle of EPG Event diff --git a/bundles/org.openhab.binding.vektiva/README.md b/bundles/org.openhab.binding.vektiva/README.md index 93586333aa35d..25c58bba8931a 100644 --- a/bundles/org.openhab.binding.vektiva/README.md +++ b/bundles/org.openhab.binding.vektiva/README.md @@ -4,7 +4,7 @@ This binding allows control of [Vektiva](https://vektiva.com) products. ## Supported Things -The only supported thing is the [SMARWI](https://vektiva.com/en/about-smarwi/how-it-works). +The only supported Thing is [SMARWI](https://vektiva.com/en/about-smarwi/how-it-works). ## Discovery @@ -12,18 +12,18 @@ Automatic discovery is currently not supported by the Vektiva API. ## SMARWI Configuration -To manually add a SMARWI thing just enter the local network IP address of the device. -If you want to change the polling frequency of thing availability and status, please change the advanced parameter _refreshInterval_. -If you are running 203.2.4 or newer firmware you can enable the websockets support for better user experience by setting the _useWebSockets_ parameter. +To manually add a SMARWI Thing, enter the device’s local IP address (or hostname). +To change the polling frequency for availability and status, adjust the advanced parameter `refreshInterval` (seconds). +If your device runs firmware 203.2.4 or newer, you can enable WebSockets for faster updates by setting `useWebSockets` to true. ## Channels The exposed channels are: -| Name | Type | Description | -| ------- |:--------------:|:-----------:| -| control | Rollershutter | It reacts to standard roller shutter commands _UP/DOWN/STOP_. The percentual closure (dimmer) is also supported - you can partially open window, but thing state is only open/close. | -| status | String | Shows the window status (Stopped, Moving, Not ready, Blocked) | +| Name | Type | Description | +|---------|---------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| control | Rollershutter | Reacts to standard roller shutter commands (UP/DOWN/STOP). Percentage position is supported (you can partially open the window), but the Thing state is only open/closed. | +| status | String | Window status (Stopped, Moving, Not ready, Blocked) | ## Full Example diff --git a/bundles/org.openhab.binding.vektiva/src/main/resources/OH-INF/i18n/vektiva.properties b/bundles/org.openhab.binding.vektiva/src/main/resources/OH-INF/i18n/vektiva.properties index e6f82f0fed33e..79ce6cb93414a 100644 --- a/bundles/org.openhab.binding.vektiva/src/main/resources/OH-INF/i18n/vektiva.properties +++ b/bundles/org.openhab.binding.vektiva/src/main/resources/OH-INF/i18n/vektiva.properties @@ -5,17 +5,17 @@ addon.vektiva.description = This is the binding for Vektiva products controlled # thing types -thing-type.vektiva.smarwi.label = Vektiva Smarwi Thing -thing-type.vektiva.smarwi.description = Smarwi thing for Vektiva Binding +thing-type.vektiva.smarwi.label = Vektiva SMARWI +thing-type.vektiva.smarwi.description = SMARWI window opener for the Vektiva binding # thing types config -thing-type.config.vektiva.smarwi.ip.label = Smarwi IP Address -thing-type.config.vektiva.smarwi.ip.description = IP address of the Smarwi thing on the local network. -thing-type.config.vektiva.smarwi.refreshInterval.label = Refresh Interval -thing-type.config.vektiva.smarwi.refreshInterval.description = The refresh interval to poll Smarwi thing (in s). -thing-type.config.vektiva.smarwi.useWebSockets.label = Use WebSockets Feature for Faster State Update. -thing-type.config.vektiva.smarwi.useWebSockets.description = Enable web sockets technology. FW 203.2.4+ required +thing-type.config.vektiva.smarwi.ip.label = IP Address +thing-type.config.vektiva.smarwi.ip.description = Hostname or IP address of the SMARWI device on the local network +thing-type.config.vektiva.smarwi.refreshInterval.label = Refresh interval +thing-type.config.vektiva.smarwi.refreshInterval.description = Polling interval for device status in seconds +thing-type.config.vektiva.smarwi.useWebSockets.label = Use WebSockets for faster updates +thing-type.config.vektiva.smarwi.useWebSockets.description = Enable WebSockets; requires firmware 203.2.4 or newer # channel types diff --git a/bundles/org.openhab.binding.vektiva/src/main/resources/OH-INF/thing/smarwi.xml b/bundles/org.openhab.binding.vektiva/src/main/resources/OH-INF/thing/smarwi.xml index bebb4a8c6b1ff..041ca26ec8771 100644 --- a/bundles/org.openhab.binding.vektiva/src/main/resources/OH-INF/thing/smarwi.xml +++ b/bundles/org.openhab.binding.vektiva/src/main/resources/OH-INF/thing/smarwi.xml @@ -6,8 +6,8 @@ - - Smarwi thing for Vektiva Binding + + SMARWI window opener for the Vektiva binding @@ -16,19 +16,19 @@ - + network-address - IP address of the Smarwi thing on the local network. + Hostname or IP address of the SMARWI device on the local network - - - The refresh interval to poll Smarwi thing (in s). + + + Polling interval for device status in seconds 30 true - - Enable web sockets technology. FW 203.2.4+ required + + Enable WebSockets; requires firmware 203.2.4 or newer false true diff --git a/bundles/org.openhab.binding.velbus/README.md b/bundles/org.openhab.binding.velbus/README.md index 4e3b490175903..a4fd6fc1e7d76 100644 --- a/bundles/org.openhab.binding.velbus/README.md +++ b/bundles/org.openhab.binding.velbus/README.md @@ -61,8 +61,9 @@ xidel -e \ | vmb6in | 6-channel input module | | vmb6pb-20 | 6-button interface module | | vmb6pbn | Push-button interface module for Niko 4- or 6-fold push-button | -| vmb7in | 7-channel input module (potentialfree + pulse) | +| vmb7in | 7-channel input module (potential-free + pulse) | | vmb8dc-20 | 8-channel 0 to 10 V dimmer control module | +| vmb8in-20 | 8-channel input module (potential-free + pulse) | | vmb8ir | Infrared remote control receiver module | | vmb8pb | 8-Channel Push Button module | | vmb8pbu | Push-button interface with 8 channels for universal mounting | @@ -78,8 +79,8 @@ xidel -e \ | vmbel4pir-20 | Edge-lit Motion detector with four touch buttons | | vmbel4-20 | Edge-lit four touch buttons module | | vmbel4 | Edge-lit four touch buttons module | -| vmbelo-20 | Edge-lit touch panel with Oled display | -| vmbelo | Edge-lit touch panel with Oled display | +| vmbelo-20 | Edge-lit touch panel with OLED display | +| vmbelo | Edge-lit touch panel with OLED display | | vmbelpir | Edge-lit Motion detector with one touch button | | vmbgp1-20 | Glass control module with 1 touch key | | vmbgp1-2 | Glass control module with 1 touch key (Edition 2) | @@ -93,11 +94,11 @@ xidel -e \ | vmbgp4pir-20 | Glass control module with 4 touch keys and built-in motion and twilight sensor | | vmbgp4pir-2 | Glass control module with 4 touch keys and built-in motion and twilight sensor (Edition 2) | | vmbgp4pir | Glass control module with 4 touch keys and built-in motion and twilight sensor | -| vmbgpod-2 | Glass control module with oled display and temperature controller (Edition 2) | -| vmbgpod | Glass control module with oled display and temperature controller | -| vmbgpo-20 | Glass control module with oled display and temperature controller | -| vmbgpo | Glass control module with oled display | -| vmbgptc | Glass control module with oled display | +| vmbgpod-2 | Glass control module with OLED display and temperature controller (Edition 2) | +| vmbgpod | Glass control module with OLED display and temperature controller | +| vmbgpo-20 | Glass control module with OLED display and temperature controller | +| vmbgpo | Glass control module with OLED display | +| vmbgptc | Glass control module with OLED display | | vmbin | 1-channel input module | | vmbkp | Keypad interface module | | vmbmeteo | Weather station with thermometer, anemometer, rain sensor and light sensor | @@ -107,11 +108,11 @@ xidel -e \ | vmbpiro | Outdoor motion, twilight and temperature sensor, Theben | | vmbpiro-10 | Outdoor motion, twilight and temperature sensor, Theben | | vmbpiro-20 | Outdoor motion, twilight and temperature sensor, Theben | -| vmbpsumngr-20 | PSU manager | +| vmbpsumngr-20 | PSU Manager | | vmbrfr8s | 8-channel RF receiver module | -| vmbsig | Signum IoT gateway module | -| vmbsig-20 | Signum IoT gateway module | -| vmbsig-21 | Signum IoT gateway module | +| vmbsig | Signum IoT Gateway Module | +| vmbsig-20 | Signum IoT Gateway Module | +| vmbsig-21 | Signum IoT Gateway Module | | vmbvp1 | Doorbird interface module | ## Discovery @@ -133,7 +134,7 @@ The Velbus bridge needs to be added first. For the Velbus Serial Bridge it is necessary to specify the serial port device used for communication. -On Linux and other UNIX systems, it is recommended to use a more stable symbolic device path such as `/dev/serial/by-id/usb-Velleman_Projects_VMB1USB_Velbus_USB_interface-if00`, as it will always refer at to a Velbus configuration module, and not an arbitrary serial device. +On Linux and other UNIX systems, it is recommended to use a more stable symbolic device path such as `/dev/serial/by-id/usb-Velleman_Projects_VMB1USB_Velbus_USB_interface-if00`, as it will always refer to a Velbus configuration module, and not an arbitrary serial device. If this is not a concern or an option, it is valid to refer to the serial device directly with a path such as `/dev/ttyS0`, `/dev/ttyUSB0` or `/dev/ttyACM0` (or a number other than `0` if multiple serial devices are connected.) On Windows `port` will refer to one of the COM devices such as `COM1`, `COM2`, etc. @@ -157,10 +158,10 @@ In a `.things` file, a network bridge running on the same machine at port 6000 w Bridge velbus:networkbridge:1 "Velbus Network Bridge - Loopback" @ "Control" [ address="localhost", port=6000 ] ``` -### Realtime Clock Synchronization +### Real-time Clock Synchronization -Optionally, the openHAB Velbus binding can synchronize the realtime clock, date and daylight savings status of the Velbus modules. -This is achieved by setting the Time Update Interval (in minutes) on the bridge thing. For example: +Optionally, the openHAB Velbus binding can synchronize the real-time clock, date and daylight saving status of the Velbus modules. +This is achieved by setting the Time Update Interval (in minutes) on the bridge Thing. For example: ```java Bridge velbus:bridge:1 [ port="COM1", timeUpdateInterval="360" ] @@ -202,11 +203,11 @@ Discovered modules can be found in the inbox. - `` is the type of the Velbus module. Refer to the [Supported Things](#supported-things) table for valid `` values; - `` is the hexadecimal address of the Velbus module; - - `"Label"` is an optional label for the thing; - - `@ "Location"` is an optional specification of the location of the thing; + - `"Label"` is an optional label for the Thing; + - `@ "Location"` is an optional specification of the location of the Thing; - The `CHx="..."` properties are optional and can be used to specify names of the module channels. -Individual module `Thing`’s channels can be linked to openHAB items via channel names like `velbus:vmb4ryld:1:0A:CH1`. Here, from left to right, the channel name consistes of the binding name, module type (` = vmb4ryld`), bridge id (`1`), module’s hexadecimal address (` = 0A`) and channel within the module (`CH1`). +Individual module `Thing`’s channels can be linked to openHAB items via channel names like `velbus:vmb4ryld:1:0A:CH1`. Here, from left to right, the channel name consists of the binding name, module type (` = vmb4ryld`), bridge id (`1`), module’s hexadecimal address (` = 0A`), and channel within the module (`CH1`). #### Additional properties @@ -239,7 +240,7 @@ xidel -e 'fn:filter(//config-description, function($cfg) { $cfg/parameter/@name | cut -d':' -f3 ``` -From there you want to filter out all things in `thing-types` that have these values as their +From there you want to filter out all Things in `thing-types` that have these values as their `config-description-ref`. For example for `refresh`, using results from the previous command to fill in `$refs`: @@ -276,7 +277,7 @@ xidel -e 'let $refs := ( | `refresh` | `vmb1ts`, `vmb4an`, `vmb7in`, `vmbel1`, `vmbel2`, `vmbel4`, `vmbelpir`, `vmbgp1`, `vmbgp1-2`, `vmbgp2`, `vmbgp2-2`, `vmbgp4`, `vmbgp4-2`, `vmbgp4pir`, `vmbgp4pir-2`, `vmbmeteo`, `vmbpiro`, `vmbpiro-10`, `vmbpiro-20`, `vmb8in-20` | Refresh interval for sensors or counters (in seconds), default 300. If set to 0 or left empty, no refresh will be scheduled. | | `mode` | `vmb4ledpwm-20` | The mode used by the dimmer module (4DIM, RGB, RGBW) | -The `vmbdali` and `vmbdali-20` things have 16 virtual light channels. +The `vmbdali` and `vmbdali-20` Things have 16 virtual light channels. A virtual light combines 3 or 4 VMBDALI module channels into an openHAB channel to control RGB or RGBW lights. This is because an RGBW DALI light is configured on the VMBDALI module with 4 channels (Red channel, Green channel, Blue channel, White channel). The channels of the virtual light can be identified by a module channel `CH1` ... `CH64` or a DALI address `A0` ... `A63`. @@ -299,16 +300,16 @@ Thing velbus:vmbdali:1:01 [VL1="CH1,CH2,CH3,CH4", VL2="A4,A5,A6"] ### Bridges `bridge`, `networkbridge` -| Supported channels groups | Supported channels | Supported command types | Remarks | -|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |-------------------------------------------------------------------------|-------------------------------| -| `bridgeClockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | -| `bridgeClockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|---------| +| `bridgeClockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `bridgeClockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | ### Modules `vmb1bl`, `vmb1bls` -| Supported channels groups | Supported channels | Supported command types | Remarks | -|---------------------------|--------------------|------------------------------|---------| -| | `CH1` | UpDown, StopMove, Percent | | +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------|---------------------------|---------| +| | `CH1` | UpDown, StopMove, Percent | | ### Modules `vmb1dm`, `vmb1led`, `vmbdme`, `vmbdmi`, `vmbdmir` @@ -324,9 +325,9 @@ Thing velbus:vmbdali:1:01 [VL1="CH1,CH2,CH3,CH4", VL2="A4,A5,A6"] ### Module `vmb4ry` -| Supported channels groups | Supported channels | Supported command types | Remarks | -|---------------------------|--------------------|------------------------------|---------| -| | `CH1` ... `CH4` | OnOff | | +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------|-------------------------|---------| +| | `CH1` ... `CH4` | OnOff | | ### Modules `vmb1ryno`, `vmb1rynos`, `vmb4ryld`, `vmb4ryld-10`, `vmb4ryno`, `vmb4ryno-10` @@ -350,10 +351,10 @@ Thing velbus:vmbdali:1:01 [VL1="CH1,CH2,CH3,CH4", VL2="A4,A5,A6"] ### Module `vmb1ts` -| Supported channels groups | Supported channels | Supported command types | Remarks | -|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------|-----------------------------------| -| `thermostat` | `currentTemperatureSetpoint`, `heatingModeComfortTemperatureSetpoint`, `heatingModeDayTemperatureSetpoint`, `heatingModeNightTemperatureSetpoint`, `heatingModeAntiFrostTemperatureSetpoint`, `coolingModeComfortTemperatureSetpoint`, `coolingModeDayTemperatureSetpoint`, `coolingModeNightTemperatureSetpoint`, `coolingModeSafeTemperatureSetpoint`, `operatingMode`, `mode` | Number | Min = -55, Max = 63.5, Step = 0.5 | -| `thermostat` | `heater`, `boost`, `pump`, `cooler`, `alarm1`, `alarm2`, `alarm3`, `alarm4` | Pressed, Released | Trigger | +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------|-----------------------------------| +| `thermostat` | `currentTemperatureSetpoint`, `heatingModeComfortTemperatureSetpoint`, `heatingModeDayTemperatureSetpoint`, `heatingModeNightTemperatureSetpoint`, `heatingModeAntiFrostTemperatureSetpoint`, `coolingModeComfortTemperatureSetpoint`, `coolingModeDayTemperatureSetpoint`, `coolingModeNightTemperatureSetpoint`, `coolingModeSafeTemperatureSetpoint`, `operatingMode`, `mode` | Number | Min = -55, Max = 63.5, Step = 0.5 | +| `thermostat` | `heater`, `boost`, `pump`, `cooler`, `alarm1`, `alarm2`, `alarm3`, `alarm4` | Pressed, Released | Trigger | ### Modules `vmb2bl`, `vmb2ble`, `vmb2ble-10` @@ -375,17 +376,26 @@ Thing velbus:vmbdali:1:01 [VL1="CH1,CH2,CH3,CH4", VL2="A4,A5,A6"] | `button` | `CH1` ... `CH8` | Pressed, Long_Pressed | | | `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | -### Modules `vmb7in`, `vmb8in-20`, `vmb8ir` +### Module `vmb7in` + +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------|---------------------------------|---------| +| `button` | `CH1` ... `CH8` | Pressed, Long_Pressed | | +| `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | +| `counter` | `CH1` ... `CH4` | Number | | + +### Module `vmb8in-20` | Supported channels groups | Supported channels | Supported command types | Remarks | |---------------------------|--------------------|---------------------------------|---------| | `button` | `CH1` ... `CH8` | Pressed, Long_Pressed | | | `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | +| `counter` | `CH1` ... `CH8` | Number | | ### Modules `vmb2pbn`, `vmb6pbn`, `vmb8pb`, `vmb8pbu`, `vmbrfr8s`, `vmbvp1`, `vmb6pb-20` | Supported channels groups | Supported channels | Supported command types | Remarks | -|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |-------------------------------------------------------------------------|-------------------------------| +|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|-------------------------------| | `button` | `CH1` ... `CH8` | Pressed, Long_Pressed | | | `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | | `feedback` | `CH1` ... `CH8` | Clear_LED, Set_LED, Slow_Blink_LED, Fast_Blink_LED, Very_Fast_Blink_LED | Steer the button LED feedback | @@ -559,7 +569,7 @@ Thing velbus:vmbdali:1:01 [VL1="CH1,CH2,CH3,CH4", VL2="A4,A5,A6"] ### Module `vmbmeteo` | Supported channels groups | Supported channels | Supported command types | Remarks | -|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |---------------------------------|-------------------------------| +|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------|-------------------------------| | `input` | `CH1` ... `CH8` | Pressed, Released, Long_Pressed | Trigger | | `weatherStation` | `temperature`, `rainfall`, `illuminance`, `windspeed` | Number | Steer the button LED feedback | | `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | @@ -567,16 +577,16 @@ Thing velbus:vmbdali:1:01 [VL1="CH1,CH2,CH3,CH4", VL2="A4,A5,A6"] ### Modules `vmbpirc`, `vmbpirm`, `vmbpir-20` -| Supported channels groups | Supported channels | Supported command types | Remarks | -|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |---------------------------------|-------------------------------| -| `input` | `CH1` ... `CH7` | Pressed, Released, Long_Pressed | Trigger | -| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | -| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------|---------| +| `input` | `CH1` ... `CH7` | Pressed, Released, Long_Pressed | Trigger | +| `clockAlarm` | `clockAlarm1Enabled`, `clockAlarm2Enabled` | OnOff | | +| `clockAlarm` | `clockAlarm1WakeupHour`, `clockAlarm1WakeupMinute`, `clockAlarm1BedtimeHour`, `clockAlarm1BedtimeMinute`, `clockAlarm2WakeupHour`, `clockAlarm2WakeupMinute`, `clockAlarm2BedtimeHour`, `clockAlarm2BedtimeMinute` | Number | | ### Modules `vmbdali`, `vmbdali-20` | Supported channels groups | Supported channels | Supported command types | Remarks | -|---------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |-------------------------------------------------------------------------|----------------------------------------------------------------------------------------------| +|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------|----------------------------------------------------------------------------------------------| | `input` | `CH1` ... `CH81` | Pressed, Released, Long_Pressed | Trigger | | `feedback` | `CH1` ... `CH81` | Clear_LED, Set_LED, Slow_Blink_LED, Fast_Blink_LED, Very_Fast_Blink_LED | Steer the button LED feedback | | `color` | `CH1` ... `CH81` | hsbColor | CH1 ... CH64 = A1 ... A64 / CH65 ... CH80 = G1 ... G16 / CH81 = Broadcast | @@ -599,11 +609,11 @@ Thing velbus:vmbdali:1:01 [VL1="CH1,CH2,CH3,CH4", VL2="A4,A5,A6"] ### Module `vmb8dc-20` -| Supported channels groups | Supported channels | Supported command types | Remarks | -|---------------------------|------------------------|---------------------------------|-------------------| -| `brightness` | `CH1` ... `CH8` | Percent | | -| `fade-mode` | `CH1` ... `CH8` | Direct, Fade_Rate, Fade_Time | | -| `scene` | `CH1` ... `CH8` | Number | Min = 1, Max = 15 | +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|--------------------|------------------------------|-------------------| +| `brightness` | `CH1` ... `CH8` | Percent | | +| `fade-mode` | `CH1` ... `CH8` | Direct, Fade_Rate, Fade_Time | | +| `scene` | `CH1` ... `CH8` | Number | Min = 1, Max = 15 | ### Module `vmb2dc-20` @@ -619,7 +629,7 @@ Thing velbus:vmbdali:1:01 [VL1="CH1,CH2,CH3,CH4", VL2="A4,A5,A6"] |---------------------------|---------------------|---------------------------------|---------| | `input` | `CH1` ... `CH16` | Pressed, Released | Trigger | -### Modules `vmbsig` +### Module `vmbsig` | Supported channels groups | Supported channels | Supported command types | Remarks | |---------------------------|---------------------|---------------------------------|---------| @@ -627,13 +637,14 @@ Thing velbus:vmbdali:1:01 [VL1="CH1,CH2,CH3,CH4", VL2="A4,A5,A6"] ### Modules `vmbsig-20`, `vmbsig-21` -| Supported channels groups | Supported channels | Supported command types | Remarks | -|---------------------------|---------------------|---------------------------------|---------| -| | `status` | Status | Trigger | +| Supported channels groups | Supported channels | Supported command types | Remarks | +|---------------------------|---------------------|-----------------------------------------------------------------|---------| +| | `status` | UNKNOWN, NORMAL, BUS_ERROR, LOW_POWER, HIGH_POWER | String | + +The trigger channels can be used as a trigger to rules. +The event message can be `PRESSED`, `RELEASED` or `LONG_PRESSED` for an input trigger. -The trigger channels can be used as a trigger to rules. -The event message can be `PRESSED`, `RELEASED` or `LONG_PRESSED` for an input. -The event message can be `UNKNOWN`, `NORMAL`, `BUS_ERROR`, `LOW_POWER` or `HIGH_POWER` for a status. +The `status` channel for Signum modules is a String state channel (not a trigger) with possible values: `UNKNOWN`, `NORMAL`, `BUS_ERROR`, `LOW_POWER`, or `HIGH_POWER`. To remove the state of the Item in the Sitemap for a `button` channel. Go to the Items list, select the Item, add a State Description Metadata, and set the Pattern value to a blank space. diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/i18n/velbus.properties b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/i18n/velbus.properties index 3b83993b2f4f7..5bb712cc04e77 100644 --- a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/i18n/velbus.properties +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/i18n/velbus.properties @@ -66,11 +66,11 @@ thing-type.velbus.vmb6pb-20.description = 6-button interface module thing-type.velbus.vmb6pbn.label = VMB6PBN thing-type.velbus.vmb6pbn.description = Push-button interface module for Niko 4- or 6-fold push-button thing-type.velbus.vmb7in.label = VMB7IN -thing-type.velbus.vmb7in.description = 7-channel input module (potentialfree + pulse) +thing-type.velbus.vmb7in.description = 7-channel input module (potential-free + pulse) thing-type.velbus.vmb8dc-20.label = VMB8DC-20 thing-type.velbus.vmb8dc-20.description = 8-channel 0 to 10 V dimmer control module thing-type.velbus.vmb8in-20.label = VMB8IN-20 -thing-type.velbus.vmb8in-20.description = 8-channel input module (potentialfree + pulse) +thing-type.velbus.vmb8in-20.description = 8-channel input module (potential-free + pulse) thing-type.velbus.vmb8ir.label = VMB8IR thing-type.velbus.vmb8ir.description = Infrared remote control receiver module thing-type.velbus.vmb8pb.label = VMB8PB @@ -100,11 +100,11 @@ thing-type.velbus.vmbel4-20.description = Edge-lit four touch buttons module thing-type.velbus.vmbel4.label = VMBEL4 thing-type.velbus.vmbel4.description = Edge-lit four touch buttons module thing-type.velbus.vmbel4pir-20.label = VMBEL4PIR-20 -thing-type.velbus.vmbel4pir-20.description = Edge-lit Motion detector with four touch button +thing-type.velbus.vmbel4pir-20.description = Edge-lit Motion detector with four touch buttons thing-type.velbus.vmbelo-20.label = VMBELO-20 -thing-type.velbus.vmbelo-20.description = Edge-lit touch panel with Oled display +thing-type.velbus.vmbelo-20.description = Edge-lit touch panel with OLED display thing-type.velbus.vmbelo.label = VMBELO -thing-type.velbus.vmbelo.description = Edge-lit touch panel with Oled display +thing-type.velbus.vmbelo.description = Edge-lit touch panel with OLED display thing-type.velbus.vmbelpir.label = VMBELPIR thing-type.velbus.vmbelpir.description = Edge-lit Motion detector with one touch button thing-type.velbus.vmbgp1-2.label = VMBGP1-2 @@ -132,15 +132,15 @@ thing-type.velbus.vmbgp4pir-20.description = Glass control module with 4 touch k thing-type.velbus.vmbgp4pir.label = VMBGP4PIR thing-type.velbus.vmbgp4pir.description = Glass control module with 4 touch keys and built-in motion and twilight sensor thing-type.velbus.vmbgpo-20.label = VMBGPO-20 -thing-type.velbus.vmbgpo-20.description = Glass control module with oled display +thing-type.velbus.vmbgpo-20.description = Glass control module with OLED display thing-type.velbus.vmbgpo.label = VMBGPO -thing-type.velbus.vmbgpo.description = Glass control module with oled display +thing-type.velbus.vmbgpo.description = Glass control module with OLED display thing-type.velbus.vmbgpod-2.label = VMBGPOD-2 -thing-type.velbus.vmbgpod-2.description = Glass control module with oled display and temperature controller (Edition 2) +thing-type.velbus.vmbgpod-2.description = Glass control module with OLED display and temperature controller (Edition 2) thing-type.velbus.vmbgpod.label = VMBGPOD -thing-type.velbus.vmbgpod.description = Glass control module with oled display and temperature controller +thing-type.velbus.vmbgpod.description = Glass control module with OLED display and temperature controller thing-type.velbus.vmbgptc.label = VMBGPTC -thing-type.velbus.vmbgptc.description = Glass control module with oled display +thing-type.velbus.vmbgptc.description = Glass control module with OLED display thing-type.velbus.vmbin.label = VMBIN thing-type.velbus.vmbin.description = 1-channel input module thing-type.velbus.vmbkp.label = VMBKP @@ -169,7 +169,7 @@ thing-type.velbus.vmbsig-21.label = VMBSIG-21 thing-type.velbus.vmbsig-21.description = Signum IoT Gateway Module thing-type.velbus.vmbsig.label = VMBSIG thing-type.velbus.vmbsig.description = Signum IoT Gateway Module -thing-type.velbus.vmbvp1.label = VMPVP1 +thing-type.velbus.vmbvp1.label = VMBVP1 thing-type.velbus.vmbvp1.description = Doorbird interface module # thing types config @@ -871,7 +871,7 @@ channel-group-type.velbus.1channelDimWhiteColorModule.description = This is a ge channel-group-type.velbus.1channelFeedbackModule.label = Feedback channel-group-type.velbus.1channelFeedbackModule.description = This is a generic module with 1 feedback channel. channel-group-type.velbus.1channelInputModuleWithTemperatureSensor.label = Input with Temperature Sensor -channel-group-type.velbus.1channelInputModuleWithTemperatureSensor.description = This is a generic module with 8 input channels and a temperature sensor. +channel-group-type.velbus.1channelInputModuleWithTemperatureSensor.description = This is a generic module with a temperature sensor. channel-group-type.velbus.1channelVirtualLight.label = Virtual light channel-group-type.velbus.1channelVirtualLight.description = This is a generic module with 1 virtual light channel. channel-group-type.velbus.1outputModule.label = Output @@ -943,7 +943,7 @@ channel-group-type.velbus.8channelButtonModule.description = This is a generic m channel-group-type.velbus.8channelColorModule.label = Color channel-group-type.velbus.8channelColorModule.description = This is a generic module with 8 color channels. channel-group-type.velbus.8channelCounterModule.label = Counters -channel-group-type.velbus.8channelCounterModule.description = This is a generic module with 4 counter channels. +channel-group-type.velbus.8channelCounterModule.description = This is a generic module with 8 counter channels. channel-group-type.velbus.8channelFadeModule.label = Fade Mode channel-group-type.velbus.8channelFadeModule.description = This is a generic module with 8 fade mode channels. channel-group-type.velbus.8channelFeedbackModule.label = Feedback @@ -984,7 +984,7 @@ channel-group-type.velbus.clockAlarm.channel.clockAlarm2Enabled.label = Clock Al channel-group-type.velbus.clockAlarm.channel.clockAlarm2Type.label = Clock Alarm 2 Type channel-group-type.velbus.clockAlarm.channel.clockAlarm2WakeupHour.label = Clock Alarm 2 Wakeup Hour channel-group-type.velbus.clockAlarm.channel.clockAlarm2WakeupMinute.label = Clock Alarm 2 Wakeup Minute -channel-group-type.velbus.oledDisplay.label = O-LED Display +channel-group-type.velbus.oledDisplay.label = OLED Display channel-group-type.velbus.oledDisplay.channel.MEMO.label = Memo channel-group-type.velbus.oledDisplay.channel.SCREENSAVER.label = Screensaver channel-group-type.velbus.thermostat.label = Thermostat diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/channel-groups-types.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/channel-groups-types.xml index d35311f7fec49..366f35ca20619 100644 --- a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/channel-groups-types.xml +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/channel-groups-types.xml @@ -6,7 +6,7 @@ - This is a generic module with 8 input channels and a temperature sensor. + This is a generic module with a temperature sensor. @@ -69,7 +69,7 @@ - This is a generic module with 4 counter channels. + This is a generic module with 8 counter channels. @@ -1228,7 +1228,7 @@ - + diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-input-types.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-input-types.xml index 8da4c119d0e75..960c114c591e2 100644 --- a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-input-types.xml +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-input-types.xml @@ -121,7 +121,7 @@ - 7-channel input module (potentialfree + pulse) + 7-channel input module (potential-free + pulse) ControlDevice @@ -140,7 +140,7 @@ - 8-channel input module (potentialfree + pulse) + 8-channel input module (potential-free + pulse) ControlDevice @@ -357,7 +357,7 @@ - Edge-lit touch panel with Oled display + Edge-lit touch panel with OLED display ControlDevice @@ -382,7 +382,7 @@ - Edge-lit touch panel with Oled display + Edge-lit touch panel with OLED display ControlDevice @@ -587,7 +587,7 @@ - Glass control module with oled display + Glass control module with OLED display ControlDevice @@ -608,7 +608,7 @@ - Glass control module with oled display + Glass control module with OLED display ControlDevice @@ -629,7 +629,7 @@ - Glass control module with oled display + Glass control module with OLED display ControlDevice @@ -650,7 +650,7 @@ - Glass control module with oled display and temperature controller + Glass control module with OLED display and temperature controller ControlDevice @@ -671,7 +671,7 @@ - Glass control module with oled display and temperature controller (Edition 2) + Glass control module with OLED display and temperature controller (Edition 2) ControlDevice @@ -744,7 +744,7 @@ - + Doorbird interface module Doorbell diff --git a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-sensor-types.xml b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-sensor-types.xml index e92b347174296..f0bc6ce6af7b9 100644 --- a/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-sensor-types.xml +++ b/bundles/org.openhab.binding.velbus/src/main/resources/OH-INF/thing/modules-sensor-types.xml @@ -55,7 +55,7 @@ - Edge-lit Motion detector with four touch button + Edge-lit Motion detector with four touch buttons MotionDetector diff --git a/bundles/org.openhab.binding.velux/README.md b/bundles/org.openhab.binding.velux/README.md index 762ad1b1b62ac..471bf6c9884d4 100644 --- a/bundles/org.openhab.binding.velux/README.md +++ b/bundles/org.openhab.binding.velux/README.md @@ -45,14 +45,14 @@ The binding supports the following types of Thing. ## Discovery -To simplify the initial provisioning, the binding provides one thing which can be found by autodiscovery. +To simplify the initial provisioning, the binding provides one Thing which can be found by autodiscovery. The binding will automatically discover Velux Bridges within the local network, and place them in the Inbox. Once a Velux Bridge has been discovered, you will need to enter the `password` Configuration Parameter (see below) before the binding can communicate with it. And once the Velux Bridge is fully configured, you need to check your Inbox for discovered scenes and actuators. If nothing shows up you need to trigger discovering scenes and actuators (like windows and rollershutters) of the Velux Bridge. -For this log into the openHAB webfront go to Settings -> Things and click on the + symbol in the lower right. +In the Main UI, go to Settings → Things and click the + (Add) button in the lower right. Then select the Velux Binding and click Scan. -After the scan has completed the scences and actuators configured in the KLF 200 are placed in the Inbox. +After the scan has completed the scenes and actuators configured in the KLF 200 are placed in the Inbox. ## Thing Configuration @@ -248,14 +248,14 @@ The bridge Thing provides the following properties. |-------------------|-----------------------------------------------------------------| | address | IP address of the Bridge | | check | Result of the check of current item configuration | -| connectionAttempt | Date-Time of last connection attampt | -| connectionSuccess | Date-Time of last successful connection attampt | +| connectionAttempt | Date-Time of last connection attempt | +| connectionSuccess | Date-Time of last successful connection attempt | | defaultGW | IP address of the Default Gateway of the Bridge | | DHCP | Flag whether automatic IP configuration is enabled | | firmware | Software version of the Bridge | | products | List of all recognized products | | scenes | List of all defined scenes | -| subnetMask | IP subnetmask of the Bridge | +| subnetMask | IP subnet mask of the Bridge | | vendor | Vendor name | | WLANSSID | Name of the wireless network (not supported any more) | | WLANPassword | WLAN Authentication Password (not supported any more) | @@ -310,7 +310,7 @@ The method returns a `Boolean` whose meaning is also described in the table belo | Argument | Type | Example | Description | |-------------|---------|-------------------------------------|------------------------------------------------------------------------------------------| -| thingName | String | "velux:rollershutter:hubid:thingid" | The thing name of the shutter. Must be a valid configured thing in the hub. | +| thingName | String | "velux:rollershutter:hubid:thingid" | The Thing name of the shutter. Must be a valid configured Thing in the hub. | | mainPercent | Integer | 75 | The target main position in percent. Integer between 0 and 100. | | vanePercent | Integer | 25 | The target vane position in percent. Integer between 0 and 100. | | return | Boolean | `true` | Is `true` if the command was sent successfully or `false` if any arguments were invalid. | @@ -322,7 +322,7 @@ rule "Simultaneously Move Main and Vane Positions" when ... then - // note: "velux:klf200:hubid" shall be the thing name of your KLF 200 hub + // note: "velux:klf200:hubid" shall be the Thing name of your KLF 200 hub val veluxActions = getActions("velux", "velux:klf200:hubid") if (veluxActions !== null) { val succeeded = veluxActions.moveMainAndVane("velux:rollershutter:hubid:thingid", 75, 25) @@ -388,7 +388,7 @@ then val isRebooting = veluxActions.rebootBridge() logWarn("Rules", "Velux KLF 200 rebooting: " + isRebooting) } else { - logWarn("Rules", "Velux KLF 200 actions not found, check thing ID") + logWarn("Rules", "Velux KLF 200 actions not found, check Thing ID") } end ``` @@ -519,7 +519,7 @@ However if you have set the configuration parameter isProtocolTraceEnabled to tr ## Supported/Tested Firmware Revisions The Velux Bridge in API version one (firmware version 0.1.1.*) allows activating a set of predefined actions, so called scenes. -Therefore beside the bridge, only one main thing exists, the scene element. +Therefore beside the bridge, only one main Thing exists, the scene element. The next-generation firmware version two is not backward compatible, and does not provide a public web frontend, but version two does provide full access to any IO-Home compatible devices not limited to Velux and includes many different features. diff --git a/bundles/org.openhab.binding.velux/src/main/resources/OH-INF/i18n/velux.properties b/bundles/org.openhab.binding.velux/src/main/resources/OH-INF/i18n/velux.properties index af96075ca4b43..42b408ada3e82 100644 --- a/bundles/org.openhab.binding.velux/src/main/resources/OH-INF/i18n/velux.properties +++ b/bundles/org.openhab.binding.velux/src/main/resources/OH-INF/i18n/velux.properties @@ -1,40 +1,43 @@ -# -# add-on descriptions -# +# add-on + addon.velux.name = Velux Binding addon.velux.description = A binding for the Velux KLF200 Bridge. The Velux Binding interacts via a Velux Bridge with the different Velux devices like controlling window openers, shutters and others. For example a KLF200 can act as interface between the HomeAutomation and the VELUX INTEGRA products with wireless connectivity based on the io-homecontrol standard. -# -# Bridge Thing types descriptions -# + +# thing types config + +bridge-type.config.velux.bridge.protocol.option.slip = slip +bridge-type.config.velux.bridge.protocol.option.http = http +bridge-type.config.velux.bridge.protocol.option.https = https +thing-type.config.velux.scene.velocity.option.default = default +thing-type.config.velux.scene.velocity.option.silent = silent +thing-type.config.velux.scene.velocity.option.fast = fast + +# bridge thing types descriptions + bridge-type.velux.klf200.label = Velux KLF200 Bridge bridge-type.velux.klf200.description = The Velux KLF200 represents a gateway to all Velux resp. io-homecontrol devices. -# -# Thing types descriptions -# -thing-type.velux.binding.label = Velux Binding Information -thing-type.velux.binding.description = Presents the status of the openHAB Velux binding. -# + +# thing types descriptions + thing-type.velux.actuator.label = Velux Actuator Information thing-type.velux.actuator.description = Control an actuator via the Velux KLF 200. -# +thing-type.velux.binding.label = Velux Binding Information +thing-type.velux.binding.description = Presents the status of the openHAB Velux binding. thing-type.velux.rollershutter.label = Velux Rollershutter Information thing-type.velux.rollershutter.description = Control a rollershutter on the Velux KLF 200. -# thing-type.velux.scene.label = Velux Scene Information thing-type.velux.scene.description = Control a scene on the Velux KLF 200. -# thing-type.velux.vshutter.label = Virtual Shutter Information thing-type.velux.vshutter.description = A Set of Scenes which act together as Shutter. -# thing-type.velux.window.label = Velux Window Information thing-type.velux.window.description = Control a window on the Velux KLF 200. -# -# Discovery descriptions -# + +# discovery descriptions + discovery.velux.binding...label = Velux Binding Information Element -# -# Config descriptions -# + +# config descriptions + config.velux.bridge.ipAddress.label = IP Address config.velux.bridge.ipAddress.description = The IP address of the Velux Bridge. config.velux.bridge.protocol.label = Protocol @@ -56,12 +59,6 @@ config.velux.bridge.isSequentialEnforced.description = Enforce Sequential Actuat config.velux.bridge.isProtocolTraceEnabled.label = Enable Protocol Trace config.velux.bridge.isProtocolTraceEnabled.description = Provide KLF200 protocol details. config.velux.bridge.unAvailable = Unavailable -# -config.velux.thing.scene.sceneName.label = Scene Name -config.velux.thing.scene.sceneName.description = Name of the scene to be handled. -config.velux.thing.scene.velocity.label = Velocity -config.velux.thing.scene.velocity.description = Velocity Level. -# config.velux.thing.actuator.serial.label = Serial Number config.velux.thing.actuator.serial.description = Eight hex digits (i.e. 65:23:3E:26:0C:1B:00:10). config.velux.thing.actuator.name.label = Name @@ -72,7 +69,6 @@ config.velux.thing.actuator.limitMinimum.label = Minimum Limitation Position config.velux.thing.actuator.limitMinimum.description = The minimum limitation position of the actuator. config.velux.thing.actuator.limitMaximum.label = Maximum Limitation Position config.velux.thing.actuator.limitMaximum.description = The maximum limitation position of the actuator. -# config.velux.thing.rollershutter.serial.label = Serial Number config.velux.thing.rollershutter.serial.description = Eight hex digits (i.e. 65:23:3E:26:0C:1B:00:10). config.velux.thing.rollershutter.name.label = Name @@ -83,7 +79,14 @@ config.velux.thing.rollershutter.limitMinimum.label = Minimum Limitation Positio config.velux.thing.rollershutter.limitMinimum.description = The minimum limitation position of the rollershutter. config.velux.thing.rollershutter.limitMaximum.label = Maximum Limitation Position config.velux.thing.rollershutter.limitMaximum.description = The maximum limitation position of the rollershutter. -# +config.velux.thing.scene.sceneName.label = Scene Name +config.velux.thing.scene.sceneName.description = Name of the scene to be handled. +config.velux.thing.scene.velocity.label = Velocity +config.velux.thing.scene.velocity.description = Velocity Level. +config.velux.thing.vshutter.sceneLevels.label = List of Positions/Scenes +config.velux.thing.vshutter.sceneLevels.description = Definition of a virtual shutter by declaring one scene corresponding to one position. Therefore this parameter look like: ,,, +config.velux.thing.vshutter.currentLevel.label = Current Position +config.velux.thing.vshutter.currentLevel.description = Value between 0 and 100. config.velux.thing.window.serial.label = Serial Number config.velux.thing.window.serial.description = Eight hex digits (i.e. 65:23:3E:26:0C:1B:00:10). config.velux.thing.window.name.label = Name @@ -94,14 +97,9 @@ config.velux.thing.window.limitMinimum.label = Minimum Limitation Position config.velux.thing.window.limitMinimum.description = The minimum limitation position of the window. config.velux.thing.window.limitMaximum.label = Maximum Limitation Position config.velux.thing.window.limitMaximum.description = The maximum limitation position of the window. -# -config.velux.thing.vshutter.sceneLevels.label = List of Positions/Scenes -config.velux.thing.vshutter.sceneLevels.description = Definition of a virtual shutter by declaring one scene corresponding to one position. Therefore this parameter look like: ,,, -config.velux.thing.vshutter.currentLevel.label = Current Position -config.velux.thing.vshutter.currentLevel.description = Value between 0 and 100. -# -# Channel types descriptions -# + +# channel types descriptions + channel-type.velux.information.label = Binding Information channel-type.velux.information.description = Description of current Binding State. channel-type.velux.status.label = Bridge State @@ -132,7 +130,6 @@ channel-type.velux.scenes.label = Identified Scenes channel-type.velux.scenes.description = Scenes which are configured on the Bridge. channel-type.velux.check.label = Check of configuration channel-type.velux.check.description = Result of the check of current item configuration. -# channel-type.velux.windowPosition.label = Window Position channel-type.velux.windowPosition.description = Device control (UP, DOWN, STOP, closure 0-100%). channel-type.velux.position.label = Position @@ -151,22 +148,22 @@ channel-type.velux.limitMaximum.label = Maximum Limitation Position channel-type.velux.limitMaximum.description = The maximum limitation position of the actuator/rollershutter/window. channel-type.velux.vposition.label = Position channel-type.velux.vposition.description = Device control (UP, DOWN, STOP, closure 0-100%). -# -# Runtime status descriptions -# + +# runtime status descriptions + runtime.no-bridge = So far no bridge is defined. Please add a thing of type "Velux KLF200" to establish a connection to the gateway, which provides the prerequisite for further commissioning. runtime.one-bridge = A bridge element is already defined. Thus, you can now set up additional devices by means of search (or discovery) or by adding things manually. runtime.multiple-bridges = There are more than one bridges defined. This is of course possible with several Velux KLF200 gateways or with a redundant setup (SLIP via LAN parallel to JSON via WLAN). Every other case should be avoided. runtime.bridge-offline-no-valid-bridgeProtocol-selected = The parameter "bridgeProtocol" has to be set correctly. runtime.bridge-offline-login-sequence-failed = Login sequence failed. -# -# Thing status descriptions -# + +# thing status descriptions + channelValue.check-integrity-failed = Integrity check failed: The following scenes are unused: channelValue.check-integrity-ok = Integrity check ok. All scenes are used within Items. -# -# Actions -# + +# actions + action.reboot.label = Reboot Bridge action.reboot.descr = Issues a reboot command to the KLF200 bridge action.moveRelative.label = Move Relative diff --git a/bundles/org.openhab.binding.venstarthermostat/README.md b/bundles/org.openhab.binding.venstarthermostat/README.md index 53ae2235274e2..925ea7f60481b 100644 --- a/bundles/org.openhab.binding.venstarthermostat/README.md +++ b/bundles/org.openhab.binding.venstarthermostat/README.md @@ -1,67 +1,67 @@ # Venstar Thermostat Binding -The Venstar Thermostat binding supports an interface to WiFi enabled ColorTouch and Explorer thermostats manufactured by [Venstar](https://www.venstar.com). +The Venstar Thermostat binding supports an interface to Wi‑Fi enabled ColorTouch and Explorer thermostats manufactured by [Venstar](https://www.venstar.com). -Venstar WiFi enabled thermostats provide a local API that this binding uses +Venstar Wi‑Fi enabled thermostats provide a local API that this binding uses to communicate with the thermostat. This binding does not require "cloud" access and may be used independently of Venstar's Skyport cloud services. The Local API is not enabled by default, so you will need to set up your -thermostat by configuring its WiFi connection and enabling the Local API. In +thermostat by configuring its Wi‑Fi connection and enabling the Local API. In order for the binding to connect, you will need to enable HTTPS support and set a username and password. While it is possible to enable the Local API -without HTTPS and authentication, the binding doesn't support it, in an effort +without HTTPS and authentication, the binding does not support it, in an effort to provide as secure an installation as possible. -When you've set the username and password, make a note of these, as you'll need +When you've set the username and password, make a note of these, as you will need to enter them in the thermostat configuration in openHAB. ## Supported Things -| Thing Type | Description | -|----------------------|-----------------------------------------------------------------------------------| +| Thing Type | Description | +|----------------------|------------------------------------------------------------------------------------| | colorTouchThermostat | A Venstar [ColorTouch](https://www.venstar.com/thermostats/colortouch/) thermostat | ## Discovery -Once the binding is installed it will attempt to auto discover Venstar thermostats located on the local network. +Once the binding is installed it will attempt to automatically discover Venstar thermostats located on the local network. These will appear as Things in the system Inbox. -After adding the Inbox item, enter the user name and password from the physical thermostat in the Thing's configuration. +After adding the Inbox item, enter the username and password from the physical thermostat in the Thing's configuration. ## Thing Configuration ### ColorTouch Thermostat -| Parameter | Description | Required | -|-----------|------------------------------------------------------------------------------|----------| -| username | The username set on the thermostats configuration screen (typically 'admin') | yes | -| password | The password set set on the thermostats configuration screen | yes | -| url | URL of the thermostat in the format 'proto://host' | yes | -| refresh | The frequency in which the binding will pool for update information | no | +| Parameter | Description | Required | +|-----------|-------------------------------------------------------------------------------|----------| +| username | The username set on the thermostat's configuration screen (typically 'admin') | yes | +| password | The password set on the thermostat's configuration screen | yes | +| url | URL of the thermostat in the format `https://host` | yes | +| refresh | The frequency at which the binding will poll for update information (seconds) | no | ### Channels -| Channel | Type | Description | Notes | -|--------------------|--------------------|---------------------------------------|--------------------------------------------------------| -| awayMode | String | Home or Away Mode | | -| awayModeRaw | Number | Away Mode Raw (Read Only) | 0 (Home) 1 (Away) | -| systemMode | String | System Mode | | -| systemModeRaw | Number | System Mode Raw (Read Only) | 0 (Off) 1 (Heat) 2 (Cool) 3 (Auto) | -| systemState | String | System State (Read Only) | | -| systemStateRaw | Number | System State Raw (Read Only) | 0 (Idle) 1 (Heating) 2 (Cooling) 3 (Lockout) 4 (Error) | -| heatingSetpoint | Number:Temperature | Heating Set Point | | -| coolingSetpoint | Number:Temperature | Cooling Set Point | | -| temperature | Number:Temperature | Current Temperature | | -| outdoorTemperature | Number:Temperature | Outdoor Temperature | | -| humidity | Number | Humidity | | -| fanMode | String | Fan Mode | | -| fanModeRaw | Number | Fan Mode Raw (Read Only) | 0 (Auto) 1 (On) | -| fanState | Switch | Fan State (Read Only) | | -| fanStateRaw | Number | Fan State Raw (Read Only) | 0 (Off) 1 (On) | -| scheduleMode | String | Current Schedule Mode | | -| scheduleModeRaw | Number | Current Schedule mode Raw (Read Only) | 0(Disabled) 1(Enabled) | -| schedulePart | String | Current Schedule Part | | -| schedulePartRaw | Number | Schedule Part Raw (Read Only) | 0(Morning) 1(Day) 2(Evening) 3 (Night) 255 (Inactive) | +| Channel | Type | Description | Notes | +|--------------------|--------------------|---------------------------------------|----------------------------------------------------------| +| awayMode | String | Home or Away Mode | | +| awayModeRaw | Number | Away Mode Raw (Read Only) | 0 (Home) 1 (Away) | +| systemMode | String | System Mode | | +| systemModeRaw | Number | System Mode Raw (Read Only) | 0 (Off) 1 (Heat) 2 (Cool) 3 (Auto) | +| systemState | String | System State (Read Only) | | +| systemStateRaw | Number | System State Raw (Read Only) | 0 (Idle) 1 (Heating) 2 (Cooling) 3 (Lockout) 4 (Error) | +| heatingSetpoint | Number:Temperature | Heating Setpoint | | +| coolingSetpoint | Number:Temperature | Cooling Setpoint | | +| temperature | Number:Temperature | Current Temperature | | +| outdoorTemperature | Number:Temperature | Outdoor Temperature | | +| humidity | Number | Humidity | | +| fanMode | String | Fan Mode | | +| fanModeRaw | Number | Fan Mode Raw (Read Only) | 0 (Auto) 1 (On) | +| fanState | Switch | Fan State (Read Only) | | +| fanStateRaw | Number | Fan State Raw (Read Only) | 0 (Off) 1 (On) | +| scheduleMode | String | Current Schedule Mode | | +| scheduleModeRaw | Number | Current Schedule Mode Raw (Read Only) | 0 (Disabled) 1 (Enabled) | +| schedulePart | String | Current Schedule Part | | +| schedulePartRaw | Number | Schedule Part Raw (Read Only) | 0 (Morning) 1 (Day) 2 (Evening) 3 (Night) 255 (Inactive) | ### Runtime data @@ -69,34 +69,34 @@ The Venstar thermostat provides data about how many minutes the system has been A time stamp is provided with each runtime data set which represents the end of each day. The binding reads the runtime data and time stamps and provides them all as separate channels. -| Channel | Type | Description | Notes | -|------------------------|----------------------|----------------------------------------------|------------------------------------------------------------| -| timestampDay0 | DateTime | Time Stamp of last runtime update | This is always the current time today | -| timestampDay1 | DateTime | Time Stamp of 00:00, end of yesterday | This represents the end of 1 day ago | -| timestampDay2 | DateTime | Time Stamp of 00:00 end of 2 days ago | This represents the end of 2 days ago | -| timestampDay3 | DateTime | Time Stamp of 00:00, end of 3 days ago | This represents the end of 3 days ago | -| timestampDay4 | DateTime | Time Stamp of 00:00, end of 4 days ago | This represents the end of 4 days ago | -| timestampDay5 | DateTime | Time Stamp of 00:00, end of 5 days ago | This represents the end of 5 days ago | -| timestampDay6 | DateTime | Time Stamp of 00:00, end of 6 days ago | This represents the end of 6 days ago | -| heat1RuntimeDay0 | Number:Dimensionless | Runtime in heat1 mode (minutes) today | This is the runtime between the Day 1 and Day 0 timestamps | -| heat1RuntimeDay1 | Number:Dimensionless | Runtime in heat1 mode (minutes) yesterday | This is the runtime between the Day 2 and Day 1 timestamps | -| heat1RuntimeDay2 | Number:Dimensionless | Runtime in heat1 mode (minutes) 2 days ago | This is the runtime between the Day 3 and Day 2 timestamps | -| heat1RuntimeDay3 | Number:Dimensionless | Runtime in heat1 mode (minutes) 3 days ago | This is the runtime between the Day 4 and Day 3 timestamps | -| heat1RuntimeDay4 | Number:Dimensionless | Runtime in heat1 mode (minutes) 4 days ago | This is the runtime between the Day 5 and Day 4 timestamps | -| heat1RuntimeDay5 | Number:Dimensionless | Runtime in heat1 mode (minutes) 5 days ago | This is the runtime between the Day 6 and Day 5 timestamps | -| heat1RuntimeDay6 | Number:Dimensionless | Runtime in heat1 mode (minutes) 6 days ago | This is the runtime in the 24hrs up to the Day 6 timestamp | -| | | | | -| heat2RuntimeDay0..6 | Number:Dimensionless | Similar Runtimes in heat2 mode (minutes) | | -| | | | | -| cool1RuntimeDay0..6 | Number:Dimensionless | Similar Runtimes in cool1 mode (minutes) | | -| | | | | -| cool2RuntimeDay0..6 | Number:Dimensionless | Similar Runtimes in cool2 mode (minutes) | | -| | | | | -| aux1RuntimeDay0..6 | Number:Dimensionless | Similar Runtimes in aux1 mode (minutes) | | -| | | | | -| aux2RuntimeDay0..6 | Number:Dimensionless | Similar Runtimes in aux2 mode (minutes) | | -| | | | | -| freeCoolRuntimeDay0..6 | Number:Dimensionless | Similar Runtimes in free cool mode (minutes) | | +| Channel | Type | Description | Notes | +|------------------------|----------------------|----------------------------------------------|---------------------------------------------------------------| +| timestampDay0 | DateTime | Timestamp of last runtime update | This is always the current time today | +| timestampDay1 | DateTime | Timestamp of 00:00, end of yesterday | This represents the end of 1 day ago | +| timestampDay2 | DateTime | Timestamp of 00:00, end of 2 days ago | This represents the end of 2 days ago | +| timestampDay3 | DateTime | Timestamp of 00:00, end of 3 days ago | This represents the end of 3 days ago | +| timestampDay4 | DateTime | Timestamp of 00:00, end of 4 days ago | This represents the end of 4 days ago | +| timestampDay5 | DateTime | Timestamp of 00:00, end of 5 days ago | This represents the end of 5 days ago | +| timestampDay6 | DateTime | Timestamp of 00:00, end of 6 days ago | This represents the end of 6 days ago | +| heat1RuntimeDay0 | Number:Dimensionless | Runtime in heat1 mode (minutes) today | This is the runtime between the Day 1 and Day 0 timestamps | +| heat1RuntimeDay1 | Number:Dimensionless | Runtime in heat1 mode (minutes) yesterday | This is the runtime between the Day 2 and Day 1 timestamps | +| heat1RuntimeDay2 | Number:Dimensionless | Runtime in heat1 mode (minutes) 2 days ago | This is the runtime between the Day 3 and Day 2 timestamps | +| heat1RuntimeDay3 | Number:Dimensionless | Runtime in heat1 mode (minutes) 3 days ago | This is the runtime between the Day 4 and Day 3 timestamps | +| heat1RuntimeDay4 | Number:Dimensionless | Runtime in heat1 mode (minutes) 4 days ago | This is the runtime between the Day 5 and Day 4 timestamps | +| heat1RuntimeDay5 | Number:Dimensionless | Runtime in heat1 mode (minutes) 5 days ago | This is the runtime between the Day 6 and Day 5 timestamps | +| heat1RuntimeDay6 | Number:Dimensionless | Runtime in heat1 mode (minutes) 6 days ago | This is the runtime in the 24 hours up to the Day 6 timestamp | +| | | | | +| heat2RuntimeDay0..6 | Number:Dimensionless | Similar Runtimes in heat2 mode (minutes) | | +| | | | | +| cool1RuntimeDay0..6 | Number:Dimensionless | Similar Runtimes in cool1 mode (minutes) | | +| | | | | +| cool2RuntimeDay0..6 | Number:Dimensionless | Similar Runtimes in cool2 mode (minutes) | | +| | | | | +| aux1RuntimeDay0..6 | Number:Dimensionless | Similar Runtimes in aux1 mode (minutes) | | +| | | | | +| aux2RuntimeDay0..6 | Number:Dimensionless | Similar Runtimes in aux2 mode (minutes) | | +| | | | | +| freeCoolRuntimeDay0..6 | Number:Dimensionless | Similar Runtimes in free cool mode (minutes) | | ## Example diff --git a/bundles/org.openhab.binding.venstarthermostat/src/main/resources/OH-INF/i18n/venstarthermostat.properties b/bundles/org.openhab.binding.venstarthermostat/src/main/resources/OH-INF/i18n/venstarthermostat.properties index a82212389f9b9..fa0d759639917 100644 --- a/bundles/org.openhab.binding.venstarthermostat/src/main/resources/OH-INF/i18n/venstarthermostat.properties +++ b/bundles/org.openhab.binding.venstarthermostat/src/main/resources/OH-INF/i18n/venstarthermostat.properties @@ -14,7 +14,7 @@ thing-type.config.venstarthermostat.colorTouchThermostat.password.label = Passwo thing-type.config.venstarthermostat.colorTouchThermostat.refresh.label = Refresh interval thing-type.config.venstarthermostat.colorTouchThermostat.refresh.description = Specifies the refresh interval in seconds. thing-type.config.venstarthermostat.colorTouchThermostat.url.label = URL -thing-type.config.venstarthermostat.colorTouchThermostat.url.description = URL of the thermostat in the format 'proto://host' (example: https://192.168.1.100) +thing-type.config.venstarthermostat.colorTouchThermostat.url.description = URL of the thermostat (HTTPS required), for example: https://192.168.1.100 thing-type.config.venstarthermostat.colorTouchThermostat.username.label = Username # channel types @@ -92,5 +92,5 @@ channel-type.venstarthermostat.systemStateRaw.description = Current System Opera channel-type.venstarthermostat.temperature.label = Temperature channel-type.venstarthermostat.temperature.description = Temperature channel-type.venstarthermostat.timestampRuntime.label = Runtime Record Timestamp -channel-type.venstarthermostat.timestampRuntime.description = Time stamp of Runtime Update (Day 0 = TODAY, Day 6 = 6 days ago) +channel-type.venstarthermostat.timestampRuntime.description = Timestamp of runtime update (Day 0 = TODAY, Day 6 = 6 days ago) channel-type.venstarthermostat.timestampRuntime.state.pattern = %1$tY-%1$tm-%1$td %1$tH:%1$tM diff --git a/bundles/org.openhab.binding.venstarthermostat/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.venstarthermostat/src/main/resources/OH-INF/thing/thing-types.xml index ef97ca11f44e5..706761ce2d694 100644 --- a/bundles/org.openhab.binding.venstarthermostat/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.venstarthermostat/src/main/resources/OH-INF/thing/thing-types.xml @@ -101,7 +101,7 @@ - URL of the thermostat in the format 'proto://host' (example: https://192.168.1.100) + URL of the thermostat (HTTPS required), for example: https://192.168.1.100 @@ -248,7 +248,7 @@ DateTime - Time stamp of Runtime Update (Day 0 = TODAY, Day 6 = 6 days ago) + Timestamp of runtime update (Day 0 = TODAY, Day 6 = 6 days ago) diff --git a/bundles/org.openhab.binding.ventaair/README.md b/bundles/org.openhab.binding.ventaair/README.md index 3f5ba6bef8e62..71b2114bc71c7 100644 --- a/bundles/org.openhab.binding.ventaair/README.md +++ b/bundles/org.openhab.binding.ventaair/README.md @@ -20,15 +20,15 @@ After confirming this request, the user can link its items to receive data or co ## Thing Configuration -There are three mandatory configuration parameters for a thing: `ipAddress`, `macAddress` and `deviceType`. +There are three mandatory configuration parameters for a Thing: `ipAddress`, `macAddress` and `deviceType`. -| parameter | required | description | -|----------|------------|-------------------------------------------| -| ipAddress | Y | The IP Address or hostname of the device. | -| macAddress | Y | The MAC address of the device. | -| deviceType | Y | Defines the type of device. It is an integer value and its best to use the automatic discovery to obtain it from the device. | -| pollingTime | N | The time interval in seconds in which the data should be polled from the device, default is 10 seconds. | -| hash | N | It is a negative integer value and it is used by the device to identify a connection to a client, like the App from the vendor for example. (*) | +| parameter | required | description | +|-------------|----------|-------------------------------------------------------------------------------------------------------------------------------------------------| +| ipAddress | Y | The IP Address or hostname of the device. | +| macAddress | Y | The MAC address of the device. | +| deviceType | Y | Defines the type of device. It is an integer value and its best to use the automatic discovery to obtain it from the device. | +| pollingTime | N | The time interval in seconds in which the data should be polled from the device, default is 10 seconds. | +| hash | N | It is a negative integer value and it is used by the device to identify a connection to a client, like the App from the vendor for example. (*) | (*) I do not know whether there are devices which are restricted to only one client, so I added this parameter to allow the user to set the same value as his App on the phone (can be obtained via sniffing the network). However, the LW60-T allows for multiple connections to different clients, identified by different `hash` values at the same time without issues. @@ -44,25 +44,25 @@ Thing ventaair:lw60t:humidifier [ ipAddress="192.168.42.69", macAddress="f8:f0:0 These are the channels that are currently supported: -| channel | type (RO=read-only) | description | -|----------|--------|------------------------------| -| power | Switch | This is the power on/off channel | -| fanSpeed | Number | This is the channel to control the steps (in range 0-5 where 0 means "off") for the speed of the fan | -| targetHumidity | Number | This channel sets the target humidity (in percent) that should be tried to reach by the device (allowed values: 30-70) | -| timer | Number | This channel sets the power off timer to the set value in hours, i.e. 3 = turn off in 3 hours from now (allowed values: 0-9 where 0 means "off") | -| sleepMode | Switch | This channel controls the sleep mode of the device (dims the display and slows down the fan) | -| childLock | Switch | This is the control channel for the child lock | -| automatic | Switch | This is the control channel to start the automatic operation mode of the device | -| cleanMode | Switch (RO) | This is the channel that indicates if the device is in the cleaning mode | -| temperature | Number:Temperature (RO) | This channel provides the current measured temperature in Celsius or Fahrenheit as configured on the device | -| humidity | Number:Dimensionless (RO) | This channel provides the humidity measured by the device in percent | -| waterLevel | Number (RO) | This channel indicates the water level of the tank where 1 is equal to the yellow "refill tank" warning on the device/App | -| fanRPM | Number (RO) | This channel provides the speed of the ventilation fan | -| timerTimePassed | Number:Time (RO) | If a timer has been set, this channel provides the minutes since when the timer was started | -| operationTime | Number:Time (RO) | This channel provides the operation time of the device in hours | -| discReplaceTime | Number:Time (RO) | This channel provides the time in how many hours the cleaning disc should be replaced | -| cleaningTime | Number:Time (RO) | This channel provides the time in how many hours the device should be cleaned | -| boost | Switch | This is the control channel for the boost mode (on some devices that supports it) | +| channel | type (RO=read-only) | description | +|-----------------|---------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------| +| power | Switch | This is the power on/off channel | +| fanSpeed | Number | This is the channel to control the steps (in range 0-5 where 0 means "off") for the speed of the fan | +| targetHumidity | Number | This channel sets the target humidity (in percent) that should be tried to reach by the device (allowed values: 30-70) | +| timer | Number | This channel sets the power off timer to the set value in hours, i.e. 3 = turn off in 3 hours from now (allowed values: 0-9 where 0 means "off") | +| sleepMode | Switch | This channel controls the sleep mode of the device (dims the display and slows down the fan) | +| childLock | Switch | This is the control channel for the child lock | +| automatic | Switch | This is the control channel to start the automatic operation mode of the device | +| cleanMode | Switch (RO) | This is the channel that indicates if the device is in the cleaning mode | +| temperature | Number:Temperature (RO) | This channel provides the current measured temperature in Celsius or Fahrenheit as configured on the device | +| humidity | Number:Dimensionless (RO) | This channel provides the humidity measured by the device in percent | +| waterLevel | Number (RO) | This channel indicates the water level of the tank where 1 is equal to the yellow "refill tank" warning on the device/App | +| fanRPM | Number (RO) | This channel provides the speed of the ventilation fan | +| timerTimePassed | Number:Time (RO) | If a timer has been set, this channel provides the minutes since when the timer was started | +| operationTime | Number:Time (RO) | This channel provides the operation time of the device in hours | +| discReplaceTime | Number:Time (RO) | This channel provides the time in how many hours the cleaning disc should be replaced | +| cleaningTime | Number:Time (RO) | This channel provides the time in how many hours the device should be cleaned | +| boost | Switch | This is the control channel for the boost mode (on some devices that supports it) | ## Full Example diff --git a/bundles/org.openhab.binding.verisure/README.md b/bundles/org.openhab.binding.verisure/README.md index 65bec7dd191fc..295ecb3e5e62c 100644 --- a/bundles/org.openhab.binding.verisure/README.md +++ b/bundles/org.openhab.binding.verisure/README.md @@ -6,7 +6,7 @@ This binding uses a rest API used by the [Verisure My Pages webpage](https://myp ## Supported Things -This binding supports the following thing types: +This binding supports the following Thing types: - Bridge - Alarm @@ -34,11 +34,11 @@ You must also configure pin-code(s) to be able to lock/unlock the SmartLock(s) a ## Discovery -After the configuration of the Verisure Bridge all of the available Sensors, Alarms, SmartPlugs, SmartLocks, Climate and Mice Detection devices will be discovered and placed as things in the inbox. +After the configuration of the Verisure Bridge all of the available Sensors, Alarms, SmartPlugs, SmartLocks, Climate and Mice Detection devices will be discovered and placed as Things in the inbox. ## Thing Configuration -Only the bridge require manual configuration. The devices and sensors can be added by hand, or you can let the discovery mechanism automatically find all of your Verisure things. +Only the bridge require manual configuration. The devices and sensors can be added by hand, or you can let the discovery mechanism automatically find all of your Verisure Things. ## Enable Debugging @@ -70,9 +70,9 @@ If you define the bridge in a things-file the bridge type id is defined as `brid The following channels are supported: -| Channel Type ID | Item Type | Description | -|-----------------|-----------|-------------------------------------------------------------------------------------------------| -| status | String | This channel can be used to trigger an instant refresh by sending a RefreshType.REFRESH command.| +| Channel Type ID | Item Type | Description | +|-----------------|-----------|--------------------------------------------------------------------------------------------------| +| status | String | This channel can be used to trigger an instant refresh by sending a RefreshType.REFRESH command. | ### Verisure Alarm @@ -85,15 +85,15 @@ The following channels are supported: The following channels are supported: -| Channel Type ID | Item Type | Description | -|---------------------|-----------|-------------------------------------------------------------------------------------------| -| changedByUser | String | This channel reports the user that last changed the state of the alarm. | -| changedVia | String | This channel reports the method used to change the status. | -| timestamp | DateTime | This channel reports the last time the alarm status was changed. | -| installationName | String | This channel reports the installation name. | -| installationId | Number | This channel reports the installation ID. | -| alarmStatus | String | This channel is used to arm/disarm the alarm. Available alarm status are "DISARMED", "ARMED_HOME" and "ARMED_AWAY".| -| alarmTriggerChannel | trigger | This is a trigger channel that receives events. | +| Channel Type ID | Item Type | Description | +|---------------------|-----------|---------------------------------------------------------------------------------------------------------------------| +| changedByUser | String | This channel reports the user that last changed the state of the alarm. | +| changedVia | String | This channel reports the method used to change the status. | +| timestamp | DateTime | This channel reports the last time the alarm status was changed. | +| installationName | String | This channel reports the installation name. | +| installationId | Number | This channel reports the installation ID. | +| alarmStatus | String | This channel is used to arm/disarm the alarm. Available alarm status are "DISARMED", "ARMED_HOME" and "ARMED_AWAY". | +| alarmTriggerChannel | trigger | This is a trigger channel that receives events. | ### Verisure Yaleman SmartLock @@ -106,20 +106,20 @@ The following channels are supported: The following channels are supported: -| Channel Type ID | Item Type | Description | -|-------------------------|-----------|----------------------------------------------------------------------------------------------------------| -| changedByUser | String | This channel reports the user that last changed the state of the alarm. | -| timestamp | DateTime | This channel reports the last time the alarm status was changed. | -| changedVia | String | This channel reports the method used to change the status. | -| motorJam | Switch | This channel reports if the SmartLock motor has jammed. | -| location | String | This channel reports the location of the device. | -| installationName | String | This channel reports the installation name. | -| installationId | Number | This channel reports the installation ID. | -| smartLockStatus | Switch | This channel is used to lock/unlock. | +| Channel Type ID | Item Type | Description | +|-------------------------|-----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------| +| changedByUser | String | This channel reports the user that last changed the state of the alarm. | +| timestamp | DateTime | This channel reports the last time the alarm status was changed. | +| changedVia | String | This channel reports the method used to change the status. | +| motorJam | Switch | This channel reports if the SmartLock motor has jammed. | +| location | String | This channel reports the location of the device. | +| installationName | String | This channel reports the installation name. | +| installationId | Number | This channel reports the installation ID. | +| smartLockStatus | Switch | This channel is used to lock/unlock. | | autoRelock | Switch | This channel is used to configure auto-lock functionality. Only supported for users with Administrator rights. | -| smartLockVolume | String | This channel is used to set the volume level. Available volume settings are "SILENCE", "LOW" and "HIGH". Only supported for users with Administrator rights.| -| smartLockVoiceLevel | String | This channel is used to set the voice level. Available voice level settings are "ESSENTIAL" and "NORMAL". Only supported for users with Administrator rights.| -| smartLockTriggerChannel | trigger | This is a trigger channel that receives events. | +| smartLockVolume | String | This channel is used to set the volume level. Available volume settings are "SILENCE", "LOW" and "HIGH". Only supported for users with Administrator rights. | +| smartLockVoiceLevel | String | This channel is used to set the voice level. Available voice level settings are "ESSENTIAL" and "NORMAL". Only supported for users with Administrator rights. | +| smartLockTriggerChannel | trigger | This is a trigger channel that receives events. | ### Verisure SmartPlug @@ -132,14 +132,14 @@ The following channels are supported: The following channels are supported: -| Channel Type ID | Item Type | Description | -|-------------------------|-----------|-------------------------------------------------------------------| -| hazardous | Switch | This channel reports if the smart plug is configured as hazardous.| -| location | String | This channel reports the location of the device. | -| installationName | String | This channel reports the installation name. | -| installationId | Number | This channel reports the installation ID. | -| smartPlugStatus | Switch | This channel is used to turn smart plug on/off. | -| smartPlugTriggerChannel | trigger | This is a trigger channel that receives events. | +| Channel Type ID | Item Type | Description | +|-------------------------|-----------|--------------------------------------------------------------------| +| hazardous | Switch | This channel reports if the smart plug is configured as hazardous. | +| location | String | This channel reports the location of the device. | +| installationName | String | This channel reports the installation name. | +| installationId | Number | This channel reports the installation ID. | +| smartPlugStatus | Switch | This channel is used to turn smart plug on/off. | +| smartPlugTriggerChannel | trigger | This is a trigger channel that receives events. | ### Verisure Smoke Detector @@ -152,17 +152,17 @@ The following channels are supported: The following channels are supported: -| Channel Type ID | Item Type | Description | -|-----------------------------|-----------------------|-----------------------------------------------------------------------------| -| temperature | Number:Temperature | This channel reports the current temperature. | -| humidity | Number | This channel reports the current humidity in percentage. | -| humidityEnabled | Switch | This channel reports if the Climate is device capable of reporting humidity.| -| timestamp | DateTime | This channel reports the last time this sensor was updated. | -| location | String | This channel reports the location of the device. | -| installationName | String | This channel reports the installation name. | -| installationId | Number | This channel reports the installation ID. | -| lowBattery | Switch | This channel reports if the battery level is low. | -| smokeDetectorTriggerChannel | trigger | This is a trigger channel that receives events. | +| Channel Type ID | Item Type | Description | +|-----------------------------|--------------------|------------------------------------------------------------------------------| +| temperature | Number:Temperature | This channel reports the current temperature. | +| humidity | Number | This channel reports the current humidity in percentage. | +| humidityEnabled | Switch | This channel reports if the Climate is device capable of reporting humidity. | +| timestamp | DateTime | This channel reports the last time this sensor was updated. | +| location | String | This channel reports the location of the device. | +| installationName | String | This channel reports the installation name. | +| installationId | Number | This channel reports the installation ID. | +| lowBattery | Switch | This channel reports if the battery level is low. | +| smokeDetectorTriggerChannel | trigger | This is a trigger channel that receives events. | ### Verisure Water Detector @@ -175,14 +175,14 @@ The following channels are supported: The following channels are supported: -| Channel Type ID | Item Type | Description | -|-----------------------------|-----------------------|--------------------------------------------------------------| -| temperature | Number:Temperature | This channel reports the current temperature. | -| timestamp | DateTime | This channel reports the last time this sensor was updated. | -| location | String | This channel reports the location of the device. | -| installationName | String | This channel reports the installation name. | -| installationId | Number | This channel reports the installation ID. | -| waterDetectorTriggerChannel | trigger | This is a trigger channel that receives events. | +| Channel Type ID | Item Type | Description | +|-----------------------------|--------------------|-------------------------------------------------------------| +| temperature | Number:Temperature | This channel reports the current temperature. | +| timestamp | DateTime | This channel reports the last time this sensor was updated. | +| location | String | This channel reports the location of the device. | +| installationName | String | This channel reports the installation name. | +| installationId | Number | This channel reports the installation ID. | +| waterDetectorTriggerChannel | trigger | This is a trigger channel that receives events. | ### Verisure Siren @@ -195,15 +195,15 @@ The following channels are supported: The following channels are supported: -| Channel Type ID | Item Type | Description | -|---------------------|-----------------------|------------------------------------------------------------| -| temperature | Number:Temperature | This channel reports the current temperature. | -| timestamp | DateTime | This channel reports the last time this sensor was updated.| -| location | String | This channel reports the location. | -| installationName | String | This channel reports the installation name. | -| installationId | Number | This channel reports the installation ID. | -| lowBattery | Switch | This channel reports if the battery level is low. | -| sirenTriggerChannel | trigger | This is a trigger channel that receives events. | +| Channel Type ID | Item Type | Description | +|---------------------|--------------------|-------------------------------------------------------------| +| temperature | Number:Temperature | This channel reports the current temperature. | +| timestamp | DateTime | This channel reports the last time this sensor was updated. | +| location | String | This channel reports the location. | +| installationName | String | This channel reports the installation name. | +| installationId | Number | This channel reports the installation ID. | +| lowBattery | Switch | This channel reports if the battery level is low. | +| sirenTriggerChannel | trigger | This is a trigger channel that receives events. | ### Verisure Night Control @@ -216,15 +216,15 @@ The following channels are supported: The following channels are supported: -| Channel Type ID | Item Type | Description | -|----------------------------|-----------------------|------------------------------------------------------------| -| temperature | Number:Temperature | This channel reports the current temperature. | -| timestamp | DateTime | This channel reports the last time this sensor was updated.| -| location | String | This channel reports the location. | -| installationName | String | This channel reports the installation name. | -| installationId | Number | This channel reports the installation ID. | -| lowBattery | Switch | This channel reports if the battery level is low. | -| nightControlTriggerChannel | trigger | This is a trigger channel that receives events. | +| Channel Type ID | Item Type | Description | +|----------------------------|--------------------|-------------------------------------------------------------| +| temperature | Number:Temperature | This channel reports the current temperature. | +| timestamp | DateTime | This channel reports the last time this sensor was updated. | +| location | String | This channel reports the location. | +| installationName | String | This channel reports the installation name. | +| installationId | Number | This channel reports the installation ID. | +| lowBattery | Switch | This channel reports if the battery level is low. | +| nightControlTriggerChannel | trigger | This is a trigger channel that receives events. | ### Verisure DoorWindow Sensor @@ -237,15 +237,15 @@ The following channels are supported: The following channels are supported: -| Channel Type ID | Item Type | Description | -|--------------------------|-----------|-----------------------------------------------------------------------------| -| state | Contact | This channel reports the if the door/window is open or closed (OPEN/CLOSED).| -| timestamp | DateTime | This channel reports the last time this sensor was updated. | -| location | String | This channel reports the location of the device. | -| installationName | String | This channel reports the installation name. | -| installationId | Number | This channel reports the installation ID. | -| lowBattery | Switch | This channel reports if the battery level is low. | -| doorWindowTriggerChannel | trigger | This is a trigger channel that receives events. | +| Channel Type ID | Item Type | Description | +|--------------------------|-----------|------------------------------------------------------------------------------| +| state | Contact | This channel reports the if the door/window is open or closed (OPEN/CLOSED). | +| timestamp | DateTime | This channel reports the last time this sensor was updated. | +| location | String | This channel reports the location of the device. | +| installationName | String | This channel reports the installation name. | +| installationId | Number | This channel reports the installation ID. | +| lowBattery | Switch | This channel reports if the battery level is low. | +| doorWindowTriggerChannel | trigger | This is a trigger channel that receives events. | ### Verisure User Presence @@ -258,15 +258,15 @@ The following channels are supported: The following channels are supported: -| Channel Type ID | Item Type | Description | -|--------------------|-----------|-------------------------------------------------------------------------| -| userLocationStatus | String | This channel reports the user presence status (HOME/AWAY). | -| timestamp | DateTime | This channel reports the last time the User Presence status was changed.| -| userName | String | This channel reports the user's name. | -| webAccount | String | This channel reports the user's email address. | -| userDeviceName | String | This channel reports the name of the user device. | -| installationName | String | This channel reports the installation name. | -| installationId | Number | This channel reports the installation ID. | +| Channel Type ID | Item Type | Description | +|--------------------|-----------|--------------------------------------------------------------------------| +| userLocationStatus | String | This channel reports the user presence status (HOME/AWAY). | +| timestamp | DateTime | This channel reports the last time the User Presence status was changed. | +| userName | String | This channel reports the user's name. | +| webAccount | String | This channel reports the user's email address. | +| userDeviceName | String | This channel reports the name of the user device. | +| installationName | String | This channel reports the installation name. | +| installationId | Number | This channel reports the installation ID. | ### Verisure Broadband Connection @@ -279,12 +279,12 @@ The following channels are supported: The following channels are supported: -| Channel Type ID | Item Type | Description | -|-----------------|-----------|--------------------------------------------------------------------------------| -| connected | String | This channel reports the broadband connection status (true means connected). | -| timestamp | DateTime | This channel reports the last time the Broadband connection status was checked.| -| installationName| String | This channel reports the installation name. | -| installationId | Number | This channel reports the installation ID. | +| Channel Type ID | Item Type | Description | +|------------------|-----------|---------------------------------------------------------------------------------| +| connected | String | This channel reports the broadband connection status (true means connected). | +| timestamp | DateTime | This channel reports the last time the Broadband connection status was checked. | +| installationName | String | This channel reports the installation name. | +| installationId | Number | This channel reports the installation ID. | ### Verisure Mice Detection @@ -360,28 +360,28 @@ The following channels are supported: ## Trigger Events To be able to get trigger events you need an active Event Log thing, you can either get it via auto-detection or create your own in a things-file. -The following trigger events are defined per thing type: - -| Event Type | Thing Type | Description | -|-------------------|---------------|------------------------------------------------------------| -| LOCK | SmartLock | SmartLock has been locked. | -| UNLOCK | SmartLock | SmartLock has been locked. | -| LOCK_FAILURE | SmartLock | SmartLock has failed to lock/unlock. | -| ARM | Alarm | Alarm has been armed. | -| DISARM | Alarm | Alarm has been disarmed. | -| DOORWINDOW_OPENED | DoorWindow | DoorWindow has detected a door/window that opened. | -| DOORWINDOW_CLOSED | DoorWindow | DoorWindow has detected a door/window that closed. | -| INTRUSION | DoorWindow | DoorWindow has detected an intrusion. | -| FIRE | SmokeDetector | SmokeDetector has detected fire/smoke. | -| WATER | WaterDetector | WaterDetector has detected a water leak. | -| MICE | MiceDetector | WaterMiceDetector has detected a mouse. | -| COM_FAILURE | All | Communication failure detected. | -| COM_RESTORED | All | Communication restored. | -| COM_TEST | All | Communication test. | -| BATTERY_LOW | All | Battery low level detected. | -| BATTERY_RESTORED | All | Battery level restored. | -| SABOTAGE_ALARM | All | Sabotage alarm detected. | -| SABOTAGE_RESTORED | All | Sabotage alarm restored. | +The following trigger events are defined per Thing type: + +| Event Type | Thing Type | Description | +|-------------------|---------------|----------------------------------------------------| +| LOCK | SmartLock | SmartLock has been locked. | +| UNLOCK | SmartLock | SmartLock has been locked. | +| LOCK_FAILURE | SmartLock | SmartLock has failed to lock/unlock. | +| ARM | Alarm | Alarm has been armed. | +| DISARM | Alarm | Alarm has been disarmed. | +| DOORWINDOW_OPENED | DoorWindow | DoorWindow has detected a door/window that opened. | +| DOORWINDOW_CLOSED | DoorWindow | DoorWindow has detected a door/window that closed. | +| INTRUSION | DoorWindow | DoorWindow has detected an intrusion. | +| FIRE | SmokeDetector | SmokeDetector has detected fire/smoke. | +| WATER | WaterDetector | WaterDetector has detected a water leak. | +| MICE | MiceDetector | WaterMiceDetector has detected a mouse. | +| COM_FAILURE | All | Communication failure detected. | +| COM_RESTORED | All | Communication restored. | +| COM_TEST | All | Communication test. | +| BATTERY_LOW | All | Battery low level detected. | +| BATTERY_RESTORED | All | Battery level restored. | +| SABOTAGE_ALARM | All | Sabotage alarm detected. | +| SABOTAGE_RESTORED | All | Sabotage alarm restored. | ## Example diff --git a/bundles/org.openhab.binding.verisure/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.verisure/src/main/resources/OH-INF/thing/thing-types.xml index c74fcfc128e70..115ef7d827af0 100644 --- a/bundles/org.openhab.binding.verisure/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.verisure/src/main/resources/OH-INF/thing/thing-types.xml @@ -503,7 +503,7 @@ - + @@ -512,7 +512,7 @@ - + diff --git a/bundles/org.openhab.binding.vesync/README.md b/bundles/org.openhab.binding.vesync/README.md index dcd3086a04be8..eaa6f74998e9f 100644 --- a/bundles/org.openhab.binding.vesync/README.md +++ b/bundles/org.openhab.binding.vesync/README.md @@ -1,6 +1,6 @@ # VeSync Binding -Its current support is for the Air Purifiers & Humidifer's branded as Levoit which utilise the VeSync app based on the V2 protocol. +Its current support is for the Air Purifiers & Humidifiers branded as Levoit which utilise the VeSync app based on the V2 protocol. ## Verified Models @@ -14,7 +14,7 @@ Air Humidifier Classic 200S (Same as 300S without the nightlight from initial ch ## Supported Things -This binding supports the follow thing types: +This binding supports the follow Thing types: | Thing | Thing Type | Thing Type UID | Discovery | Description | |----------------|------------|----------------|-----------|-----------------------------------------------------------------------| diff --git a/bundles/org.openhab.binding.vesync/src/main/resources/OH-INF/i18n/vesync.properties b/bundles/org.openhab.binding.vesync/src/main/resources/OH-INF/i18n/vesync.properties index 186c9cc5db685..f7b87c0b53e57 100644 --- a/bundles/org.openhab.binding.vesync/src/main/resources/OH-INF/i18n/vesync.properties +++ b/bundles/org.openhab.binding.vesync/src/main/resources/OH-INF/i18n/vesync.properties @@ -11,6 +11,8 @@ thing-type.vesync.airPurifier.label = Air Purifier via VeSync thing-type.vesync.airPurifier.description = An Air Purifier uplinking to VeSync thing-type.vesync.bridge.label = VeSync Bridge thing-type.vesync.bridge.description = The VeSync bridge represents the VeSync cloud service. +thing-type.vesync.outlet.label = Outlet via VeSync +thing-type.vesync.outlet.description = An Outlet uplinking to VeSync # thing types config @@ -26,10 +28,16 @@ thing-type.config.vesync.bridge.airPurifierPollInterval.label = Air Filters/Humi thing-type.config.vesync.bridge.airPurifierPollInterval.description = Seconds between fetching background updates about the air purifiers / humidifiers. thing-type.config.vesync.bridge.backgroundDeviceDiscovery.label = Background Device Scans thing-type.config.vesync.bridge.backgroundDeviceDiscovery.description = Enable background scanning for new devices. +thing-type.config.vesync.bridge.outletPollInterval.label = Outlet Poll Rate +thing-type.config.vesync.bridge.outletPollInterval.description = Seconds between fetching background updates about the outlets. thing-type.config.vesync.bridge.password.label = Password thing-type.config.vesync.bridge.password.description = Password for the registered VeSync username, that allows to access the mobile application. thing-type.config.vesync.bridge.username.label = Username thing-type.config.vesync.bridge.username.description = Name of a registered VeSync user, that allows to access the mobile application. +thing-type.config.vesync.outlet.deviceName.label = Device Name +thing-type.config.vesync.outlet.deviceName.description = The name allocated to the device by the app. (Must be unique if used) +thing-type.config.vesync.outlet.mac.label = MAC +thing-type.config.vesync.outlet.mac.description = The MAC of the device as reported by the API. # channel types @@ -48,6 +56,8 @@ channel-type.vesync.airPurifierModeType.state.option.sleep = Sleeping Auto channel-type.vesync.airPurifierModeType.state.option.pet = Pet Auto channel-type.vesync.airQualityPM25.label = Air Quality PPM2.5 channel-type.vesync.airQualityPM25.description = Indicator of current air quality +channel-type.vesync.currentType.label = Current +channel-type.vesync.currentType.description = Actual current in A channel-type.vesync.deviceAFConfigAutoPrefRoomSizeType.label = Config: Room size channel-type.vesync.deviceAFConfigAutoPrefRoomSizeType.description = Room size for efficient auto mode channel-type.vesync.deviceAFConfigAutoPrefType.label = Config: Auto Mode @@ -97,6 +107,21 @@ channel-type.vesync.deviceWaterLackingType.label = Water Low/Empty channel-type.vesync.deviceWaterLackingType.description = Indicator if the devices water is low or empty channel-type.vesync.deviceWaterTankLiftedType.label = Water Tank Removed channel-type.vesync.deviceWaterTankLiftedType.description = Indicator if the device is reporting the water tank as removed +channel-type.vesync.energyMonthType.label = Energy Month +channel-type.vesync.energyMonthType.description = Total energy of month in kWh +channel-type.vesync.energyType.label = Energy +channel-type.vesync.energyType.description = Today's energy in kWh +channel-type.vesync.energyWeekType.label = Energy Week +channel-type.vesync.energyWeekType.description = Total energy of week in kWh +channel-type.vesync.energyYearType.label = Energy Year +channel-type.vesync.energyYearType.description = Total energy of year in kWh +channel-type.vesync.highestVoltageType.label = Highest Voltage +channel-type.vesync.highestVoltageType.description = Highest Voltage ever measured by the outlet +channel-type.vesync.powerType.label = Power +channel-type.vesync.powerType.description = Current power in W +channel-type.vesync.voltagePTStatusType.label = Voltage PT Status +channel-type.vesync.voltageType.label = Voltage +channel-type.vesync.voltageType.description = Current Voltage channel-type.vesync.warmLevel.label = Warm Level channel-type.vesync.warmLevel.description = Warm Level channel-type.vesync.warmModeEnabled.label = Warm Mode Enabled diff --git a/bundles/org.openhab.binding.vigicrues/README.md b/bundles/org.openhab.binding.vigicrues/README.md index e1c43f9e9dfa9..b78eebd44ecb2 100644 --- a/bundles/org.openhab.binding.vigicrues/README.md +++ b/bundles/org.openhab.binding.vigicrues/README.md @@ -5,7 +5,7 @@ These data are made public through OpenDataSoft website. ## Supported Things -There is exactly one supported thing type, which represents a river level measurement station. +There is exactly one supported Thing type, which represents a river level measurement station. It is identified by the `id`. To get your station id: @@ -33,7 +33,7 @@ The binding has no configuration options, all configuration is done at Thing lev ## Thing Configuration -The thing has a few configuration parameters: +The Thing has a few configuration parameters: | Parameter | Description | |-----------|-------------------------------------------------------------------------| @@ -42,7 +42,7 @@ The thing has a few configuration parameters: ## Channels -Once created, at first initialization, the thing will discover its capabilities (available data) using the webservices apis. +Once created, at first initialization, the Thing will discover its capabilities (available data) using the webservices apis. Channels will be presented depending upon actual available data. The VigiCrues information that retrieved are made available with these channels: @@ -53,7 +53,7 @@ The VigiCrues information that retrieved are made available with these channels: | flow | Number:VolumetricFlowRate | Volume of water per time unit | | height | Number:Length | Water height of the river | | relative-height | Number:Dimensionless | Current water level toward lowest historical flood | -| relative-flow | Number:Dimensionless | Current water flow tower lowest historical flood | +| relative-flow | Number:Dimensionless | Current water flow toward lowest historical flood | | alert (*) | Number | Flooding alert level of the portion related to the station | | alert-icon | Image | Pictogram associated to the alert level | | short-comment | String | Description of the alert level | diff --git a/bundles/org.openhab.binding.visualcrossing/README.md b/bundles/org.openhab.binding.visualcrossing/README.md index 925da3f1a5223..7e3c0ac185ff8 100644 --- a/bundles/org.openhab.binding.visualcrossing/README.md +++ b/bundles/org.openhab.binding.visualcrossing/README.md @@ -22,30 +22,30 @@ from [VisualCrossing site](https://www.visualcrossing.com/) ### `weather` Thing Configuration -| Name | Type | Description | Default | Required | Advanced | -|-----------------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------|----------|----------| -| password | text | API Key to connect to the cloud | N/A | yes | no | -| location | text | Is the address, partial address or latitude,longitude location for which to retrieve weather data. You can also use US ZIP Codes. | OH location | no | no | -| lang | text | Sets the language of the translatable parts of the output such as the conditions field. Available languages include: ar (Arabic), bg (Bulgiarian), cs (Czech), da (Danish), de (German), el (Greek Modern), en (English), es (Spanish) ), fa (Farsi), fi (Finnish), fr (French), he Hebrew), hu, (Hungarian), it (Italian), ja (Japanese), ko (Korean), nl (Dutch), pl (Polish), pt (Portuguese), ru (Russian), sk (Slovakian), sr (Serbian), sv (Swedish), tr (Turkish), uk (Ukranian), vi (Vietnamese) and zh (Chinese) | OH language | no | no | -| hostname | text | Hostname or IP address of the server | | yes | yes | -| refreshInterval | integer | Interval the device is polled in sec. | 3600 | no | yes | -| httpRetries | integer | Interval the device is polled in sec. | 3 | no | yes | +| Name | Type | Description | Default | Required | Advanced | +|-----------------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------|----------|----------| +| password | text | API Key to connect to the cloud | N/A | yes | no | +| location | text | Address, partial address, or latitude/longitude for weather data retrieval. US ZIP Codes are also accepted. | OH location | no | no | +| lang | text | Language for translatable output parts (e.g., conditions field). Available languages: ar, bg, cs, da, de, el, en, es, fa, fi, fr, he, hu, it, ja, ko, nl, pl, pt, ru, sk, sr, sv, tr, uk, vi, zh. | OH language | no | no | +| hostname | text | Hostname or IP address of the server | | yes | yes | +| refreshInterval | integer | Interval the device is polled in sec. | 3600 | no | yes | +| httpRetries | integer | Interval the device is polled in sec. | 3 | no | yes | ## Channels ### `basic-channel-group` -| Channel | Type | Read/Write | Description | -|-------------|--------|------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| cost | Switch | R | How much API tokens thing used since start | -| description | Switch | R | Longer text descriptions suitable for displaying in weather displays. The descriptions combine the main features of the weather for the day such as precipitation or amount of cloud cover. Daily descriptions are provided for historical and forecast days. When the timeline request includes the model forecast period, a seven day outlook description is provided at the root response level. | +| Channel | Type | Read/Write | Description | +|-------------|--------|------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| cost | Switch | R | How much API tokens Thing used since start | +| description | Switch | R | Longer text descriptions suitable for displaying in weather displays. These descriptions summarize the day's main weather features, including precipitation and cloud cover. Daily descriptions are available for both historical and forecast days, and a seven-day outlook is provided when the timeline request includes the model forecast period. | ### `day-channel-group` | Channel | Type | Read/Write | Description | |-----------------|----------------------|------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| datetime | String | R | | -| timestamp | Number | R | | +| datetime | String | R | | +| timestamp | Number | R | | | temperature | Number:Temperature | R | Temperature at the location. Daily values are average values (mean) for the day | | temperature-min | Number:Temperature | R | Minimum temperature at the location | | temperature-max | Number:Temperature | R | Maximum temperature at the location | diff --git a/bundles/org.openhab.binding.vitotronic/README.md b/bundles/org.openhab.binding.vitotronic/README.md index bf040401abcb6..53c25c92f7276 100644 --- a/bundles/org.openhab.binding.vitotronic/README.md +++ b/bundles/org.openhab.binding.vitotronic/README.md @@ -15,7 +15,7 @@ The adapter itself is not a part of the binding. ## Supported Things -For easy using are the main things of a heating system are already define in this binding: +For easy use, the main Things of a heating system are already defined in this binding: - heating (Vitotronic core system) - pelletburner (Pellet Fireplace, works for wood also) @@ -25,13 +25,13 @@ For easy using are the main things of a heating system are already define in thi - circuit (Heating circuit controls the flow between the heating system and the radiators in the rooms) - solar (Solar water heating (SWH): Convert sunlight into energy for water heating) -For advanced used 3 basic things of a headingsystem define also. +For advanced use, 3 basic Things of a heating system are also defined. - temperaturesensor (Single temperature sensor) - pump (Single pump) - valve (Single valve) -Note: The mapping of things and channels to the heating system addresses must be done in the adapter. +Note: The mapping of Things and channels to the heating system addresses must be done in the adapter. ## Discovery @@ -40,7 +40,7 @@ For automatic detection the adapter and **openHAB** must be on the same LAN. If the bridge isn't on the same LAN, you will need to add manually. In this case the `IP-Address` and the `adapterID` is required. After the `vitotronic:bridge` is ONLINE, start a second discovery. -It discovers all things, and places them in the inbox. +It discovers all Things, and places them in the inbox. ## Binding Configuration @@ -52,14 +52,14 @@ Binding itself has 4 configuration parameters: - refreshInterval (Refresh time for data in seconds. Default: 600 seconds) If the adapter is automatic discovered the ipAddress, and adapterID will be set by discovery. -The rereshInterval can be set between 60 and 600 seconds. +The refreshInterval can be set between 60 and 600 seconds. The minimal setting is dependent of the performance of the adapter. ## Thing Configuration There is no configuration of Things necessary. Only some channels are set active by default. -If this channels are defined in the adapter and will be used in **openHAB** it must set active manually. +If these channels are defined in the adapter and will be used in **openHAB**, they must be set active manually. Don't change the Thing Name. It is the reference to the name in the adapter. ## Channels @@ -95,7 +95,7 @@ The follow channels are implemented: | middle_temp | Number | Temperature sensor in the middle of the storage tank | | bottom_temp | Number | Temperature sensor at the bottom of the storage tank | | circuitpump | Switch | Circuit pump state | -| flowtemperature | Number | Temperature sensor of the ciruit flow | +| flowtemperature | Number | Temperature sensor of the circuit flow | | pump | Switch | Pump state | | operationmode | Number | Operationmode | | currentmode | Number | Current Mode | diff --git a/bundles/org.openhab.binding.vitotronic/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.vitotronic/src/main/resources/OH-INF/thing/thing-types.xml index 2ac7ceec70558..0b8b900f648f4 100644 --- a/bundles/org.openhab.binding.vitotronic/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.vitotronic/src/main/resources/OH-INF/thing/thing-types.xml @@ -614,7 +614,7 @@ Target temperature of party mode Temperature - + @@ -622,7 +622,7 @@ Target temperature of save mode Temperature - + @@ -646,7 +646,7 @@ Setpoint Temperature - + diff --git a/bundles/org.openhab.binding.vizio/README.md b/bundles/org.openhab.binding.vizio/README.md index 3bbf1336f8953..5547e250f12ad 100644 --- a/bundles/org.openhab.binding.vizio/README.md +++ b/bundles/org.openhab.binding.vizio/README.md @@ -5,7 +5,7 @@ The TV must support the Vizio SmartCast API that is found on 2016 and later mode ## Supported Things -There is currently only one supported thing type, which represents a Vizio TV using the `vizio_tv` id. +There is currently only one supported Thing type, which represents a Vizio TV using the `vizio_tv` id. Multiple Things can be added if more than one Vizio TV is to be controlled. ## Discovery @@ -16,7 +16,7 @@ When the TV is discovered, a pairing process to obtain an authentication token f ## Thing Configuration -The thing has a few configuration parameters: +The Thing has a few configuration parameters: | Parameter | Description | |-------------|--------------------------------------------------------------------------------------------------------------------------------------| @@ -36,7 +36,7 @@ Start Pairing: openhab:vizio start_pairing ``` -Substitute `` with thing's id, ie: `vizio_tv:00bc3e711660` +Substitute `` with Thing's id, ie: `vizio_tv:00bc3e711660` Substitute `` the desired device name that will appear in the TV's settings, under Mobile Devices, ie: `Vizio-openHAB` Submit Pairing Code: @@ -45,7 +45,7 @@ Submit Pairing Code: openhab:vizio submit_code ``` -Substitute `` with the same thing id used above +Substitute `` with the same Thing id used above Substitute `` with the 4-digit pairing code displayed on the TV, ie: `1234` The console should then indicate that pairing was successful (token will be displayed) and that the token was saved to the Thing configuration. diff --git a/bundles/org.openhab.binding.volumio/README.md b/bundles/org.openhab.binding.volumio/README.md index 3a9d266ce5b0c..4d8d4d4848605 100644 --- a/bundles/org.openhab.binding.volumio/README.md +++ b/bundles/org.openhab.binding.volumio/README.md @@ -39,10 +39,10 @@ The devices support the following channels: | albumArt | Image | R | Cover Art for the currently played track. | | track-type | String | R | Track type of the currently played track. | | play-radiostream | String | RW | Play the given radio stream. | -| play-playlist | String | RW | Play a playlist identified by its name. | +| play-playlist | String | RW | Play a playlist identified by its name. | | clear-queue | Switch | RW | Clear the current queue. | | play-uri | String | RW | Play the stream at given uri. | -| play-file | String | RW | Play a file, located on your Volumio device at the given absolute path, e.g."mnt/INTERNAL/song.mp3" | +| play-file | String | RW | Play a file, located on your Volumio device at the given absolute path, e.g. "mnt/INTERNAL/song.mp3" | | random | Switch | RW | Activate random mode. | | repeat | Switch | RW | Activate repeat mode. | | system-command | String | RW | Sends a system command to shutdown or reboot the Volumio device. Use "shutdown" or "reboot" as string command. | diff --git a/bundles/org.openhab.binding.volvooncall/README.md b/bundles/org.openhab.binding.volvooncall/README.md index 6120d9f9c129c..cf380613fdbc5 100644 --- a/bundles/org.openhab.binding.volvooncall/README.md +++ b/bundles/org.openhab.binding.volvooncall/README.md @@ -20,10 +20,10 @@ The binding has no configuration options itself, all configuration is done at 'T The 'VolvoOnCall API' bridge uses the owner's email address and password in order to access the VOC Remote API. This is the same email address and password as used in the VolvoOnCall smartphone app, that allows to remotely control your car(s). -| Parameter | Description | Required | -|-----------------|------------------------------------------------------|--------- | -| username | Username from the VolvoOnCall app (email address) | yes | -| password | Password from the VolvoOnCall app | yes | +| Parameter | Description | Required | +|-----------|---------------------------------------------------|----------| +| username | Username from the VolvoOnCall app (email address) | yes | +| password | Password from the VolvoOnCall app | yes | Once the bridge created, you will be able to launch discovery of the vehicles attached to it. @@ -31,10 +31,10 @@ Once the bridge created, you will be able to launch discovery of the vehicles at The 'VolvoOnCall API' bridge uses the owner's email address and password in order to access the VOC Remote API. -| Parameter | Name | Description | Required | -|-----------------|------------------|---------------------------------------------------------|----------| -| vin | Vin | Vehicle Identification Number of the car | yes | -| refreshinterval | Refresj Interval | Interval in minutes to refresh the data (default=10) | yes | +| Parameter | Name | Description | Required | +|-----------------|------------------|------------------------------------------------------|----------| +| vin | Vin | Vehicle Identification Number of the car | yes | +| refreshinterval | Refresh Interval | Interval in minutes to refresh the data (default=10) | yes | ## Channels @@ -46,67 +46,67 @@ automatically by the binding when an API call is made. Following channels are currently available: -| Channel Type ID | Item Type | Description | Remark | -|-----------------------------------------------|----------------------|----------------------------------------------------|------------------------------------------------| -| doors#frontLeft | Contact | Door front left | | -| doors#frontRight | Contact | Door front right | | -| doors#rearLeft | Contact | Door rear left | | -| doors#rearRight | Contact | Door rear right | | -| doors#hood | Contact | Hood | | -| doors#tailgate | Contact | Tailgate | | -| doors#carLocked | Switch | Is the car locked | Can also be used to lock / unlock the car. Only if property 'lock' is true. | -| windows#frontLeftWnd | Contact | Window front left | | -| windows#frontRightWnd | Contact | Window front right | | -| windows#rearLeftWnd | Contact | Window rear left | | -| windows#rearRightWnd | Contact | Window rear right | | -| odometer#odometer | Number:Length | Odometer value | | -| odometer#tripmeter1 | Number:Length | Trip meter 1 value | | -| odometer#tripmeter2 | Number:Length | Trip meter 2 value | | -| tank#fuelAmount | Number:Volume | Amount of fuel left in the tank | | -| tank#fuelLevel | Number:Dimensionless | Percentage of fuel left in the tank | | -| tank#fuelAlert | Switch | Alert if the amount of fuel is running low | ON when distancy to empty < 100 | -| tank#distanceToEmpty | Number:Length | Distance till tank is empty | | -| position#location | Location | Location of the car | | -| position#locationTimestamp | DateTime | Timestamp of the latest confirmed location | | -| tyrePressure#frontLeftTyre | Number | Tyrepressure front left tyre | Normal / LowSoft | -| tyrePressure#frontRightTyre | Number | Tyrepressure front right tyre | Normal / LowSoft | -| tyrePressure#rearLeftTyre | Number | Tyrepressure rear left tyre | Normal / LowSoft | -| tyrePressure#rearRightTyre | Number | Tyrepressure rear right tyre | Normal / LowSoft | -| other#averageSpeed | Number:Speed | Average speed | | -| other#engineRunning | Switch | Is the car engine running | | -| other#remoteHeater | Switch | Start the car remote heater | Only if property 'remoteHeater' is true | -| other#preclimatization | Switch | Start the car preclimatization | Only if property 'preclimatization' is true | -| other#brakeFluidLevel | Number | Brake fluid level | Normal / Low / VeryLow | -| other#washerFluidLevel | Number | Washer fluid level | Normal / Low / VeryLow | -| other#serviceWarning | String | Warning if service is needed | | -| other#bulbFailure | Switch | ON if at least one bulb is reported as failed | | -| battery#batteryLevel | Number:Dimensionless | Battery level | Only for Plugin hybrid / Twin Engine models. The binding reports undefined in situations where it knows the API is misleading. | -| battery#batteryLevelRaw | Number:Dimensionless | Battery level | Only for Plugin hybrid / Twin Engine models. Raw figure from the API, can be misleading. | -| battery#batteryDistanceToEmpty | Number:Length | Distance until battery is empty | Only for Plugin hybrid / Twin Engine models | -| battery#chargeStatus | String | Charging status | Only for Plugin hybrid / Twin Engine models | -| battery#chargeStatusCable | Switch | Is the cable plugged in | Only for Plugin hybrid / Twin Engine models | -| battery#chargeStatusCharging | Switch | Is the car currently charging | Only for Plugin hybrid / Twin Engine models | -| battery#chargeStatusFullyCharged | Switch | Is the car fully charged | Only for Plugin hybrid / Twin Engine models | -| battery#timeToHVBatteryFullyCharged | Number:Time | Time in minutes until the battery is fully charged | Only for Plugin hybrid / Twin Engine models | -| battery#chargingEnd | DateTime | Calculated time when the battery is fully charged | Only for Plugin hybrid / Twin Engine models | -| lasttrip#tripConsumption | Number:Volume | Last trip fuel consumption | | -| lasttrip#tripDistance | Number:Length | Last trip distance | | -| lasttrip#tripStartTime | DateTime | Last trip start time | | -| lasttrip#tripEndTime | DateTime | Last trip end time | | -| lasttrip#tripDuration | Number:Time | Last trip duration | | -| lasttrip#tripStartOdometer | Number:Length | Last trip start odometer | | -| lasttrip#tripStopOdometer | Number:Length | Last trip stop odometer | | -| lasttrip#startPosition | Location | Last trip start location | | -| lasttrip#endPosition | Location | Last trip end location | | +| Channel Type ID | Item Type | Description | Remark | +|-------------------------------------|----------------------|----------------------------------------------------|--------------------------------------------------------------------------------------------| +| doors#frontLeft | Contact | Door front left | | +| doors#frontRight | Contact | Door front right | | +| doors#rearLeft | Contact | Door rear left | | +| doors#rearRight | Contact | Door rear right | | +| doors#hood | Contact | Hood | | +| doors#tailgate | Contact | Tailgate | | +| doors#carLocked | Switch | Is the car locked | Can also be used to lock / unlock the car. Only if property 'lock' is true. | +| windows#frontLeftWnd | Contact | Window front left | | +| windows#frontRightWnd | Contact | Window front right | | +| windows#rearLeftWnd | Contact | Window rear left | | +| windows#rearRightWnd | Contact | Window rear right | | +| odometer#odometer | Number:Length | Odometer value | | +| odometer#tripmeter1 | Number:Length | Trip meter 1 value | | +| odometer#tripmeter2 | Number:Length | Trip meter 2 value | | +| tank#fuelAmount | Number:Volume | Amount of fuel left in the tank | | +| tank#fuelLevel | Number:Dimensionless | Percentage of fuel left in the tank | | +| tank#fuelAlert | Switch | Alert if the amount of fuel is running low | ON when distancy to empty < 100 | +| tank#distanceToEmpty | Number:Length | Distance till tank is empty | | +| position#location | Location | Location of the car | | +| position#locationTimestamp | DateTime | Timestamp of the latest confirmed location | | +| tyrePressure#frontLeftTyre | Number | Tyrepressure front left tyre | Normal / LowSoft | +| tyrePressure#frontRightTyre | Number | Tyrepressure front right tyre | Normal / LowSoft | +| tyrePressure#rearLeftTyre | Number | Tyrepressure rear left tyre | Normal / LowSoft | +| tyrePressure#rearRightTyre | Number | Tyrepressure rear right tyre | Normal / LowSoft | +| other#averageSpeed | Number:Speed | Average speed | | +| other#engineRunning | Switch | Is the car engine running | | +| other#remoteHeater | Switch | Start the car remote heater | Only if property 'remoteHeater' is true | +| other#preclimatization | Switch | Start the car preclimatization | Only if property 'preclimatization' is true | +| other#brakeFluidLevel | Number | Brake fluid level | Normal / Low / VeryLow | +| other#washerFluidLevel | Number | Washer fluid level | Normal / Low / VeryLow | +| other#serviceWarning | String | Warning if service is needed | | +| other#bulbFailure | Switch | ON if at least one bulb is reported as failed | | +| battery#batteryLevel | Number:Dimensionless | Battery level | Only for Plugin hybrid / Twin Engine models. Reports undefined when the API is misleading. | +| battery#batteryLevelRaw | Number:Dimensionless | Battery level | Only for Plugin hybrid / Twin Engine models. Raw figure from the API, can be misleading. | +| battery#batteryDistanceToEmpty | Number:Length | Distance until battery is empty | Only for Plugin hybrid / Twin Engine models | +| battery#chargeStatus | String | Charging status | Only for Plugin hybrid / Twin Engine models | +| battery#chargeStatusCable | Switch | Is the cable plugged in | Only for Plugin hybrid / Twin Engine models | +| battery#chargeStatusCharging | Switch | Is the car currently charging | Only for Plugin hybrid / Twin Engine models | +| battery#chargeStatusFullyCharged | Switch | Is the car fully charged | Only for Plugin hybrid / Twin Engine models | +| battery#timeToHVBatteryFullyCharged | Number:Time | Time in minutes until the battery is fully charged | Only for Plugin hybrid / Twin Engine models | +| battery#chargingEnd | DateTime | Calculated time when the battery is fully charged | Only for Plugin hybrid / Twin Engine models | +| lasttrip#tripConsumption | Number:Volume | Last trip fuel consumption | | +| lasttrip#tripDistance | Number:Length | Last trip distance | | +| lasttrip#tripStartTime | DateTime | Last trip start time | | +| lasttrip#tripEndTime | DateTime | Last trip end time | | +| lasttrip#tripDuration | Number:Time | Last trip duration | | +| lasttrip#tripStartOdometer | Number:Length | Last trip start odometer | | +| lasttrip#tripStopOdometer | Number:Length | Last trip stop odometer | | +| lasttrip#startPosition | Location | Last trip start location | | +| lasttrip#endPosition | Location | Last trip end location | | ## Events -| Channel Type ID | Options | Description | -|--------------------|-------------|----------------------------------------------------------------| -| other#carEvent | | | -| | CAR_STOPPED | Triggered when the car has finished a trip | -| | CAR_MOVED | Triggered if the car mileage has changed between two polls | -| | CAR_STARTED | Triggered when the engine of the car went on between two polls | +| Channel Type ID | Options | Description | +|-----------------|-------------|----------------------------------------------------------------| +| other#carEvent | | | +| | CAR_STOPPED | Triggered when the car has finished a trip | +| | CAR_MOVED | Triggered if the car mileage has changed between two polls | +| | CAR_STARTED | Triggered when the engine of the car went on between two polls | ## Full Example @@ -184,7 +184,7 @@ Example 1a: If Thing has been created using autodiscovery ```java val actions = getActions("volvooncall","volvooncall:vehicle:thingId") if(null === actions) { - logInfo("actions", "Actions not found, check thing ID") + logInfo("actions", "Actions not found, check Thing ID") return } else { actions.openCarCommand() @@ -196,7 +196,7 @@ Example 1b: If Thing has been created using script ```java val actions = getActions("volvooncall","volvooncall:vehicle:bridgeId:thingId") if(null === actions) { - logInfo("actions", "Actions not found, check thing ID") + logInfo("actions", "Actions not found, check Thing ID") return } else { actions.openCarCommand() @@ -217,9 +217,9 @@ Sends the command to start the engine for a given runtime. Default 5 minutes. Parameters: -| Name | Description | -|---------|-----------------------------------------------| -| runtime | Integer - Time for the engine to stay on | +| Name | Description | +|---------|------------------------------------------| +| runtime | Integer - Time for the engine to stay on | ### heaterStartCommand() @@ -243,7 +243,7 @@ Activates lights and/or the horn of the car Parameters: -| Name | Description | -|---------|-------------------------------------------| -| honk | Boolean - Activates the car horn | -| blink | Boolean - Activates the car lights | +| Name | Description | +|-------|------------------------------------| +| honk | Boolean - Activates the car horn | +| blink | Boolean - Activates the car lights | diff --git a/bundles/org.openhab.binding.volvooncall/src/main/resources/OH-INF/i18n/volvooncall.properties b/bundles/org.openhab.binding.volvooncall/src/main/resources/OH-INF/i18n/volvooncall.properties index 69f63512455f5..383bb2120d6b0 100644 --- a/bundles/org.openhab.binding.volvooncall/src/main/resources/OH-INF/i18n/volvooncall.properties +++ b/bundles/org.openhab.binding.volvooncall/src/main/resources/OH-INF/i18n/volvooncall.properties @@ -140,6 +140,6 @@ channel-type.volvooncall.tyrePressure.state.option.1 = Low Soft channel-type.volvooncall.window.label = Window channel-type.volvooncall.window.description = Indicates if the window is opened -# Thing status descriptions +# thing status descriptions offline.config-error-invalid-credentials = Incorrect login credentials