Updated external content (Jenkins build 1426)

pull/2077/head
openHAB Build Server 2023-03-29 05:36:29 +00:00
parent c8019daf83
commit ae95202896
44 changed files with 2325 additions and 1507 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,91 @@
---
id: anthem
label: Anthem
title: Anthem - Bindings
type: binding
description: "The binding allows control of Anthem AV processors over an IP connection to the processor."
since: 3x
install: manual
---
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
{% include base.html %}
# Anthem Binding
The binding allows control of Anthem AV processors over an IP connection to the processor.
## Supported Things
The following thing type is supported:
| Thing | ID | Discovery | Description |
|----------|----------|-----------|-------------|
| Anthem | anthem | Manual | Represents a Anthem AV processor |
Tested models include the AVM-60 11.2-channel preamp/processor.
## Thing Configuration
The following configuration parameters are available on the Anthem thing:
| Parameter | Parameter ID | Required/Optional | Description |
|---------------------|---------------------------|-------------------|-------------|
| Host | host | Required | IP address or host name of the Anthem AV processor |
| Port | port | Optional | Port number used by the Anthem |
| Reconnect Interval | reconnectIntervalMinutes | Optional | The time to wait between reconnection attempts (in minutes) |
| Command Delay | commandDelayMsec | Optional | The delay between commands sent to the processor (in milliseconds) |
## Channels
The Anthem AV processor supports the following channels (some zones/channels are model specific):
| Channel | Type | Description |
|-------------------------|---------|--------------|
| *Main Zone* | | |
| 1#power | Switch | Power the zone on or off |
| 1#volume | Dimmer | Increase or decrease the volume level |
| 1#volumeDB | Number | The actual volume setting |
| 1#mute | Switch | Mute the volume |
| 1#activeInput | Number | The currently active input source |
| 1#activeInputShortName | String | Short friendly name of the active input |
| 1#activeInputLongName | String | Long friendly name of the active input |
| *Zone 2* | | |
| 2#power | Switch | Power the zone on or off |
| 2#volume | Dimmer | Increase or decrease the volume level |
| 2#volumeDB | Number | The actual volume setting |
| 2#mute | Switch | Mute the volume |
| 2#activeInput | Number | The currently active input source |
| 2#activeInputShortName | String | Short friendly name of the active input |
| 2#activeInputLongName | String | Long friendly name of the active input |
## Full Example
### Things
```
Thing anthem:anthem:mediaroom "Anthem AVM 60" [ host="192.168.1.100" ]
```
### Items
```
Switch Anthem_Z1_Power "Zone 1 Power [%s]" { channel="anthem:anthem:mediaroom:1#power" }
Dimmer Anthem_Z1_Volume "Zone 1 Volume [%s]" { channel="anthem:anthem:mediaroom:1#volume" }
Number Anthem_Z1_Volume_DB "Zone 1 Volume dB [%.0f]" { channel="anthem:anthem:mediaroom:1#volumeDB" }
Switch Anthem_Z1_Mute "Zone 1 Mute [%s]" { channel="anthem:anthem:mediaroom:1#mute" }
Number Anthem_Z1_ActiveInput "Zone 1 Active Input [%.0f]" { channel="anthem:anthem:mediaroom:1#activeInput" }
String Anthem_Z1_ActiveInputShortName "Zone 1 Active Input Short Name [%s]" { channel="anthem:anthem:mediaroom:1#activeInputShortName" }
String Anthem_Z1_ActiveInputLongName "Zone 1 Active Input Long Name [%s]" { channel="anthem:anthem:mediaroom:1#activeInputLongName" }
Switch Anthem_Z2_Power "Zone 2 Power [%s]" { channel="anthem:anthem:mediaroom:1#power" }
Dimmer Anthem_Z2_Volume "Zone 2 Volume [%s]" { channel="anthem:anthem:mediaroom:1#volume" }
Number Anthem_Z2_Volume_DB "Zone 2 Volume dB [%.0f]" { channel="anthem:anthem:mediaroom:1#volumeDB" }
Switch Anthem_Z2_Mute "Zone 2 Mute [%s]" { channel="anthem:anthem:mediaroom:1#mute" }
Number Anthem_Z2_ActiveInput "Zone 2 Active Input [%.0f]" { channel="anthem:anthem:mediaroom:1#activeInput" }
String Anthem_Z2_ActiveInputShortName "Zone 2 Active Input Short Name [%s]" { channel="anthem:anthem:mediaroom:1#activeInputShortName" }
String Anthem_Z2_ActiveInputLongName "Zone 2 Active Input Long Name [%s]" { channel="anthem:anthem:mediaroom:1#activeInputLongName" }
```

View File

@ -201,7 +201,9 @@ Here's an example of the hex code format:
```
The [Global Cache iConvert utility](https://www.globalcache.com/files/docs/gc_iconvert_relnotes.txt) can be used to convert between the two formats, if desired.
The iConvert utility is available on the Windows platform only.
The Global Cache iConvert utility is available on the Windows platform only.
A third party macOS port, [iConvert GC](https://www.rmartijnr.eu/iconvert.html), is available.
Global Cache also maintains an online [IR Control Tower database](https://irdb.globalcache.com/) of IR codes.
There are numerous other sources of IR codes, such as iRule and RemoteCentral.

View File

@ -1,267 +0,0 @@
---
id: innogysmarthome
label: innogy SmartHome
title: innogy SmartHome - Bindings
type: binding
description: "The binding integrates the [innogy SmartHome](https://innogy.com/smarthome) system into openHAB."
since: 3x
logo: images/addons/innogysmarthome.png
install: auto
---
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
{% include base.html %}
# innogy SmartHome Binding
The binding integrates the [innogy SmartHome](https://innogy.com/smarthome) system into openHAB.
It uses the official API 1.1 as provided by innogy as cloud service.
As all status updates and commands have to go through the API, a permanent internet connection is required.
_Notice!_
_This binding is deprecated!_
_LIVISI (formally innogy) has implemented a local API on their SHC from Software Version 1.2.XX.XXX.
Please migrate to the "LIVISI SmartHome Binding" which is using the new local API and requires neither the LIVISI-cloud-servers nor an internet connection._
## Supported things
### Bridge
The innogy SmartHome Controller (SHC) is the bridge, that provides the central communication with the devices.
Without the SHC, you cannot communicate with the devices.
This binding supports both the SHC and the SHC2 (with support for Bluetooth devices).
### Devices
The following table shows all supported and tested devices and their channels.
The channels are described in detail in the next chapter.
| Device | Description | Supported channels |
|--------|--------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------|
| BRC8 | Basic Remote Controller | button1 ... button8, button1_count ... button8_count, battery_low |
| ISC2 | In Wall Smart Controller | button1, button2, button1_count, button2_count |
| ISD2 | In Wall Smart Dimmer | button1, button2, button1_count, button2_count, dimmer |
| ISR2 | In Wall Smart Rollershutter | button1, button2, button1_count, button2_count, rollershutter |
| ISS2 | In Wall Smart Switch | button1, button2, button1_count, button2_count, switch |
| PSD | Pluggable Smart Dimmer | dimmer |
| PSS | Pluggable Smart Switch, indoor | switch |
| PSSO | Pluggable Smart Switch, outdoor | switch |
| BT-PSS | Bluetooth Pluggable Smart Switch, indoor | switch |
| RST | Radiator Mounted Smart Thermostat | set_temperature, temperature, frost_warning, humidity, mold_warning, operation_mode, window_reduction_active, battery_low |
| RST2 | Radiator Mounted Smart Thermostat (newer two battery version since 2018) | set_temperature, temperature, frost_warning, humidity, mold_warning, operation_mode, window_reduction_active, battery_low |
| | VariableActuator | switch |
| WDS | Window Door Sensor | contact, battery_low |
| WMD | Wall Mounted Motion Detector, indoor | motion_count, luminance, battery_low |
| WMDO | Wall Mounted Motion Detector, outdoor | motion_count, luminance, battery_low |
| WRT | Wall Mounted Room Thermostat | set_temperature, temperature, humidity, battery_low |
| WSC2 | Wall Mounted Smart Controller | button1, button2, button1_count, button2_count, battery_low |
| WSD | Wall Mounted Smoke Detector, old version | smoke, alarm, battery_low |
| WSD2 | Wall Mounted Smoke Detector, new version | smoke, alarm, battery_low |
Powermeter devices
| Device | Description | Supported channels |
|-----------------|----------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| AnalogMeter | The Analog Meter from the innogy EnergyControl product | energy_consumption_month_kwh, absolute_energy_consumption, energy_consumption_month_euro, energy_consumption_day_euro, energy_consumption_day_kwh |
| GenerationMeter | The Generation Meter from the innogy PowerControlSolar product | energy_generation_month_kwh, total_energy_generation, energy_generation_month_euro, energy_generation_day_euro, energy_generation_day_kwh, power_generation_watt |
| SmartMeter | The Smart Meter from the innogy PowerControl product. | energy_consumption_month_kwh, absolute_energy_consumption, energy_consumption_month_euro, energy_consumption_day_euro, energy_consumption_day_kwh, power_consumption_watt |
| Two-Way-Meter | The Two-Way-Meter from the innogy PowerControlSolar product | energy_month_kwh, total_energy, energy_month_euro, energy_day_euro, energy_day_kwh, energy_feed_month_kwh, total_energy_fed, energy_feed_month_euro, energy_feed_day_euro, energy_feed_day_kwh, power_watt |
## Discovery
If the bridge (SHC) is located in the same LAN as the openHAB server, the bridge should be discovered automatically by mDNS.
However, this can sometimes take a couple of minutes.
If the bridge is not found, it can be added manually (see below under "Configuration").
After the bridge is added, devices are discovered automatically.
As there is no background discovery implemented at the moment, you have to start the discovery manually.
However, only devices will appear that are added in the innogy SmartHome app before, as the innogy Binding does not support the coupling of devices to the bridge.
## Channels
| Channel Type ID | Item Type | Description | Available on thing |
|-------------------------|---------------|-----------------------------------------------------------------------|-------------------------------------------------|
| alarm | Switch | Switches the alarm (ON/OFF) | WSD, WSD2 |
| battery_low | Switch | Indicates, if the battery is low (ON/OFF) | BRC8, RST, WDS, WMD, WMD0, WRT, WSC2, WSD, WSD2 |
| contact | Contact | Indicates the contact state (OPEN/CLOSED) | WDS |
| dimmer | Dimmer | Allows to dimm a light device | ISD2, PSD |
| frost_warning | Switch | active, if the measured temperature is too low (ON/OFF) | RST |
| humidity | Number | Relative humidity in percent | RST, WRT |
| button1 | - | trigger channel for rules, fires with each push | BRC8, ISC2, ISD2, ISR2, ISS2, WSC2 |
| button2 | - | trigger channel for rules, fires with each push | BRC8, ISC2, ISD2, ISR2, ISS2, WSC2 |
| button3 | - | trigger channel for rules, fires with each push | BRC8 |
| button4 | - | trigger channel for rules, fires with each push | BRC8 |
| button5 | - | trigger channel for rules, fires with each push | BRC8 |
| button6 | - | trigger channel for rules, fires with each push | BRC8 |
| button7 | - | trigger channel for rules, fires with each push | BRC8 |
| button8 | - | trigger channel for rules, fires with each push | BRC8 |
| button1_count | Number | number of button pushes for button 1, increased with each push | BRC8, ISC2, ISD2, ISR2, ISS2, WSC2 |
| button2_count | Number | number of button pushes for button 2, increased with each push | BRC8, ISC2, ISD2, ISR2, ISS2, WSC2 |
| button3_count | Number | number of button pushes for button 3, increased with each push | BRC8 |
| button4_count | Number | number of button pushes for button 4, increased with each push | BRC8 |
| button5_count | Number | number of button pushes for button 5, increased with each push | BRC8 |
| button6_count | Number | number of button pushes for button 6, increased with each push | BRC8 |
| button7_count | Number | number of button pushes for button 7, increased with each push | BRC8 |
| button8_count | Number | number of button pushes for button 8, increased with each push | BRC8 |
| luminance | Number | Indicates the measured luminance in percent | WMD, WMD0 |
| mold_warning | Switch | active, if the measured humidity is too low (ON/OFF) | RST |
| motion_count | Number | Number of detected motions, increases with each detected motion | WMD, WMDO |
| operation_mode | String | the mode of a thermostat (auto/manual) | RST |
| rollershutter* | Rollershutter | Controls a roller shutter | ISR2 |
| set_temperature | Number | Sets the target temperature in °C | RST, WRT |
| smoke | Switch | Indicates, if smoke was detected (ON/OFF) | WSD, WSD2 |
| switch | Switch | A switch to turn the device or variable on/off (ON/OFF) | ISS2, PSS, PSSO, VariableActuator |
| temperature | Number | Holds the actual temperature in °C | RST, WRT |
| window_reduction_active | Switch | indicates if a linked window is open and temperature reduced (ON/OFF) | RST |
The `rollershutter` channel has a `boolean` parameter `invert`.
It is `false` by default.
This means `100` on innogy is `UP` and `0` is `DOWN`.
When `invert` is `true` than `0` on innogy is `UP` and `100` is `DOWN`.
## Thing configuration
### Configuring the SmartHome Controller (SHC)
The SmartHome Controller (SHC) can be configured in the UI as follows:
After the "innogy SmartHome Controller" is added via the Inbox, edit the controller and add the "Authorization code" by following the hints in the description.
Save your changes.
The SHC should now login and go online.
Be sure it is connected to the Internet.
### Obtaining the authorization code and tokens
Authorization is done as oauth2 workflow with the innogy API.
To receive the auth-code, go to one of the following URLs depending on your brand and login with your credentials (you can find this link also in the SHC thing in the UI, if you edit it):
`https://auth.services-smarthome.de/AUTH`
- [innogy SmartHome authorization page](https://auth.services-smarthome.de/AUTH/authorize?response_type=code&client_id=24635748&redirect_uri=https%3A%2F%2Fwww.openhab.org%2Foauth%2Finnogy%2Finnogy-smarthome.html&scope&lang=de-DE)
- [SmartHome Austria authorization page](https://auth.services-smarthome.de/AUTH/authorize?response_type=code&client_id=24635749&redirect_uri=https%3A%2F%2Fwww.openhab.org%2Foauth%2Finnogy%2Fsmarthome-austria.html&scope&lang=de-DE)
- [Start SmartHome authorization page](https://auth.services-smarthome.de/AUTH/authorize?response_type=code&client_id=24635750&redirect_uri=https%3A%2F%2Fwww.openhab.org%2Foauth%2Finnogy%2Fstart-smarthome.html&scope&lang=de-DE)
You will be redirected to openhab.org and the auth-code will be displayed.
Copy and paste it into your SHC configuration and you are done.
The binding then requests the access and refresh tokens and saves them in the SHC configuration.
The auth-code can only be used once and therefore is dropped.
The access token is then used to login at the innogy API, but is valid only for a couple of hours.
The binding automatically requests a new access token as needed by using the refresh token.
So the refresh token is the relevant credential.
**Never give it to anybody!**
### Discovering devices
All devices bound to the bridge are found by the discovery service once the SHC is online.
As device discovery is not implemented as a background service, you should start it manually in the Inbox to find all devices.
Now you can add all devices from your Inbox as things.
### File based configuration
As an alternative to using automatic discovery, innogy things can be configured using .things files.
The innogy SmartHome Controller (SHC) can be configured using the following syntax:
```java
Bridge innogysmarthome:bridge:<bridge-id> []
```
Then the required authcode is retrieved and set **automatically**:
```java
Bridge innogysmarthome:bridge:<bridge-id> [ authcode="<authcode>" ]
```
** _Security warning!_*
As the refresh-token is THE one and only credential one needs to access the innogy webservice with all device data, you have to make sure it is never given to another person.
Thus it is recommended to remove the line from the openhab.log and/or make sure, the logfile is definitely never accessible by others!
All other innogy devices can be added using the following syntax:
```java
Thing WDS <thing-id> "<thing-name>" @ "<room-name>" [ id="<the-device-id>" ]
```
The device ID (e.g. e9a74941a3807b57332214f346fb1129) can be found in the Inbox, as you find it below all things there in the form `innogysmarthome:<device-type>:<bridge-id>:<the-device-id>` (example: `innogysmarthome:WSC2:SMARTHOME01:e9a74941a3807b57332214f346fb1129`).
However, a full example .things configuration look like this:
```java
Bridge innogysmarthome:bridge:mybride "innogy SmartHome Controller" {
Thing ISD2 myDimmer "Dimmer Kitchen" @ "Kitchen" [ id="<device-id>" ]
Thing ISS2 myLightSwitch "Light Livingroom" @ "Livingroom" [ id="<device-id>" ]
Thing PSS myTVSwitch "TV" @ "Livingroom" [ id="<device-id>" ]
Thing RST myHeating "Thermostat Livingroom" @ "Livingroom" [ id="<device-id>" ]
Thing VariableActuator myInnogyVariable "My Variable" [ id="<device-id>" ]
Thing WDS myWindowContact "Window Kitchen" @ "Kitchen" [ id="<device-id>" ]
Thing WMD myMotionSensor "Motion entry" @ "Entry" [ id="<device-id>" ]
Thing WSC2 myPushButton "Pushbutton" @ "Living" [ id="<device-id>" ]
Thing WSD mySmokeDetector "Smoke detector Livingroom" @ "Living" [ id="<device-id>" ]
}
```
## Items configuration
You can then configure your items in your *.items config files as usual, for example:
```java
Contact myWindowContact "Kitchen" <window> {channel="innogysmarthome:WDS:mybridge:myWindowContact:contact"}
Switch myWindowContactBattery "Battery low" <battery> {channel="innogysmarthome:WDS:mybridge:myWindowContact:battery_low"}
Number myHeatingTemp "Bath [%.1f °C]" <temperature> {channel="innogysmarthome:RST:mybridge:myHeating:temperature"}
Number myHeatingModeTempTarget "Settemp bath [%.1f °C]" <temperature> {channel="innogysmarthome:RST:mybridge:myHeating:set_temperature"}
String myHeatingMode "Mode bath [%s]" <temperature> {channel="innogysmarthome:RST:mybridge:myHeating:operation_mode"}
Number myHeatingHumidity "Bath [%.1f %%]" <humidity> {channel="innogysmarthome:RST:mybridge:myHeating:humidity"}
```
## Sitemap configuration
The site configuration works a usual. One special example
```perl
sitemap default label="Home" {
Frame {
Text item=myHeatingTemp label="Temperature"
Text item=myHeatingHumidity label="Humidity"
Switch item=myHeatingMode label="Mode" mappings=[Manu="Manual", Auto="Auto"]
Setpoint item=myHeatingModeTempTarget label="Target temperature" minValue=16 maxValue=25 step=1
}
}
```
## Rules example for pushbuttons
Pushbuttons provide trigger channels, that can only be used in rules.
Here is an example rule:
```java
rule "Button triggered rule"
when
Channel 'innogysmarthome:WSC2:mybridge:myPushButton:button1' triggered PRESSED
then
// do something...
logInfo("testlogger", "Button 1 pressed")
end
```
## Resolving certificate issues
If the bridge stays offline with the following status shown in the UI, the reason could be an expired certificate:
`OFFLINE - COMMUNICATION_ERROR sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target`
To solve this on a Linux system, follow this steps:
1. Download the certificates (.cer-files) of <https://home.innogy-smarthome.de> and <https://innogy.com> including the "DigiCert Global Root G2" to your computer.
As this depends on the used browser and operating system, please use a web search engine to find out how to achieve this for your situation.
1. On your Linux system, goto your Java Machine's certificate store, e.g. `/usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre/lib/security`.
The path should include a file called `cacerts` (this is the certificate store) and may differ depending on the system used.
1. Copy the .cer-files from step 1 into this directory.
1. Import each certificate with the command: `sudo keytool importcert alias “innogysmarthome” keystore cacerts file innogy.cer`
(alias can be freely chosen but must be unique; replace innogy.cer with the filename of the downloaded certificate)
1. Restart the JVM and openHAB.
The default password of the certificate store is "changeit".

View File

@ -244,7 +244,9 @@ String z1_Detail_DiscLocation "Disc Location: [%s]" { channel="kaleidescape:play
ksecondsformat.js:
```javascript
(function(totalSeconds) {
(function(timestamp) {
var totalSeconds = Date.parse(timestamp) / 1000
if (isNaN(totalSeconds)) {
return '-';
} else {

View File

@ -0,0 +1,104 @@
---
id: mqtt.ruuvigateway
label: Ruuvi Gateway MQTT
title: Ruuvi Gateway MQTT - Bindings
type: binding
description: "This binding allows integration of Ruuvi Tags via MQTT data, as collected by [Ruuvi Gateway](https://ruuvi.com/gateway/)."
since: 3x
install: manual
---
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
{% include base.html %}
# Ruuvi Gateway MQTT Binding
This binding allows integration of Ruuvi Tags via MQTT data, as collected by [Ruuvi Gateway](https://ruuvi.com/gateway/).
Ruuvi gateway is listening for Bluetooth advertisements and publishing that data over MQTT.
Ruuvi Cloud Subscription is not needed at all as the integration is local.
Compared to Ruuvi Tag Bluetooth binding, this binding has the benefit of relying on strong and reliable antenna of Ruuvi Gateway, as opposed to e.g. usually much weaker antenna integrated onto computer motherboard.
Obvious downside compared to the bluetooth binding is the requirement of having Ruuvi Gateway device.
Both RuuviTag and RuuviTag Pro are supported.
## Setup the Gateway
Before using this binding, Ruuvi Gateway needs to configured to publish the sensor data via MQTT.
For further instructions, refer to relevant section in [Ruuvi Gateway documentation](https://ruuvi.com/gateway-config/).
For most convenient usage of this binding, please ensure that "Use 'ruuvi' on the prefix' MQTT setting is enabled on Ruuvi Gateway.
## Discovery
First install the MQTT binding and setup a `broker` thing and make sure it is ONLINE, as this binding uses the MQTT binding to talk to your broker and hence that binding must be setup first.
This binding discovers the Ruuvi Tags via the MQTT bridge; the discovered things should appear in your thing Inbox.
## Thing Configuration
There is only thing type supported by this binding, `ruuvitag_beacon`.
No manual configuration is needed, and discovery function can be used instead.
For users that prefer manual configuration, we list here the configurable parameters.
| Parameter | Description | Required | Default |
|-----------|-------------------------------------------|----------|---------|
| `topic` | MQTT topic containing the gateway payload | Y | (N/A) |
## Channels
| Channel ID | Item Type | Description |
|---------------------------|--------------------------|--------------------------------------------------------------------------|
| temperature | Number:Temperature | The measured temperature |
| humidity | Number:Dimensionless | The measured humidity |
| pressure | Number:Pressure | The measured air pressure |
| batteryVoltage | Number:ElectricPotential | The measured battery voltage |
| accelerationx | Number:Acceleration | The measured acceleration of X |
| accelerationy | Number:Acceleration | The measured acceleration of Y |
| accelerationz | Number:Acceleration | The measured acceleration of Z |
| txPower | Number:Power | TX power |
| dataFormat | Number | Data format version |
| measurementSequenceNumber | Number:Dimensionless | Measurement sequence number |
| movementCounter | Number:Dimensionless | Movement counter |
| rssi | Number | Received signal (between the Gateway and the sensor) strength indicator |
| ts | DateTime | Timestamp when the message from Bluetooth-sensor was received by Gateway |
| gwts | DateTime | Timestamp when the message from Bluetooth-sensor was relayed by Gateway |
| gwmac | String | MAC-address of Ruuvi Gateway |
Note: not all channels are always updated.
Available fields depend on [Ruuvi Data Format](https://github.com/ruuvi/ruuvi-sensor-protocols).
At the time of writing (2022-09), most Ruuvi Tags use Ruuvi Data Format 5 out of box.
Some measurements might not make any sense.
For example, Ruuvi Tag Pro 2in1 does not have a humidity measurement and thus, the humidity data advertised by the sensor is garbage.
## Example
Please note that Thing and Item configuration can be done fully in the UI.
For those who prefer textual configuration, we share this example here.
To use these examples for textual configuration, you must already have a configured a MQTT `broker` thing and know its unique ID.
This UID will be used in the things file and will replace the text `myBroker`.
The first line in the things file will create a `broker` thing and this can be removed if you have already setup a broker in another file or via the UI already.
### *.things
```java
Bridge mqtt:broker:myBroker [ host="localhost", secure=false, password="*******", qos=1, username="user"]
mqtt:ruuvitag_beacon:myTag1 "RuuviTag Sensor Beacon 9ABC" (mqtt:broker:myBroker) [ topic="ruuvi/mygw/DE:AD:BE:EF:AA:01" ]
```
### *.items
```java
Number:Temperature temperature "Room Temperature [%.1f %unit%]" { channel="mqtt:ruuvitag_beacon:myTag1:temperature" }
Number:Dimensionless humidity "Humidity [%.0f %unit%]" { channel="mqtt:ruuvitag_beacon:myTag1:humidity" }
Number:Pressure pressure "Air Pressure [%.0f %unit%]" { channel="mqtt:ruuvitag_beacon:myTag1:pressure" }
// Examples of converting units
Number:Acceleration acceleration_ms "Acceleration z [%.2f m/s²]" { channel="mqtt:ruuvitag_beacon:myTag1:accelerationz" }
Number:Acceleration acceleration_g "Acceleration z (g-force) [%.2f gₙ]" { channel="mqtt:ruuvitag_beacon:myTag1:accelerationz" }
```

View File

@ -493,33 +493,35 @@ All channels are read only.
**Supported trigger channels for the Security Home thing:**
| Channel Type ID | Options | Description |
| ---------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| cameraEvent | | A camera event is triggered with a short delay but without requiring a webhook. The information of the event can get retrieved from the other "welcomeEvent" home thing channels |
| | HUMAN | Triggered when a human (or person) was detected |
| | ANIMAL | Triggered when an animal was detected |
| | MOVEMENT | Triggered when an unspecified movement was detected |
| | VEHICLE | Triggered when a vehicle was detected |
| welcomeHomeEvent | | A welcome home event is triggered directly via a configured webhook |
| | PERSON | Triggered when a concrete person was detected |
| | PERSON_AWAY | Triggered when a concrete person leaves |
| | MOVEMENT | Triggered when a movement was detected |
| | CONNECTION | Triggered when a camera connection gets created |
| | DISCONNECTION | Triggered when a camera connection got lost |
| | ON | Triggered when camera monitoring is switched on |
| | OFF | Triggered when camera monitoring is switched off |
| | BOOT | Triggered when a camera is booting |
| | SD | Triggered when a camera SD card status was changed |
| | ALIM | Triggered when a power supply status was changed |
| | NEW_MODULE | Triggered when a new module was discovered |
| | MODULE_CONNECT | Triggered when a module gets connected |
| | MODULE_DISCONNECT | Triggered when a module gets disconnected |
| | MODULE_LOW_BATTERY | Triggered when the battery of a module gets low |
| | MODULE_END_UPDATE | Triggered when a firmware update of a module is done |
| | TAG_BIG_MOVE | Triggered when a big movement of a tag was detected |
| | TAG_SMALL_MOVE | Triggered when a small movement of a tag was detected |
| | TAG_UNINSTALLED | Triggered when a tag gets uninstalled |
| | TAG_OPEN | Triggered when an open event of a tag was detected |
**Supported trigger channels for the Security Home, Presence and Doorbell thing:**
| Channel Type ID | Options | Description |
|-----------------|--------------------|---------------------------------------------------------------------|
| home-event | | A welcome home event is triggered directly via a configured webhook |
| | PERSON | Triggered when a concrete person was detected |
| | PERSON_AWAY | Triggered when a concrete person leaves |
| | PERSON_HOME | Triggered when a concrete person entered the home |
| | OUTDOOR | Triggered when a event of an outdoor camera was triggered |
| | MOVEMENT | Triggered when a movement was detected |
| | HUMAN | Triggered when a human was detected |
| | ANIMAL | Triggered when an animal was detected |
| | VEHICLE | Triggered when a vehicle was detected |
| | NEW_MODULE | Triggered when a new module was discovered |
| | MODULE_CONNECT | Triggered when a module gets connected |
| | MODULE_DISCONNECT | Triggered when a module gets disconnected |
| | MODULE_LOW_BATTERY | Triggered when the battery of a module gets low |
| | MODULE_END_UPDATE | Triggered when a firmware update of a module is done |
| | CONNECTION | Triggered when a camera connection gets created |
| | DISCONNECTION | Triggered when a camera connection got lost |
| | ON | Triggered when camera monitoring is switched on |
| | OFF | Triggered when camera monitoring is switched off |
| | BOOT | Triggered when a camera is booting |
| | SD | Triggered when a camera SD card status was changed |
| | ALIM | Triggered when a power supply status was changed |
| | ACCEPTED_CALL | Triggered when a doorbell call was accepted |
| | INCOMING_CALL | Triggered when a doorbell call is incoming |
| | RTC | Triggered when the doorbell button was pressed |
| | MISSED_CALL | Triggered when a doorbell call was missed |
### Welcome, Presence and Doorbell Cameras
@ -530,28 +532,29 @@ Warnings:
**Supported channels for the Welcome Camera thing:**
| Channel Group | Channel ID | Item Type | Read/Write | Description |
| ------------- | -------------------- | ------------ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| status | monitoring | Switch | Read-write | State of the camera (video surveillance on/off) |
| status | sd-card | String | Read-only | State of the SD card |
| status | alim | String | Read-only | State of the power connector |
| live | picture | Image | Read-only | Camera Live Snapshot |
| live | local-picture-url | String | Read-only | Local Url of the live snapshot for this camera |
| live | vpn-picture-url | String | Read-only | Url of the live snapshot for this camera through Netatmo VPN. |
| live | local-stream-url (*) | String | Read-only | Local Url of the live stream for this camera (accessible if openhab server and camera are located on the same lan. |
| live | vpn-stream-url (*) | String | Read-only | Url of the live stream for this camera through Netatmo VPN. |
| signal | strength | Number | Read-only | Signal strength (0 for no signal, 1 for weak...) |
| signal | value | Number:Power | Read-only | Signal strength in dBm |
| last-event | type | String | Read-only | Type of event |
| last-event | subtype | String | Read-only | Sub-type of event |
| last-event | time | DateTime | Read-only | Time of occurrence of event |
| last-event | message | String | Read-only | Message sent by Netatmo corresponding to given event |
| last-event | snapshot | Image | Read-only | picture of the last event, if it applies |
| last-event | snapshot-url | String | Read-only | If the last event (depending upon event type) in the home lead a snapshot picture, the picture URL will be available here |
| last-event | local-video-url | String | Read-only | If the last event (depending upon event type) in the home lead a snapshot picture, the corresponding local video URL will be available here |
| last-event | vpn-video-url | String | Read-only | If the last event (depending upon event type) in the home lead a snapshot picture, the corresponding VPN video URL will be available here |
| last-event | video-status | String | Read-only | Status of the video (recording, deleted or available) |
| last-event | person-id | String | Read-only | Id of the person the event is about (if any) |
| Channel Group | Channel ID | Item Type | Read/Write | Description |
|----------------| -------------------- | ------------ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| security-event | home-event | | Read-only | Trigger channel which is triggered when the camera sent an event |
| status | monitoring | Switch | Read-write | State of the camera (video surveillance on/off) |
| status | sd-card | String | Read-only | State of the SD card |
| status | alim | String | Read-only | State of the power connector |
| live | picture | Image | Read-only | Camera Live Snapshot |
| live | local-picture-url | String | Read-only | Local Url of the live snapshot for this camera |
| live | vpn-picture-url | String | Read-only | Url of the live snapshot for this camera through Netatmo VPN. |
| live | local-stream-url (*) | String | Read-only | Local Url of the live stream for this camera (accessible if openhab server and camera are located on the same lan. |
| live | vpn-stream-url (*) | String | Read-only | Url of the live stream for this camera through Netatmo VPN. |
| signal | strength | Number | Read-only | Signal strength (0 for no signal, 1 for weak...) |
| signal | value | Number:Power | Read-only | Signal strength in dBm |
| last-event | type | String | Read-only | Type of event |
| last-event | subtype | String | Read-only | Sub-type of event |
| last-event | time | DateTime | Read-only | Time of occurrence of event |
| last-event | message | String | Read-only | Message sent by Netatmo corresponding to given event |
| last-event | snapshot | Image | Read-only | picture of the last event, if it applies |
| last-event | snapshot-url | String | Read-only | If the last event (depending upon event type) in the home lead a snapshot picture, the picture URL will be available here |
| last-event | local-video-url | String | Read-only | If the last event (depending upon event type) in the home lead a snapshot picture, the corresponding local video URL will be available here |
| last-event | vpn-video-url | String | Read-only | If the last event (depending upon event type) in the home lead a snapshot picture, the corresponding VPN video URL will be available here |
| last-event | video-status | String | Read-only | Status of the video (recording, deleted or available) |
| last-event | person-id | String | Read-only | Id of the person the event is about (if any) |
(*) This channel is configurable : low, poor, high.
@ -561,54 +564,63 @@ Warnings:
- The floodlight auto-mode (auto-mode) isn't updated it is changed by another application. Therefore the binding handles its own state of the auto-mode. This has the advantage that the user can define its own floodlight switch off behaviour.
| Channel Group | Channel ID | Item Type | Read/Write | Description |
| ------------- | -------------------- | ------------ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| status | monitoring | Switch | Read-write | State of the camera (video surveillance on/off) |
| status | sd-card | String | Read-only | State of the SD card |
| status | alim | String | Read-only | State of the power connector |
| live | picture | Image | Read-only | Camera Live Snapshot |
| live | picture-url | String | Read-only | Url of the live snapshot for this camera |
| live | local-stream-url (*) | String | Read-only | Local Url of the live stream for this camera (accessible if openhab server and camera are located on the same lan. |
| live | vpn-stream-url (*) | String | Read-only | Url of the live stream for this camera through Netatmo VPN. |
| signal | strength | Number | Read-only | Signal strength (0 for no signal, 1 for weak...) |
| signal | value | Number:Power | Read-only | Signal strength in dBm |
| presence | floodlight | String | Read-write | Sets the floodlight to ON/OFF/AUTO |
| last-event | type | String | Read-only | Type of event |
| last-event | subtype | String | Read-only | Sub-type of event |
| last-event | time | DateTime | Read-only | Time of occurrence of event |
| last-event | message | String | Read-only | Message sent by Netatmo corresponding to given event |
| last-event | snapshot | Image | Read-only | picture of the last event, if it applies |
| last-event | snapshot-url | String | Read-only | if the last event (depending upon event type) in the home lead a snapshot picture, the picture URL will be available here |
| last-event | local-video-url | String | Read-only | If the last event (depending upon event type) in the home lead a snapshot picture, the corresponding local video URL will be available here |
| last-event | vpn-video-url | String | Read-only | If the last event (depending upon event type) in the home lead a snapshot picture, the corresponding VPN video URL will be available here |
| last-event | video-status | String | Read-only | Status of the video (recording, deleted or available) |
| last-event | person-id | String | Read-only | Id of the person the event is about (if any) |
| Channel Group | Channel ID | Item Type | Read/Write | Description |
|----------------|----------------------| ------------ | ---------- |---------------------------------------------------------------------------------------------------------------------------------------------|
| security-event | home-event | | Read-only | Trigger channel which is triggered when the camera sent an event |
| status | monitoring | Switch | Read-write | State of the camera (video surveillance on/off) |
| status | sd-card | String | Read-only | State of the SD card |
| status | alim | String | Read-only | State of the power connector |
| live | picture | Image | Read-only | Camera Live Snapshot |
| live | picture-url | String | Read-only | Url of the live snapshot for this camera |
| live | local-stream-url (*) | String | Read-only | Local Url of the live stream for this camera (accessible if openhab server and camera are located on the same lan. |
| live | vpn-stream-url (*) | String | Read-only | Url of the live stream for this camera through Netatmo VPN. |
| signal | strength | Number | Read-only | Signal strength (0 for no signal, 1 for weak...) |
| signal | value | Number:Power | Read-only | Signal strength in dBm |
| presence | floodlight | String | Read-write | Sets the floodlight to ON/OFF/AUTO |
| last-event | type | String | Read-only | Type of event |
| last-event | subtype | String | Read-only | Sub-type of event |
| last-event | time | DateTime | Read-only | Time of occurrence of event |
| last-event | message | String | Read-only | Message sent by Netatmo corresponding to given event |
| last-event | snapshot | Image | Read-only | picture of the last event, if it applies |
| last-event | snapshot-url | String | Read-only | if the last event (depending upon event type) in the home lead a snapshot picture, the picture URL will be available here |
| last-event | local-video-url | String | Read-only | If the last event (depending upon event type) in the home lead a snapshot picture, the corresponding local video URL will be available here |
| last-event | vpn-video-url | String | Read-only | If the last event (depending upon event type) in the home lead a snapshot picture, the corresponding VPN video URL will be available here |
| last-event | video-status | String | Read-only | Status of the video (recording, deleted or available) |
| last-event | person-id | String | Read-only | Id of the person the event is about (if any) |
| sub-event | type | String | Read-only | Type of sub-event |
| sub-event | time | DateTime | Read-only | Time of occurrence of sub-event |
| sub-event | message | String | Read-only | Message sent by Netatmo corresponding to given sub-event |
| sub-event | snapshot-url | String | Read-only | Depending upon event type in the home, a snapshot picture of the corresponding local video URL will be available here |
| sub-event | vignette-url | String | Read-only | A vignette representing the snapshot |
| sub-event | snapshot | Image | Read-only | picture of the snapshot |
| sub-event | vignette | Image | Read-only | picture of the vignette |
(*) This channel is configurable : low, poor, high.
**Supported channels for the Doorbell thing:**
| Channel Group | Channel ID | Item Type | Read/Write | Description |
| ------------- | ----------------- | ------------ | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| status | sd-card | String | Read-only | State of the SD card |
| status | alim | String | Read-only | State of the power connector |
| live | picture | Image | Read-only | Camera Live Snapshot |
| live | local-picture-url | String | Read-only | Local Url of the live snapshot for this camera |
| live | vpn-picture-url | String | Read-only | Url of the live snapshot for this camera through Netatmo VPN. |
| signal | strength | Number | Read-only | Signal strength (0 for no signal, 1 for weak...) |
| signal | value | Number:Power | Read-only | Signal strength in dBm |
| last-event | type | String | Read-only | Type of event |
| last-event | video-status | String | Read-only | Status of the video (recording, deleted or available) |
| last-event | time | DateTime | Read-only | Time of occurrence of event |
| last-event | local-video-url | String | Read-only | If the last event (depending upon event type) in the home lead a snapshot picture, the corresponding local video URL will be available here |
| last-event | vpn-video-url | String | Read-only | If the last event (depending upon event type) in the home lead a snapshot picture, the corresponding VPN video URL will be available here |
| sub-event | type | String | Read-only | Type of sub-event |
| sub-event | time | DateTime | Read-only | Time of occurrence of sub-event |
| sub-event | message | String | Read-only | Message sent by Netatmo corresponding to given sub-event |
| sub-event | snapshot-url | String | Read-only | Depending upon event type in the home, a snapshot picture of the corresponding local video URL will be available here |
| sub-event | vignette-url | String | Read-only | A vignette representing the snapshot |
| sub-event | snapshot | Image | Read-only | picture of the snapshot |
| sub-event | vignet | Image | Read-only | picture of the vignette |
| Channel Group | Channel ID | Item Type | Read/Write | Description |
|---------------------| ----------------- |--------------| ---------- |---------------------------------------------------------------------------------------------------------------------------------------------|
| security-event | home-event | | Read-only | Trigger channel which is triggered when the doorbell sent an event |
| status | sd-card | String | Read-only | State of the SD card |
| status | alim | String | Read-only | State of the power connector |
| live | picture | Image | Read-only | Camera Live Snapshot |
| live | local-picture-url | String | Read-only | Local Url of the live snapshot for this camera |
| live | vpn-picture-url | String | Read-only | Url of the live snapshot for this camera through Netatmo VPN. |
| signal | strength | Number | Read-only | Signal strength (0 for no signal, 1 for weak...) |
| signal | value | Number:Power | Read-only | Signal strength in dBm |
| last-event-doorbell | type | String | Read-only | Type of event |
| last-event-doorbell | video-status | String | Read-only | Status of the video (recording, deleted or available) |
| last-event-doorbell | time | DateTime | Read-only | Time of occurrence of event |
| last-event-doorbell | local-video-url | String | Read-only | If the last event (depending upon event type) in the home lead a snapshot picture, the corresponding local video URL will be available here |
| last-event-doorbell | vpn-video-url | String | Read-only | If the last event (depending upon event type) in the home lead a snapshot picture, the corresponding VPN video URL will be available here |
| sub-event-doorbell | type | String | Read-only | Type of sub-event |
| sub-event-doorbell | time | DateTime | Read-only | Time of occurrence of sub-event |
| sub-event-doorbell | message | String | Read-only | Message sent by Netatmo corresponding to given sub-event |
| sub-event-doorbell | snapshot-url | String | Read-only | Depending upon event type in the home, a snapshot picture of the corresponding local video URL will be available here |
| sub-event-doorbell | vignette-url | String | Read-only | A vignette representing the snapshot |
| sub-event-doorbell | snapshot | Image | Read-only | picture of the snapshot |
| sub-event-doorbell | vignette | Image | Read-only | picture of the vignette |
Note: live feeds either locally or via VPN are not available in Netatmo API.
@ -858,6 +870,26 @@ sitemap netatmo label="Netatmo" {
}
```
## Example Rules
```java
rule "Notification on home web hook event"
when
Channel "netatmo:home:mybridgeid:myclientid:home-event" triggered
then
logInfo("camera", "Received web hook on home level")
end
```
```java
rule "Notification on camera web hook event"
when
Channel "netatmo:presence:mybridgeid:myclientid:mythingid:home-event" triggered
then
logInfo("camera", "Received web hook on camera level")
end
```
## Rule Actions
Multiple actions are supported by this binding. In classic rules these are accessible as shown in this example (adjust getActions with your ThingId):

View File

@ -541,5 +541,6 @@ Special thanks for helping on testing this binding go to:
[@feodor](https://community.openhab.org/u/feodor),
[@aconte80](https://community.openhab.org/u/aconte80),
[@rubenfuser](https://community.openhab.org/u/rubenfuser),
[@stamate_viorel](https://community.openhab.org/u/stamate_viorel)
[@stamate_viorel](https://community.openhab.org/u/stamate_viorel),
[@marchino](https://community.openhab.org/u/marchino)
and many others at the fantastic openHAB community!

View File

@ -34,6 +34,9 @@ Currently, only dual-chamber beds are supported by this binding.
The SleepIQ cloud thing must be added manually with the username and password used to register with the service.
After that, beds are discovered automatically by querying the service.
If the bed has a foundation, it will be auto-discovered by the binding.
If a foundation is discovered, the channels for controlling presets, position and outlets can be operated.
The thing properties will show whether or not a foundation is installed.
## Binding Configuration
@ -87,7 +90,6 @@ All channels within this group are read-only, except for the sleepNumber and pri
|-----------------------------------|----------------|---------------------------------------------------------------------------------------------------------------------|
| inBed | Switch | The presence of a person or object on the chamber |
| sleepNumber | Number | The Sleep Number setting of the chamber. Set the sleep number of the chamber by sending a command to the sleepNumber channel with a value between 5 and 100. The value must be a multiple of 5 |
| sleepGoalMinutes | Number:Time | The person's sleep goal in minutes |
| pressure | Number | The current pressure inside the chamber |
| privacyMode | Switch | Enable or disable privacy mode |
@ -106,52 +108,66 @@ All channels within this group are read-only, except for the sleepNumber and pri
| monthlySleepIQ | Number | The average Sleep IQ score for the current month |
| monthlyAverageHeartRate | Number | The average heart rate for the current month |
| monthlyAverageRespirationRate | Number | The average respiration rate for the current month |
| foundationPreset | Number | Sets the head and foot position to one of the 6 available presets (1-6) (foundation required) |
| foundationPositionHead | Dimmer | Sets the head position (foundation required) |
| foundationPositionFoot | Dimmer | Sets the foot position (foundation required) |
| nightStandOutlet | Switch | Turn on/off the night stand outlet (foundation required) |
| underBedLight | Switch | Turn on/off the under bed light (foundation required) |
## Items
Here is a sample item configuration:
```java
Switch MasterBR_SleepIQ_InBed_Alice "In Bed [%s]" { channel="sleepiq:dualBed:1:master:left#inBed" }
Number MasterBR_SleepIQ_SleepNumber_Alice "Sleep Number [%s]" { channel="sleepiq:dualBed:1:master:left#sleepNumber" }
Number:Time MasterBR_SleepIQ_SleepGoal_Alice "Sleep Goal [%d min]" { channel="sleepiq:dualBed:1:master:left#sleepGoalMinutes"
Number MasterBR_SleepIQ_Pressure_Alice "Pressure [%s]" { channel="sleepiq:dualBed:1:master:left#pressure" }
Switch MasterBR_SleepIQ_PrivacyMode_Alice "Privacy Mode [%s]" { channel="sleepiq:dualBed:1:master:left#privacyMode" }
String MasterBR_SleepIQ_LastLink_Alice "Last Update [%s]" { channel="sleepiq:dualBed:1:master:left#lastLink" }
Number MasterBR_SleepIQ_AlertId_Alice "Alert ID [%s]" { channel="sleepiq:dualBed:1:master:left#alertId" }
String MasterBR_SleepIQ_AlertMessage_Alice "Alert Message [%s]" { channel="sleepiq:dualBed:1:master:left#alertDetailedMessage" }
Number MasterBR_SleepIQ_DailySleepIQ_Alice "Daily Sleep IQ [%.0f]" { channel="sleepiq:dualBed:1:master:left#todaySleepIQ" }
Number MasterBR_SleepIQ_DailyHeartRate_Alice "Daily Heart Rate [%.0f]" { channel="sleepiq:dualBed:1:master:left#todayAverageHeartRate" }
Number MasterBR_SleepIQ_DailyRespRate_Alice "Daily Respiration Rate [%.0f]" { channel="sleepiq:dualBed:1:master:left#todayAverageRespirationRate"}
String MasterBR_SleepIQ_DailyMessage_Alice "Daily Message [%s]" { channel="sleepiq:dualBed:1:master:left#todayMessage"}
Number:Time MasterBR_SleepIQ_DailyDuration_Alice "Daily Sleep Duration [%.0f]" { channel="sleepiq:dualBed:1:master:left#todaySleepDurationSeconds"}
Number:Time MasterBR_SleepIQ_DailyInBed_Alice "Daily Sleep In Bed [%.0f]" { channel="sleepiq:dualBed:1:master:left#todaySleepInBedSeconds"}
Number:Time MasterBR_SleepIQ_DailyOutOfBed_Alice "Daily Sleep Out Of Bed [%.0f]" { channel="sleepiq:dualBed:1:master:left#todaySleepOutOfBedSeconds"}
Number:Time MasterBR_SleepIQ_DailyRestful_Alice "Daily Sleep Restful [%.0f]" { channel="sleepiq:dualBed:1:master:left#todaySleepRestfulSeconds"}
Number:Time MasterBR_SleepIQ_DailyRestless_Alice "Daily Sleep Restless [%.0f]" { channel="sleepiq:dualBed:1:master:left#todaySleepRestlessSeconds"}
Number MasterBR_SleepIQ_MonthlySleepIQ_Alice "Monthly Sleep IQ [%d s]" { channel="sleepiq:dualBed:1:master:left#monthlySleepIQ"}
Number MasterBR_SleepIQ_MonthlyHeartRate_Alice "Monthly Heart Rate [%.0f]" { channel="sleepiq:dualBed:1:master:left#monthlyAverageHeartRate"}
Number MasterBR_SleepIQ_MonthlyRespRate_Alice "Monthly Respiration Rate [%.0f]" { channel="sleepiq:dualBed:1:master:left#monthlyAverageRespirationRate"}
Switch MasterBR_SleepIQ_InBed_Alice "In Bed [%s]" { channel="sleepiq:dualBed:1:master:left#inBed" }
Number MasterBR_SleepIQ_SleepNumber_Alice "Sleep Number [%s]" { channel="sleepiq:dualBed:1:master:left#sleepNumber" }
Number:Time MasterBR_SleepIQ_SleepGoal_Alice "Sleep Goal [%d min]" { channel="sleepiq:dualBed:1:master:left#sleepGoalMinutes"
Number MasterBR_SleepIQ_Pressure_Alice "Pressure [%s]" { channel="sleepiq:dualBed:1:master:left#pressure" }
Switch MasterBR_SleepIQ_PrivacyMode_Alice "Privacy Mode [%s]" { channel="sleepiq:dualBed:1:master:left#privacyMode" }
String MasterBR_SleepIQ_LastLink_Alice "Last Update [%s]" { channel="sleepiq:dualBed:1:master:left#lastLink" }
Number MasterBR_SleepIQ_AlertId_Alice "Alert ID [%s]" { channel="sleepiq:dualBed:1:master:left#alertId" }
String MasterBR_SleepIQ_AlertMessage_Alice "Alert Message [%s]" { channel="sleepiq:dualBed:1:master:left#alertDetailedMessage" }
Number MasterBR_SleepIQ_DailySleepIQ_Alice "Daily Sleep IQ [%.0f]" { channel="sleepiq:dualBed:1:master:left#todaySleepIQ" }
Number MasterBR_SleepIQ_DailyHeartRate_Alice "Daily Heart Rate [%.0f]" { channel="sleepiq:dualBed:1:master:left#todayAverageHeartRate" }
Number MasterBR_SleepIQ_DailyRespRate_Alice "Daily Respiration Rate [%.0f]" { channel="sleepiq:dualBed:1:master:left#todayAverageRespirationRate"}
String MasterBR_SleepIQ_DailyMessage_Alice "Daily Message [%s]" { channel="sleepiq:dualBed:1:master:left#todayMessage"}
Number:Time MasterBR_SleepIQ_DailyDuration_Alice "Daily Sleep Duration [%.0f]" { channel="sleepiq:dualBed:1:master:left#todaySleepDurationSeconds"}
Number:Time MasterBR_SleepIQ_DailyInBed_Alice "Daily Sleep In Bed [%.0f]" { channel="sleepiq:dualBed:1:master:left#todaySleepInBedSeconds"}
Number:Time MasterBR_SleepIQ_DailyOutOfBed_Alice "Daily Sleep Out Of Bed [%.0f]" { channel="sleepiq:dualBed:1:master:left#todaySleepOutOfBedSeconds"}
Number:Time MasterBR_SleepIQ_DailyRestful_Alice "Daily Sleep Restful [%.0f]" { channel="sleepiq:dualBed:1:master:left#todaySleepRestfulSeconds"}
Number:Time MasterBR_SleepIQ_DailyRestless_Alice "Daily Sleep Restless [%.0f]" { channel="sleepiq:dualBed:1:master:left#todaySleepRestlessSeconds"}
Number MasterBR_SleepIQ_MonthlySleepIQ_Alice "Monthly Sleep IQ [%d s]" { channel="sleepiq:dualBed:1:master:left#monthlySleepIQ"}
Number MasterBR_SleepIQ_MonthlyHeartRate_Alice "Monthly Heart Rate [%.0f]" { channel="sleepiq:dualBed:1:master:left#monthlyAverageHeartRate"}
Number MasterBR_SleepIQ_MonthlyRespRate_Alice "Monthly Respiration Rate [%.0f]" { channel="sleepiq:dualBed:1:master:left#monthlyAverageRespirationRate"}
Number MasterBR_SleepIQ_FoundationPreset_Alice "Foundation Preset [%d]" { channel="sleepiq:dualBed:1:master:left#foundationPreset"}
Dimmer MasterBR_SleepIQ_FoundationHead_Alice "Head Position [%d]" { channel="sleepiq:dualBed:1:master:left#foundationPositionHead"}
Dimmer MasterBR_SleepIQ_FoundationFoot_Alice "Foot Position [%d]" { channel="sleepiq:dualBed:1:master:left#foundationPositionFoot"}
Switch MasterBR_SleepIQ_FoundationNightStand_Alice "Night Stand [%d]" { channel="sleepiq:dualBed:1:master:left#nightStandOutlet"}
Switch MasterBR_SleepIQ_FoundationNightLight_Alice "Night Light [%d]" { channel="sleepiq:dualBed:1:master:left#nightLightOutlet"}
Switch MasterBR_SleepIQ_InBed_Bob "In Bed [%s]" { channel="sleepiq:dualBed:1:master:right#inBed" }
Number MasterBR_SleepIQ_SleepNumber_Bob "Sleep Number [%s]" { channel="sleepiq:dualBed:1:master:right#sleepNumber" }
Number MasterBR_SleepIQ_SleepGoal_Alice "Sleep Goal [%d min]" { channel="sleepiq:dualBed:1:master:left#sleepGoalMinutes"
Number:Time MasterBR_SleepIQ_Pressure_Bob "Pressure [%s]" { channel="sleepiq:dualBed:1:master:right#pressure" }
Switch MasterBR_SleepIQ_PrivacyMode_Bob "Privacy Mode [%s]" { channel="sleepiq:dualBed:1:master:right#privacyMode" }
String MasterBR_SleepIQ_LastLink_Bob "Last Update [%s]" { channel="sleepiq:dualBed:1:master:right#lastLink" }
Number MasterBR_SleepIQ_AlertId_Bob "Alert ID [%s]" { channel="sleepiq:dualBed:1:master:right#alertId" }
String MasterBR_SleepIQ_AlertMessage_Bob "Alert Message [%s]" { channel="sleepiq:dualBed:1:master:right#alertDetailedMessage" }
Number MasterBR_SleepIQ_DailySleepIQ_Bob "Daily Sleep IQ [%.0f]" { channel="sleepiq:dualBed:1:master:right#todaySleepIQ" }
Number MasterBR_SleepIQ_DailyHeartRate_Bob "Daily Heart Rate [%.0f]" { channel="sleepiq:dualBed:1:master:right#todayAverageHeartRate" }
Number MasterBR_SleepIQ_DailyRespRate_Bob "Daily Respiration Rate [%.0f]" { channel="sleepiq:dualBed:1:master:right#todayAverageRespirationRate"}
String MasterBR_SleepIQ_DailyMessage_Bob "Daily Message [%s]" { channel="sleepiq:dualBed:1:master:right#todayMessage"}
Number:Time MasterBR_SleepIQ_DailyDuration_Bob "Daily Sleep Duration [%d s]" { channel="sleepiq:dualBed:1:master:right#todaySleepDurationSeconds"}
Number:Time MasterBR_SleepIQ_DailyInBed_Bob "Daily Sleep In Bed [%.0f]" { channel="sleepiq:dualBed:1:master:right#todaySleepInBedSeconds"}
Number:Time MasterBR_SleepIQ_DailyOutOfBed_Bob "Daily Sleep Out Of Bed [%.0f]" { channel="sleepiq:dualBed:1:master:right#todaySleepOutOfBedSeconds"}
Number:Time MasterBR_SleepIQ_DailyRestful_Bob "Daily Sleep Restful [%.0f]" { channel="sleepiq:dualBed:1:master:right#todaySleepRestfulSeconds"}
Number:Time MasterBR_SleepIQ_DailyRestless_Bob "Daily Sleep Restless [%.0f]" { channel="sleepiq:dualBed:1:master:right#todaySleepRestlessSeconds"}
Number MasterBR_SleepIQ_MonthlySleepIQ_Bob "Monthly Sleep IQ [%.0f]" { channel="sleepiq:dualBed:1:master:right#monthlySleepIQ"}
Number MasterBR_SleepIQ_MonthlyHeartRate_Bob "Monthly Heart Rate [%.0f]" { channel="sleepiq:dualBed:1:master:right#monthlyAverageHeartRate"}
Number MasterBR_SleepIQ_MonthlyRespRate_Bob "Monthly Respiration Rate [%.0f]" { channel="sleepiq:dualBed:1:master:right#monthlyAverageRespirationRate"}
Switch MasterBR_SleepIQ_InBed_Bob "In Bed [%s]" { channel="sleepiq:dualBed:1:master:right#inBed" }
Number MasterBR_SleepIQ_SleepNumber_Bob "Sleep Number [%s]" { channel="sleepiq:dualBed:1:master:right#sleepNumber" }
Number MasterBR_SleepIQ_SleepGoal_Bob "Sleep Goal [%d min]" { channel="sleepiq:dualBed:1:master:left#sleepGoalMinutes"
Number:Time MasterBR_SleepIQ_Pressure_Bob "Pressure [%s]" { channel="sleepiq:dualBed:1:master:right#pressure" }
Switch MasterBR_SleepIQ_PrivacyMode_Bob "Privacy Mode [%s]" { channel="sleepiq:dualBed:1:master:right#privacyMode" }
String MasterBR_SleepIQ_LastLink_Bob "Last Update [%s]" { channel="sleepiq:dualBed:1:master:right#lastLink" }
Number MasterBR_SleepIQ_AlertId_Bob "Alert ID [%s]" { channel="sleepiq:dualBed:1:master:right#alertId" }
String MasterBR_SleepIQ_AlertMessage_Bob "Alert Message [%s]" { channel="sleepiq:dualBed:1:master:right#alertDetailedMessage" }
Number MasterBR_SleepIQ_DailySleepIQ_Bob "Daily Sleep IQ [%.0f]" { channel="sleepiq:dualBed:1:master:right#todaySleepIQ" }
Number MasterBR_SleepIQ_DailyHeartRate_Bob "Daily Heart Rate [%.0f]" { channel="sleepiq:dualBed:1:master:right#todayAverageHeartRate" }
Number MasterBR_SleepIQ_DailyRespRate_Bob "Daily Respiration Rate [%.0f]" { channel="sleepiq:dualBed:1:master:right#todayAverageRespirationRate"}
String MasterBR_SleepIQ_DailyMessage_Bob "Daily Message [%s]" { channel="sleepiq:dualBed:1:master:right#todayMessage"}
Number:Time MasterBR_SleepIQ_DailyDuration_Bob "Daily Sleep Duration [%d s]" { channel="sleepiq:dualBed:1:master:right#todaySleepDurationSeconds"}
Number:Time MasterBR_SleepIQ_DailyInBed_Bob "Daily Sleep In Bed [%.0f]" { channel="sleepiq:dualBed:1:master:right#todaySleepInBedSeconds"}
Number:Time MasterBR_SleepIQ_DailyOutOfBed_Bob "Daily Sleep Out Of Bed [%.0f]" { channel="sleepiq:dualBed:1:master:right#todaySleepOutOfBedSeconds"}
Number:Time MasterBR_SleepIQ_DailyRestful_Bob "Daily Sleep Restful [%.0f]" { channel="sleepiq:dualBed:1:master:right#todaySleepRestfulSeconds"}
Number:Time MasterBR_SleepIQ_DailyRestless_Bob "Daily Sleep Restless [%.0f]" { channel="sleepiq:dualBed:1:master:right#todaySleepRestlessSeconds"}
Number MasterBR_SleepIQ_MonthlySleepIQ_Bob "Monthly Sleep IQ [%.0f]" { channel="sleepiq:dualBed:1:master:right#monthlySleepIQ"}
Number MasterBR_SleepIQ_MonthlyHeartRate_Bob "Monthly Heart Rate [%.0f]" { channel="sleepiq:dualBed:1:master:right#monthlyAverageHeartRate"}
Number MasterBR_SleepIQ_MonthlyRespRate_Bob "Monthly Respiration Rate [%.0f]" { channel="sleepiq:dualBed:1:master:right#monthlyAverageRespirationRate"}
Number MasterBR_SleepIQ_FoundationPreset_Bob "Foundation Preset [%d]" { channel="sleepiq:dualBed:1:master:right#foundationPreset"}
Dimmer MasterBR_SleepIQ_FoundationHead_Bob "Head Position [%d]" { channel="sleepiq:dualBed:1:master:right#foundationPositionHead"}
Dimmer MasterBR_SleepIQ_FoundationFoot_Bob "Foot Position [%d]" { channel="sleepiq:dualBed:1:master:right#foundationPositionFoot"}
Switch MasterBR_SleepIQ_FoundationNightStand_Bob "Night Stand [%d]" { channel="sleepiq:dualBed:1:master:right#nightStandOutlet"}
Switch MasterBR_SleepIQ_FoundationNightLight_Bob "Night Light [%d]" { channel="sleepiq:dualBed:1:master:right#nightLightOutlet"}
```

View File

@ -19,7 +19,7 @@ Its current support is for the Air Purifiers & Humidifer's branded as Levoit whi
### Verified Models
Air Filtering models supported are Core300S, Core400S.
Air Humidifier models supported are Dual 200S, Classic 300S, 600S.
Air Humidifier models supported are Dual 200S, Classic 300S, 600S, OasisMist Smart Humidifier
### Awaiting User Verification Models
@ -106,21 +106,21 @@ Channel names in **bold** are read/write, everything else is read-only
### AirHumidifier Thing
| Channel | Type | Description | Model's Supported | Controllable Values |
|----------------------------|----------------------|---------------------------------------------------------------|----------------------------|---------------------|
| **enabled** | Switch | Whether the hardware device is enabled (Switched on) | 200S, Dual200S, 300S, 600S | [ON, OFF] |
| **display** | Switch | Whether the display is enabled (display is shown) | 200S, Dual200S, 300S, 600S | [ON, OFF] |
| waterLacking | Switch | Indicator whether the unit is lacking water | 200S, Dual200S, 300S, 600S | |
| humidityHigh | Switch | Indicator for high humidity | 200S, Dual200S, 300S, 600S | |
| waterTankLifted | Switch | Indicator for whether the water tank is removed | 200S, Dual200S, 300S, 600S | |
| **stopAtHumiditySetpoint** | Switch | Whether the unit is set to stop when the set point is reached | 200S, Dual200S, 300S, 600S | [ON, OFF] |
| humidity | Number:Dimensionless | Indicator for the currently measured humidity % level | 200S, Dual200S, 300S, 600S | |
| **mistLevel** | Number:Dimensionless | The current mist level set | 300S | [1...2] |
| **mistLevel** | Number:Dimensionless | The current mist level set | 200S, Dual200S, 600S | [1...3] |
| **humidifierMode** | String | The current mode of operation | 200S, Dual200S, 300S, 600S | [auto, sleep] |
| **nightLightMode** | String | The night light mode | 200S, Dual200S, 300S | [on, dim, off] |
| **humiditySetpoint** | Number:Dimensionless | Humidity % set point to reach | 200S, Dual200S, 300S, 600S | [30...80] |
| warmEnabled | Switch | Indicator for warm mist mode | 600S | |
| Channel | Type | Description | Model's Supported | Controllable Values |
|----------------------------|----------------------|---------------------------------------------------------------|---------------------------------------|---------------------|
| **enabled** | Switch | Whether the hardware device is enabled (Switched on) | 200S, Dual200S, 300S, 600S, OasisMist | [ON, OFF] |
| **display** | Switch | Whether the display is enabled (display is shown) | 200S, Dual200S, 300S, 600S, OasisMist | [ON, OFF] |
| waterLacking | Switch | Indicator whether the unit is lacking water | 200S, Dual200S, 300S, 600S, OasisMist | |
| humidityHigh | Switch | Indicator for high humidity | 200S, Dual200S, 300S, 600S, OasisMist | |
| waterTankLifted | Switch | Indicator for whether the water tank is removed | 200S, Dual200S, 300S, 600S, OasisMist | |
| **stopAtHumiditySetpoint** | Switch | Whether the unit is set to stop when the set point is reached | 200S, Dual200S, 300S, 600S, OasisMist | [ON, OFF] |
| humidity | Number:Dimensionless | Indicator for the currently measured humidity % level | 200S, Dual200S, 300S, 600S, OasisMist | |
| **mistLevel** | Number:Dimensionless | The current mist level set | 300S | [1...2] |
| **mistLevel** | Number:Dimensionless | The current mist level set | 200S, Dual200S, 600S, OasisMist | [1...3] |
| **humidifierMode** | String | The current mode of operation | 200S, Dual200S, 300S, 600S, OasisMist | [auto, sleep] |
| **nightLightMode** | String | The night light mode | 200S, Dual200S, 300S | [on, dim, off] |
| **humiditySetpoint** | Number:Dimensionless | Humidity % set point to reach | 200S, Dual200S, 300S, 600S, OasisMist | [30...80] |
| warmEnabled | Switch | Indicator for warm mist mode | 600S, OasisMist | |
## Full Example
@ -129,7 +129,7 @@ Channel names in **bold** are read/write, everything else is read-only
#### Air Purifiers Core 200S/300S/400S Models & Air Humidifier Classic300S/600S Models
```
```java
Bridge vesync:bridge:vesyncServers [username="<USERNAME>", password="<PASSWORD>", airPurifierPollInterval=60] {
airPurifier loungeAirFilter [deviceName="<DEVICE NAME FROM APP>"]
airPurifier bedroomAirFilter [deviceName="<DEVICE NAME FROM APP>"]
@ -141,44 +141,44 @@ Bridge vesync:bridge:vesyncServers [username="<USERNAME>", password="<PASSWORD>"
#### Air Purifier Core 400S / 600S Model
```
Switch LoungeAPPower "Lounge Air Purifier Power" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:enabled" }
Switch LoungeAPDisplay "Lounge Air Purifier Display" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:display" }
```java
Switch LoungeAPPower "Lounge Air Purifier Power" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:enabled" }
Switch LoungeAPDisplay "Lounge Air Purifier Display" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:display" }
Switch LoungeAPControlsLock "Lounge Air Purifier Controls Locked" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:childLock" }
Number:Dimensionless LoungeAPFilterRemainingUse "Lounge Air Purifier Filter Remaining [%.0f %unit%]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:filterLifePercentage" }
String LoungeAPMode "Lounge Air Purifier Mode [%s]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:fanMode" }
Number:Dimensionless LoungeAPManualFanSpeed "Lounge Air Purifier Manual Fan Speed" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:manualFanSpeed" }
Number:Density LoungeAPAirQuality "Lounge Air Purifier Air Quality [%.0f% %unit%]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:airQualityPM25" }
Number LoungeAPErrorCode "Lounge Air Purifier Error Code" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:errorCode" }
String LoungeAPAutoMode "Lounge Air Purifier Auto Mode" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:configAutoMode" }
Number LoungeAPAutoRoomSize "Lounge Air Purifier Auto Room Size [%.0f% sqft]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:configAutoRoomSize" }
Number:Time LoungeAPTimerLeft "Lounge Air Purifier Timer Left [%1$Tp]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:timerRemain" }
Number:Density LoungeAPAirQuality "Lounge Air Purifier Air Quality [%.0f% %unit%]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:airQualityPM25" }
Number LoungeAPErrorCode "Lounge Air Purifier Error Code" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:errorCode" }
String LoungeAPAutoMode "Lounge Air Purifier Auto Mode" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:configAutoMode" }
Number LoungeAPAutoRoomSize "Lounge Air Purifier Auto Room Size [%.0f% sqft]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:configAutoRoomSize" }
Number:Time LoungeAPTimerLeft "Lounge Air Purifier Timer Left [%1$Tp]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:timerRemain" }
DateTime LoungeAPTimerExpiry "Lounge Air Purifier Timer Expiry [%1$tA %1$tI:%1$tM %1$Tp]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:timerExpiry" }
Number LoungeAPSchedulesCount "Lounge Air Purifier Schedules Count" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:schedulesCount" }
```
#### Air Purifier Core 200S/300S Model
```
Switch LoungeAPPower "Lounge Air Purifier Power" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:enabled" }
Switch LoungeAPDisplay "Lounge Air Purifier Display" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:display" }
```java
Switch LoungeAPPower "Lounge Air Purifier Power" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:enabled" }
Switch LoungeAPDisplay "Lounge Air Purifier Display" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:display" }
String LoungeAPNightLightMode "Lounge Air Purifier Night Light Mode" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:nightLightMode" }
Switch LoungeAPControlsLock "Lounge Air Purifier Controls Locked" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:childLock" }
Number:Dimensionless LoungeAPFilterRemainingUse "Lounge Air Purifier Filter Remaining [%.0f %unit%]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:filterLifePercentage" }
String LoungeAPMode "Lounge Air Purifier Mode [%s]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:fanMode" }
Number:Dimensionless LoungeAPManualFanSpeed "Lounge Air Purifier Manual Fan Speed" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:manualFanSpeed" }
Number:Density LoungeAPAirQuality "Lounge Air Purifier Air Quality [%.0f%]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:airQuality" }
Number LoungeAPErrorCode "Lounge Air Purifier Error Code" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:errorCode" }
String LoungeAPAutoMode "Lounge Air Purifier Auto Mode" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:configAutoMode" }
Number LoungeAPAutoRoomSize "Lounge Air Purifier Auto Room Size [%.0f% sqft]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:configAutoRoomSize" }
Number:Time LoungeAPTimerLeft "Lounge Air Purifier Timer Left [%1$Tp]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:timerRemain" }
Number:Density LoungeAPAirQuality "Lounge Air Purifier Air Quality [%.0f%]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:airQuality" }
Number LoungeAPErrorCode "Lounge Air Purifier Error Code" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:errorCode" }
String LoungeAPAutoMode "Lounge Air Purifier Auto Mode" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:configAutoMode" }
Number LoungeAPAutoRoomSize "Lounge Air Purifier Auto Room Size [%.0f% sqft]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:configAutoRoomSize" }
Number:Time LoungeAPTimerLeft "Lounge Air Purifier Timer Left [%1$Tp]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:timerRemain" }
DateTime LoungeAPTimerExpiry "Lounge Air Purifier Timer Expiry [%1$tA %1$tI:%1$tM %1$Tp]" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:timerExpiry" }
Number LoungeAPSchedulesCount "Lounge Air Purifier Schedules Count" { channel="vesync:airPurifier:vesyncServers:loungeAirFilter:schedulesCount" }
```
#### Air Humidifier Classic 200S / Dual 200S Model
```
```java
Switch LoungeAHPower "Lounge Air Humidifier Power" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:enabled" }
Switch LoungeAHDisplay "Lounge Air Humidifier Display" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:display" }
String LoungeAHMode "Lounge Air Humidifier Mode" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:humidifierMode" }
@ -193,7 +193,7 @@ Number:Dimensionless LoungeAHMistLevel "Lounge Air Humidifier Mist Level
#### Air Humidifier Classic 300S Model
```
```java
Switch LoungeAHPower "Lounge Air Humidifier Power" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:enabled" }
Switch LoungeAHDisplay "Lounge Air Humidifier Display" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:display" }
String LoungeAHNightLightMode "Lounge Air Humidifier Night Light Mode" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:nightLightMode }
@ -209,7 +209,22 @@ Number:Dimensionless LoungeAHMistLevel "Lounge Air Humidifier Mist Level
#### Air Humidifier 600S Model
```java
Switch LoungeAHPower "Lounge Air Humidifier Power" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:enabled" }
Switch LoungeAHDisplay "Lounge Air Humidifier Display" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:display" }
String LoungeAHMode "Lounge Air Humidifier Mode" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:humidifierMode" }
Switch LoungeAHWaterLacking "Lounge Air Humidifier Water Lacking" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:waterLacking" }
Switch LoungeAHHighHumidity "Lounge Air Humidifier High Humidity" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:humidityHigh" }
Switch LoungeAHWaterTankRemoved "Lounge Air Humidifier Water Tank Removed" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:waterTankLifted" }
Number:Dimensionless LoungeAHHumidity "Lounge Air Humidifier Measured Humidity [%.0f %unit%]" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:humidity" }
Switch LoungeAHTargetStop "Lounge Air Humidifier Stop at target" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:stopAtTargetLevel" }
Number:Dimensionless LoungeAHTarget "Lounge Air Humidifier Target Humidity [%.0f %unit%]" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:humiditySetpoint" }
Number:Dimensionless LoungeAHMistLevel "Lounge Air Humidifier Mist Level" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:mistLevel" }
```
#### Air Humidifier Oasis Mist Smart Model
```java
Switch LoungeAHPower "Lounge Air Humidifier Power" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:enabled" }
Switch LoungeAHDisplay "Lounge Air Humidifier Display" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:display" }
String LoungeAHMode "Lounge Air Humidifier Mode" { channel="vesync:airHumidifier:vesyncServers:loungeHumidifier:humidifierMode" }
@ -226,7 +241,7 @@ Number:Dimensionless LoungeAHMistLevel "Lounge Air Humidifier Mist Level
#### Air Purifier Core 400S / 600S Model
```
```perl
Frame {
Switch item=LoungeAPPower label="Power"
Text item=LoungeAPFilterRemainingUse label="Filter Remaining"
@ -242,7 +257,7 @@ Frame {
#### Air Purifier Core 200S/300S Model
```
```perl
Frame {
Switch item=LoungeAPPower label="Power"
Text item=LoungeAPFilterRemainingUse label="Filter Remaining"
@ -259,7 +274,7 @@ Frame {
#### Air Humidifier Classic 200S / Dual 200S Model
```
```perl
Frame {
Switch item=LoungeAHPower
Switch item=LoungeAHDisplay
@ -276,7 +291,7 @@ Frame {
#### Air Humidifier Classic 300S Model
```
```perl
Frame {
Switch item=LoungeAHPower
Switch item=LoungeAHDisplay
@ -294,7 +309,24 @@ Frame {
#### Air Humidifier 600S Model
```perl
Frame {
Switch item=LoungeAHPower
Switch item=LoungeAHDisplay
Switch item=LoungeAHMode label="Mode" mappings=[auto="Auto", sleep="Sleeping"] icon="settings"
Text icon="none" item=LoungeAHWaterLacking
Text icon="none" item=LoungeAHHighHumidity
Text icon="none" item=LoungeAHWaterTankRemoved
Text icon="none" item=LoungeAHHumidity
Switch item=LoungeAHTargetStop
Slider item=LoungeAHTarget minValue=30 maxValue=80
Slider item=LoungeAHMistLevel minValue=1 maxValue=3
}
```
#### Air Humidifier Oasis Mist Smart Model
```perl
Frame {
Switch item=LoungeAHPower
Switch item=LoungeAHDisplay

View File

@ -18,7 +18,7 @@ install: auto
Z-Way is a software to configure and control a Z-Wave network.
The software comes with a full stack from Z-Wave transceiver with certified firmware to a REST API on high level.
Z-Way comes in three parts [cf. [Z-Wave.Me]([Z-Wave.Me](https://www.z-wave.me/index.php?id=1))]:
[Z-Way](https://www.z-wave.me/z-way) comes in three parts:
- a firmware that runs on the Z-Wave transceiver chip
- the communication stack that runs on different host Operating Systems
@ -26,7 +26,7 @@ Z-Way comes in three parts [cf. [Z-Wave.Me]([Z-Wave.Me](https://www.z-wave.me/in
All parts together represents a smart home controller for Z-Wave.
The entire infrastructure is maintained and developed by [Z-Wave.Me](https://www.z-wave.me/index.php?id=1) with the help of a large community.
The entire infrastructure is maintained and developed by [Z-Wave.Me](https://www.z-wave.me/) with the help of a large community.
Please note the **known issues** below.

View File

@ -0,0 +1,96 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="anthem"
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="anthem">
<label>Anthem</label>
<description>Thing for Anthem AV processor</description>
<channel-groups>
<channel-group id="1" typeId="zone">
<label>Main Zone</label>
<description>Controls zone 1 (the main zone) of the processor</description>
</channel-group>
<channel-group id="2" typeId="zone">
<label>Zone 2</label>
<description>Controls zone 2 of the processor</description>
</channel-group>
</channel-groups>
<config-description>
<parameter name="host" type="text" required="true">
<label>Network Address</label>
<description>Host name or IP address of the Anthem AV processor</description>
<context>network-address</context>
</parameter>
<parameter name="port" type="integer">
<label>Network Port</label>
<description>Network port number of the Anthem AV processor</description>
<default>14999</default>
<advanced>true</advanced>
</parameter>
<parameter name="reconnectIntervalMinutes" type="integer">
<label>Reconnect Interval</label>
<description>The time to wait between reconnection attempts (in minutes)</description>
<default>2</default>
<advanced>true</advanced>
</parameter>
<parameter name="commandDelayMsec" type="integer">
<label>Command Delay</label>
<description>The delay between commands sent to the processor (in milliseconds)</description>
<default>100</default>
<advanced>true</advanced>
</parameter>
</config-description>
</thing-type>
<channel-group-type id="zone">
<label>Zone Control</label>
<description>Channels for a zone of this processor</description>
<channels>
<channel id="power" typeId="system.power"/>
<channel id="volume" typeId="system.volume"/>
<channel id="volumeDB" typeId="volumeDB"/>
<channel id="mute" typeId="system.mute"/>
<channel id="activeInput" typeId="activeInput"/>
<channel id="activeInputShortName" typeId="activeInputShortName"/>
<channel id="activeInputLongName" typeId="activeInputLongName"/>
</channels>
</channel-group-type>
<!-- Channel types -->
<channel-type id="volumeDB" advanced="true">
<item-type>Number</item-type>
<label>Volume dB</label>
<description>Set the volume level dB between -90 and 0</description>
<category>SoundVolume</category>
<state min="-90" max="0" step="1" pattern="%.0f dB"/>
</channel-type>
<channel-type id="activeInput">
<item-type>Number</item-type>
<label>Active Input</label>
<description>Selects the active input source</description>
</channel-type>
<channel-type id="activeInputShortName">
<item-type>String</item-type>
<label>Active Input Short Name</label>
<description>Short friendly name of the active input source</description>
<state readOnly="true"></state>
</channel-type>
<channel-type id="activeInputLongName" advanced="true">
<item-type>String</item-type>
<label>Active Input Long Name</label>
<description>Long friendly name of the active input source</description>
<state readOnly="true"></state>
</channel-type>
</thing:thing-descriptions>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="AnalogMeter">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Analog Meter</label>
<description>The Analog Meter from the innogy EnergyControl product.</description>
<channels>
<channel id="energy_consumption_month_kwh" typeId="EnergyConsumptionMonthKWh"/>
<channel id="absolute_energy_consumption" typeId="AbsoluteEnergyConsumption"/>
<channel id="energy_consumption_month_euro" typeId="EnergyConsumptionMonthEuro"/>
<channel id="energy_consumption_day_euro" typeId="EnergyConsumptionDayEuro"/>
<channel id="energy_consumption_day_kwh" typeId="EnergyConsumptionDayKWh"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,37 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="BRC8">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Basic Remote Controller (BRC8)</label>
<description>A battery powered remote controller with eight push buttons.</description>
<channels>
<channel id="button1" typeId="system.button"/>
<channel id="button2" typeId="system.button"/>
<channel id="button3" typeId="system.button"/>
<channel id="button4" typeId="system.button"/>
<channel id="button5" typeId="system.button"/>
<channel id="button6" typeId="system.button"/>
<channel id="button7" typeId="system.button"/>
<channel id="button8" typeId="system.button"/>
<channel id="button1_count" typeId="PushButtonCounter"/>
<channel id="button2_count" typeId="PushButtonCounter"/>
<channel id="button3_count" typeId="PushButtonCounter"/>
<channel id="button4_count" typeId="PushButtonCounter"/>
<channel id="button5_count" typeId="PushButtonCounter"/>
<channel id="button6_count" typeId="PushButtonCounter"/>
<channel id="button7_count" typeId="PushButtonCounter"/>
<channel id="button8_count" typeId="PushButtonCounter"/>
<channel id="battery_low" typeId="system.low-battery"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="BT-PSS">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Bluetooth Pluggable Smart Switch (BT-PSS)</label>
<description>A pluggable switch that can be switched on and off and which can measure the current energy consumption.</description>
<channels>
<channel id="switch" typeId="SwitchActuator"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="GenerationMeter">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Generation Meter</label>
<description>The Generation Meter from the innogy PowerControlSolar product, that measures the generated energy.</description>
<channels>
<channel id="energy_generation_month_kwh" typeId="EnergyGenerationMonthKWh"/>
<channel id="total_energy_generation" typeId="TotalEnergyGeneration"/>
<channel id="energy_generation_month_euro" typeId="EnergyGenerationMonthEuro"/>
<channel id="energy_generation_day_euro" typeId="EnergyGenerationDayEuro"/>
<channel id="energy_generation_day_kwh" typeId="EnergyGenerationDayKWh"/>
<channel id="power_generation_watt" typeId="PowerGenerationWatt"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="ISC2">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>In Wall Smart Controller (ISC2)</label>
<description>A smart controller with two push buttons.</description>
<channels>
<channel id="button1" typeId="system.button"/>
<channel id="button2" typeId="system.button"/>
<channel id="button1_count" typeId="PushButtonCounter"/>
<channel id="button2_count" typeId="PushButtonCounter"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="ISD2">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>In Wall Smart Dimmer (ISD2)</label>
<description>An in wall dimmer with push buttons.</description>
<channels>
<channel id="dimmer" typeId="DimmerActuator"/>
<channel id="button1" typeId="system.button"/>
<channel id="button2" typeId="system.button"/>
<channel id="button1_count" typeId="PushButtonCounter"/>
<channel id="button2_count" typeId="PushButtonCounter"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="ISR2">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>In Wall Smart Roller Shutter (ISR2)</label>
<description>An in wall rollershutter with two push buttons.</description>
<channels>
<channel id="rollershutter" typeId="RollerShutterActuator"/>
<channel id="button1" typeId="system.button"/>
<channel id="button2" typeId="system.button"/>
<channel id="button1_count" typeId="PushButtonCounter"/>
<channel id="button2_count" typeId="PushButtonCounter"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="ISS2">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>In Wall Smart Switch (ISS2)</label>
<description>An in wall switch with push buttons that can be switched on and off.</description>
<channels>
<channel id="switch" typeId="SwitchActuator"/>
<channel id="button1" typeId="system.button"/>
<channel id="button2" typeId="system.button"/>
<channel id="button1_count" typeId="PushButtonCounter"/>
<channel id="button2_count" typeId="PushButtonCounter"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="PSD">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Pluggable Smart Dimmer (PSD)</label>
<description>A pluggable dimmer.</description>
<channels>
<channel id="dimmer" typeId="DimmerActuator"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="PSS">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Pluggable Smart Switch (PSS)</label>
<description>A pluggable switch that can be switched on and off.</description>
<channels>
<channel id="switch" typeId="SwitchActuator"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="PSSO">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Pluggable Smart Switch Outdoor (PSSO)</label>
<description>A pluggable outdoor switch that can be switched on and off.</description>
<channels>
<channel id="switch" typeId="SwitchActuator"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,28 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="RST">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Radiator Mounted Smart Thermostat (RST)</label>
<description>A thermostat, that supports setting the temperature and measuring the current temperature and humidity.</description>
<channels>
<channel id="set_temperature" typeId="ThermostatActuator_PointTemperature"/>
<channel id="temperature" typeId="TemperatureSensor_Temperature"/>
<channel id="frost_warning" typeId="TemperatureSensor_FrostWarning"/>
<channel id="humidity" typeId="HumiditySensor_Humidity"/>
<channel id="mold_warning" typeId="HumiditySensor_MoldWarning"/>
<channel id="operation_mode" typeId="ThermostatActuator_OperationMode"/>
<channel id="window_reduction_active" typeId="ThermostatActuator_WindowReductionActive"/>
<channel id="battery_low" typeId="system.low-battery"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,29 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="RST2">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Radiator Mounted Smart Thermostat (RST2)</label>
<description>A thermostat, that supports setting the temperature and measuring the current temperature and humidity (2
battery version since 2018)</description>
<channels>
<channel id="set_temperature" typeId="ThermostatActuator_PointTemperature"/>
<channel id="temperature" typeId="TemperatureSensor_Temperature"/>
<channel id="frost_warning" typeId="TemperatureSensor_FrostWarning"/>
<channel id="humidity" typeId="HumiditySensor_Humidity"/>
<channel id="mold_warning" typeId="HumiditySensor_MoldWarning"/>
<channel id="operation_mode" typeId="ThermostatActuator_OperationMode"/>
<channel id="window_reduction_active" typeId="ThermostatActuator_WindowReductionActive"/>
<channel id="battery_low" typeId="system.low-battery"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,26 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="SmartMeter">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Smart Meter</label>
<description>The Smart Meter from the innogy PowerControl product.</description>
<channels>
<channel id="energy_consumption_month_kwh" typeId="EnergyConsumptionMonthKWh"/>
<channel id="absolute_energy_consumption" typeId="AbsoluteEnergyConsumption"/>
<channel id="energy_consumption_month_euro" typeId="EnergyConsumptionMonthEuro"/>
<channel id="energy_consumption_day_euro" typeId="EnergyConsumptionDayEuro"/>
<channel id="energy_consumption_day_kwh" typeId="EnergyConsumptionDayKWh"/>
<channel id="power_consumption_watt" typeId="PowerConsumptionWatt"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,33 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="TwoWayMeter">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Two-Way-Meter</label>
<description>The Two-Way-Meter from the innogy PowerControlSolar product.</description>
<channels>
<channel id="energy_month_kwh" typeId="EnergyConsumptionMonthKWh"/>
<channel id="total_energy" typeId="TotalEnergyConsumption"/>
<channel id="energy_month_euro" typeId="EnergyConsumptionMonthEuro"/>
<channel id="energy_day_euro" typeId="EnergyConsumptionDayEuro"/>
<channel id="energy_day_kwh" typeId="EnergyConsumptionDayKWh"/>
<channel id="energy_feed_month_kwh" typeId="EnergyFeedMonthKWh"/>
<channel id="total_energy_fed" typeId="TotalEnergyFed"/>
<channel id="energy_feed_month_euro" typeId="EnergyFeedMonthEuro"/>
<channel id="energy_feed_day_euro" typeId="EnergyFeedDayEuro"/>
<channel id="energy_feed_day_kwh" typeId="EnergyFeedDayKWh"/>
<channel id="power_watt" typeId="PowerConsumptionWatt"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,21 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="VariableActuator">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Variable Actuator</label>
<description>A variable from the innogy SmartHome System that can be switched on and off.</description>
<channels>
<channel id="switch" typeId="BooleanStateActuator"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="WDS">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Wall Mounted Door/Window Sensor (WDS)</label>
<description>A window/door sensor, that provides the open/close state.</description>
<channels>
<channel id="contact" typeId="WindowDoorSensor"/>
<channel id="battery_low" typeId="system.low-battery"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="WMD">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Wall Mounted Motion Detector Indoor (WMD)</label>
<description>A battery powered motion detector, that also measures luminance.</description>
<channels>
<channel id="motion_count" typeId="MotionDetectionSensor"/>
<channel id="luminance" typeId="LuminanceSensor"/>
<channel id="battery_low" typeId="system.low-battery"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="WMDO">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Wall Mounted Motion Detector Outdoor (WMDO)</label>
<description>A battery powered motion detector for outdoors, that also measures luminance.</description>
<channels>
<channel id="motion_count" typeId="MotionDetectionSensor"/>
<channel id="luminance" typeId="LuminanceSensor"/>
<channel id="battery_low" typeId="system.low-battery"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,29 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="WRT">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Wall Mounted Room Thermostat (WRT)</label>
<description>A wall thermostat, that supports setting the temperature and measuring the current temperature and
humidity.</description>
<channels>
<channel id="set_temperature" typeId="ThermostatActuator_PointTemperature"/>
<channel id="temperature" typeId="TemperatureSensor_Temperature"/>
<channel id="frost_warning" typeId="TemperatureSensor_FrostWarning"/>
<channel id="humidity" typeId="HumiditySensor_Humidity"/>
<channel id="mold_warning" typeId="HumiditySensor_MoldWarning"/>
<channel id="operation_mode" typeId="ThermostatActuator_OperationMode"/>
<channel id="window_reduction_active" typeId="ThermostatActuator_WindowReductionActive"/>
<channel id="battery_low" typeId="system.low-battery"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,25 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="WSC2">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Wall Mounted Smart Controller (WSC2)</label>
<description>A battery powered smart controller with two push buttons.</description>
<channels>
<channel id="button1" typeId="system.button"/>
<channel id="button2" typeId="system.button"/>
<channel id="button1_count" typeId="PushButtonCounter"/>
<channel id="button2_count" typeId="PushButtonCounter"/>
<channel id="battery_low" typeId="system.low-battery"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="WSD">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Wall Mounted Smoke Detector (WSD)</label>
<description>A battery powered smoke detector sensor with integrated alarm (first version).</description>
<channels>
<channel id="smoke" typeId="SmokeDetectorSensor"/>
<channel id="alarm" typeId="AlarmActuator"/>
<channel id="battery_low" typeId="system.low-battery"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,23 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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="WSD2">
<supported-bridge-type-refs>
<bridge-type-ref id="bridge"/>
</supported-bridge-type-refs>
<label>Wall Mounted Smoke Detector (WSD2)</label>
<description>A battery powered smoke detector sensor with integrated alarm (2nd version with long-life battery).</description>
<channels>
<channel id="smoke" typeId="SmokeDetectorSensor"/>
<channel id="alarm" typeId="AlarmActuator"/>
<channel id="battery_low" typeId="system.low-battery"/>
</channels>
<config-description-ref uri="thing-type:innogysmarthome:config"/>
</thing-type>
</thing:thing-descriptions>

View File

@ -1,58 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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">
<bridge-type id="bridge">
<label>innogy SmartHome Controller</label>
<description>The innogy SmartHome Controller (SHC) is the bridge for the innogy SmartHome System.</description>
<channels>
<channel id="cpu" typeId="CPUUsage"/>
<channel id="disk" typeId="DiskUsage"/>
<channel id="memory" typeId="MemoryUsage"/>
</channels>
<config-description>
<parameter-group name="connection">
<label>Connection</label>
<description>Parameters for connecting to innogy SmartHome Controller (SHC)</description>
</parameter-group>
<parameter-group name="advanced">
<label>Advanced Configuration</label>
<description>Advanced parameters, for special tweaking only.</description>
<advanced>true</advanced>
</parameter-group>
<parameter name="brand" type="text" required="true" groupName="connection">
<label>Brand</label>
<description>Choose the brand of your innogy SmartHome based solution.</description>
<default>innogy_smarthome</default>
<options>
<option value="innogy_smarthome">innogy SmartHome</option>
</options>
</parameter>
<parameter name="authcode" type="text" groupName="connection">
<label>Authorization Code</label>
<description><![CDATA[ The auth-code is a one-time code needed to retrieve the
necessary access-codes from innogy SmartHome Service. <b>Please go - depending on your brand - to...</b>
<ul>
<li><b>innogy SmartHome Portal</b>: https://auth.services-smarthome.de/AUTH/authorize?response_type=code&client_id=24635748&redirect_uri=https%3A%2F%2Fwww.openhab.org%2Foauth%2Finnogy%2Finnogy-smarthome.html&scope&lang=de-DE</li>
</ul>
<b>... to generate an auth-code and paste it here</b>. After initial authorization, this code is not needed anymore.]]></description>
</parameter>
<parameter name="websocketidletimeout" type="integer" min="0" max="3600" unit="s" groupName="advanced">
<unitLabel>seconds</unitLabel>
<label>WebSocket Idle Timeout in Seconds</label>
<description>The WebSocket is the connection to the innogy service that listens to status updates. If no data is
received over the websocket connection for the given time, the websocket will reconnect. 0 will disable the idle
timeout. Default is 900 seconds (15 minutes).</description>
<default>900</default>
<advanced>true</advanced>
</parameter>
</config-description>
</bridge-type>
</thing:thing-descriptions>

View File

@ -1,350 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="innogysmarthome"
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">
<!-- Switch Channel -->
<channel-type id="SwitchActuator">
<item-type>Switch</item-type>
<label>Switch</label>
<description>Switches the current on/off</description>
<category>Switch</category>
</channel-type>
<!-- Dimmer Channel -->
<channel-type id="DimmerActuator">
<item-type>Dimmer</item-type>
<label>Dimmer</label>
<description>Dimms the connected light</description>
<category>Light</category>
</channel-type>
<!-- RollerShutter Channel -->
<channel-type id="RollerShutterActuator">
<item-type>Rollershutter</item-type>
<label>Blinds Position</label>
<description>Controls the blinds</description>
<category>Blinds</category>
<config-description>
<parameter name="invert" type="boolean">
<label>Invert Position</label>
<description>When invert is true than 0 on innogy is UP and 100 is DOWN</description>
</parameter>
</config-description>
</channel-type>
<!-- BooleanSwitch Channel -->
<channel-type id="BooleanStateActuator">
<item-type>Switch</item-type>
<label>Switch</label>
<description>Switches the state on/off</description>
<category>Switch</category>
</channel-type>
<!-- ThermostatActuator -->
<channel-type id="ThermostatActuator_PointTemperature">
<item-type>Number</item-type>
<label>Target Temperature</label>
<description>Thermostat target temperature</description>
<category>Temperature</category>
<state min="6" max="30" step="0.5" pattern="%.1f °C" readOnly="false">
</state>
</channel-type>
<channel-type id="ThermostatActuator_OperationMode" advanced="true">
<item-type>String</item-type>
<label>Operation Mode</label>
<description>Thermostat operation mode (manual/auto)</description>
<category>Mode</category>
<state>
<options>
<option value="Auto">auto</option>
<option value="Manu">manual</option>
</options>
</state>
</channel-type>
<channel-type id="ThermostatActuator_WindowReductionActive" advanced="true">
<item-type>Switch</item-type>
<label>Window Reduction Active</label>
<description>Thermostat temperature reduced, if window is open.</description>
<category>Temperature</category>
<state readOnly="true"/>
</channel-type>
<!-- TemperatureSensor -->
<channel-type id="TemperatureSensor_Temperature">
<item-type>Number</item-type>
<label>Actual Temperature</label>
<description>Actual measured room temperature</description>
<category>Temperature</category>
<state pattern="%.1f °C" readOnly="true">
</state>
</channel-type>
<channel-type id="TemperatureSensor_FrostWarning" advanced="true">
<item-type>Switch</item-type>
<label>Frost Warning</label>
<description>Warns, if temperature drop below a threshold (configured in innogy app)</description>
<category>Temperature</category>
<state readOnly="true"/>
</channel-type>
<!-- HumiditySensor -->
<channel-type id="HumiditySensor_Humidity">
<item-type>Number</item-type>
<label>Actual Humidity</label>
<description>Actual measured room humidity</description>
<category>Humidity</category>
<state pattern="%.1f%%" readOnly="true">
</state>
</channel-type>
<channel-type id="HumiditySensor_MoldWarning" advanced="true">
<item-type>Switch</item-type>
<label>Mold Warning</label>
<description>Active, if humidity is over a threshold (configured in innogy app)</description>
<category>Humidity</category>
<state readOnly="true"/>
</channel-type>
<!-- WindowDoorSensor Channel -->
<channel-type id="WindowDoorSensor">
<item-type>Contact</item-type>
<label>Contact</label>
<description>Shows the open/close state</description>
<category>Contact</category>
<state readOnly="true"></state>
</channel-type>
<!-- SmokeDetectorSensor Channel -->
<channel-type id="SmokeDetectorSensor">
<item-type>Switch</item-type>
<label>Smoke</label>
<description>Shows if smoke was detected</description>
<category>Smoke</category>
<state readOnly="true"></state>
</channel-type>
<!-- AlarmActuator Channel -->
<channel-type id="AlarmActuator">
<item-type>Switch</item-type>
<label>Alarm</label>
<description>Switches the alarm on/off</description>
<category>Alarm</category>
</channel-type>
<!-- MotionDetectionSensor Channel -->
<channel-type id="MotionDetectionSensor">
<item-type>Number</item-type>
<label>Motion Count</label>
<description>The count of detected motions</description>
<category>Count</category>
<state readOnly="true"></state>
</channel-type>
<!-- LuminanceSensor Channel -->
<channel-type id="LuminanceSensor">
<item-type>Number</item-type>
<label>Luminance</label>
<description>Shows the detected luminance in percent</description>
<category>Light</category>
<state pattern="%d%%" readOnly="true"></state>
</channel-type>
<!-- PushButtonCounter Channel -->
<channel-type id="PushButtonCounter" advanced="true">
<item-type>Number</item-type>
<label>Button Pushed Count</label>
<description>The count of button pushes.</description>
<category>Count</category>
<state readOnly="true"></state>
</channel-type>
<!-- EnergyConsumptionMonthKWh -->
<channel-type id="EnergyConsumptionMonthKWh">
<item-type>Number</item-type>
<label>Consumption (month)</label>
<description>The energy consumption per month in kWh</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- AbsoluteEnergyConsumption -->
<channel-type id="AbsoluteEnergyConsumption">
<item-type>Number</item-type>
<label>Total Consumption</label>
<description>The absolute Energy consumption</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- EnergyConsumptionMonthEuro -->
<channel-type id="EnergyConsumptionMonthEuro" advanced="true">
<item-type>Number</item-type>
<label>Consumption Costs (month)</label>
<description>The energy consumption per month in Euro</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- EnergyConsumptionDayEuro -->
<channel-type id="EnergyConsumptionDayEuro" advanced="true">
<item-type>Number</item-type>
<label>Consumption Costs (day)</label>
<description>The energy consumption per day in Euro</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- EnergyConsumptionDayKWh -->
<channel-type id="EnergyConsumptionDayKWh">
<item-type>Number</item-type>
<label>Consumption (day)</label>
<description>The energy consumption per day in kWh</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- PowerConsumptionWatt -->
<channel-type id="PowerConsumptionWatt">
<item-type>Number</item-type>
<label>Current Power Consumption</label>
<description>The current power consumption in Watt</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- EnergyGenerationMonthKWh -->
<channel-type id="EnergyGenerationMonthKWh">
<item-type>Number</item-type>
<label>Generation (month)</label>
<description>The energy generation per month in kWh</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- TotalEnergyGeneration -->
<channel-type id="TotalEnergyGeneration">
<item-type>Number</item-type>
<label>Total Generation</label>
<description>The total Energy generation</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- EnergyGenerationMonthEuro -->
<channel-type id="EnergyGenerationMonthEuro" advanced="true">
<item-type>Number</item-type>
<label>Generation Value (month)</label>
<description>The energy generation per month in Euro</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- EnergyGenerationDayEuro -->
<channel-type id="EnergyGenerationDayEuro" advanced="true">
<item-type>Number</item-type>
<label>Generation Value (day)</label>
<description>The energy generation per day in Euro</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- EnergyGenerationDayKWh -->
<channel-type id="EnergyGenerationDayKWh">
<item-type>Number</item-type>
<label>Generation (day)</label>
<description>The energy generation per day in kWh</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- PowerGenerationWatt -->
<channel-type id="PowerGenerationWatt">
<item-type>Number</item-type>
<label>Current Power Generation</label>
<description>The current power generation in Watt</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- TotalEnergyConsumption -->
<channel-type id="TotalEnergyConsumption">
<item-type>Number</item-type>
<label>Total Consumption</label>
<description>The total Energy consumption</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- EnergyFeedMonthKWh -->
<channel-type id="EnergyFeedMonthKWh">
<item-type>Number</item-type>
<label>Feed (month)</label>
<description>The energy feed per month in kWh</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- TotalEnergyFeed -->
<channel-type id="TotalEnergyFed">
<item-type>Number</item-type>
<label>Total Fed</label>
<description>The total Energy fed</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- EnergyFeedMonthEuro -->
<channel-type id="EnergyFeedMonthEuro" advanced="true">
<item-type>Number</item-type>
<label>Feed Income (month)</label>
<description>The energy feed per month in Euro</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- EnergyFeedDayEuro -->
<channel-type id="EnergyFeedDayEuro" advanced="true">
<item-type>Number</item-type>
<label>Feed Income (day)</label>
<description>The energy feed per day in Euro</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- EnergyFeedDayKWh -->
<channel-type id="EnergyFeedDayKWh">
<item-type>Number</item-type>
<label>Feed (day)</label>
<description>The energy feed per day in kWh</description>
<category>Energy</category>
<state readOnly="true"></state>
</channel-type>
<!-- CPUUsage -->
<channel-type id="CPUUsage">
<item-type>Number</item-type>
<label>CPU Usage</label>
<description>The CPU usage of SHC-A, updated every 5 minutes</description>
<category>System</category>
<state readOnly="true"></state>
</channel-type>
<!-- DiskUsage -->
<channel-type id="DiskUsage">
<item-type>Number</item-type>
<label>Disk Usage</label>
<description>The disk usage of SHC-A, updated every 5 minutes</description>
<category>System</category>
<state readOnly="true"></state>
</channel-type>
<!-- MemoryUsage -->
<channel-type id="MemoryUsage">
<item-type>Number</item-type>
<label>Memory Usage</label>
<description>The memory usage of SHC-A, updated every 5 minutes</description>
<category>System</category>
<state readOnly="true"></state>
</channel-type>
</thing:thing-descriptions>

View File

@ -0,0 +1,126 @@
<?xml version="1.0" encoding="UTF-8"?>
<thing:thing-descriptions bindingId="mqtt"
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="ruuvitag_beacon">
<supported-bridge-type-refs>
<bridge-type-ref id="broker"/>
</supported-bridge-type-refs>
<label>RuuviTag SmartBeacon</label>
<description>A RuuviTag SmartBeacon</description>
<channels>
<channel id="rssi" typeId="ruuvitag_rssi"/>
<channel id="ts" typeId="ruuvitag_ts"/>
<channel id="gwts" typeId="ruuvitag_gwts"/>
<channel id="gwmac" typeId="ruuvitag_gwmac"/>
<channel id="accelerationx" typeId="ruuvitag_accelerationx"/>
<channel id="accelerationy" typeId="ruuvitag_accelerationy"/>
<channel id="accelerationz" typeId="ruuvitag_accelerationz"/>
<channel id="batteryVoltage" typeId="ruuvitag_batteryVoltage"/>
<channel id="dataFormat" typeId="ruuvitag_dataFormat"/>
<channel id="humidity" typeId="ruuvitag_humidity"/>
<channel id="measurementSequenceNumber" typeId="ruuvitag_measurementSequenceNumber"/>
<channel id="movementCounter" typeId="ruuvitag_movementCounter"/>
<channel id="pressure" typeId="ruuvitag_pressure"/>
<channel id="temperature" typeId="ruuvitag_temperature"/>
<channel id="txPower" typeId="ruuvitag_txPower"/>
</channels>
<config-description>
<parameter name="topic" type="text">
<label>MQTT Topic</label>
<description>MQTT topic containing the payload</description>
</parameter>
</config-description>
</thing-type>
<channel-type id="ruuvitag_rssi">
<item-type>Number</item-type>
<label>RSSI</label>
<description>Received signal strength indicator</description>
<category>QualityOfService</category>
<state readOnly="true" pattern="%d dBm"/>
</channel-type>
<channel-type id="ruuvitag_ts">
<item-type>DateTime</item-type>
<label>Timestamp</label>
<description>Timestamp when the message from Bluetooth sensor was received by Gateway (ts)</description>
<category>Time</category>
<state readOnly="true" pattern="%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS"/>
</channel-type>
<channel-type id="ruuvitag_gwts" advanced="true">
<item-type>DateTime</item-type>
<label>Relay Timestamp</label>
<description>Timestamp when the message from Bluetooth sensor was relayed by Gateway (gwts)</description>
<category>Time</category>
<state readOnly="true" pattern="%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS"/>
</channel-type>
<channel-type id="ruuvitag_gwmac" advanced="true">
<item-type>String</item-type>
<label>Gateway MAC Address</label>
<description>MAC-address of Ruuvi Gateway</description>
<state readOnly="true"/>
</channel-type>
<channel-type id="ruuvitag_accelerationx">
<item-type>Number:Acceleration</item-type>
<label>Acceleration X</label>
<state readOnly="true" pattern="%.3f %unit%"/>
</channel-type>
<channel-type id="ruuvitag_accelerationy">
<item-type>Number:Acceleration</item-type>
<label>Acceleration Y</label>
<state readOnly="true" pattern="%.3f %unit%"/>
</channel-type>
<channel-type id="ruuvitag_accelerationz">
<item-type>Number:Acceleration</item-type>
<label>Acceleration Z</label>
<state readOnly="true" pattern="%.3f %unit%"/>
</channel-type>
<channel-type id="ruuvitag_batteryVoltage">
<item-type>Number:ElectricPotential</item-type>
<label>Battery Voltage</label>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="ruuvitag_dataFormat" advanced="true">
<item-type>Number</item-type>
<label>Data Format Version</label>
<state readOnly="true" pattern="%.0f"/>
</channel-type>
<channel-type id="ruuvitag_humidity">
<item-type>Number:Dimensionless</item-type>
<label>Humidity</label>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="ruuvitag_measurementSequenceNumber" advanced="true">
<item-type>Number:Dimensionless</item-type>
<label>Measurement Sequence Number</label>
<state readOnly="true" pattern="%.0f %unit%"/>
</channel-type>
<channel-type id="ruuvitag_movementCounter" advanced="true">
<item-type>Number:Dimensionless</item-type>
<label>Movement Counter</label>
<state readOnly="true" pattern="%.0f %unit%"/>
</channel-type>
<channel-type id="ruuvitag_pressure">
<item-type>Number:Pressure</item-type>
<label>Pressure</label>
<state readOnly="true" pattern="%.0f %unit%"/>
</channel-type>
<channel-type id="ruuvitag_temperature">
<item-type>Number:Temperature</item-type>
<label>Temperature</label>
<state readOnly="true" pattern="%.1f %unit%"/>
</channel-type>
<channel-type id="ruuvitag_txPower">
<item-type>Number:Power</item-type>
<label>TX Power</label>
<state readOnly="true" pattern="%.0f %unit%"/>
</channel-type>
</thing:thing-descriptions>

View File

@ -58,19 +58,6 @@
<state readOnly="true"/>
</channel-type>
<channel-type id="camera-event">
<kind>trigger</kind>
<label>Camera Event</label>
<event>
<options>
<option value="ANIMAL"/>
<option value="HUMAN"/>
<option value="MOVEMENT"/>
<option value="VEHICLE"/>
</options>
</event>
</channel-type>
<channel-type id="battery-status">
<item-type>String</item-type>
<label>Battery Status</label>

View File

@ -10,6 +10,12 @@
<channel id="person-count" typeId="person-count"/>
<channel id="unknown-person-count" typeId="unknown-person-count"/>
<channel id="unknown-person-picture" typeId="unknown-person-picture"/>
</channels>
</channel-group-type>
<channel-group-type id="security-event">
<label>Home Security Event</label>
<channels>
<channel id="home-event" typeId="home-event"/>
</channels>
</channel-group-type>
@ -98,13 +104,35 @@
</channels>
</channel-group-type>
<channel-group-type id="sub-event">
<label>Sub Event</label>
<channels>
<channel id="type" typeId="event-type"/>
<channel id="time" typeId="timestamp">
<label>Sub-Event Timestamp</label>
<description>Moment when the sub-event occurred.</description>
</channel>
<channel id="message" typeId="message"/>
<channel id="snapshot" typeId="event-picture"/>
<channel id="snapshot-url" typeId="event-picture-url"/>
<channel id="vignette" typeId="event-picture">
<label>Vignette</label>
<description>Vignette of the Snapshot.</description>
</channel>
<channel id="vignette-url" typeId="event-picture-url">
<label>Vignette URL</label>
<description>URL of the vignette.</description>
</channel>
</channels>
</channel-group-type>
<channel-group-type id="sub-event-doorbell">
<label>Sub Event</label>
<channels>
<channel id="type" typeId="event-type"/>
<channel id="time" typeId="timestamp">
<label>Sub-Event Timestamp</label>
<description>Moment when then sub-event occurred.</description>
<description>Moment when the sub-event occurred.</description>
</channel>
<channel id="message" typeId="message"/>
<channel id="snapshot" typeId="event-picture"/>

View File

@ -454,6 +454,9 @@
<option value="TAMPERING">Tampering</option>
<option value="ANTI_PANIC">Anti Panic</option>
<option value="SILENT">Silent</option>
<option value="TECHNICAL">Technical</option>
<option value="TECHNICAL_RESET">Technical Reset</option>
<option value="NONE">None</option>
</options>
</state>
</channel-type>

View File

@ -69,7 +69,7 @@
</channel-groups>
<properties>
<property name="thingTypeVersion">1</property>
<property name="thingTypeVersion">2</property>
</properties>
<config-description>
@ -105,6 +105,11 @@
<channel id="monthlySleepIQ" typeId="monthlySleepIQType"/>
<channel id="monthlyAverageHeartRate" typeId="monthlyAverageHeartRateType"/>
<channel id="monthlyAverageRespirationRate" typeId="monthlyAverageRespirationRateType"/>
<channel id="foundationPreset" typeId="foundationPresetType"/>
<channel id="foundationPositionHead" typeId="foundationPositionHeadType"/>
<channel id="foundationPositionFoot" typeId="foundationPositionFootType"/>
<channel id="nightStandOutlet" typeId="nightStandOutletType"/>
<channel id="underBedLight" typeId="underBedLightType"/>
</channels>
</channel-group-type>
@ -235,5 +240,44 @@
<description>The average respiration rate for the past month</description>
<state readOnly="true" pattern="%d"/>
</channel-type>
<channel-type id="foundationPresetType">
<item-type>Number</item-type>
<label>Preset</label>
<description>Bed position preset</description>
<state readOnly="false" min="1" max="6" step="1" pattern="%d">
<options>
<option value="1">Favorite</option>
<option value="2">Read</option>
<option value="3">Watch TV</option>
<option value="4">Flat</option>
<option value="5">Zero G</option>
<option value="6">Snore</option>
</options>
</state>
</channel-type>
<channel-type id="foundationPositionHeadType">
<item-type>Number</item-type>
<label>Head Position</label>
<description>The position of the adjustable head</description>
<state readOnly="false" min="0" max="100" step="1" pattern="%d"/>
</channel-type>
<channel-type id="foundationPositionFootType">
<item-type>Number</item-type>
<label>Foot Position</label>
<description>The position of the adjustable foot</description>
<state readOnly="false" min="0" max="100" step="1" pattern="%d"/>
</channel-type>
<channel-type id="nightStandOutletType">
<item-type>Switch</item-type>
<label>Night Stand</label>
<description>The night stand outlet</description>
<state readOnly="false"/>
</channel-type>
<channel-type id="underBedLightType">
<item-type>Switch</item-type>
<label>Under Bed Light</label>
<description>The under bed lighting</description>
<state readOnly="false"/>
</channel-type>
</thing:thing-descriptions>

View File

@ -70,6 +70,7 @@
<property name="Device Name"/>
<property name="Device Type"/>
<property name="MAC Id"/>
<property name="Device Family"/>
</properties>
<representation-property>macId</representation-property>
@ -114,6 +115,7 @@
<property name="Device Name"/>
<property name="Device Type"/>
<property name="MAC Id"/>
<property name="Device Family"/>
</properties>
<representation-property>macId</representation-property>