Updated external content (Jenkins build 253)

pull/1569/head
openHAB Build Server 2021-02-09 03:36:53 +00:00
parent b9bb418fc3
commit 0ea6ce2df2
7 changed files with 231 additions and 6 deletions

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,81 @@
---
id: broadlinkthermostat
label: Broadlink Thermostat
title: Broadlink Thermostat - Bindings
type: binding
description: "The binding integrates devices based on Broadlinkthermostat controllers."
since: 3x
install: manual
---
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
{% include base.html %}
# Broadlink Thermostat Binding
The binding integrates devices based on Broadlinkthermostat controllers.
As the binding uses the [broadlink-java-api](https://github.com/mob41/broadlink-java-api), theoretically all devices supported by the api can be integrated with this binding.
## Supported Things
*Note:* So far only the Floureon Thermostat has been tested! The other things are "best guess" implementations.
| Things | Description | Thing Type |
|-------------------------|---------------------------------------------------------------|----------------------|
| Floureon Thermostat | Broadlinkthermostat based Thermostat sold with the branding Floureon | floureonthermostat |
| Hysen Thermostat | Broadlinkthermostat based Thermostat sold with the branding Hysen | hysenthermostat |
## Discovery
Broadlinkthermostat devices are discovered on the network by sending a specific broadcast message.
Authentication is automatically sent after creating the thing.
## Thing Configuration
Two parameter are required for creating things:
- `host`: The hostname or IP address of the device.
- `mac` : The network MAC of the device.
The autodiscovery process finds both parts automatically.
## Channels
### Floureon-/Hysenthermostat
| Channel Type ID | Item Type | Description |
|-------------------------------|--------------------|----------------------------------------------------------------------|
| power | Switch | Switch display on/off and enable/disables heating |
| mode | String | Current mode of the thermostat (`auto` or `manual`) |
| sensor | String | The sensor (`internal`/`external`) used for triggering the thermostat|
| roomtemperature | Number:Temperature | Room temperature, measured directly at the device |
| roomtemperatureexternalsensor | Number:Temperature | Room temperature, measured by an external sensor |
| active | Switch | Show if thermostat is currently actively heating |
| setpoint | Number:Temperature | Temperature setpoint that open/close valve |
| temperatureoffset | Number:Temperature | Manual temperature adjustment |
| remotelock | Switch | Locks the device to only allow remote actions |
| time | DateTime | The time and day of week of the device |
## Full Example
demo.things:
```
Thing broadlinkthermostat:floureonthermostat:bathroomthermostat "Bathroom Thermostat" [ host="192.168.0.23", mac="00:10:FA:6E:38:4A"]
```
demo.items:
```
Number:Temperature Bathroom_Thermostat_Temperature "Room temperature [%.1f %unit%]" <temperature> { channel="broadlinkthermostat:floureonthermostat:bathroomthermostat:roomtemperature"}
Number:Temperature Bathroom_Thermostat_Temperature_Ext "Room temperature (ext) [%.1f %unit%]" <temperature> { channel="broadlinkthermostat:floureonthermostat:bathroomthermostat:roomtemperature"}
Number:Temperature Bathroom_Thermostat_Setpoint "Setpoint [%.1f %unit%]" <temperature> { channel="broadlinkthermostat:floureonthermostat:bathroomthermostat:setpoint"}
Switch Bathroom_Thermostat_Power "Power" { channel="broadlinkthermostat:floureonthermostat:bathroomthermostat:power"}
Switch Bathroom_Thermostat_Active "Active" { channel="broadlinkthermostat:floureonthermostat:bathroomthermostat:active"}
String Bathroom_Thermostat_Mode "Mode" { channel="broadlinkthermostat:floureonthermostat:bathroomthermostat:mode"}
String Bathroom_Thermostat_Sensor "Sensor" { channel="broadlinkthermostat:floureonthermostat:bathroomthermostat:sensor"}
Switch Bathroom_Thermostat_Lock "Lock" <lock> { channel="broadlinkthermostat:floureonthermostat:bathroomthermostat:remotelock"}
DateTime Bathroom_Thermostat_Time "Time [%1$tm/%1$td %1$tH:%1$tM]" <time> { channel="broadlinkthermostat:floureonthermostat:bathroomthermostat:time"}
```

View File

@ -32,7 +32,7 @@ You are able to create multiple instances of this Thing to broadcast to differen
| `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`). |
| `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** |

View File

@ -19,7 +19,7 @@ The binding uses the Tankerkönig API <https://www.tankerkoenig.de> for collecti
Special thanks to the creators of Tankerkönig for providing an easy way to get data from the &lsqb;MTS-K&rsqb; (Markttransparenzstelle für Kraftstoffe).
Tankerkönig is providing this service for free, however they request to prevent overloading of their server by reducing the number of web-requests.
This binding handles those requests (minimum Refresh Interval is 10 minutes, a webserver does handle a maximum of 10 stations).
This binding handles those requests (minimum Refresh Interval is 5 minutes, a webserver does handle a maximum of 10 stations).
The data will be updated for each Station individually after the initialization and after each Refresh Interval for all (open) stations (Note: changing the Webservice will cause the Refresh Interval to restart).
Additionally one may select the mode Opening-Times in which only those Stations get polled which are actually open.
For a correct usage of opening times the binding needs the information if the actual day is a holiday.
@ -64,7 +64,7 @@ The binding has no configuration options itself, all configuration is done at 'B
## Thing configuration
The Webservice (bridge) needs to be configured with the personal API-Key, the desired Refresh Interval (the time interval between price-updates, default 60 minutes, minimum 10 minutes) and the Opening-Times mode selection (in this mode price-updates are only requested from stations that are actually open).
The Webservice (bridge) needs to be configured with the personal API-Key, the desired Refresh Interval (the time interval between price-updates, default 60 minutes, minimum 5 minutes) and the Opening-Times mode selection (in this mode price-updates are only requested from stations that are actually open).
A single Webservice can handle up to 10 Stations.
Each Station needs to be configured with a LocationID and the Webservice to which it is linked.

View File

@ -18,6 +18,7 @@
<channel id="current-package" typeId="current-package-channel"/>
<channel id="wake-lock" typeId="wake-lock-channel"/>
<channel id="screen-state" typeId="screen-state-channel"/>
<channel id="awake-state" typeId="awake-state-channel"/>
</channels>
<representation-property>serial</representation-property>
<config-description>
@ -386,6 +387,13 @@
<state readOnly="true"/>
</channel-type>
<channel-type id="awake-state-channel" advanced="true">
<item-type>Switch</item-type>
<label>Awake State</label>
<description>Awake State</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="screen-state-channel" advanced="true">
<item-type>Switch</item-type>
<label>Screen State</label>

View File

@ -0,0 +1,136 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="broadlinkthermostat"
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">
<!-- Floureon Thermostat Thing Type -->
<thing-type id="floureonthermostat">
<label>Floureon Thermostat</label>
<description>A heating device thermostat</description>
<channels>
<channel id="power" typeId="power"/>
<channel id="mode" typeId="mode"/>
<channel id="sensor" typeId="sensor"/>
<channel id="roomtemperature" typeId="roomtemperature"/>
<channel id="roomtemperatureexternalsensor" typeId="roomtemperatureexternalsensor"/>
<channel id="active" typeId="active"/>
<channel id="setpoint" typeId="setpoint"/>
<channel id="temperatureoffset" typeId="temperatureoffset"/>
<channel id="remotelock" typeId="remotelock"/>
<channel id="time" typeId="time"/>
</channels>
<representation-property>host</representation-property>
<config-description-ref uri="thing-type:broadlinkthermostat:floureonandhysenthermostat"/>
</thing-type>
<thing-type id="hysenthermostat">
<label>Hysen Thermostat</label>
<description>A heating device thermostat</description>
<channels>
<channel id="power" typeId="power"/>
<channel id="mode" typeId="mode"/>
<channel id="sensor" typeId="sensor"/>
<channel id="roomtemperature" typeId="roomtemperature"/>
<channel id="roomtemperatureexternalsensor" typeId="roomtemperatureexternalsensor"/>
<channel id="active" typeId="active"/>
<channel id="setpoint" typeId="setpoint"/>
<channel id="temperatureoffset" typeId="temperatureoffset"/>
<channel id="remotelock" typeId="remotelock"/>
<channel id="time" typeId="time"/>
</channels>
<representation-property>host</representation-property>
<config-description-ref uri="thing-type:broadlinkthermostat:floureonandhysenthermostat"/>
</thing-type>
<channel-type id="power">
<item-type>Switch</item-type>
<label>Power</label>
<description>Switch display on/off and enable/disables heating</description>
<category>Switch</category>
</channel-type>
<channel-type id="mode">
<item-type>String</item-type>
<label>Mode</label>
<description>Current mode of the thermostat</description>
<state>
<options>
<option value="auto">auto</option>
<option value="manual">manual</option>
</options>
</state>
</channel-type>
<channel-type id="sensor">
<item-type>String</item-type>
<label>Sensor</label>
<description>The sensor (internal/external) used for triggering the thermostat</description>
<category>Sensor</category>
<state>
<options>
<option value="internal">internal</option>
<option value="external">external</option>
<option value="internal_temp_external_limit">internal control temperature; external limit temperature</option>
</options>
</state>
</channel-type>
<channel-type id="active">
<item-type>Switch</item-type>
<label>Active</label>
<description>Shows if thermostat is currently actively heating</description>
<category>Switch</category>
<state readOnly="true"/>
</channel-type>
<channel-type id="roomtemperature">
<item-type>Number:Temperature</item-type>
<label>Temperature</label>
<description>Room temperature, measured directly at the device</description>
<category>Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="roomtemperatureexternalsensor">
<item-type>Number:Temperature</item-type>
<label>Temperature Ext. Sensor</label>
<description>Room temperature, measured by the external sensor</description>
<category>Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="setpoint">
<item-type>Number:Temperature</item-type>
<label>Setpoint</label>
<description>Temperature setpoint that open/close valve</description>
<category>Temperature</category>
<state pattern="%.1f %unit%" step="0.5"/>
</channel-type>
<channel-type id="temperatureoffset">
<item-type>Number:Temperature</item-type>
<label>Temperature Offset</label>
<description>Manual temperature adjustment</description>
<category>Temperature</category>
<state pattern="%.1f %unit%" step="0.5" min="-2.5" max="2.5"/>
</channel-type>
<channel-type id="temperature">
<item-type>Number:Temperature</item-type>
<label>Temperature</label>
<description>Temperature</description>
<category>Temperature</category>
<state pattern="%.1f %unit%" readOnly="true"/>
</channel-type>
<channel-type id="remotelock">
<item-type>Switch</item-type>
<label>Remote Lock</label>
<description>Locks the device to only allow remote actions</description>
<category>Lock</category>
</channel-type>
<channel-type id="time">
<item-type>DateTime</item-type>
<label>Time</label>
<description>The time and day of week</description>
<category>Time</category>
</channel-type>
</thing:thing-descriptions>

View File

@ -15,9 +15,9 @@
<label>API-Key</label>
<description>API-Key. Necessary registration on the Tankerkönig website.</description>
</parameter>
<parameter name="refresh" type="integer" min="10" unit="min">
<parameter name="refresh" type="integer" min="5" unit="min">
<label>Refresh Time</label>
<description>Sets the refresh time. Minimum is 10 minutes.</description>
<description>Sets the refresh time. Minimum is 5 minutes.</description>
<default>60</default>
</parameter>
<parameter name="modeOpeningTime" type="boolean">