Updated external content (Jenkins build 96)

pull/1325/head
openHAB Build Server 2020-11-29 12:50:41 +00:00
parent 8c18e6a318
commit 9b2aad9e2b
10 changed files with 150 additions and 19 deletions

File diff suppressed because one or more lines are too long

View File

@ -74,15 +74,16 @@ Thing Type ID: `pckGateway`
| `mode` | Dimmer resolution: `native50` or `native200` See below. | String | Yes |
| `timeoutMs` | Period after which an LCN command is resent, when no acknowledge has been received (in ms) (default: 3500) | Integer | Yes |
> **IMPORTANT:** You need to configure the dimmer output resolution. This setting is valid for the **whole** LCN bus.<br />
The setting is either 0-50 steps or 0-200 steps.
It **has to be the same** as in the parameterizing software **LCN-PRO** under Options/Settings/Expert Settings.
See the following screenshot.
> **ATTENTION:** You must set the correct dimmer output resolution in the PCK Gateway Thing (`mode`)!
This setting is crucial, and valid for the **whole** LCN bus.<br />
It is either 0-50 steps or 0-200 steps.
It has to be the same as in the parameterizing software LCN-PRO under Options/Settings/Expert Settings.<br />
**When using a wrong dimmer output setting, dimming the outputs will result in unintended behavior!**
Please see the following LCN-PRO screenshot to determine the dimmer output resolution for the LCN bus:
![LCN-PRO screenshot, showing the 50 or 200 steps for the dimmer outputs](doc/LCN-PRO_output_steps.png)
When using a wrong dimmer output setting, dimming the outputs will result in unintended behavior.
### Thing: LCN Group
LCN modules can be assigned to groups with the programming software *LCN-PRO*.

View File

@ -79,22 +79,25 @@ Optional configuration is the refresh interval and the deviceID. Note that the d
The configuration for model is automatically retrieved from the device in normal operation.
However, for devices that are unsupported, you may override the value and try to use a model string from a similar device to experimentally use your device with the binding.
| Parameter | Type | Required | Description |
|-----------------|---------|----------|-------------------------------------------------------------------|
| host | text | true | Device IP address |
| token | text | true | Token for communication (in Hex) |
| deviceId | text | true | Device ID number for communication (in Hex) |
| model | text | false | Device model string, used to determine the subtype |
| refreshInterval | integer | false | Refresh interval for refreshing the data in seconds. (0=disabled) |
| timeout | integer | false | Timeout time in milliseconds |
| Parameter | Type | Required | Description |
|-----------------|---------|----------|---------------------------------------------------------------------|
| host | text | true | Device IP address |
| token | text | true | Token for communication (in Hex) |
| deviceId | text | true | Device ID number for communication (in Hex) |
| model | text | false | Device model string, used to determine the subtype |
| refreshInterval | integer | false | Refresh interval for refreshing the data in seconds. (0=disabled) |
| timeout | integer | false | Timeout time in milliseconds |
| communication | test | false | Communicate direct or via cloud (options values: 'direct', 'cloud') |
Note: Suggest to use the cloud communication only for devices that require it. It is unknown at this time if Xiaomi has a rate limit or other limitations on the cloud usage. e.g. if having many devices would trigger some throttling from the cloud side.
### Example Thing file
`Thing miio:basic:light "My Light" [ host="192.168.x.x", token="put here your token", deviceId="0326xxxx", model="philips.light.bulb" ]`
`Thing miio:basic:light "My Light" [ host="192.168.x.x", token="put here your token", deviceId="0326xxxx", model="philips.light.bulb", communication="direct" ]`
or in case of unknown models include the model information of a similar device that is supported:
`Thing miio:vacuum:s50 "vacuum" @ "livingroom" [ host="192.168.15.20", token="xxxxxxx", deviceId=“0470DDAA”, model="roborock.vacuum.s4" ]`
`Thing miio:vacuum:s50 "vacuum" @ "livingroom" [ host="192.168.15.20", token="xxxxxxx", deviceId=“0470DDAA”, model="roborock.vacuum.s4", communication="cloud"]`
# Mi IO Devices
@ -410,6 +413,7 @@ Alternatively as described above, double check for multiple connections for sing
_Your device is on a different subnet?_
This is in most cases not working.
Firmware of the device don't accept commands coming from other subnets.
Set the communication in the thing configuration to 'cloud'.
_Cloud connectivity is not working_
The most common problem is a wrong userId/password. Try to fix your userId/password.
@ -435,9 +439,10 @@ All devices have available the following channels (marked as advanced) besides t
| network#bssid | String | Network BSSID |
| network#rssi | Number | Network RSSI |
| network#life | Number | Network Life |
| actions#commands | String | send commands. see below |
| actions#commands | String | send commands direct. see below |
| actions#rpc | String | send commands via cloud. see below |
note: the ADVANCED `actions#commands` channel can be used to send commands that are not automated via the binding. This is available for all devices
note: the ADVANCED `actions#commands` and `actions#rpc` channels can be used to send commands that are not automated via the binding. This is available for all devices
e.g. `smarthome:send actionCommand 'upd_timer["1498595904821", "on"]'` would enable a pre-configured timer. See https://github.com/marcelrv/XiaomiRobotVacuumProtocol for all known available commands.

View File

@ -0,0 +1,93 @@
---
id: pushover
label: Pushover
title: Pushover - Bindings
type: binding
description: "The Pushover binding allows you to notify mobile devices of a message using the [Pushover REST API](https://pushover.net/api)."
since: 3x
logo: images/addons/pushover.png
install: manual
---
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
{% include base.html %}
# Pushover Binding
The Pushover binding allows you to notify mobile devices of a message using the [Pushover REST API](https://pushover.net/api).
To get started you first need to register (a free process) to get an API token.
Initially you have to create an application, set its name and optionally upload an icon, and get the API token in return.
Once you have the token, you need a user key (or group key) and optionally a device name for each user to which you want to push notifications.
## Supported Things
There is only one Thing available - the `pushover-account`.
You are able to create multiple instances of this Thing to broadcast to different users, groups or devices.
## Thing Configuration
| Configuration Parameter | Type | Description |
|-------------------------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------|
| `apikey` | text | Your API token / key (APP_TOKEN) to access the Pushover Message API. **mandatory** |
| `user` | text | Your user key or group key (USER_KEY) to which you want to push notifications. **mandatory** |
| `title` | text | The default title of a message (default: `openHAB`). |
| `format` | text | The default format (`none`, `HTML` or `monospace`) of a message (default: `none`). |
| `sound` | text | The default notification sound on target device (default: `default`) (see [supported notification sounds](https://pushover.net/api#sounds)). |
| `retry` | integer | The retry parameter specifies how often (in seconds) the Pushover servers will send the same notification to the user (default: `300`). **advanced** |
| `expire` | integer | The expire parameter specifies how long (in seconds) your notification will continue to be retried (default: `3600`). **advanced** |
The `retry` and `expire` parameters are only used for emergency-priority notifications.
## Channels
Currently the binding does not support any Channels.
## Thing Actions
All actions return a `Boolean` value to indicate if the message - parameter `message` **mandatory** - was sent successfully or not.
The `title` parameter defaults to whatever value you defined in the `title` related configuration parameter.
`sendMessage(String message, @Nullable String title)` - This method is used to send a plain text message.
`sendHtmlMessage(String message, @Nullable String title)` - This method is used to send a HTML message.
`sendMonospaceMessage(String message, @Nullable String title)` - This method is used to send a monospace message.
`sendAttachmentMessage(String message, @Nullable String title, String attachment, @Nullable String contentType)` - This method is used to send a message with an attachment. It takes a (local) path (`attachment` **mandatory**) to the attachment and an optional parameter `contentType` to define the content-type of the attachment (default: `image/jpeg`).
`sendURLMessage(String message, @Nullable String title, String url, @Nullable String urlTitle)` - This method is used to send a message with an URL. A supplementary `url` to show with the message and a `urlTitle` for the URL, otherwise just the URL is shown.
`sendMessageToDevice(String device, String message, @Nullable String title)` - This method is used to send a message to a specific device. Parameter `device` **mandatory** is the name of a specific device (multiple devices may be separated by a comma).
The `sendPriorityMessage` action returns a `String` value (the `receipt`) if the message was sent successfully, otherwise `null`.
`sendPriorityMessage(String message, @Nullable String title, @Nullable Integer priority)` - This method is used to send a priority message. Parameter `priority` is the priority (`-2`, `-1`, `0`, `1`, `2`) to be used (default: `2`).
`cancelPriorityMessage` returns a `Boolean` value to indicate if the message was cancelled successfully or not.
`cancelPriorityMessage(String receipt)` - This method is used to cancel a priority message.
## Full Example
demo.things:
```java
Thing pushover:pushover-account:account [ apikey="APP_TOKEN", user="USER_KEY" ]
```
demo.rules:
```java
val actions = getActions("pushover", "pushover:pushover-account:account")
// send HTML message
actions.sendHtmlMessage("Hello <font color='green'>World</font>!", "openHAB")
```
```java
val actions = getActions("pushover", "pushover:pushover-account:account")
// send priority message
var receipt = actions.sendPriorityMessage("Hello <font color='green'>World</font>!", "openHAB", 3)
// wait for your cancel condition
if( receipt !== null ) {
actions.cancelPriorityMessage(receipt)
receipt = null
}
```

View File

@ -181,6 +181,15 @@ You must either
```
* or let openHAB run on port 80 (the entire java process requires elevated privileges).
* For Amazon Echo the pairing process may fail due to a 302 response from openHAB, this can be resolved by using a reverse proxy to change the request url from `/api` to `/api/`, for example nginx with the following configuration:
```
server {
listen 80;
location /api {
proxy_pass http://localhost:8080/api/;
}
}
```
Please open port 80 tcp and port 1900 udp in your firewall installation.
You can test if the hue emulation does its job by enabling pairing mode including the option "Amazon Echo device discovery fix".

View File

@ -23,6 +23,7 @@
<label>Actions</label>
<channels>
<channel id="commands" typeId="commands"/>
<channel id="rpc" typeId="rpc"/>
</channels>
</channel-group-type>

View File

@ -99,6 +99,10 @@
<item-type>String</item-type>
<label>Execute Command</label>
</channel-type>
<channel-type id="rpc" advanced="true">
<item-type>String</item-type>
<label>Execute RPC (cloud) Command</label>
</channel-type>
<channel-type id="power">
<item-type>Switch</item-type>
<label>Power On/Off</label>

View File

@ -24,6 +24,7 @@
<channels>
<channel id="power" typeId="power"/>
<channel id="commands" typeId="commands"/>
<channel id="rpc" typeId="rpc"/>
<channel id="testcommands" typeId="testcommands"/>
</channels>
</channel-group-type>

View File

@ -29,6 +29,7 @@
<channels>
<channel id="control" typeId="control"/>
<channel id="commands" typeId="commands"/>
<channel id="rpc" typeId="rpc"/>
<channel id="fan" typeId="fan"/>
<channel id="vacuum" typeId="vacuum"/>
<channel id="segment" typeId="segment"/>

View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="pushover"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:thing="https://openhab.org/schemas/thing-description/v1.0.0"
xsi:schemaLocation="https://openhab.org/schemas/thing-description/v1.0.0 https://openhab.org/schemas/thing-description-1.0.0.xsd">
<thing-type id="pushover-account">
<label>Pushover Account</label>
<description>Provides access to the Pushover Messages API.</description>
<representation-property>apikey</representation-property>
<config-description-ref uri="thing-type:pushover:pushover-account"/>
</thing-type>
</thing:thing-descriptions>