parent
5e95c37dc4
commit
1d6d9110c8
|
@ -53,3 +53,13 @@ The following are valid action calls that can be made when the plugin is loaded.
|
||||||
* `pushover(String apiToken, String userKey, String message, int priority)`
|
* `pushover(String apiToken, String userKey, String message, int priority)`
|
||||||
* `pushover(String apiToken, String userKey, String message, String device, int priority)`
|
* `pushover(String apiToken, String userKey, String message, String device, int priority)`
|
||||||
* `pushover(String apiToken, String userKey, String message, String device, String title, String url, String urlTitle, int priority, String soundFile)`
|
* `pushover(String apiToken, String userKey, String message, String device, String title, String url, String urlTitle, int priority, String soundFile)`
|
||||||
|
|
||||||
|
The action calls have to be configured in the above sequence, if you need to omit one of the call parameters you may use a null value or two double quotes. In this case any default values from `services/pushover.cfg` will be used.
|
||||||
|
Note that you cannot use a null value for int priority.
|
||||||
|
|
||||||
|
### Example
|
||||||
|
|
||||||
|
Send a message without a sound, omit String url and String urlTitle.
|
||||||
|
|
||||||
|
* `pushover("test message", 1, null, null, "none")` or
|
||||||
|
* `pushover("test message", 1, "", "", "none")`
|
||||||
|
|
|
@ -17,7 +17,7 @@ install: auto
|
||||||
|
|
||||||
This binding uses the [AQIcn.org service](http://aqicn.org) for providing air quality information for any location worldwide.
|
This binding uses the [AQIcn.org service](http://aqicn.org) for providing air quality information for any location worldwide.
|
||||||
|
|
||||||
The World Air Quality Index project is a social enterprise project started in 2007. Its mission is to promote Air Pollution awareness and provide a unified Air Quality information for the whole world.
|
The World Air Quality Index project is a social enterprise project started in 2007. Its mission is to promote Air Pollution awareness and provide a unified Air Quality information for the whole world.
|
||||||
|
|
||||||
The project is proving a transparent Air Quality information for more than 70 countries, covering more than 9000 stations in 600 major cities, via those two websites: [aqicn.org](http://aqicn.org) and [waqi.info](http://waqi.info).
|
The project is proving a transparent Air Quality information for more than 70 countries, covering more than 9000 stations in 600 major cities, via those two websites: [aqicn.org](http://aqicn.org) and [waqi.info](http://waqi.info).
|
||||||
|
|
||||||
|
@ -25,26 +25,30 @@ To use this binding, you first need to [register and get your API token](http://
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
There is exactly one supported thing type, which represents the air quality information for an observation location. It has the `aqi` id. Of course, you can add multiple Things, e.g. for measuring AQI for different locations.
|
There is exactly one supported thing type, which represents the air quality information for an observation location.
|
||||||
|
It has the `aqi` id.
|
||||||
|
Of course, you can add multiple Things, e.g. for measuring AQI for different locations.
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
There is no discovery implemented. You have to create your things manually.
|
There is no discovery implemented.
|
||||||
|
You have to create your things manually.
|
||||||
|
|
||||||
## Binding Configuration
|
## Binding Configuration
|
||||||
|
|
||||||
The binding has no configuration options, all configuration is done at Thing level.
|
The binding has no configuration options, all configuration is done at Thing level.
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
The thing has a few configuration parameters:
|
The thing has a few configuration parameters:
|
||||||
|
|
||||||
| Parameter | Description |
|
| Parameter | Description |
|
||||||
|-----------|------------------------------------------------------------------------- |
|
|-----------|-------------------------------------------------------------------------|
|
||||||
| apikey | Data-platform token to access the AQIcn.org service. Mandatory. |
|
| apikey | Data-platform token to access the AQIcn.org service. Mandatory. |
|
||||||
| location | Geo coordinates to be considered by the service. |
|
| location | Geo coordinates to be considered by the service. |
|
||||||
| stationId | Unique ID of the measuring station. |
|
| stationId | Unique ID of the measuring station. |
|
||||||
| refresh | Refresh interval in minutes. Optional, the default value is 60 minutes. |
|
| refresh | Refresh interval in minutes. Optional, the default value is 60 minutes. |
|
||||||
|
|
||||||
|
|
||||||
For the location parameter, the following syntax is allowed (comma separated latitude and longitude):
|
For the location parameter, the following syntax is allowed (comma separated latitude and longitude):
|
||||||
|
|
||||||
|
@ -53,8 +57,7 @@ For the location parameter, the following syntax is allowed (comma separated lat
|
||||||
37.8255,-122.456
|
37.8255,-122.456
|
||||||
```
|
```
|
||||||
|
|
||||||
If you always want to receive data from specific station and you know its unique ID, you can enter it
|
If you always want to receive data from specific station and you know its unique ID, you can enter it instead of the coordinates.
|
||||||
instead of the coordinates.
|
|
||||||
|
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
@ -62,22 +65,23 @@ instead of the coordinates.
|
||||||
The AirQuality information that is retrieved is available as these channels:
|
The AirQuality information that is retrieved is available as these channels:
|
||||||
|
|
||||||
|
|
||||||
| Channel ID | Item Type | Description |
|
| Channel ID | Item Type | Description |
|
||||||
|------------|--------------|------------------------- |
|
|-----------------|-----------|----------------------------------------------|
|
||||||
| aqiLevel | Number | Air Quality Index |
|
| aqiLevel | Number | Air Quality Index |
|
||||||
| aqiDescription | String | AQI Description |
|
| aqiDescription | String | AQI Description |
|
||||||
| locationName | String | Nearest measuring station location |
|
| locationName | String | Nearest measuring station location |
|
||||||
| stationId | Number | Measuring station ID |
|
| stationId | Number | Measuring station ID |
|
||||||
| stationLocation | Location | Latitude/longitude of measuring station |
|
| stationLocation | Location | Latitude/longitude of measuring station |
|
||||||
| pm25 | Number | Fine particles pollution level (PM2.5) |
|
| pm25 | Number | Fine particles pollution level (PM2.5) |
|
||||||
| pm10 | Number | Coarse dust particles pollution level (PM10) |
|
| pm10 | Number | Coarse dust particles pollution level (PM10) |
|
||||||
| o3 | Number | Ozone level (O3) |
|
| o3 | Number | Ozone level (O3) |
|
||||||
| no2 | Number | Nitrogen Dioxide level (NO2) |
|
| no2 | Number | Nitrogen Dioxide level (NO2) |
|
||||||
| co | Number | Carbon monoxide level (CO) |
|
| co | Number | Carbon monoxide level (CO) |
|
||||||
| observationTime | DateTime | Observation date and time |
|
| observationTime | DateTime | Observation date and time |
|
||||||
| temperature | Number | Temperature in Celsius degrees |
|
| temperature | Number | Temperature in Celsius degrees |
|
||||||
| pressure | Number | Pressure level |
|
| pressure | Number | Pressure level |
|
||||||
| humidity | Number | Humidity level |
|
| humidity | Number | Humidity level |
|
||||||
|
|
||||||
|
|
||||||
`AQI Description` item provides a human-readable output that can be interpreted e.g. by MAP transformation.
|
`AQI Description` item provides a human-readable output that can be interpreted e.g. by MAP transformation.
|
||||||
|
|
||||||
|
@ -172,7 +176,7 @@ sitemap airquality label="Air Quality" {
|
||||||
Text item=Aqi_Pressure
|
Text item=Aqi_Pressure
|
||||||
Text item=Aqi_Humidity
|
Text item=Aqi_Humidity
|
||||||
}
|
}
|
||||||
|
|
||||||
Frame label="Station Location" {
|
Frame label="Station Location" {
|
||||||
Mapview item=Aqi_StationGeo height=10
|
Mapview item=Aqi_StationGeo height=10
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,21 +16,24 @@ install: auto
|
||||||
# AllPlay Binding
|
# AllPlay Binding
|
||||||
|
|
||||||
This binding integrates devices compatible with [Qualcomm AllPlay](https://www.qualcomm.com/products/allplay).
|
This binding integrates devices compatible with [Qualcomm AllPlay](https://www.qualcomm.com/products/allplay).
|
||||||
The binding uses native libraries for the AllJoyn framework. Libraries for the following platforms are already included in the binding:
|
The binding uses native libraries for the AllJoyn framework.
|
||||||
|
Libraries for the following platforms are already included in the binding:
|
||||||
|
|
||||||
* Linux ARM
|
* Linux ARM
|
||||||
* Linux x86 (32 bit, AllJoyn v16.04a)
|
* Linux x86 (32 bit, AllJoyn v16.04a)
|
||||||
* Linux x86-64 (64 bit, AllJoyn v16.04a)
|
* Linux x86-64 (64 bit, AllJoyn v16.04a)
|
||||||
* Windows x86 (32 bit, AllJoyn v16.04a)
|
* Windows x86 (32 bit, AllJoyn v16.04a)
|
||||||
* Windows x86-64 (64 bit, AllJoyn v16.04a)
|
* Windows x86-64 (64 bit, AllJoyn v16.04a)
|
||||||
|
|
||||||
The Windows libraries have a dependency on the [Visual C++ Redistributable for Visual Studio 2015](https://www.microsoft.com/en-US/download/details.aspx?id=48145). If you are using Windows, please make sure to install these components before using the AllPlay binding.
|
The Windows libraries have a dependency on the [Visual C++ Redistributable for Visual Studio 2015](https://www.microsoft.com/en-US/download/details.aspx?id=48145).
|
||||||
|
If you are using Windows, please make sure to install these components before using the AllPlay binding.
|
||||||
|
|
||||||
If there is need for another architecture/platform, please open a [ticket on GitHub](https://github.com/openhab/openhab/issues) so the missing native library can be added.
|
If there is need for another architecture/platform, please open a [ticket on GitHub](https://github.com/openhab/openhab/issues) so the missing native library can be added.
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
All AllPlay compatible speakers are supported by this binding. This includes for example the [Panasonic ALL series](http://www.panasonic.com/uk/consumer/home-entertainment/wireless-speaker-systems.html). All AllPlay speakers are registered as an audio sink in the framework.
|
All AllPlay compatible speakers are supported by this binding.
|
||||||
|
This includes for example the [Panasonic ALL series](http://www.panasonic.com/uk/consumer/home-entertainment/wireless-speaker-systems.html). All AllPlay speakers are registered as an audio sink in the framework.
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
|
@ -40,53 +43,58 @@ The AllPlay devices are discovered through the AllJoyn discovery mechanism and a
|
||||||
|
|
||||||
The binding has the following configuration options, which can be set for "binding:allplay":
|
The binding has the following configuration options, which can be set for "binding:allplay":
|
||||||
|
|
||||||
| Parameter | Name | Description | Required |
|
| Parameter | Name | Description | Required |
|
||||||
|-----------|------|-------------|----------|
|
|--------------------------|----------------------------|----------------------------------------------------------------------|----------|
|
||||||
| rewindSkipTimeInSec | Rewind skip time (s) | Seconds to jump backwards if the rewind command is executed | yes |
|
| rewindSkipTimeInSec | Rewind skip time (s) | Seconds to jump backwards if the rewind command is executed | yes |
|
||||||
| fastForwardSkipTimeInSec | Fast forward skip time (s) | Seconds to jump forward if the fastforward command is executed | yes |
|
| fastForwardSkipTimeInSec | Fast forward skip time (s) | Seconds to jump forward if the fastforward command is executed | yes |
|
||||||
| callbackUrl | Callback URL | URL to use for playing audio streams, e.g. http://192.168.0.2:8080 | no |
|
| callbackUrl | Callback URL | URL to use for playing audio streams, e.g. <http://192.168.0.2:8080> | no |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
AllPlay Players are identified by their device ID (e.g. 9fbe37ca-d015-47a2-b76e-8fce7bc25687). Available configuration parameters are:
|
AllPlay Players are identified by their device ID (e.g. 9fbe37ca-d015-47a2-b76e-8fce7bc25687). Available configuration parameters are:
|
||||||
|
|
||||||
| Parameter Label | Parameter ID | Description | Required | Default |
|
| Parameter Label | Parameter ID | Description | Required | Default |
|
||||||
|-----------------|--------------|-------------|----------|---------|
|
|-----------------------|---------------------|-------------------------------------------------------------------------------------|----------|---------|
|
||||||
| Device ID | deviceId | The device identifier identifies one certain speaker | true | |
|
| Device ID | deviceId | The device identifier identifies one certain speaker | true | |
|
||||||
| Device Name | deviceName | The device name of the speaker | false | |
|
| Device Name | deviceName | The device name of the speaker | false | |
|
||||||
| Volume step size | volumeStepSize | Step size to use if the volume is changed using the increase/decrease command | true | 1 |
|
| Volume step size | volumeStepSize | Step size to use if the volume is changed using the increase/decrease command | true | 1 |
|
||||||
| Zone Member Separator | zoneMemberSeparator | Separator which is used when sending multiple zone members to channel 'zonemembers' | true | , |
|
| Zone Member Separator | zoneMemberSeparator | Separator which is used when sending multiple zone members to channel 'zonemembers' | true | , |
|
||||||
|
|
|
||||||
|
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
The devices support the following channels:
|
The devices support the following channels:
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description |
|
| Channel Type ID | Item Type | Description |
|
||||||
|-----------------|--------------|--------------|
|
|-----------------|-----------|------------------------------------------------------------------------------------------------|
|
||||||
| clearzone | Switch | Remove the current speaker from the zone |
|
| clearzone | Switch | Remove the current speaker from the zone |
|
||||||
| control | Player | Control the speaker, play/pause/next/previous/ffward/rewind |
|
| control | Player | Control the speaker, play/pause/next/previous/ffward/rewind |
|
||||||
| coverart | Image | Image data of cover art of the current song |
|
| coverart | Image | Image data of cover art of the current song |
|
||||||
| coverarturl | String | URL of the cover art of the current song |
|
| coverarturl | String | URL of the cover art of the current song |
|
||||||
| currentalbum | String | Name of the album currently playing |
|
| currentalbum | String | Name of the album currently playing |
|
||||||
| currentartist | String | Name of the artist currently playing |
|
| currentartist | String | Name of the artist currently playing |
|
||||||
| currentduration | Number | Duration in seconds of the track currently playing |
|
| currentduration | Number | Duration in seconds of the track currently playing |
|
||||||
| currentgenre | String | Genre of the track currently playing |
|
| currentgenre | String | Genre of the track currently playing |
|
||||||
| currenttitle | String | Title of the track currently playing |
|
| currenttitle | String | Title of the track currently playing |
|
||||||
| currenturl | String | URL of the track or radio station currently playing |
|
| currenturl | String | URL of the track or radio station currently playing |
|
||||||
| currentuserdata | String | Custom user data (e.g. name of radio station) of the track currently playing |
|
| currentuserdata | String | Custom user data (e.g. name of radio station) of the track currently playing |
|
||||||
| input | String | Input of the speaker, e.g. Line-In (not supported by all speakers) |
|
| input | String | Input of the speaker, e.g. Line-In (not supported by all speakers) |
|
||||||
| loopmode | String | Loop mode of the speaker (ONE, ALL, NONE) |
|
| loopmode | String | Loop mode of the speaker (ONE, ALL, NONE) |
|
||||||
| mute | Switch | Set or get the mute state of the master volume of the speaker (not supported by all speakers) |
|
| mute | Switch | Set or get the mute state of the master volume of the speaker (not supported by all speakers) |
|
||||||
| playstate | String | State of the Speaker, e.g. PLAYING, STOPPED,.. |
|
| playstate | String | State of the Speaker, e.g. PLAYING, STOPPED,.. |
|
||||||
| shufflemode | Switch | Toggle the shuffle mode of the speaker |
|
| shufflemode | Switch | Toggle the shuffle mode of the speaker |
|
||||||
| stop | Switch | Stop the playback |
|
| stop | Switch | Stop the playback |
|
||||||
| stream | String | Play the given HTTP or file stream (file:// or http://) |
|
| stream | String | Play the given HTTP or file stream (file:// or http://) |
|
||||||
| volume | Dimmer | Get and set the volume of the speaker |
|
| volume | Dimmer | Get and set the volume of the speaker |
|
||||||
| volumecontrol | Switch | Flag if the volume control is enabled (might be disabled if speaker is not master of the zone) |
|
| volumecontrol | Switch | Flag if the volume control is enabled (might be disabled if speaker is not master of the zone) |
|
||||||
| zoneid | String | Id of the Zone the speaker belongs to |
|
| zoneid | String | Id of the Zone the speaker belongs to |
|
||||||
| zonemembers | String | Set the zone members by providing a comma-separated list of device names. (This channel is currently only for setting the zone members. It does not update automatically if the zone members are changed from another source) |
|
| zonemembers | String | Set the zone members by providing a comma-separated list of device names. |
|
||||||
|
| | | (This channel is currently only for setting the zone members. |
|
||||||
|
| | | It does not update automatically if the zone members are changed from another source) |
|
||||||
|
|
||||||
|
|
||||||
## Audio Support
|
## Audio Support
|
||||||
|
|
||||||
|
@ -121,7 +129,7 @@ sitemap demo label="Main Menu"
|
||||||
Frame label="All2" {
|
Frame label="All2" {
|
||||||
Default item=All2Control
|
Default item=All2Control
|
||||||
Slider item=All2Volume
|
Slider item=All2Volume
|
||||||
Text item=All2Title
|
Text item=All2Title
|
||||||
Text item=All2Artist
|
Text item=All2Artist
|
||||||
Text item=All2State
|
Text item=All2State
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,7 +16,7 @@ install: auto
|
||||||
# Amazon Dash Button Binding
|
# Amazon Dash Button Binding
|
||||||
|
|
||||||
The [Amazon Dash Button](https://www.amazon.com/Dash-Buttons/b?node=10667898011) is a cheap and small Wi-Fi connected device to order products from Amazon with the simple press of a button.
|
The [Amazon Dash Button](https://www.amazon.com/Dash-Buttons/b?node=10667898011) is a cheap and small Wi-Fi connected device to order products from Amazon with the simple press of a button.
|
||||||
This Binding allows to integrate Dash Buttons into your home automation setup.
|
This Binding allows you to integrate Dash Buttons into your home automation setup.
|
||||||
|
|
||||||
The Binding code is inspired by [hortinstein/node-dash-button](https://github.com/hortinstein/node-dash-button).
|
The Binding code is inspired by [hortinstein/node-dash-button](https://github.com/hortinstein/node-dash-button).
|
||||||
|
|
||||||
|
@ -26,7 +26,8 @@ This might not be in line with your privacy preferences but can be prevented.
|
||||||
Please refer to the ["Preventing Communication with Amazon Servers"](#no-phonehome) section for details.
|
Please refer to the ["Preventing Communication with Amazon Servers"](#no-phonehome) section for details.
|
||||||
|
|
||||||
**Response Time:**
|
**Response Time:**
|
||||||
Please be aware, that due to the operation method of this binding, the response time for a button press can be rather high (up to five seconds). You might want to keep that in mind during product selection or task assignment.
|
Please be aware, that due to the operation method of this binding, the response time for a button press can be rather high (up to five seconds).
|
||||||
|
You might want to keep that in mind during product selection or task assignment.
|
||||||
|
|
||||||
## Prerequisites
|
## Prerequisites
|
||||||
|
|
||||||
|
@ -48,8 +49,7 @@ Installing [libpcap](http://www.tcpdump.org/) should be as simple as:
|
||||||
sudo apt-get install libpcap-dev
|
sudo apt-get install libpcap-dev
|
||||||
```
|
```
|
||||||
|
|
||||||
You can run Pcap4J with a non-root openHAB user by granting capabilities `CAP_NET_RAW` and `CAP_NET_ADMIN`
|
You can run Pcap4J with a non-root openHAB user by granting capabilities `CAP_NET_RAW` and `CAP_NET_ADMIN` to the openHAB java environment by the following command:
|
||||||
to the openHAB java environment by the following command:
|
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
sudo setcap cap_net_raw,cap_net_admin=eip $(realpath /usr/bin/java)
|
sudo setcap cap_net_raw,cap_net_admin=eip $(realpath /usr/bin/java)
|
||||||
|
@ -73,8 +73,8 @@ sudo setcap 'cap_net_raw,cap_net_admin=+eip cap_net_bind_service=+ep' $(realpath
|
||||||
|
|
||||||
On a Windows system there are two options to go with.
|
On a Windows system there are two options to go with.
|
||||||
|
|
||||||
1. The preferred solution is [WinPcap](https://www.winpcap.org) if your network interface is supported.
|
1. The preferred solution is [WinPcap](https://www.winpcap.org) if your network interface is supported.
|
||||||
2. An alternative option is [npcap](https://github.com/nmap/npcap) with the settings "WinPcap 4.1.3 compatibility" and "Raw 802.11 Packet Capture"
|
2. An alternative option is [npcap](https://github.com/nmap/npcap) with the settings "WinPcap 4.1.3 compatibility" and "Raw 802.11 Packet Capture"
|
||||||
|
|
||||||
### Installing libpcap on Other Operating Systems
|
### Installing libpcap on Other Operating Systems
|
||||||
|
|
||||||
|
@ -104,13 +104,13 @@ If your network doesn't provide that option, you can at least deal with the noti
|
||||||
|
|
||||||
It has shown that blocking the Dash Button communication with the Amazon servers will provoke reconnection attempts.
|
It has shown that blocking the Dash Button communication with the Amazon servers will provoke reconnection attempts.
|
||||||
This increased amount of communication causes a reduced overall battery life.
|
This increased amount of communication causes a reduced overall battery life.
|
||||||
The built-in AAA battery can be easily replaced.
|
The built-in AAA battery can be easily replaced.
|
||||||
|
|
||||||
Preventing the communication with the Amazon servers or the Amazon app is **not** necessary to integrate the Dash Button in openHAB.
|
Preventing the communication with the Amazon servers or the Amazon app is **not** necessary to integrate the Dash Button in openHAB.
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
There is one supported Thing, the "Amazon Dash Button".
|
There is one supported Thing, the "Amazon Dash Button".
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
|
@ -127,15 +127,18 @@ You can ignore these devices in your Inbox.
|
||||||
|
|
||||||
### Amazon Dash Button
|
### Amazon Dash Button
|
||||||
|
|
||||||
* `macAddress` - The MAC address of the Amazon Dash Button.
|
* `macAddress` - The MAC address of the Amazon Dash Button.
|
||||||
* `pcapNetworkInterfaceName` - The network interface which receives the packets of the Amazon Dash Button.
|
* `pcapNetworkInterfaceName` - The network interface which receives the packets of the Amazon Dash Button.
|
||||||
* `packetInterval` - Often a single button press is recognized multiple times. You can specify how long any further detected button pressed should be ignored after one click was processed. The parameter is optional and 5000ms by default.
|
* `packetInterval` - Often a single button press is recognized multiple times.
|
||||||
|
You can specify how long any further detected button pressed should be ignored after one click was processed.
|
||||||
|
The parameter is optional and 5000ms by default.
|
||||||
|
|
||||||
For manual defintion of a `dashbutton` Thing the MAC address can either be taken from the discovery output or can e.g. be captured through your router/DHCP frontend or with Wireshark.
|
For manual defintion of a `dashbutton` Thing the MAC address can either be taken from the discovery output or can e.g. be captured through your router/DHCP frontend or with [Wireshark](https://wireshark.org).
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
* **Press:** Trigger channel for recognizing presses on the Amazon Dash Button. A trigger channel can directly be used in a rule, check the "Full Example" section for one example.
|
* **Press:** Trigger channel for recognizing presses on the Amazon Dash Button.
|
||||||
|
A trigger channel can directly be used in a rule, check the "Full Example" section for one example.
|
||||||
|
|
||||||
## Full Example
|
## Full Example
|
||||||
|
|
||||||
|
|
|
@ -30,9 +30,9 @@ This binding supports the following thing types:
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
The Atlona AT-UHD-PRO3 switch can be discovered by starting a scan in the Paper UI and then logging into your switch and pressing the "SDDP" button on the "Network" tab. The "SDDP"
|
The Atlona AT-UHD-PRO3 switch can be discovered by starting a scan in the Paper UI and then logging into your switch and pressing the "SDDP" button on the "Network" tab.
|
||||||
(simple device discovery protocol) button will initiate the discovery process. If "Telnet Login" is enabled ("Network" tab from the switch configuration UI), you will need to set the
|
The "SDDP" (simple device discovery protocol) button will initiate the discovery process.
|
||||||
username and password in the configuration of the newly discovered thing before a connection can be made.
|
If "Telnet Login" is enabled ("Network" tab from the switch configuration UI), you will need to set the username and password in the configuration of the newly discovered thing before a connection can be made.
|
||||||
|
|
||||||
## Binding configuration
|
## Binding configuration
|
||||||
|
|
||||||
|
@ -40,12 +40,12 @@ username and password in the configuration of the newly discovered thing before
|
||||||
atlona:pro3-88m:home [ ipAddress="192.168.1.30", userName="me", password="12345", polling=600, ping=30, retryPolling=10 ]
|
atlona:pro3-88m:home [ ipAddress="192.168.1.30", userName="me", password="12345", polling=600, ping=30, retryPolling=10 ]
|
||||||
```
|
```
|
||||||
|
|
||||||
- ipAddress: Hostname or IP address of the matrix switch
|
- ipAddress: Hostname or IP address of the matrix switch
|
||||||
- userName: (optional) the username to login with (only if Telnet Login is enabled)
|
- userName: (optional) the username to login with (only if Telnet Login is enabled)
|
||||||
- password: (optional) the password to login with (only if Telnet Login is enabled)
|
- password: (optional) the password to login with (only if Telnet Login is enabled)
|
||||||
- polling: (optional) the time (in seconds) to poll the state from the actual switch (default: 600)
|
- polling: (optional) the time (in seconds) to poll the state from the actual switch (default: 600)
|
||||||
- ping: (optional) the time (in seconds) to ping the switch to keep our connection alive (default: 30)
|
- ping: (optional) the time (in seconds) to ping the switch to keep our connection alive (default: 30)
|
||||||
- retryPolling: (optional) the time (in seconds) to retry a connection if the connection has failed (default: 10)
|
- retryPolling: (optional) the time (in seconds) to retry a connection if the connection has failed (default: 10)
|
||||||
|
|
||||||
### username/password
|
### username/password
|
||||||
|
|
||||||
|
@ -53,148 +53,156 @@ The userName/password configuration options are optional and are only required i
|
||||||
|
|
||||||
### polling
|
### polling
|
||||||
|
|
||||||
Polling will automatically occur when (re)connecting to the switch to get the initial state of the switch. If you have anything outside of openHAB that can modify the switch state (front panel, IR, telnet session or another automation system), you will likely want to set this setting to a much lower value.
|
Polling will automatically occur when (re)connecting to the switch to get the initial state of the switch.
|
||||||
|
If you have anything outside of openHAB that can modify the switch state (front panel, IR, telnet session or another automation system), you will likely want to set this setting to a much lower value.
|
||||||
|
|
||||||
### ping
|
### ping
|
||||||
|
|
||||||
The Atlona switch will time out any IP connection after a specific time (specified by "IP Timeout" on the "Network" tab from the switch configuration UI - 120 by default). The ping setting MUST be lower than that value. If it is higher than the "IP Timeout" value, the switch will timeout our connection and the thing will go OFFLINE (until a reconnect attempt is made).
|
The Atlona switch will time out any IP connection after a specific time (specified by "IP Timeout" on the "Network" tab from the switch configuration UI - 120 by default).
|
||||||
|
The ping setting MUST be lower than that value.
|
||||||
|
If it is higher than the "IP Timeout" value, the switch will timeout our connection and the thing will go OFFLINE (until a reconnect attempt is made).
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
| Thing | Channel Type ID | Item Type | Access | Description |
|
| Thing | Channel Type ID | Item Type | Access | Description |
|
||||||
|---------------|----------------------------|--------------|--------|-------------------------------------------------------------------------------------------|
|
|------------|-----------------------------------------------------------------|-----------|--------|-------------------------------------------------------------------------------------------|
|
||||||
| pro3-44m | primary#power | Switch | RW | Matrix Power Switch |
|
| pro3-44m | primary#power | Switch | RW | Matrix Power Switch |
|
||||||
| pro3-44m | primary#panellock | Switch | RW | Sets the front panel locked or unlocked |
|
| pro3-44m | primary#panellock | Switch | RW | Sets the front panel locked or unlocked |
|
||||||
| pro3-44m | primary#irenable | Switch | RW | Enables/Disabled the front panel IR |
|
| pro3-44m | primary#irenable | Switch | RW | Enables/Disabled the front panel IR |
|
||||||
| pro3-44m | primary#presetcmd | Switch | W | Sends a preset command ('saveX', 'recallX', 'clearX') - see notes below |
|
| pro3-44m | primary#presetcmd | Switch | W | Sends a preset command ('saveX', 'recallX', 'clearX') - see notes below |
|
||||||
| pro3-44m | primary#matrixcmd | Switch | W | Sends a matrix command ('resetmatrix', 'resetports', 'allportsX') - see notes below |
|
| pro3-44m | primary#matrixcmd | Switch | W | Sends a matrix command ('resetmatrix', 'resetports', 'allportsX') - see notes below |
|
||||||
| pro3-44m | port1#portpower | Switch | RW | Enables/Disables output port #1 |
|
| pro3-44m | port1#portpower | Switch | RW | Enables/Disables output port #1 |
|
||||||
| pro3-44m | port1#portoutput | Number | RW | Sets output port #1 to the specified input port |
|
| pro3-44m | port1#portoutput | Number | RW | Sets output port #1 to the specified input port |
|
||||||
| pro3-44m | port2#portpower | Switch | RW | Enables/Disables output port #2 |
|
| pro3-44m | port2#portpower | Switch | RW | Enables/Disables output port #2 |
|
||||||
| pro3-44m | port2#portoutput | Number | RW | Sets output port #2 to the specified input port |
|
| pro3-44m | port2#portoutput | Number | RW | Sets output port #2 to the specified input port |
|
||||||
| pro3-44m | port3#portpower | Switch | RW | Enables/Disables output port #3 |
|
| pro3-44m | port3#portpower | Switch | RW | Enables/Disables output port #3 |
|
||||||
| pro3-44m | port3#portoutput | Number | RW | Sets output port #3 to the specified input port |
|
| pro3-44m | port3#portoutput | Number | RW | Sets output port #3 to the specified input port |
|
||||||
| pro3-44m | port4#portpower | Switch | RW | Enables/Disables output port #4 |
|
| pro3-44m | port4#portpower | Switch | RW | Enables/Disables output port #4 |
|
||||||
| pro3-44m | port4#portoutput | Number | RW | Sets output port #4 to the specified input port |
|
| pro3-44m | port4#portoutput | Number | RW | Sets output port #4 to the specified input port |
|
||||||
| pro3-44m | port5#portpower | Switch | RW | Enables/Disables output port #5 |
|
| pro3-44m | port5#portpower | Switch | RW | Enables/Disables output port #5 |
|
||||||
| pro3-44m | port5#portoutput | Number | RW | Sets output port #5 to the specified input port |
|
| pro3-44m | port5#portoutput | Number | RW | Sets output port #5 to the specified input port |
|
||||||
| pro3-44m | mirror5#portmirrorenabled | Number | RW | Sets hdmi port #5 to enable/disable port mirroring |
|
| pro3-44m | mirror5#portmirrorenabled | Number | RW | Sets hdmi port #5 to enable/disable port mirroring |
|
||||||
| pro3-44m | mirror5#portmirror | Number | RW | Sets hdmi port #5 to mirror the specified output port (if enabled) |
|
| pro3-44m | mirror5#portmirror | Number | RW | Sets hdmi port #5 to mirror the specified output port (if enabled) |
|
||||||
| pro3-44m | volume1#volume | Number | RW | Sets the volume of audio port #1 to the specified decibel level (between -79db to +15db) |
|
| pro3-44m | volume1#volume | Number | RW | Sets the volume of audio port #1 to the specified decibel level (between -79db to +15db) |
|
||||||
| pro3-44m | volume1#volumemute | Switch | RW | Mutes/Unmutes audio port #1 |
|
| pro3-44m | volume1#volumemute | Switch | RW | Mutes/Unmutes audio port #1 |
|
||||||
| pro3-44m | volume2#volume | Number | RW | Sets the volume of audio port #2 to the specified decibel level (between -79db to +15db) |
|
| pro3-44m | volume2#volume | Number | RW | Sets the volume of audio port #2 to the specified decibel level (between -79db to +15db) |
|
||||||
| pro3-44m | volume2#volumemute | Switch | RW | Mutes/Unmutes audio port #2 |
|
| pro3-44m | volume2#volumemute | Switch | RW | Mutes/Unmutes audio port #2 |
|
||||||
| pro3-44m | volume3#volume | Number | RW | Sets the volume of audio port #3 to the specified decibel level (between -79db to +15db) |
|
| pro3-44m | volume3#volume | Number | RW | Sets the volume of audio port #3 to the specified decibel level (between -79db to +15db) |
|
||||||
| pro3-44m | volume3#volumemute | Switch | RW | Mutes/Unmutes audio port #3 |
|
| pro3-44m | volume3#volumemute | Switch | RW | Mutes/Unmutes audio port #3 |
|
||||||
| | | | | |
|
| | | | | |
|
||||||
| pro3-66m | ALL OF THE pro3-44M channels (except different mirror settings) |
|
| pro3-66m | ALL OF THE pro3-44M channels (except different mirror settings) | | | |
|
||||||
| pro3-66m | port6#portpower | Switch | RW | Enables/Disables output port #6 |
|
| pro3-66m | port6#portpower | Switch | RW | Enables/Disables output port #6 |
|
||||||
| pro3-66m | port6#portoutput | Number | RW | Sets output port #6 to the specified input port |
|
| pro3-66m | port6#portoutput | Number | RW | Sets output port #6 to the specified input port |
|
||||||
| pro3-66m | port7#portpower | Switch | RW | Enables/Disables output port #7 |
|
| pro3-66m | port7#portpower | Switch | RW | Enables/Disables output port #7 |
|
||||||
| pro3-66m | port7#portoutput | Number | RW | Sets output port #7 to the specified input port |
|
| pro3-66m | port7#portoutput | Number | RW | Sets output port #7 to the specified input port |
|
||||||
| pro3-66m | port8#portpower | Switch | RW | Enables/Disables output port #8 |
|
| pro3-66m | port8#portpower | Switch | RW | Enables/Disables output port #8 |
|
||||||
| pro3-66m | port8#portoutput | Number | RW | Sets output port #8 to the specified input port |
|
| pro3-66m | port8#portoutput | Number | RW | Sets output port #8 to the specified input port |
|
||||||
| pro3-66m | mirror6#portmirrorenabled | Number | RW | Sets hdmi port #6 to enable/disable port mirroring |
|
| pro3-66m | mirror6#portmirrorenabled | Number | RW | Sets hdmi port #6 to enable/disable port mirroring |
|
||||||
| pro3-66m | mirror6#portmirror | Number | RW | Sets hdmi port #6 to mirror the specified output port (if enabled) |
|
| pro3-66m | mirror6#portmirror | Number | RW | Sets hdmi port #6 to mirror the specified output port (if enabled) |
|
||||||
| pro3-66m | mirror8#portmirrorenabled | Number | RW | Sets hdmi port #8 to enable/disable port mirroring |
|
| pro3-66m | mirror8#portmirrorenabled | Number | RW | Sets hdmi port #8 to enable/disable port mirroring |
|
||||||
| pro3-66m | mirror8#portmirror | Number | RW | Sets hdmi port #8 to mirror the specified output port (if enabled) |
|
| pro3-66m | mirror8#portmirror | Number | RW | Sets hdmi port #8 to mirror the specified output port (if enabled) |
|
||||||
| pro3-66m | volume4#volume | Number | RW | Sets the volume of audio port #4 to the specified decibel level (between -79db to +15db) |
|
| pro3-66m | volume4#volume | Number | RW | Sets the volume of audio port #4 to the specified decibel level (between -79db to +15db) |
|
||||||
| pro3-66m | volume4#volumemute | Switch | RW | Mutes/Unmutes audio port #4 |
|
| pro3-66m | volume4#volumemute | Switch | RW | Mutes/Unmutes audio port #4 |
|
||||||
| | | | | |
|
| | | | | |
|
||||||
| pro3-88m | ALL OF THE pro3-66M channels (except different mirror settings) |
|
| pro3-88m | ALL OF THE pro3-66M channels (except different mirror settings) | | | |
|
||||||
| pro3-88m | port9#portpower | Switch | RW | Enables/Disables output port #9 |
|
| pro3-88m | port9#portpower | Switch | RW | Enables/Disables output port #9 |
|
||||||
| pro3-88m | port9#portoutput | Number | RW | Sets output port #9 to the specified input port |
|
| pro3-88m | port9#portoutput | Number | RW | Sets output port #9 to the specified input port |
|
||||||
| pro3-88m | port10#portpower | Switch | RW | Enables/Disables output port #10 |
|
| pro3-88m | port10#portpower | Switch | RW | Enables/Disables output port #10 |
|
||||||
| pro3-88m | port10#portoutput | Number | RW | Sets output port #10 to the specified input port |
|
| pro3-88m | port10#portoutput | Number | RW | Sets output port #10 to the specified input port |
|
||||||
| pro3-88m | mirror8#portmirrorenabled | Number | RW | Sets hdmi port #8 to enable/disable port mirroring |
|
| pro3-88m | mirror8#portmirrorenabled | Number | RW | Sets hdmi port #8 to enable/disable port mirroring |
|
||||||
| pro3-88m | mirror8#portmirror | Number | RW | Sets hdmi port #8 to mirror the specified output port (if enabled) |
|
| pro3-88m | mirror8#portmirror | Number | RW | Sets hdmi port #8 to mirror the specified output port (if enabled) |
|
||||||
| pro3-88m | mirror10#portmirrorenabled | Number | RW | Sets hdmi port #10 to enable/disable port mirroring |
|
| pro3-88m | mirror10#portmirrorenabled | Number | RW | Sets hdmi port #10 to enable/disable port mirroring |
|
||||||
| pro3-88m | mirror10#portmirror | Number | RW | Sets hdmi port #10 to mirror the specified output port (if enabled) |
|
| pro3-88m | mirror10#portmirror | Number | RW | Sets hdmi port #10 to mirror the specified output port (if enabled) |
|
||||||
| pro3-88m | volume5#volume | Number | RW | Sets the volume of audio port #5 to the specified decibel level (between -79db to +15db) |
|
| pro3-88m | volume5#volume | Number | RW | Sets the volume of audio port #5 to the specified decibel level (between -79db to +15db) |
|
||||||
| pro3-88m | volume5#volumemute | Switch | RW | Mutes/Unmutes audio port #5 |
|
| pro3-88m | volume5#volumemute | Switch | RW | Mutes/Unmutes audio port #5 |
|
||||||
| pro3-88m | volume6#volume | Number | RW | Sets the volume of audio port #6 to the specified decibel level (between -79db to +15db) |
|
| pro3-88m | volume6#volume | Number | RW | Sets the volume of audio port #6 to the specified decibel level (between -79db to +15db) |
|
||||||
| pro3-88m | volume6#volumemute | Switch | RW | Mutes/Unmutes audio port #6 |
|
| pro3-88m | volume6#volumemute | Switch | RW | Mutes/Unmutes audio port #6 |
|
||||||
| | | | | |
|
| | | | | |
|
||||||
| pro3-1616m | ALL OF THE pro3-88M channels (except different mirror settings) |
|
| pro3-1616m | ALL OF THE pro3-88M channels (except different mirror settings) | | | |
|
||||||
| pro3-1616m | port11#portpower | Switch | RW | Enables/Disables output port #11 |
|
| pro3-1616m | port11#portpower | Switch | RW | Enables/Disables output port #11 |
|
||||||
| pro3-1616m | port11#portoutput | Number | RW | Sets output port #11 to the specified input port |
|
| pro3-1616m | port11#portoutput | Number | RW | Sets output port #11 to the specified input port |
|
||||||
| pro3-1616m | port12#portpower | Switch | RW | Enables/Disables output port #12 |
|
| pro3-1616m | port12#portpower | Switch | RW | Enables/Disables output port #12 |
|
||||||
| pro3-1616m | port12#portoutput | Number | RW | Sets output port #12 to the specified input port |
|
| pro3-1616m | port12#portoutput | Number | RW | Sets output port #12 to the specified input port |
|
||||||
| pro3-1616m | port13#portpower | Switch | RW | Enables/Disables output port #13 |
|
| pro3-1616m | port13#portpower | Switch | RW | Enables/Disables output port #13 |
|
||||||
| pro3-1616m | port13#portoutput | Number | RW | Sets output port #13 to the specified input port |
|
| pro3-1616m | port13#portoutput | Number | RW | Sets output port #13 to the specified input port |
|
||||||
| pro3-1616m | port14#portpower | Switch | RW | Enables/Disables output port #14 |
|
| pro3-1616m | port14#portpower | Switch | RW | Enables/Disables output port #14 |
|
||||||
| pro3-1616m | port14#portoutput | Number | RW | Sets output port #14 to the specified input port |
|
| pro3-1616m | port14#portoutput | Number | RW | Sets output port #14 to the specified input port |
|
||||||
| pro3-1616m | port15#portpower | Switch | RW | Enables/Disables output port #15 |
|
| pro3-1616m | port15#portpower | Switch | RW | Enables/Disables output port #15 |
|
||||||
| pro3-1616m | port15#portoutput | Number | RW | Sets output port #15 to the specified input port |
|
| pro3-1616m | port15#portoutput | Number | RW | Sets output port #15 to the specified input port |
|
||||||
| pro3-1616m | port16#portpower | Switch | RW | Enables/Disables output port #16 |
|
| pro3-1616m | port16#portpower | Switch | RW | Enables/Disables output port #16 |
|
||||||
| pro3-1616m | port16#portoutput | Number | RW | Sets output port #16 to the specified input port |
|
| pro3-1616m | port16#portoutput | Number | RW | Sets output port #16 to the specified input port |
|
||||||
| pro3-1616m | port17#portpower | Switch | RW | Enables/Disables output port #17 |
|
| pro3-1616m | port17#portpower | Switch | RW | Enables/Disables output port #17 |
|
||||||
| pro3-1616m | port17#portoutput | Number | RW | Sets output port #17 to the specified input port |
|
| pro3-1616m | port17#portoutput | Number | RW | Sets output port #17 to the specified input port |
|
||||||
| pro3-1616m | port18#portpower | Switch | RW | Enables/Disables output port #18 |
|
| pro3-1616m | port18#portpower | Switch | RW | Enables/Disables output port #18 |
|
||||||
| pro3-1616m | port18#portoutput | Number | RW | Sets output port #18 to the specified input port |
|
| pro3-1616m | port18#portoutput | Number | RW | Sets output port #18 to the specified input port |
|
||||||
| pro3-1616m | port19#portpower | Switch | RW | Enables/Disables output port #19 |
|
| pro3-1616m | port19#portpower | Switch | RW | Enables/Disables output port #19 |
|
||||||
| pro3-1616m | port19#portoutput | Number | RW | Sets output port #19 to the specified input port |
|
| pro3-1616m | port19#portoutput | Number | RW | Sets output port #19 to the specified input port |
|
||||||
| pro3-1616m | port20#portpower | Switch | RW | Enables/Disables output port #20 |
|
| pro3-1616m | port20#portpower | Switch | RW | Enables/Disables output port #20 |
|
||||||
| pro3-1616m | port20#portoutput | Number | RW | Sets output port #20 to the specified input port |
|
| pro3-1616m | port20#portoutput | Number | RW | Sets output port #20 to the specified input port |
|
||||||
| pro3-1616m | mirror17#portmirrorenabled | Number | RW | Sets hdmi port #17 to enable/disable port mirroring |
|
| pro3-1616m | mirror17#portmirrorenabled | Number | RW | Sets hdmi port #17 to enable/disable port mirroring |
|
||||||
| pro3-1616m | mirror17#portmirror | Number | RW | Sets hdmi port #17 to mirror the specified output port (if enabled) |
|
| pro3-1616m | mirror17#portmirror | Number | RW | Sets hdmi port #17 to mirror the specified output port (if enabled) |
|
||||||
| pro3-1616m | mirror18#portmirrorenabled | Number | RW | Sets hdmi port #18 to enable/disable port mirroring |
|
| pro3-1616m | mirror18#portmirrorenabled | Number | RW | Sets hdmi port #18 to enable/disable port mirroring |
|
||||||
| pro3-1616m | mirror18#portmirror | Number | RW | Sets hdmi port #18 to mirror the specified output port (if enabled) |
|
| pro3-1616m | mirror18#portmirror | Number | RW | Sets hdmi port #18 to mirror the specified output port (if enabled) |
|
||||||
| pro3-1616m | mirror19#portmirrorenabled | Number | RW | Sets hdmi port #19 to enable/disable port mirroring |
|
| pro3-1616m | mirror19#portmirrorenabled | Number | RW | Sets hdmi port #19 to enable/disable port mirroring |
|
||||||
| pro3-1616m | mirror19#portmirror | Number | RW | Sets hdmi port #19 to mirror the specified output port (if enabled) |
|
| pro3-1616m | mirror19#portmirror | Number | RW | Sets hdmi port #19 to mirror the specified output port (if enabled) |
|
||||||
| pro3-1616m | mirror20#portmirrorenabled | Number | RW | Sets hdmi port #20 to enable/disable port mirroring |
|
| pro3-1616m | mirror20#portmirrorenabled | Number | RW | Sets hdmi port #20 to enable/disable port mirroring |
|
||||||
| pro3-1616m | mirror20#portmirror | Number | RW | Sets hdmi port #20 to mirror the specified output port (if enabled) |
|
| pro3-1616m | mirror20#portmirror | Number | RW | Sets hdmi port #20 to mirror the specified output port (if enabled) |
|
||||||
| pro3-1616m | volume7#volume | Number | RW | Sets the volume of audio port #7 to the specified decibel level (between -79db to +15db) |
|
| pro3-1616m | volume7#volume | Number | RW | Sets the volume of audio port #7 to the specified decibel level (between -79db to +15db) |
|
||||||
| pro3-1616m | volume7#volumemute | Switch | RW | Mutes/Unmutes audio port #7 |
|
| pro3-1616m | volume7#volumemute | Switch | RW | Mutes/Unmutes audio port #7 |
|
||||||
| pro3-1616m | volume8#volume | Number | RW | Sets the volume of audio port #8 to the specified decibel level (between -79db to +15db) |
|
| pro3-1616m | volume8#volume | Number | RW | Sets the volume of audio port #8 to the specified decibel level (between -79db to +15db) |
|
||||||
| pro3-1616m | volume8#volumemute | Switch | RW | Mutes/Unmutes audio port #8 |
|
| pro3-1616m | volume8#volumemute | Switch | RW | Mutes/Unmutes audio port #8 |
|
||||||
| pro3-1616m | volume9#volume | Number | RW | Sets the volume of audio port #9 to the specified decibel level (between -79db to +15db) |
|
| pro3-1616m | volume9#volume | Number | RW | Sets the volume of audio port #9 to the specified decibel level (between -79db to +15db) |
|
||||||
| pro3-1616m | volume9#volumemute | Switch | RW | Mutes/Unmutes audio port #9 |
|
| pro3-1616m | volume9#volumemute | Switch | RW | Mutes/Unmutes audio port #9 |
|
||||||
| pro3-1616m | volume10#volume | Number | RW | Sets the volume of audio port #10 to the specified decibel level (between -79db to +15db) |
|
| pro3-1616m | volume10#volume | Number | RW | Sets the volume of audio port #10 to the specified decibel level (between -79db to +15db) |
|
||||||
| pro3-1616m | volume10#volumemute | Switch | RW | Mutes/Unmutes audio port #10 |
|
| pro3-1616m | volume10#volumemute | Switch | RW | Mutes/Unmutes audio port #10 |
|
||||||
| pro3-1616m | volume11#volume | Number | RW | Sets the volume of audio port #11 to the specified decibel level (between -79db to +15db) |
|
| pro3-1616m | volume11#volume | Number | RW | Sets the volume of audio port #11 to the specified decibel level (between -79db to +15db) |
|
||||||
| pro3-1616m | volume11#volumemute | Switch | RW | Mutes/Unmutes audio port #11 |
|
| pro3-1616m | volume11#volumemute | Switch | RW | Mutes/Unmutes audio port #11 |
|
||||||
| pro3-1616m | volume12#volume | Number | RW | Sets the volume of audio port #12 to the specified decibel level (between -79db to +15db) |
|
| pro3-1616m | volume12#volume | Number | RW | Sets the volume of audio port #12 to the specified decibel level (between -79db to +15db) |
|
||||||
| pro3-1616m | volume12#volumemute | Switch | RW | Mutes/Unmutes audio port #12 |
|
| pro3-1616m | volume12#volumemute | Switch | RW | Mutes/Unmutes audio port #12 |
|
||||||
|
|
||||||
|
|
||||||
### presetcmd
|
### presetcmd
|
||||||
|
|
||||||
The presetcmd channel will take the following commands:
|
The presetcmd channel will take the following commands:
|
||||||
|
|
||||||
| Command | Description |
|
| Command | Description |
|
||||||
|---------|-------------|
|
|---------|--------------------------------------------|
|
||||||
| saveX | Saves the current input/output to preset X |
|
| saveX | Saves the current input/output to preset X |
|
||||||
| recallX | Sets the input/output to preset X |
|
| recallX | Sets the input/output to preset X |
|
||||||
| clearX | Clears the preset X |
|
| clearX | Clears the preset X |
|
||||||
|
|
||||||
Note: if X doesn't exist - nothing will occur. The # of presets allowed depends on the firmware you are using (5 presets up to rev 13, 10 for rev 14 and above).
|
|
||||||
|
Note: if X doesn't exist - nothing will occur.
|
||||||
|
The # of presets allowed depends on the firmware you are using (5 presets up to rev 13, 10 for rev 14 and above).
|
||||||
|
|
||||||
### matrixcmd
|
### matrixcmd
|
||||||
|
|
||||||
The matrixcmd channel will take the following commands:
|
The matrixcmd channel will take the following commands:
|
||||||
|
|
||||||
| Command | Description |
|
| Command | Description |
|
||||||
|---------|-------------|
|
|-------------|---------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| resetmatrix | Resets the matrix back to it's default values (USE WITH CARE!). Note: some firmware upgrades require a resetmatrix after installing. |
|
| resetmatrix | Resets the matrix back to it's default values (USE WITH CARE!). Note: some firmware upgrades require a resetmatrix after installing. |
|
||||||
| resetports | Resets the ports back to their default values (outputX=inputX) |
|
| resetports | Resets the ports back to their default values (outputX=inputX) |
|
||||||
| allportsX | Sets all the output ports to the input port X |
|
| allportsX | Sets all the output ports to the input port X |
|
||||||
|
|
||||||
Note: if X doesn't exist - nothing will occur. The # of presets allowed depends on the firmware you are using (5 presets up to rev 13, 10 for rev 14 and above).
|
|
||||||
|
Note: if X doesn't exist - nothing will occur.
|
||||||
|
The # of presets allowed depends on the firmware you are using (5 presets up to rev 13, 10 for rev 14 and above).
|
||||||
|
|
||||||
## Changes/Warnings
|
## Changes/Warnings
|
||||||
|
|
||||||
As of firmware 1.6.03 (rev 13), there are three issues on Atlona firmware (I've notified them on these issues):
|
As of firmware 1.6.03 (rev 13), there are three issues on Atlona firmware (I've notified them on these issues):
|
||||||
|
|
||||||
- clearX command does not work. The TCP/IP command "ClearX" as specified in Atlona's protocol will ALWAYS return a "Command Failed". Please avoid this channel until atlona releases a new firmware.
|
- clearX command does not work. The TCP/IP command "ClearX" as specified in Atlona's protocol will ALWAYS return a "Command Failed". Please avoid this channel until atlona releases a new firmware.
|
||||||
- There is no way to query what the current status is of: panellock, and irenable. This addon simply assumes that panellock is off and irenable is on at startup.
|
- There is no way to query what the current status is of: panellock, and irenable. This addon simply assumes that panellock is off and irenable is on at startup.
|
||||||
- If you make a change in the switches UI that requires a reboot (mainly changing any of the settings on the "Network" tab in the switch configuration UI), this addon's connection will be inconsistently closed at different times. The thing will go OFFLINE and then back ONLINE when the reconnect attempt is made - and then it starts all over again. Please make sure you reboot as soon as possible when the switch UI notifies you.
|
- If you make a change in the switches UI that requires a reboot (mainly changing any of the settings on the "Network" tab in the switch configuration UI), this addon's connection will be inconsistently closed at different times. The thing will go OFFLINE and then back ONLINE when the reconnect attempt is made - and then it starts all over again. Please make sure you reboot as soon as possible when the switch UI notifies you.
|
||||||
- a bug in the firmware will sometimes cause memory presets to disappear after a reboot
|
- a bug in the firmware will sometimes cause memory presets to disappear after a reboot
|
||||||
|
|
||||||
As of firmware 1.6.8 (rev 14),
|
As of firmware 1.6.8 (rev 14),
|
||||||
|
|
||||||
- The "clearX" command has been fixed and works now.
|
- The "clearX" command has been fixed and works now.
|
||||||
- The number of presets have increased to 10
|
- The number of presets have increased to 10
|
||||||
- If telnet mode is enabled, you must use the admin username/password to issue a matrixreset
|
- If telnet mode is enabled, you must use the admin username/password to issue a matrixreset
|
||||||
|
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
@ -277,7 +285,7 @@ sitemap demo label="Main Menu"
|
||||||
Text item=Atlona_Presets
|
Text item=Atlona_Presets
|
||||||
}
|
}
|
||||||
Text label="Ports" {
|
Text label="Ports" {
|
||||||
Switch item=Atlona_PortPower1
|
Switch item=Atlona_PortPower1
|
||||||
Switch item=Atlona_PortPower2
|
Switch item=Atlona_PortPower2
|
||||||
Switch item=Atlona_PortPower3
|
Switch item=Atlona_PortPower3
|
||||||
Switch item=Atlona_PortPower4
|
Switch item=Atlona_PortPower4
|
||||||
|
@ -320,7 +328,8 @@ sitemap demo label="Main Menu"
|
||||||
|
|
||||||
# Transformation Maps
|
# Transformation Maps
|
||||||
|
|
||||||
The following is some example transformation maps you can create. Be sure they are in sync with the mappings above.
|
The following is some example transformation maps you can create.
|
||||||
|
Be sure they are in sync with the mappings above.
|
||||||
|
|
||||||
### atlonainputports.map
|
### atlonainputports.map
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ id: autelis
|
||||||
label: Autelis Pool Control
|
label: Autelis Pool Control
|
||||||
title: Autelis Pool Control - Bindings
|
title: Autelis Pool Control - Bindings
|
||||||
type: binding
|
type: binding
|
||||||
description: "Autelis manufactures a network enabled pool interface for many popular pool systems. See [the Autelis website](http://www.autelis.com) and the [Autelis Command Protocol](http://www.autelis.com/wiki/index.php?title=Pool_Control_(PI)_HTTP_Command_Reference) for more information."
|
description: "Autelis manufactures a network enabled pool interface for many popular pool systems."
|
||||||
since: 2x
|
since: 2x
|
||||||
logo: images/addons/autelis.png
|
logo: images/addons/autelis.png
|
||||||
install: auto
|
install: auto
|
||||||
|
@ -15,17 +15,19 @@ install: auto
|
||||||
|
|
||||||
# Autelis Pool Control Binding
|
# Autelis Pool Control Binding
|
||||||
|
|
||||||
Autelis manufactures a network enabled pool interface for many popular pool systems. See [the Autelis website](http://www.autelis.com) and the [Autelis Command Protocol](http://www.autelis.com/wiki/index.php?title=Pool_Control_(PI)_HTTP_Command_Reference) for more information.
|
Autelis manufactures a network enabled pool interface for many popular pool systems.
|
||||||
|
See [the Autelis website](http://www.autelis.com) and the [Autelis Command Protocol](http://www.autelis.com/wiki/index.php?title=Pool_Control_&lparPI&rpar_HTTP_Command_Reference) for more information.
|
||||||
|
|
||||||
This binding supports:
|
This binding supports:
|
||||||
|
|
||||||
* Read circuit, auxiliary, temperature, pump, chemistry and system values
|
* Read circuit, auxiliary, temperature, pump, chemistry and system values
|
||||||
* Control circuit, auxiliary lighting scenes, and temperature set points
|
* Control circuit, auxiliary lighting scenes, and temperature set points
|
||||||
|
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
The binding will automatically look for a device with the DNS name 'poolcontrol'. If found it will try and connect with the factory default username and password.
|
The binding will automatically look for a device with the DNS name 'poolcontrol'.
|
||||||
|
If found it will try and connect with the factory default username and password.
|
||||||
|
|
||||||
## Binding Configuration
|
## Binding Configuration
|
||||||
|
|
||||||
|
@ -34,7 +36,7 @@ The binding requires no special configuration
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
The Autelis binding requires the host, port, username and password
|
The Autelis binding requires the host, port, username and password
|
||||||
|
|
||||||
In the thing file, this looks e.g. like
|
In the thing file, this looks e.g. like
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -45,63 +47,63 @@ Thing autelis:myPool [ host="192.168.1.10", port="80", user="admin", password="a
|
||||||
|
|
||||||
All devices support some of the following channels:
|
All devices support some of the following channels:
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description |
|
| Channel Type ID | Item Type |
|
||||||
|-------------------------|------------------------|--------------|----------------- |------------- |
|
|---------------------|-----------|
|
||||||
| system-runstate| Switch |
|
| system-runstate | Switch |
|
||||||
| system-model| Number |
|
| system-model | Number |
|
||||||
| system-haddr| Number |
|
| system-haddr | Number |
|
||||||
| system-opmode| Number |
|
| system-opmode | Number |
|
||||||
| system-freeze| Number |
|
| system-freeze | Number |
|
||||||
| system-sensor1| Number |
|
| system-sensor1 | Number |
|
||||||
| system-sensor2| Number |
|
| system-sensor2 | Number |
|
||||||
| system-sensor3| Number |
|
| system-sensor3 | Number |
|
||||||
| system-sensor4| Number |
|
| system-sensor4 | Number |
|
||||||
| system-sensor5| Number |
|
| system-sensor5 | Number |
|
||||||
| system-version| String |
|
| system-version | String |
|
||||||
| system-time| Number |
|
| system-time | Number |
|
||||||
| equipment-circuit1| Switch |
|
| equipment-circuit1 | Switch |
|
||||||
| equipment-circuit2| Switch |
|
| equipment-circuit2 | Switch |
|
||||||
| equipment-circuit3| Switch |
|
| equipment-circuit3 | Switch |
|
||||||
| equipment-circuit4| Switch |
|
| equipment-circuit4 | Switch |
|
||||||
| equipment-circuit5| Switch |
|
| equipment-circuit5 | Switch |
|
||||||
| equipment-circuit6| Switch |
|
| equipment-circuit6 | Switch |
|
||||||
| equipment-circuit7| Switch |
|
| equipment-circuit7 | Switch |
|
||||||
| equipment-circuit8| Switch |
|
| equipment-circuit8 | Switch |
|
||||||
| equipment-circuit9| Switch |
|
| equipment-circuit9 | Switch |
|
||||||
| equipment-circuit10| Switch |
|
| equipment-circuit10 | Switch |
|
||||||
| equipment-feature1| Number |
|
| equipment-feature1 | Number |
|
||||||
| equipment-feature2| Number |
|
| equipment-feature2 | Number |
|
||||||
| equipment-feature3| Number |
|
| equipment-feature3 | Number |
|
||||||
| equipment-feature4| Number |
|
| equipment-feature4 | Number |
|
||||||
| equipment-feature5| Number |
|
| equipment-feature5 | Number |
|
||||||
| equipment-feature6| Number |
|
| equipment-feature6 | Number |
|
||||||
| equipment-feature7| Number |
|
| equipment-feature7 | Number |
|
||||||
| equipment-feature8| Number |
|
| equipment-feature8 | Number |
|
||||||
| equipment-feature9| Number |
|
| equipment-feature9 | Number |
|
||||||
| equipment-feature10| Number |
|
| equipment-feature10 | Number |
|
||||||
| temp-poolht| Number |
|
| temp-poolht | Number |
|
||||||
| temp-spaht| Number |
|
| temp-spaht | Number |
|
||||||
| temp-htstatus| Number |
|
| temp-htstatus | Number |
|
||||||
| temp-poolsp| Number |
|
| temp-poolsp | Number |
|
||||||
| temp-spasp| Number |
|
| temp-spasp | Number |
|
||||||
| temp-pooltemp| Number |
|
| temp-pooltemp | Number |
|
||||||
| temp-spatemp| Number |
|
| temp-spatemp | Number |
|
||||||
| temp-airtemp| Number |
|
| temp-airtemp | Number |
|
||||||
| temp-tempunits| String |
|
| temp-tempunits | String |
|
||||||
| temp-htpump| Number |
|
| temp-htpump | Number |
|
||||||
| pump-pump1| String |
|
| pump-pump1 | String |
|
||||||
| pump-pump2| String |
|
| pump-pump2 | String |
|
||||||
| pump-pump3| String |
|
| pump-pump3 | String |
|
||||||
| pump-pump4| String |
|
| pump-pump4 | String |
|
||||||
| pump-pump5| String |
|
| pump-pump5 | String |
|
||||||
| pump-pump6| String |
|
| pump-pump6 | String |
|
||||||
| pump-pump7| String |
|
| pump-pump7 | String |
|
||||||
| pump-pump8| String |
|
| pump-pump8 | String |
|
||||||
| chlor-chloren| Number |
|
| chlor-chloren | Number |
|
||||||
| chlor-poolsp| Number |
|
| chlor-poolsp | Number |
|
||||||
| chlor-spasp| Number |
|
| chlor-spasp | Number |
|
||||||
| chlor-salt| Number |
|
| chlor-salt | Number |
|
||||||
| chlor-super| Number |
|
| chlor-super | Number |
|
||||||
| chlor-chlorerr| Number |
|
| chlor-chlorerr | Number |
|
||||||
| chlor-chlorname| String |
|
| chlor-chlorname | String |
|
||||||
| lightscmd| String |
|
| lightscmd | String |
|
||||||
|
|
|
@ -22,19 +22,25 @@ The binding integrates the AHA ( [AVM Home Automation](http://avm.de/ratgeber/sm
|
||||||
|
|
||||||
### FRITZ!Box
|
### FRITZ!Box
|
||||||
|
|
||||||
The well known FRITZ!Boxes are supported as bridge for accessing other AHA devices. It is planned to support some channels directly at the bridge like call monitoring and others - but these things are under current development by now. The Box has to run at least on firmware FRITZ!OS 6.00 and has to support the "Smart Home" service.
|
The well known FRITZ!Boxes are supported as bridge for accessing other AHA devices.
|
||||||
|
It is planned to support some channels directly at the bridge like call monitoring and others - but these things are under current development by now.
|
||||||
|
The Box has to run at least on firmware FRITZ!OS 6.00 and has to support the "Smart Home" service.
|
||||||
|
|
||||||
### FRITZ!DECT 200 / FRITZ!DECT 210
|
### FRITZ!DECT 200 / FRITZ!DECT 210
|
||||||
|
|
||||||
This switchable outlets [FRITZ!DECT 210](https://avm.de/produkte/fritzdect/fritzdect-210/) and [FRITZ!DECT 200](https://avm.de/produkte/fritzdect/fritzdect-200/) have to be connected to a FRITZ!Box by DECT protocol. They support switching the outlet, current power and accumulated energy consumption and temperature readings.
|
This switchable outlets [FRITZ!DECT 210](https://avm.de/produkte/fritzdect/fritzdect-210/) and [FRITZ!DECT 200](https://avm.de/produkte/fritzdect/fritzdect-200/) have to be connected to a FRITZ!Box by DECT protocol.
|
||||||
|
They support switching the outlet, current power and accumulated energy consumption and temperature readings.
|
||||||
|
|
||||||
### FRITZ!DECT Repeater 100
|
### FRITZ!DECT Repeater 100
|
||||||
|
|
||||||
This [DECT repeater](https://avm.de/produkte/fritzdect/fritzdect-repeater-100/) has to be connected to a FRITZ!Box by DECT protocol. It only supports temperature readings.
|
This [DECT repeater](https://avm.de/produkte/fritzdect/fritzdect-repeater-100/) has to be connected to a FRITZ!Box by DECT protocol.
|
||||||
|
It only supports temperature readings.
|
||||||
|
|
||||||
### FRITZ!Powerline 546E
|
### FRITZ!Powerline 546E
|
||||||
|
|
||||||
This [powerline adapter](http://avm.de/produkte/fritzpowerline/fritzpowerline-546e/) can be used via the bridge or in stand-alone mode. It supports switching the outlet and current power and energy consumption readings. This device does not contain a temperature sensor.
|
This [powerline adapter](http://avm.de/produkte/fritzpowerline/fritzpowerline-546e/) can be used via the bridge or in stand-alone mode.
|
||||||
|
It supports switching the outlet and current power and energy consumption readings.
|
||||||
|
This device does not contain a temperature sensor.
|
||||||
|
|
||||||
### FRITZ!DECT 301 / FRITZ!DECT 300 / Comet DECT
|
### FRITZ!DECT 301 / FRITZ!DECT 300 / Comet DECT
|
||||||
|
|
||||||
|
@ -46,7 +52,9 @@ The FRITZ!Box has to run at least on firmware FRITZ!OS 6.35.
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
The FRITZ!Box and the powerline adapter are discovered through UPNP in the local network. When added as things, a username/password has eventually to be set depending on your Box/Powerline security configuration. The credentials given in the settings must have HomeAuto permissions.
|
The FRITZ!Box and the powerline adapter are discovered through UPNP in the local network.
|
||||||
|
When added as things, a username/password has eventually to be set depending on your Box/Powerline security configuration.
|
||||||
|
The credentials given in the settings must have HomeAuto permissions.
|
||||||
|
|
||||||
If correct credentials are set in the bridge configuration, connected AHA devices are discovered automatically (may last up to 3 minutes).
|
If correct credentials are set in the bridge configuration, connected AHA devices are discovered automatically (may last up to 3 minutes).
|
||||||
|
|
||||||
|
@ -55,28 +63,28 @@ If correct credentials are set in the bridge configuration, connected AHA device
|
||||||
|
|
||||||
### FRITZ!Box
|
### FRITZ!Box
|
||||||
|
|
||||||
* ipAddress (mandatory), default "fritz.box"
|
* ipAddress (mandatory), default "fritz.box"
|
||||||
* protocol (optional, http or https), default "http"
|
* protocol (optional, http or https), default "http"
|
||||||
* port (optional, 0 to 65335), no default (derived from protocol: 80 or 443)
|
* port (optional, 0 to 65335), no default (derived from protocol: 80 or 443)
|
||||||
* password (optional), no default (depends on FRITZ!Box security configuration)
|
* password (optional), no default (depends on FRITZ!Box security configuration)
|
||||||
* user (optional), no default (depends on FRITZ!Box security configuration)
|
* user (optional), no default (depends on FRITZ!Box security configuration)
|
||||||
* pollingInterval (optional, 5 to 60), default 15 (in seconds)
|
* pollingInterval (optional, 5 to 60), default 15 (in seconds)
|
||||||
* asyncTimeout (optional, 1000 to 60000), default 10000 (in millis)
|
* asyncTimeout (optional, 1000 to 60000), default 10000 (in millis)
|
||||||
* syncTimeout (optional, 500 to 15000), default 2000 (in millis)
|
* syncTimeout (optional, 500 to 15000), default 2000 (in millis)
|
||||||
|
|
||||||
### FRITZ!Powerline 546E
|
### FRITZ!Powerline 546E
|
||||||
|
|
||||||
* ipAddress (mandatory), default "fritz.powerline"
|
* ipAddress (mandatory), default "fritz.powerline"
|
||||||
* protocol (optional, http or https), default "http"
|
* protocol (optional, http or https), default "http"
|
||||||
* port (optional, 0 to 65335), no default (derived from protocol: 80 or 443)
|
* port (optional, 0 to 65335), no default (derived from protocol: 80 or 443)
|
||||||
* password (optional), no default (depends on FRITZ!Powerline security configuration)
|
* password (optional), no default (depends on FRITZ!Powerline security configuration)
|
||||||
* pollingInterval (optional, 5 to 60), default 15 (in seconds)
|
* pollingInterval (optional, 5 to 60), default 15 (in seconds)
|
||||||
* asyncTimeout (optional, 1000 to 60000), default 10000 (in millis)
|
* asyncTimeout (optional, 1000 to 60000), default 10000 (in millis)
|
||||||
* syncTimeout (optional, 500 to 15000), default 2000 (in millis)
|
* syncTimeout (optional, 500 to 15000), default 2000 (in millis)
|
||||||
|
|
||||||
### AHA things connected to FRITZ!Box bridge
|
### AHA things connected to FRITZ!Box bridge
|
||||||
|
|
||||||
* AIN (mandatory), no default (AIN number of device)
|
* AIN (mandatory), no default (AIN number of device)
|
||||||
|
|
||||||
|
|
||||||
## Supported Channels
|
## Supported Channels
|
||||||
|
@ -105,29 +113,29 @@ If correct credentials are set in the bridge configuration, connected AHA device
|
||||||
demo.things:
|
demo.things:
|
||||||
|
|
||||||
```
|
```
|
||||||
Bridge avmfritz:fritzbox:1 [ ipAddress="192.168.xxx.xxx", password ="xxx", user="xxx" ] {
|
Bridge avmfritz:fritzbox:1 @ "Office" [ ipAddress="192.168.x.x", password="xxx", user="xxx" ] {
|
||||||
FRITZ_DECT_200 DECT1 [ ain="xxxxxxxxxxx" ]
|
Thing FRITZ_DECT_200 xxxxxxxxxxxx "FRITZ!DECT 200 #1" @ "Living Room" [ ain="xxxxxxxxxxxx" ]
|
||||||
FRITZ_Powerline_546E PL1 [ ain="yy:yy:yy:yy:yyy" ]
|
Thing FRITZ_Powerline_546E yy_yy_yy_yy_yy_yy "FRITZ!Powerline 546E #2" @ "Office" [ ain="yy:yy:yy:yy:yy:yy" ]
|
||||||
Comet_DECT CD1 [ ain="aaaaaabbbbbb" ]
|
Thing Comet_DECT aaaaaabbbbbb "Comet DECT #3" @ "Office" [ ain="aaaaaabbbbbb" ]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
demo.items:
|
demo.items:
|
||||||
|
|
||||||
```
|
```
|
||||||
Switch Outlet1 "Switchable outlet" { channel="avmfritz:FRITZ_DECT_200:1:DECT1:outlet" }
|
Switch Outlet1 "Switchable outlet" { channel="avmfritz:FRITZ_DECT_200:1:xxxxxxxxxxxx:outlet" }
|
||||||
Number Temperature1 "Actual measured temperature [%.1f °C]" { channel="avmfritz:FRITZ_DECT_200:1:DECT1:temperature" }
|
Number Temperature1 "Actual measured temperature [%.1f °C]" { channel="avmfritz:FRITZ_DECT_200:1:xxxxxxxxxxxx:temperature" }
|
||||||
Number Energy1 "Accumulated energy consumption [%.3f Wh]" { channel="avmfritz:FRITZ_DECT_200:1:DECT1:energy" }
|
Number Energy1 "Accumulated energy consumption [%.3f Wh]" { channel="avmfritz:FRITZ_DECT_200:1:xxxxxxxxxxxx:energy" }
|
||||||
Number Power1 "Current power consumption [%.2f W]" { channel="avmfritz:FRITZ_DECT_200:1:DECT1:power" }
|
Number Power1 "Current power consumption [%.2f W]" { channel="avmfritz:FRITZ_DECT_200:1:xxxxxxxxxxxx:power" }
|
||||||
|
|
||||||
Switch Outlet2 { channel="avmfritz:FRITZ_Powerline_546E:1:PL1:outlet" }
|
Switch Outlet2 { channel="avmfritz:FRITZ_Powerline_546E:1:yy_yy_yy_yy_yy_yy:outlet" }
|
||||||
|
|
||||||
Group gCOMETDECT "Comet DECT heating thermostat" <temperature>
|
Group gCOMETDECT "Comet DECT heating thermostat" <temperature>
|
||||||
|
|
||||||
Number COMETDECTActualTemp "Actual measured temperature [%.1f °C]" (gCOMETDECT) { channel="avmfritz:Comet_DECT:1:CD1:actual_temp" }
|
Number COMETDECTActualTemp "Actual measured temperature [%.1f °C]" (gCOMETDECT) { channel="avmfritz:Comet_DECT:1:aaaaaabbbbbb:actual_temp" }
|
||||||
Number COMETDECTSetTemp "Thermostat temperature setpoint [%.1f °C]" (gCOMETDECT) { channel="avmfritz:Comet_DECT:1:CD1:set_temp" }
|
Number COMETDECTSetTemp "Thermostat temperature set point [%.1f °C]" (gCOMETDECT) { channel="avmfritz:Comet_DECT:1:aaaaaabbbbbb:set_temp" }
|
||||||
String COMETDECTRadiatorMode "Radiator mode [%s]" (gCOMETDECT) { channel="avmfritz:Comet_DECT:1:CD1:radiator_mode" }
|
String COMETDECTRadiatorMode "Radiator mode [%s]" (gCOMETDECT) { channel="avmfritz:Comet_DECT:1:aaaaaabbbbbb:radiator_mode" }
|
||||||
Switch COMETDECTBattery "Battery low" (gCOMETDECT) { channel="avmfritz:Comet_DECT:1:CD1:battery_low" }
|
Switch COMETDECTBattery "Battery low" (gCOMETDECT) { channel="avmfritz:Comet_DECT:1:aaaaaabbbbbb:battery_low" }
|
||||||
```
|
```
|
||||||
|
|
||||||
demo.sitemap:
|
demo.sitemap:
|
||||||
|
|
|
@ -19,14 +19,20 @@ The [BigAssFan](http://www.bigassfans.com/) binding is used to enable communicat
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
Fans are discovered dynamically. There is a single thing created for each fan connected to the network. Each thing has channels that allow control of the fan and the optional LED light, as well as to monitor the status of the fan. When the fan is controlled from the remote control, Wall Controller, or smartphone app, the openHAB items linked to the fan's channels will be updated to reflect the fan's status.
|
Fans are discovered dynamically.
|
||||||
|
There is a single thing created for each fan connected to the network.
|
||||||
|
Each thing has channels that allow control of the fan and the optional LED light, as well as to monitor the status of the fan.
|
||||||
|
When the fan is controlled from the remote control, Wall Controller, or smartphone app, the openHAB items linked to the fan's channels will be updated to reflect the fan's status.
|
||||||
|
|
||||||
|
|
||||||
## Device Discovery
|
## Device Discovery
|
||||||
|
|
||||||
The BigAssFan binding discovers Haiku fans on the network, and creates an inbox entry for each discovered device. Once added as a thing, the user can control the fan and optional LED light kit, similarly to how the fan is controlled using the remote, Wall Controller, or smartphone app.
|
The BigAssFan binding discovers Haiku fans on the network, and creates an inbox entry for each discovered device.
|
||||||
|
Once added as a thing, the user can control the fan and optional LED light kit, similarly to how the fan is controlled using the remote, Wall Controller, or smartphone app.
|
||||||
|
|
||||||
Background discovery polls the network every few minutes for fans. Background discovery is **enabled** by default. To **disable** background discovery, add the following line to the *conf/services/runtime.cfg* file:
|
Background discovery polls the network every few minutes for fans.
|
||||||
|
Background discovery is **enabled** by default.
|
||||||
|
To **disable** background discovery, add the following line to the *conf/services/runtime.cfg* file:
|
||||||
|
|
||||||
```
|
```
|
||||||
org.openhab.binding.bigassfan.discovery.BigAssFanDiscoveryService:backgroundDiscovery.enabled=false
|
org.openhab.binding.bigassfan.discovery.BigAssFanDiscoveryService:backgroundDiscovery.enabled=false
|
||||||
|
@ -35,11 +41,13 @@ org.openhab.binding.bigassfan.discovery.BigAssFanDiscoveryService:backgroundDisc
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
The fan's IP address, MAC address, and name is set at time of discovery. However, in the event that any of this information changes, the fan's configuration must be updated.
|
The fan's IP address, MAC address, and name is set at time of discovery.
|
||||||
|
However, in the event that any of this information changes, the fan's configuration must be updated.
|
||||||
|
|
||||||
#### Manual Thing Creation
|
#### Manual Thing Creation
|
||||||
|
|
||||||
Fans can be manually created in the *PaperUI* or *HABmin*, or by placing a *.things* file in the *conf/things* directory. See example below.
|
Fans can be manually created in the *PaperUI* or *HABmin*, or by placing a *.things* file in the *conf/things* directory.
|
||||||
|
See example below.
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
|
@ -133,7 +141,8 @@ Frame label="Control My BigAssFan" {
|
||||||
|
|
||||||
### Manual Thing Creation
|
### Manual Thing Creation
|
||||||
|
|
||||||
Place a file named *bigassfan.things* in the *conf/things* directory. The file should contain lines formatted like this.
|
Place a file named *bigassfan.things* in the *conf/things* directory.
|
||||||
|
The file should contain lines formatted like this.
|
||||||
|
|
||||||
```
|
```
|
||||||
bigassfan:fan:20F85EDAA56A [ label="Porch Fan", ipAddress="192.168.12.62", macAddress="20:F8:5E:DA:A5:6A" ]
|
bigassfan:fan:20F85EDAA56A [ label="Porch Fan", ipAddress="192.168.12.62", macAddress="20:F8:5E:DA:A5:6A" ]
|
||||||
|
@ -142,4 +151,3 @@ bigassfan:fan:20F85EDAA56A [ label="Porch Fan", ipAddress="192.168.12.62", macAd
|
||||||
#### Unsupported Features
|
#### Unsupported Features
|
||||||
|
|
||||||
Standalone lights are not supported.
|
Standalone lights are not supported.
|
||||||
|
|
||||||
|
|
|
@ -15,21 +15,19 @@ install: auto
|
||||||
# Bosch Indego Binding
|
# Bosch Indego Binding
|
||||||
|
|
||||||
This is the Binding for Bosch Indego Connect lawn mowers.
|
This is the Binding for Bosch Indego Connect lawn mowers.
|
||||||
|
Thank´s to zazaz-de who found out how the API works. His [Java Library](https://github.com/zazaz-de/iot-device-bosch-indego-controller) made this Binding possible.
|
||||||
|
|
||||||
Thank´s to zazaz-de who found out how the API works. His [Java Library](https://github.com/zazaz-de/iot-device-bosch-indego-controller) made this Binding possible.
|
## Configuration of the Thing
|
||||||
|
|
||||||
## Configuration of the thing
|
Currently the binding supports ***indego*** mowers as a thing type with this parameters:
|
||||||
|
|
||||||
|
| parameter | datatype | required |
|
||||||
|
|-----------|----------|--------------------------------|
|
||||||
|
| username | String | yes |
|
||||||
|
| password | String | yes |
|
||||||
|
| refresh | integer | no (default: 180, minimum: 60) |
|
||||||
|
|
||||||
Currently the binding supports ***indego*** mowers as a thing type with this parameters:
|
The refresh interval is specified in seconds.
|
||||||
|
|
||||||
| parameter | datatype | required |
|
|
||||||
|---|---|---|
|
|
||||||
| username | String | yes |
|
|
||||||
| password | String | yes |
|
|
||||||
| refresh | integer| no (default: 180, minimum: 60)|
|
|
||||||
|
|
||||||
The refresh interval is specified in seconds.
|
|
||||||
|
|
||||||
A possible entry in your thing file could be:
|
A possible entry in your thing file could be:
|
||||||
|
|
||||||
|
@ -40,14 +38,14 @@ boschindego:indego:lawnmower [username="myname@myhost.tld", password="idontneedt
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
channel | item-type | description |
|
| item-type | description | |
|
||||||
|---|---|---|
|
|--------------|-------------|-------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| state | Number | You can send commands to this channel to control the mower and read the simplified state from it (1=mow, 2=return to dock, 3=pause)|
|
| state | Number | You can send commands to this channel to control the mower and read the simplified state from it (1=mow, 2=return to dock, 3=pause) |
|
||||||
| errorcode | Number | Errorcode of the mower (0=no error, readonly) |
|
| errorcode | Number | Errorcode of the mower (0=no error, readonly) |
|
||||||
| statecode | Number | Detailed state of the mower. I included English and German map-files to read the state easier (readonly)|
|
| statecode | Number | Detailed state of the mower. I included English and German map-files to read the state easier (readonly) |
|
||||||
|textualstate| String| State as a text. (readonly)|
|
| textualstate | String | State as a text. (readonly) |
|
||||||
|ready | Number | Shows if the mower is ready to mow (1=ready, 0=not ready, readonly)|
|
| ready | Number | Shows if the mower is ready to mow (1=ready, 0=not ready, readonly) |
|
||||||
|mowed | Dimmer | Cut grass in percent (readonly)|
|
| mowed | Dimmer | Cut grass in percent (readonly) |
|
||||||
|
|
||||||
For example you can use this sitemap entry to control the mower manually:
|
For example you can use this sitemap entry to control the mower manually:
|
||||||
|
|
||||||
|
@ -84,7 +82,3 @@ You can use this as .map file
|
||||||
775=Returning to dock - Lawn complete
|
775=Returning to dock - Lawn complete
|
||||||
776=Returning to dock - Relocalising
|
776=Returning to dock - Relocalising
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,15 +16,14 @@ install: auto
|
||||||
# Chromecast Binding
|
# Chromecast Binding
|
||||||
|
|
||||||
The binding integrates Google Chromecast streaming devices.
|
The binding integrates Google Chromecast streaming devices.
|
||||||
|
|
||||||
It not only acts as a typical binding, but also registers each Chromecast device as an audio sink that can be used for playback.
|
It not only acts as a typical binding, but also registers each Chromecast device as an audio sink that can be used for playback.
|
||||||
|
|
||||||
In order play audio streams that are served from the runtime, the binding needs to know the url to access. This can be configured on the binding level:
|
In order play audio streams that are served from the runtime, the binding needs to know the url to access.
|
||||||
|
This can be configured on the binding level:
|
||||||
| Configuration Parameter | Type | Description |
|
|
||||||
|-------------|--------|-----------------------------|
|
|
||||||
| callbackUrl | text | optional Callback URL - url to use for playing notification sounds, e.g. http://192.168.0.2:8080 |
|
|
||||||
|
|
||||||
|
| Configuration Parameter | Type | Description |
|
||||||
|
|-------------------------|------|----------------------------------------------------------------------------------------------------|
|
||||||
|
| callbackUrl | text | optional Callback URL - url to use for playing notification sounds, e.g. <http://192.168.0.2:8080> |
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
|
@ -37,15 +36,17 @@ No authentication is required for accessing the devices on the network.
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
Chromecast devices can also be manually added. The only configuration parameter is the `ipAddress`.
|
Chromecast devices can also be manually added.
|
||||||
|
The only configuration parameter is the `ipAddress`.
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description |
|
| Channel Type ID | Item Type | Description |
|
||||||
|-------------|--------|-----------------------------|
|
|-----------------|-----------|-----------------------------------------------------------------------------------------------------------------------------|
|
||||||
| control | Player | Player control; currently only supports play/pause and does not correctly update, if the state changes on the device itself |
|
| control | Player | Player control; currently only supports play/pause and does not correctly update, if the state changes on the device itself |
|
||||||
| volume | Dimmer | Control the volume, this is also updated if the volume is changed by another app |
|
| volume | Dimmer | Control the volume, this is also updated if the volume is changed by another app |
|
||||||
| playuri | String | Can be used to tell the Chromecast to play media from a given url |
|
| playuri | String | Can be used to tell the Chromecast to play media from a given url |
|
||||||
|
|
||||||
|
|
||||||
## Full Example
|
## Full Example
|
||||||
|
|
||||||
|
|
|
@ -14,45 +14,46 @@ install: auto
|
||||||
|
|
||||||
# Cm11a (X10 controller) Binding
|
# Cm11a (X10 controller) Binding
|
||||||
|
|
||||||
The cm11a is a serial computer interface that allows a computer to control attached X10 modules.
|
The cm11a is a serial computer interface that allows a computer to control attached X10 modules.
|
||||||
|
|
||||||
## Hardware - cm11a
|
## Hardware - cm11a
|
||||||
|
|
||||||
The cm11a is an older device that communicates over a serial interface.
|
The cm11a is an older device that communicates over a serial interface.
|
||||||
Most people connect it to a computer using a serial to USB adapter.
|
Most people connect it to a computer using a serial to USB adapter.
|
||||||
This binding has been tested with serial port and a serial to USB adapter.
|
This binding has been tested with serial port and a serial to USB adapter.
|
||||||
|
|
||||||
X10 (and thus the cm11a) supports two types of modules.
|
X10 (and thus the cm11a) supports two types of modules.
|
||||||
The Switch (also called Appliance) module supports being turned on and off. The Lamp module supports on, off, dim and bright.
|
The Switch (also called Appliance) module supports being turned on and off.
|
||||||
|
The Lamp module supports on, off, dim and bright.
|
||||||
|
|
||||||
In addition to controlling X10 modules the cm11a listens on the powerline and reports to the computer changes made to X10 modules via other controllers.
|
In addition to controlling X10 modules the cm11a listens on the powerline and reports to the computer changes made to X10 modules via other controllers.
|
||||||
|
|
||||||
### Use of serial port
|
### Use of serial port
|
||||||
|
|
||||||
The binding opens the serial port when it starts and keeps it open until the binding is terminated.
|
The binding opens the serial port when it starts and keeps it open until the binding is terminated.
|
||||||
If the serial port is disconnected a reconnect will be attempted the next time it is needed.
|
If the serial port is disconnected a reconnect will be attempted the next time it is needed.
|
||||||
Therefore, other applications should not attempt to use the port when OpneHAB is running.
|
Therefore, other applications should not attempt to use the port when OpneHAB is running.
|
||||||
However, another program could load macros into the cm11a before openHAB starts.
|
However, another program could load macros into the cm11a before openHAB starts.
|
||||||
|
|
||||||
### cm11a macros
|
### cm11a macros
|
||||||
|
|
||||||
The cm11a is also able to store a schedule and control modules based on that schedule.
|
The cm11a is also able to store a schedule and control modules based on that schedule.
|
||||||
That functionality in not currently supported by or used by this binding.
|
That functionality in not currently supported by or used by this binding.
|
||||||
This binding doesn't clear macros from the cm11a so other programs could load macros before openHAB is started.
|
This binding doesn't clear macros from the cm11a so other programs could load macros before openHAB is started.
|
||||||
If you want to do scheduling using openHAB you should be sure there are no macros in the cm11a.
|
If you want to do scheduling using openHAB you should be sure there are no macros in the cm11a.
|
||||||
The `heyu clear` command can be used for this purpose.
|
The `heyu clear` command can be used for this purpose.
|
||||||
|
|
||||||
### X10 powerline monitoring
|
### X10 powerline monitoring
|
||||||
|
|
||||||
The cm11a has the ability to capture x10 messages on the powerline.
|
The cm11a has the ability to capture x10 messages on the powerline.
|
||||||
This binding captures those messages, decodes them and updates the item state.
|
This binding captures those messages, decodes them and updates the item state.
|
||||||
|
|
||||||
## Supported things
|
## Supported things
|
||||||
|
|
||||||
The binding currently supports the following thing types:
|
The binding currently supports the following thing types:
|
||||||
|
|
||||||
* switch - which supports on and off states
|
* switch - which supports on and off states
|
||||||
* dimmer - which can be dimmed in addition to turned on or off
|
* dimmer - which can be dimmed in addition to turned on or off
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
|
@ -72,12 +73,12 @@ Each attached thing must specify the `houseUnitCode` set in the device (i.e. A1)
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
| Thing | Channel Type ID | Item Type | Description |
|
| Thing | Channel Type ID | Item Type | Description |
|
||||||
| ----- | --------------- | --------- | ----------- |
|
|--------|-----------------|-----------|--------------------|
|
||||||
| switch | switchState | Switch | An On/Off switch |
|
| switch | switchState | Switch | An On/Off switch |
|
||||||
| dimmer | lightDimmer | Dimmer | A dimmable device |
|
| dimmer | lightDimmer | Dimmer | A dimmable device |
|
||||||
|
|
||||||
## Full example
|
**Example**
|
||||||
|
|
||||||
### Things
|
### Things
|
||||||
|
|
||||||
|
@ -94,13 +95,13 @@ Each attached thing must specify the `houseUnitCode` set in the device (i.e. A1)
|
||||||
|
|
||||||
## Known issues
|
## Known issues
|
||||||
|
|
||||||
1. When openHAB starts up it doesn't restore the last state of each module.
|
1. When openHAB starts up it doesn't restore the last state of each module.
|
||||||
And, the cm11a does not provide a discovery service. Therefore it assumes everything off.
|
And, the cm11a does not provide a discovery service. Therefore it assumes everything off.
|
||||||
2. The dimmer slider can get out of sync with the actual light because of the way X10 works.
|
2. The dimmer slider can get out of sync with the actual light because of the way X10 works.
|
||||||
On some switches if you turn them on they will go to full bright and some switches will return to the previous dim level.
|
On some switches if you turn them on they will go to full bright and some switches will return to the previous dim level.
|
||||||
|
|
||||||
## References
|
## References
|
||||||
|
|
||||||
1. [CM11A (X10) Protocol Document](http://wanderingsamurai.net/electronics/cm11a-x10-protocol-document)
|
1. [CM11A (X10) Protocol Document](http://wanderingsamurai.net/electronics/cm11a-x10-protocol-document)
|
||||||
2. [Heyu - control software for the cm11a](http://www.heyu.org/)
|
2. [Heyu - control software for the cm11a](http://www.heyu.org/)
|
||||||
3. cm11a Controllers are available for purchase from several sites on the internet.
|
3. cm11a Controllers are available for purchase from several sites on the internet
|
||||||
|
|
|
@ -23,9 +23,9 @@ The CoolMasterNet protocol does not support automatic discovery.
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
* `controller` is a openHAB "bridge", and represents a single CoolMasterNet device. A single controller supports one or more HVAC units.
|
* `controller` is a openHAB "bridge", and represents a single CoolMasterNet device. A single controller supports one or more HVAC units.
|
||||||
|
|
||||||
* `hvac` is an HVAC device connected to a controller. Each `hvac` thing is identified by a CoolMasterNet UID (refer to CoolMasterNet controller documentation).
|
* `hvac` is an HVAC device connected to a controller. Each `hvac` thing is identified by a CoolMasterNet UID (refer to CoolMasterNet controller documentation).
|
||||||
|
|
||||||
Example demo.things configuration for two HVAC devices connected to a CoolMasterNet device found at IP 192.168.0.100:
|
Example demo.things configuration for two HVAC devices connected to a CoolMasterNet device found at IP 192.168.0.100:
|
||||||
|
|
||||||
|
|
|
@ -33,16 +33,17 @@ The binding does not require any special configuration.
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
It is recommended to let the binding discover and add devices. Once added the configuration must be updated to specify the PIN code located on the back of the device.
|
It is recommended to let the binding discover and add devices.
|
||||||
|
Once added the configuration must be updated to specify the PIN code located on the back of the device.
|
||||||
|
|
||||||
### DCH-S150
|
### DCH-S150
|
||||||
|
|
||||||
* **ipAddress** - Hostname or IP of the device
|
* **ipAddress** - Hostname or IP of the device
|
||||||
* **pin** - PIN code from the back of the device
|
* **pin** - PIN code from the back of the device
|
||||||
|
|
||||||
To manually configure a DCH-S150 Thing you must specify its IP address and PIN code.
|
To manually configure a DCH-S150 Thing you must specify its IP address and PIN code.
|
||||||
|
|
||||||
In the thing file, this looks like e.g.
|
In the Thing file, this looks like e.g.
|
||||||
|
|
||||||
```
|
```
|
||||||
Thing dlinksmarthome:DCH-S150:mysensor [ ipAddress="192.168.2.132" pin="1234" ]
|
Thing dlinksmarthome:DCH-S150:mysensor [ ipAddress="192.168.2.132" pin="1234" ]
|
||||||
|
@ -52,7 +53,7 @@ In the thing file, this looks like e.g.
|
||||||
|
|
||||||
### DCH-S150
|
### DCH-S150
|
||||||
|
|
||||||
* **motion** - Triggered when the sensor detects motion.
|
* **motion** - Triggered when the sensor detects motion.
|
||||||
|
|
||||||
## Example usage
|
## Example usage
|
||||||
|
|
||||||
|
|
|
@ -17,11 +17,12 @@ install: auto
|
||||||
|
|
||||||
The DSC PowerSeries Alarm System is a popular do-it-yourself home security system, which can be monitored and controlled remotely through a standard web-browser or mobile device.
|
The DSC PowerSeries Alarm System is a popular do-it-yourself home security system, which can be monitored and controlled remotely through a standard web-browser or mobile device.
|
||||||
|
|
||||||
This is the binding for the DSC PowerSeries Alarm System, utilizing either the EyezOn Envisalink 4/3/2DS interface or the DSC IT-100 RS-232 interface. It provides connectivity to the DSC Alarm panel via a TCP socket connection to the EyesOn Envisalink 4/3/2DS interface or a RS-232 serial connection to the DSC IT-100 interface. Additionally, their is provision to connect to the DSC IT-100 interface through a TCP serial server.
|
This is the binding for the DSC PowerSeries Alarm System, utilizing either the EyezOn Envisalink 4/3/2DS interface or the DSC IT-100 RS-232 interface.
|
||||||
|
It provides connectivity to the DSC Alarm panel via a TCP socket connection to the EyesOn Envisalink 4/3/2DS interface or a RS-232 serial connection to the DSC IT-100 interface. Additionally, their is provision to connect to the DSC IT-100 interface through a TCP serial server.
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
This binding supports the following thing types
|
This binding supports the following Thing types
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><b>Thing</b></td><td><b>Thing Type</b></td><td><b>Description</b></td></tr>
|
<tr><td><b>Thing</b></td><td><b>Thing Type</b></td><td><b>Description</b></td></tr>
|
||||||
|
@ -36,11 +37,14 @@ This binding supports the following thing types
|
||||||
|
|
||||||
## Binding Configuration
|
## Binding Configuration
|
||||||
|
|
||||||
There are essentially no overall binding configuration settings that need to be set. Most settings are through thing configuration parameters.
|
There are essentially no overall binding configuration settings that need to be set.
|
||||||
|
Most settings are through thing configuration parameters.
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
The DSC Alarm binding incorporates several discovery modes in order to find DSC Alarm systems. First, there is the Envisalink bridge discovery mode which performs a network query for any Envisalink adapters and adds them to the discovery inbox. Second, there is The IT-100 bridge discovery mode which will search serial ports for any IT-100 adapters and add them to the discovery inbox. The bridge discovery modes are started manually through PaperUI. Third, after a bridge is discovered and available to openHAB, the binding will attempt to discover DSC Alarm things and add them to the discovery inbox. The TCP Server bridge does not implement bridge discovery but will utilize thing discovery once it is online.
|
The DSC Alarm binding incorporates several discovery modes in order to find DSC Alarm systems. First, there is the Envisalink bridge discovery mode which performs a network query for any Envisalink adapters and adds them to the discovery inbox.
|
||||||
|
Second, there is The IT-100 bridge discovery mode which will search serial ports for any IT-100 adapters and add them to the discovery inbox.
|
||||||
|
The bridge discovery modes are started manually through PaperUI. Third, after a bridge is discovered and available to openHAB, the binding will attempt to discover DSC Alarm things and add them to the discovery inbox. The TCP Server bridge does not implement bridge discovery but will utilize thing discovery once it is online.
|
||||||
|
|
||||||
Note: The Envisalink Bridge discovery does a TCP scan across your local network to find the interface. This may create issues on the network so it is suggested that caution be used when trying this discovery. The recommended method would be to manually add and configure the bridge through the 'dscalarm.thing' file or the PaperUI. And then allow the binding to discover the DSC Alarm things.
|
Note: The Envisalink Bridge discovery does a TCP scan across your local network to find the interface. This may create issues on the network so it is suggested that caution be used when trying this discovery. The recommended method would be to manually add and configure the bridge through the 'dscalarm.thing' file or the PaperUI. And then allow the binding to discover the DSC Alarm things.
|
||||||
|
|
||||||
|
@ -51,7 +55,7 @@ Note: The Envisalink Bridge discovery does a TCP scan across your local network
|
||||||
DSC Alarm things can be configured either through the online configuration utility via discovery, or manually through the 'dscalarm.things' configuration file. The following table shows the available configuration parameters for each thing.
|
DSC Alarm things can be configured either through the online configuration utility via discovery, or manually through the 'dscalarm.things' configuration file. The following table shows the available configuration parameters for each thing.
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><b>Thing</b></td><td><b>Configuration Parameters</b></td></tr>
|
<tr><td><b>Thing</b></td><td><b>Configuration Parameters</b></td></tr>
|
||||||
<tr><td>envisalink</td><td><table><tr><td><b>ipAddress</b> - IP address for the Envisalink adapter - Required.</td></tr><tr><td><b>port</b> - TCP port for the Envisalink adapter - Not Required - default = 4025.</td></tr><tr><td><b>password</b> - Password to login to the Envisalink bridge - Not Required.</td></tr><tr><td><b>connectionTimeout</b> - TCP socket connection timeout in milliseconds - Not Required - default=5000.<br/></td></tr><tr><td><b>pollPeriod</b> - Period of time in minutes between the poll command being sent to the Envisalink bridge - Not Required - default=1.</td></tr></table></td></tr>
|
<tr><td>envisalink</td><td><table><tr><td><b>ipAddress</b> - IP address for the Envisalink adapter - Required.</td></tr><tr><td><b>port</b> - TCP port for the Envisalink adapter - Not Required - default = 4025.</td></tr><tr><td><b>password</b> - Password to login to the Envisalink bridge - Not Required.</td></tr><tr><td><b>connectionTimeout</b> - TCP socket connection timeout in milliseconds - Not Required - default=5000.<br/></td></tr><tr><td><b>pollPeriod</b> - Period of time in minutes between the poll command being sent to the Envisalink bridge - Not Required - default=1.</td></tr></table></td></tr>
|
||||||
<tr><td>it100</td><td><table><tr><td><b>serialPort</b> - Serial port for the IT-100s bridge - Required.</td></tr><tr><td><b>baud</b> - Baud rate of the IT-100 bridge - Not Required - default = 9600.</td></tr><tr><td><b>pollPeriod</b> - Period of time in minutes between the poll command being sent to the IT-100 bridge - Not Required - default=1.</td></tr></table></td></tr>
|
<tr><td>it100</td><td><table><tr><td><b>serialPort</b> - Serial port for the IT-100s bridge - Required.</td></tr><tr><td><b>baud</b> - Baud rate of the IT-100 bridge - Not Required - default = 9600.</td></tr><tr><td><b>pollPeriod</b> - Period of time in minutes between the poll command being sent to the IT-100 bridge - Not Required - default=1.</td></tr></table></td></tr>
|
||||||
<tr><td>tcpserver</td><td><table><tr><td><b>ipAddress</b> - IP address for the TCP Server - Required.</td></tr><tr><td><b>port</b> - TCP port for the TCP Server - Required.</td></tr><tr><td><b>connectionTimeout</b> - TCP socket connection timeout in milliseconds - Not Required - default=5000.<br/></td></tr><tr><td><b>pollPeriod</b> - Period of time in minutes between the poll command being sent to the TCP Server bridge - Not Required - default=1.</td></tr><tr><td><b>protocol</b> - The protocol used to interact with the DSC Alarm. Valid values are 1 for IT100 API or 2 for Envisalink TPI. The default is 1. - Not Required.</td></tr></table></td></tr>
|
<tr><td>tcpserver</td><td><table><tr><td><b>ipAddress</b> - IP address for the TCP Server - Required.</td></tr><tr><td><b>port</b> - TCP port for the TCP Server - Required.</td></tr><tr><td><b>connectionTimeout</b> - TCP socket connection timeout in milliseconds - Not Required - default=5000.<br/></td></tr><tr><td><b>pollPeriod</b> - Period of time in minutes between the poll command being sent to the TCP Server bridge - Not Required - default=1.</td></tr><tr><td><b>protocol</b> - The protocol used to interact with the DSC Alarm. Valid values are 1 for IT100 API or 2 for Envisalink TPI. The default is 1. - Not Required.</td></tr></table></td></tr>
|
||||||
|
@ -183,7 +187,7 @@ DSC Alarm things support a variety of channels as seen below in the following ta
|
||||||
<tr><td>keypad_lcd_cursor</td><td>String</td><td>LCD Cursor Position for The IT-100</td></tr>
|
<tr><td>keypad_lcd_cursor</td><td>String</td><td>LCD Cursor Position for The IT-100</td></tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
## Full Example
|
##Example
|
||||||
|
|
||||||
The following is an example of an item file (dscalarm.items):
|
The following is an example of an item file (dscalarm.items):
|
||||||
|
|
||||||
|
@ -408,9 +412,9 @@ Here is an example sitemap:
|
||||||
Switch item=PANEL_TIME_STAMP label="Panel Time Stamp"
|
Switch item=PANEL_TIME_STAMP label="Panel Time Stamp"
|
||||||
Switch item=PANEL_TIME_BROADCAST label="Panel Time Broadcast"
|
Switch item=PANEL_TIME_BROADCAST label="Panel Time Broadcast"
|
||||||
}
|
}
|
||||||
|
|
||||||
Text item=PANEL_SYSTEM_ERROR
|
Text item=PANEL_SYSTEM_ERROR
|
||||||
|
|
||||||
Text item=PANEL_TROUBLE_LED label="Panel Trouble Condition" {
|
Text item=PANEL_TROUBLE_LED label="Panel Trouble Condition" {
|
||||||
Text item=PANEL_TROUBLE_MESSAGE
|
Text item=PANEL_TROUBLE_MESSAGE
|
||||||
Text item=PANEL_SERVICE_REQUIRED label="Service Required"
|
Text item=PANEL_SERVICE_REQUIRED label="Service Required"
|
||||||
|
@ -593,11 +597,11 @@ Here is an example sitemap:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Group item=DSCAlarmDoorWindow label="Door/Window Sensors"
|
Group item=DSCAlarmDoorWindow label="Door/Window Sensors"
|
||||||
Group item=DSCAlarmMotion label="Motion Sensors"
|
Group item=DSCAlarmMotion label="Motion Sensors"
|
||||||
Group item=DSCAlarmSmoke label="Smoke Detectors"
|
Group item=DSCAlarmSmoke label="Smoke Detectors"
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -622,4 +626,6 @@ then
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
Notice the command variations in the examples. If a command has data, there needs to be a comma between the command and the data as seen above in the first example. If there is no data then it would only require the command itself as in the second example.
|
Notice the command variations in the examples.
|
||||||
|
If a command has data, there needs to be a comma between the command and the data as seen above in the first example.
|
||||||
|
If there is no data then it would only require the command itself as in the second example.
|
||||||
|
|
|
@ -24,16 +24,18 @@ Currently, the binding supports a single type of Thing, being the ```command```
|
||||||
|
|
||||||
The binding does not require any specific configuration.
|
The binding does not require any specific configuration.
|
||||||
|
|
||||||
Note that the commands are executed in the context and with the privileges of the process running the java virtual machine. It is not advised to run the virtual machine as superuser/root.
|
Note that the commands are executed in the context and with the privileges of the process running the java virtual machine.
|
||||||
|
It is not advised to run the virtual machine as superuser/root.
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
The `command` Thing requires the command to execute on the shell. Optionally one can specify:
|
The `command` Thing requires the command to execute on the shell.
|
||||||
|
Optionally one can specify:
|
||||||
|
|
||||||
- a transformation to apply on the execution result,
|
- a transformation to apply on the execution result,
|
||||||
- an interval, in seconds, the command will be repeatedly executed,
|
- an interval, in seconds, the command will be repeatedly executed,
|
||||||
- a time-out, in seconds, the execution of the command will time out, and lastly,
|
- a time-out, in seconds, the execution of the command will time out, and lastly,
|
||||||
- a boolean parameter to make the command execute immediately every time the state of the input channel has changed.
|
- a boolean parameter to make the command execute immediately every time the state of the input channel has changed.
|
||||||
|
|
||||||
For each command a separate Thing has to be defined.
|
For each command a separate Thing has to be defined.
|
||||||
|
|
||||||
|
@ -41,25 +43,26 @@ For each command a separate Thing has to be defined.
|
||||||
Thing exec:command:apc [command="/usr/local/bin/apcaccess status", interval=15, timeout=5, autorun=false]
|
Thing exec:command:apc [command="/usr/local/bin/apcaccess status", interval=15, timeout=5, autorun=false]
|
||||||
```
|
```
|
||||||
|
|
||||||
```command``` itself can be enhanced using the well known syntax of the **java.util.Formatter** class.
|
`command` itself can be enhanced using the well known syntax of the **java.util.Formatter** class.
|
||||||
The following parameters are automatically added:
|
The following parameters are automatically added:
|
||||||
|
|
||||||
- the current date (as java.util.Date, example: `%1$tY-%1$tm-%1$td`)
|
- the current date (as java.util.Date, example: `%1$tY-%1$tm-%1$td`)
|
||||||
- the current State of the input channel (see below, example: `%2$s`)
|
- the current State of the input channel (see below, example: `%2$s`)
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
All Things support the following channels:
|
All Things support the following channels:
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description |
|
| Channel Type ID | Item Type | Description |
|
||||||
|-----------------|------------------------|--------------|----------------- |------------- |
|
|-----------------|-----------|-----------------------------------------------------------------------------------------|
|
||||||
| input | String | Input parameter to provide to the command |
|
| input | String | Input parameter to provide to the command |
|
||||||
| output | String | Output of the last execution of the command |
|
| output | String | Output of the last execution of the command |
|
||||||
| exit | Number | The exit value of the last execution of the command |
|
| exit | Number | The exit value of the last execution of the command |
|
||||||
| run | Switch | Send ON to execute the command and the current state tells whether it is running or not |
|
| run | Switch | Send ON to execute the command and the current state tells whether it is running or not |
|
||||||
| lastexecution | DateTime | Time/Date the command was last executed, in yyyy-MM-dd'T'HH:mm:ss.SSSZ format |
|
| lastexecution | DateTime | Time/Date the command was last executed, in yyyy-MM-dd'T'HH:mm:ss.SSSZ format |
|
||||||
|
|
||||||
## Full Example
|
|
||||||
|
**Example**
|
||||||
|
|
||||||
**demo.things**
|
**demo.things**
|
||||||
|
|
||||||
|
@ -71,7 +74,7 @@ Thing exec:command:myscript [command="php ./configurations/scripts/script.php %2
|
||||||
**demo.items**
|
**demo.items**
|
||||||
|
|
||||||
```
|
```
|
||||||
String APCRaw "[%s]" (All) {channel="exec:command:apc:output"}
|
String APCRaw "[%s]" (All) {channel="exec:command:apc:output"}
|
||||||
Switch APCRunning { channel="exec:command:apc:run"}
|
Switch APCRunning { channel="exec:command:apc:run"}
|
||||||
Number APCExitValue {channel="exec:command:apc:exit"}
|
Number APCExitValue {channel="exec:command:apc:exit"}
|
||||||
DateTime APCLastExecution {channel="exec:command:apc:lastexecution"}
|
DateTime APCLastExecution {channel="exec:command:apc:lastexecution"}
|
||||||
|
|
|
@ -34,14 +34,14 @@ No binding configuration required.
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
* Required configuration:
|
Required configuration:
|
||||||
|
|
||||||
* **URL** - the URL of the feed (e.g http://example.com/path/file). The binding uses this URL to download data.
|
* **URL** - the URL of the feed (e.g <http://example.com/path/file>). The binding uses this URL to download data
|
||||||
|
|
||||||
* Optional configuration:
|
Optional configuration:
|
||||||
|
|
||||||
|
* **refresh** - a refresh interval defines after how many minutes the binding will check, if new content is available. Default value is 20 minutes
|
||||||
|
|
||||||
* **refresh** - a refresh interval defines after how many minutes the binding will check, if new content is available. Default value is 20 minutes.
|
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
The binding supports following channels
|
The binding supports following channels
|
||||||
|
@ -57,13 +57,13 @@ The binding supports following channels
|
||||||
| last-update | DateTime | The last update date of the feed |
|
| last-update | DateTime | The last update date of the feed |
|
||||||
| number-of-entries | Number | Number of entries in the feed |
|
| number-of-entries | Number | Number of entries in the feed |
|
||||||
|
|
||||||
## Full Example
|
**Example**
|
||||||
|
|
||||||
Things:
|
Things:
|
||||||
|
|
||||||
```
|
```
|
||||||
feed:feed:bbc [ URL="http://feeds.bbci.co.uk/news/video_and_audio/news_front_page/rss.xml?edition=uk"]
|
feed:feed:bbc [ URL="http://feeds.bbci.co.uk/news/video_and_audio/news_front_page/rss.xml?edition=uk"]
|
||||||
feed:feed:techCrunch [ URL="http://feeds.feedburner.com/TechCrunch/", refresh=60]
|
feed:feed:techCrunch [ URL="http://feeds.feedburner.com/TechCrunch/", refresh=60]
|
||||||
```
|
```
|
||||||
|
|
||||||
Items:
|
Items:
|
||||||
|
|
|
@ -0,0 +1,113 @@
|
||||||
|
---
|
||||||
|
id: feican
|
||||||
|
label: Feican
|
||||||
|
title: Feican - Bindings
|
||||||
|
type: binding
|
||||||
|
description: "This binding adds support for the Feican Wi-Fi version of the smart light led Bulb, the WiFi RGBW Bulb."
|
||||||
|
since: 2x
|
||||||
|
install: auto
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
|
||||||
|
|
||||||
|
{% include base.html %}
|
||||||
|
|
||||||
|
# Feican Binding
|
||||||
|
|
||||||
|
This binding adds support for the Feican Wi-Fi version of the smart light led Bulb, the WiFi RGBW Bulb.
|
||||||
|
|
||||||
|
With this binding the light bulb can be switched on or off, set the color or set color based on color temperature.
|
||||||
|
Set the brightness. And it contains a set of preset programs, where for some the program speed can be set.
|
||||||
|
|
||||||
|
## Supported Things
|
||||||
|
|
||||||
|
This binding supports the Feican smart smart light led Bulb, WiFi RGBW Bulb. This bulb supports color, color temperature,
|
||||||
|
brightness. It also has a number of preset programs, with static color, jumping color(s), gradient color(s) and flashing
|
||||||
|
color(s). With the program_speed the speed of some of the programs can be set.
|
||||||
|
|
||||||
|
It might be the Feican ledstrips also work as it seems they can be controlled with the same app. But this has not been tested.
|
||||||
|
|
||||||
|
### Limitations
|
||||||
|
|
||||||
|
It's not possible to get the state of the bulb from the bulb itself. Therefore the state visible to the user only reflects
|
||||||
|
what was set in openHAB and may not correspond with the actual state.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
Before using the Feican bulb with openHab the devices must be connected to the Wi-Fi network. This can be done using the
|
||||||
|
Feican Android or iPhone DreamColor app.
|
||||||
|
|
||||||
|
## Discovery
|
||||||
|
|
||||||
|
Devices can be auto discovered within the local network. It's possible to connect to devices in a different network,
|
||||||
|
but these must be added manually.
|
||||||
|
|
||||||
|
|
||||||
|
## Thing Configuration
|
||||||
|
|
||||||
|
The thing has a one configuration parameter:
|
||||||
|
|
||||||
|
| Parameter | Description |
|
||||||
|
|-----------|------------------------------------------------------------------------- |
|
||||||
|
| ipAddress | IP Address of the device. Mandatory. |
|
||||||
|
|
||||||
|
## Channels
|
||||||
|
|
||||||
|
The following channels are available:
|
||||||
|
|
||||||
|
| Channel Type ID | Item Type | Description |
|
||||||
|
|-------------------|-----------|--------------------------------------------------------------------------------------------|
|
||||||
|
| color | Color | This channel supports switching, brightness and adjusting the color of a light. |
|
||||||
|
| color_temperature | Dimmer | This channel supports adjusting the color temperature from cold (0%) to warm (100%). |
|
||||||
|
| program | String | This channel supports setting the bulb to a static, jumping, gradient or flashing light. |
|
||||||
|
| program_speed | Dimmer | This channel supports adjusting speed of jump, gradient or flash programs |
|
||||||
|
|
||||||
|
The program channel supports the following values:
|
||||||
|
|
||||||
|
| Value | Description |
|
||||||
|
|-------|---------------------|
|
||||||
|
| 1 | Static red |
|
||||||
|
| 2 | Static blue |
|
||||||
|
| 3 | Static green |
|
||||||
|
| 4 | Static cyan |
|
||||||
|
| 5 | Static yellow |
|
||||||
|
| 6 | Static purple |
|
||||||
|
| 7 | Static white |
|
||||||
|
| 8 | Tricolor jump |
|
||||||
|
| 9 | 7-color jump |
|
||||||
|
| 10 | Tricolor gradient |
|
||||||
|
| 11 | 7-color gradient |
|
||||||
|
| 12 | Red gradient |
|
||||||
|
| 13 | Green gradient |
|
||||||
|
| 14 | Blue gradient |
|
||||||
|
| 15 | Yellow gradient |
|
||||||
|
| 16 | Cyan gradient |
|
||||||
|
| 17 | Purple gradient |
|
||||||
|
| 18 | White gradient |
|
||||||
|
| 19 | Red-Green gradient |
|
||||||
|
| 20 | Red-Blue gradient |
|
||||||
|
| 21 | Green-Blue gradient |
|
||||||
|
| 22 | 7-color flash |
|
||||||
|
| 23 | Red flash |
|
||||||
|
| 24 | Green flash |
|
||||||
|
| 25 | Blue flash |
|
||||||
|
| 26 | Yellow flash |
|
||||||
|
| 27 | Cyan flash |
|
||||||
|
| 28 | Purple flash |
|
||||||
|
| 29 | White flash |
|
||||||
|
|
||||||
|
## Full Example
|
||||||
|
|
||||||
|
### feican.things:
|
||||||
|
|
||||||
|
```
|
||||||
|
feican:bulb:home "Living Room" [ ipAddress="192.168.0.13" ]
|
||||||
|
```
|
||||||
|
|
||||||
|
### feican.items:
|
||||||
|
|
||||||
|
```
|
||||||
|
Switch FC_1_Switch "Switch" { channel="feican:bulb:home:color" }
|
||||||
|
Color FC_1_Color "Color" <slider> { channel="feican:bulb:home:color" }
|
||||||
|
Dimmer FC_1_Dimmer "Brightness [%d]" <slider> { channel="feican:bulb:home:color" }
|
||||||
|
```
|
|
@ -19,28 +19,31 @@ Binding for the [Folding@home](https://folding.stanford.edu/) distributed comput
|
||||||
software.
|
software.
|
||||||
|
|
||||||
This binding can control multiple Folding@home clients and slots, using the TCP
|
This binding can control multiple Folding@home clients and slots, using the TCP
|
||||||
interface. Clients are modeled as bridges, and support adding any number of slots
|
interface.
|
||||||
(though, usually CPU and GPU). The binding provides control over Run / Pause and
|
Clients are modeled as bridges, and support adding any number of slots
|
||||||
Finish. It polls for the status of the client, updates the run / pause state, and
|
(though, usually CPU and GPU).
|
||||||
provides a basic description of the slot.
|
The binding provides control over Run / Pause and Finish.
|
||||||
|
It polls for the status of the client, updates the run / pause state, and
|
||||||
|
provides a basic description of the slot.
|
||||||
|
|
||||||
The clients must be added manually in the Paper UI, but the slots for that
|
The clients must be added manually in the Paper UI, but the slots for that
|
||||||
client will then appear using auto-discovery.
|
client will then appear using auto-discovery.
|
||||||
|
|
||||||
## Requirements (network access to F@H)
|
## Requirements (network access to F@H)
|
||||||
|
|
||||||
The Folding@home TCP interface is enabled only on localhost by default, without
|
The Folding@home TCP interface is enabled only on localhost by default, without
|
||||||
a password. In order to allow control of Folding on other machines than the one
|
a password.
|
||||||
|
In order to allow control of Folding on other machines than the one
|
||||||
running openHAB, it is necessary to configure the Folding client to accept commands
|
running openHAB, it is necessary to configure the Folding client to accept commands
|
||||||
from a non-localhost address. Here is how to do it in the FAHControl application:
|
from a non-localhost address.
|
||||||
|
Here is how to do it in the FAHControl application:
|
||||||
|
|
||||||
* Open FAHControl on the client to be added
|
* Open FAHControl on the client to be added
|
||||||
* Click on Configure, then the Remote Access tab
|
* Click on Configure, then the Remote Access tab
|
||||||
* Enter a password twice (invent one)
|
* Enter a password twice (invent one)
|
||||||
* Locate the Allow box under IP Address Restrictions
|
* Locate the Allow box under IP Address Restrictions
|
||||||
* Append a space and the IP address of the machine running openHAB to the text
|
* Append a space and the IP address of the machine running openHAB to the text
|
||||||
in that box, so it reads something like `127.0.0.1 192.168.1.2`
|
in that box, so it reads something like `127.0.0.1 192.168.1.2`
|
||||||
|
|
||||||
You should now have access to the client, configure it using the password and
|
You should now have access to the client, configure it using the password and
|
||||||
IP address in the manual thing configuration interface.
|
IP address in the manual thing configuration interface.
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,8 @@ This binding supports the following thing types:
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
The Freebox Revolution server is discovered automatically through mDNS in the local network. After a Freebox Revolution is discovered and available to openHAB, the binding will automatically discover phone, network devices / interfaces and AirPlay devices with video capability in the local network. Note that the discovered thing will be setup to use only HTTP API (and not HTTPS) because only an IP can be automatically determined while a domain name is required to use HTTPS with a valid certificate.
|
The Freebox Revolution server is discovered automatically through mDNS in the local network. After a Freebox Revolution is discovered and available to openHAB, the binding will automatically discover phone, network devices / interfaces and AirPlay devices with video capability in the local network.
|
||||||
|
Note that the discovered thing will be setup to use only HTTP API (and not HTTPS) because only an IP can be automatically determined while a domain name is required to use HTTPS with a valid certificate.
|
||||||
|
|
||||||
## Binding configuration
|
## Binding configuration
|
||||||
|
|
||||||
|
@ -39,7 +40,7 @@ The binding has the following configuration options, which can be set for "bindi
|
||||||
|
|
||||||
| Parameter | Name | Description | Required |
|
| Parameter | Name | Description | Required |
|
||||||
|-------------|--------------|--------------------------------------------------------------------------|----------|
|
|-------------|--------------|--------------------------------------------------------------------------|----------|
|
||||||
| callbackUrl | Callback URL | URL to use for playing notification sounds, e.g. http://192.168.0.2:8080 | no |
|
| callbackUrl | Callback URL | URL to use for playing notification sounds, e.g. <http://192.168.0.2:8080> | no |
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
|
@ -47,39 +48,44 @@ The binding has the following configuration options, which can be set for "bindi
|
||||||
|
|
||||||
The _server_ bridge thing requires the following configuration parameters:
|
The _server_ bridge thing requires the following configuration parameters:
|
||||||
|
|
||||||
| Parameter Label | Parameter ID | Description | Required | Default |
|
| Parameter Label | Parameter ID | Description | Required | Default |
|
||||||
|--------------------------|-----------------|---------------------------------------------------------|----------|---------|
|
|-------------------------|-----------------|-----------------------------------------------------------------------------|----------|----------------------|
|
||||||
| Freebox Network Address | fqdn | The IP address / FQDN of the Freebox Server (can include port number).| false | mafreebox.freebox.fr |
|
| Freebox Network Address | fqdn | The IP address / FQDN of the Freebox Server (can include port number). | false | mafreebox.freebox.fr |
|
||||||
| Application token | appToken | Token generated by the Freebox Server. | false | |
|
| Application token | appToken | Token generated by the Freebox Server. | false | |
|
||||||
| Refresh Interval | refreshInterval | The refresh interval in seconds which is used to poll given Freebox Server.| false | 30 |
|
| Refresh Interval | refreshInterval | The refresh interval in seconds which is used to poll given Freebox Server. | false | 30 |
|
||||||
| Use only HTTP API | useOnlyHttp | Use HTTP API even if HTTPS is available. | false | false |
|
| Use only HTTP API | useOnlyHttp | Use HTTP API even if HTTPS is available. | false | false |
|
||||||
|
|
||||||
If the parameter _ipAddress_ is not set, the binding will use the default address used by Free to access your Freebox Server (mafreebox.freebox.fr). The bridge thing will initialize only if a valid application token (parameter _appToken_) is filled.
|
|
||||||
|
If the parameter _ipAddress_ is not set, the binding will use the default address used by Free to access your Freebox Server (mafreebox.freebox.fr).
|
||||||
|
The bridge thing will initialize only if a valid application token (parameter _appToken_) is filled.
|
||||||
|
|
||||||
### Phone
|
### Phone
|
||||||
|
|
||||||
The _phone_ thing requires the following configuration parameters:
|
The _phone_ thing requires the following configuration parameters:
|
||||||
|
|
||||||
| Parameter Label | Parameter ID | Description | Required | Default |
|
| Parameter Label | Parameter ID | Description | Required | Default |
|
||||||
|------------------------------|--------------------------|---------------------------------------|----------|---------|
|
|------------------------------|---------------------------|---------------------------------------------------------------------------------------------|----------|---------|
|
||||||
| Phone State Refresh Interval | refreshPhoneInterval | The refresh interval in seconds which is used to poll given Freebox Server for phone state.| false | 2 |
|
| Phone State Refresh Interval | refreshPhoneInterval | The refresh interval in seconds which is used to poll given Freebox Server for phone state. | false | 2 |
|
||||||
| Phone Calls Refresh Interval | refreshPhoneCallsInterval | The refresh interval in seconds which is used to poll given Freebox Server for phone calls.| false | 60 |
|
| Phone Calls Refresh Interval | refreshPhoneCallsInterval | The refresh interval in seconds which is used to poll given Freebox Server for phone calls. | false | 60 |
|
||||||
|
|
||||||
|
|
||||||
### Network device
|
### Network device
|
||||||
|
|
||||||
The _net_device_ thing requires the following configuration parameters:
|
The _net_device_ thing requires the following configuration parameters:
|
||||||
|
|
||||||
| Parameter Label | Parameter ID | Description | Required |
|
| Parameter Label | Parameter ID | Description | Required |
|
||||||
|------------------------------|--------------------------|--------------------------------------------------|----------|
|
|-----------------|--------------|----------------------------------------|----------|
|
||||||
| MAC Address | macAddress | The MAC address of the network device.| true | |
|
| MAC Address | macAddress | The MAC address of the network device. | true |
|
||||||
|
|
||||||
|
|
||||||
### Network interface
|
### Network interface
|
||||||
|
|
||||||
The _net_interface_ thing requires the following configuration parameters:
|
The _net_interface_ thing requires the following configuration parameters:
|
||||||
|
|
||||||
| Parameter Label | Parameter ID | Description | Required |
|
| Parameter Label | Parameter ID | Description | Required |
|
||||||
|------------------------------|--------------------------|----------------------------------------------------|----------|
|
|-----------------|--------------|-----------------------------------------------------|----------|
|
||||||
| IP Address | ipAddress | The IP address (v4 or v6) of the network interface.| true |
|
| IP Address | ipAddress | The IP address (v4 or v6) of the network interface. | true |
|
||||||
|
|
||||||
|
|
||||||
### AirPlay device
|
### AirPlay device
|
||||||
|
|
||||||
|
@ -93,7 +99,8 @@ The _airplay_ thing requires the following configuration parameters:
|
||||||
|
|
||||||
## HTTPS Access
|
## HTTPS Access
|
||||||
|
|
||||||
Each Freebox server is now automatically assigned a random domain name (in addition to mafreebox.freebox.fr that can be used inside the local network), and an associated TLS certificate to enable secure access to API. This certificate is also valid for the domain name mafreebox.freebox.fr too.
|
Each Freebox server is now automatically assigned a random domain name (in addition to mafreebox.freebox.fr that can be used inside the local network), and an associated TLS certificate to enable secure access to API.
|
||||||
|
This certificate is also valid for the domain name mafreebox.freebox.fr too.
|
||||||
You must validate the certificate chain, by using the following Freebox ECC Root CA and Freebox RSA Root CA:
|
You must validate the certificate chain, by using the following Freebox ECC Root CA and Freebox RSA Root CA:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -149,21 +156,20 @@ S27oDfFq04XSox7JM9HdTt2hLK96x1T7FpFrBTnALzb7vHv9MhXqAT90fPR/8A==
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
```
|
```
|
||||||
|
|
||||||
First copy and paste on your server running openHAB these two public certificates in 2 files named for example /freeboxECC.crt and /freeboxRSA.crt. Then you have to import these two certificate as trusted public certificate for your installed Java Runtime Environment. On Linux server, the command is:
|
First copy and paste on your server running openHAB these two public certificates in 2 files named for example /freeboxECC.crt and /freeboxRSA.crt.
|
||||||
|
Then you have to import these two certificate as trusted public certificate for your installed Java Runtime Environment.
|
||||||
|
On Linux server, the command is:
|
||||||
|
|
||||||
```
|
```
|
||||||
sudo keytool -import -trustcacerts -file /freeboxECC.crt -alias Freebox -keystore $JAVA_HOME/jre/lib/security/cacerts
|
sudo keytool -import -trustcacerts -file /freeboxECC.crt -alias Freebox -keystore $JAVA_HOME/jre/lib/security/cacerts
|
||||||
sudo keytool -import -trustcacerts -file /freeboxRSA.crt -alias Freebox -keystore $JAVA_HOME/jre/lib/security/cacerts
|
sudo keytool -import -trustcacerts -file /freeboxRSA.crt -alias Freebox -keystore $JAVA_HOME/jre/lib/security/cacerts
|
||||||
sudo rm /freeboxECC.crt /freeboxRSA.crt
|
sudo rm /freeboxECC.crt /freeboxRSA.crt
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Authentication
|
## Authentication
|
||||||
|
|
||||||
You'll have to authorise openHAB to connect to your Freebox. Here is the process described :
|
You'll have to authorize openHAB to connect to your Freebox. Here is the process described :
|
||||||
|
|
||||||
**Step 1** At binding startup, if no token is recorded in the Freebox Server (bridge) configuration, the following message
|
**Step 1** At binding startup, if no token is recorded in the Freebox Server (bridge) configuration, the following message will be displayed in the OSGi console :
|
||||||
will be displayed in the OSGi console :
|
|
||||||
|
|
||||||
```
|
```
|
||||||
####################################################################
|
####################################################################
|
||||||
|
@ -185,61 +191,62 @@ Once initialized, the thing will generate all available channels.
|
||||||
|
|
||||||
The following channels are supported:
|
The following channels are supported:
|
||||||
|
|
||||||
| Thing | Channel Type ID | Item Type | Access Mode | Description |
|
| Thing | Channel Type ID | Item Type | Access Mode | Description |
|
||||||
|---------------|--------------------------|--------------|--------|------------------------------------------------------|
|
|---------------|--------------------------|-----------|-------------|---------------------------------------------------------------------------------|
|
||||||
| server | fwversion | String | R | Version of the Freebox Server firmware |
|
| server | fwversion | String | R | Version of the Freebox Server firmware |
|
||||||
| server | uptime | Number | R | Time since last reboot of the Freebox Server |
|
| server | uptime | Number | R | Time since last reboot of the Freebox Server |
|
||||||
| server | restarted | Switch | R | Indicates whether the Freebox server hase restarted during the last poll period |
|
| server | restarted | Switch | R | Indicates whether the Freebox server hase restarted during the last poll period |
|
||||||
| server | tempcpum | Number | R | Actual measured CPU Marvell temperature |
|
| server | tempcpum | Number | R | Actual measured CPU Marvell temperature |
|
||||||
| server | tempcpub | Number | R | Actual measured CPU Broadcom (xDSL) temperature |
|
| server | tempcpub | Number | R | Actual measured CPU Broadcom (xDSL) temperature |
|
||||||
| server | tempswitch | Number | R | Actual measured switch temperature |
|
| server | tempswitch | Number | R | Actual measured switch temperature |
|
||||||
| server | fanspeed | Number | R | Actual measured fan speed (rpm) |
|
| server | fanspeed | Number | R | Actual measured fan speed (rpm) |
|
||||||
| server | reboot | Switch | W | Reboots the Freebox server |
|
| server | reboot | Switch | W | Reboots the Freebox server |
|
||||||
| server | lcd_brightness | Number | RW | Brightness level of the screen in percent |
|
| server | lcd_brightness | Number | RW | Brightness level of the screen in percent |
|
||||||
| server | lcd_orientation | Number | RW | Screen Orientation in degrees (0 or 90 or 180 or 270) |
|
| server | lcd_orientation | Number | RW | Screen Orientation in degrees (0 or 90 or 180 or 270) |
|
||||||
| server | lcd_forced | Switch | RW | Indicates whether the screen orientation forced |
|
| server | lcd_forced | Switch | RW | Indicates whether the screen orientation forced |
|
||||||
| server | wifi_status | Switch | RW | Indicates whether the WiFi network is enabled |
|
| server | wifi_status | Switch | RW | Indicates whether the WiFi network is enabled |
|
||||||
| server | ftp_status | Switch | RW | Indicates whether the FTP server is enabled |
|
| server | ftp_status | Switch | RW | Indicates whether the FTP server is enabled |
|
||||||
| server | airmedia_status | Switch | RW | Indicates whether Air Media is enabled |
|
| server | airmedia_status | Switch | RW | Indicates whether Air Media is enabled |
|
||||||
| server | upnpav_status | Switch | RW | Indicates whether UPnP AV is enabled |
|
| server | upnpav_status | Switch | RW | Indicates whether UPnP AV is enabled |
|
||||||
| server | sambafileshare_status | Switch | RW | Indicates whether Window File Sharing is enabled |
|
| server | sambafileshare_status | Switch | RW | Indicates whether Window File Sharing is enabled |
|
||||||
| server | sambaprintershare_status | Switch | RW | Indicates whether Window Printer Sharing is enabled |
|
| server | sambaprintershare_status | Switch | RW | Indicates whether Window Printer Sharing is enabled |
|
||||||
| server | xdsl_status | String | R | Status of the xDSL line |
|
| server | xdsl_status | String | R | Status of the xDSL line |
|
||||||
| server | line_status | String | R | Status of network line connexion |
|
| server | line_status | String | R | Status of network line connexion |
|
||||||
| server | ipv4 | String | R | Public IP Address of the Freebox Server |
|
| server | ipv4 | String | R | Public IP Address of the Freebox Server |
|
||||||
| server | rate_up | Number | R | Current upload rate in byte/s |
|
| server | rate_up | Number | R | Current upload rate in byte/s |
|
||||||
| server | rate_down | Number | R | Current download rate in byte/s |
|
| server | rate_down | Number | R | Current download rate in byte/s |
|
||||||
| server | bytes_up | Number | R | Total uploaded bytes since last connection |
|
| server | bytes_up | Number | R | Total uploaded bytes since last connection |
|
||||||
| server | bytes_down | Number | R | Total downloaded bytes since last connection |
|
| server | bytes_down | Number | R | Total downloaded bytes since last connection |
|
||||||
| phone | state#onhook | Switch | R | Indicates whether the phone is on hook |
|
| phone | state#onhook | Switch | R | Indicates whether the phone is on hook |
|
||||||
| phone | state#ringing | Switch | R | Is the phone ringing |
|
| phone | state#ringing | Switch | R | Is the phone ringing |
|
||||||
| phone | any#call_number | String | R | Last call: number |
|
| phone | any#call_number | String | R | Last call: number |
|
||||||
| phone | any#call_duration | Number | R | Last call: duration in seconds |
|
| phone | any#call_duration | Number | R | Last call: duration in seconds |
|
||||||
| phone | any#call_timestamp | DateTime | R | Last call: creation timestamp |
|
| phone | any#call_timestamp | DateTime | R | Last call: creation timestamp |
|
||||||
| phone | any#call_status | String | R | Last call: type (ingoing, outgoing, missed) |
|
| phone | any#call_status | String | R | Last call: type (ingoing, outgoing, missed) |
|
||||||
| phone | any#call_name | String | R | Last call: called name for outgoing calls. Caller name for incoming calls |
|
| phone | any#call_name | String | R | Last call: called name for outgoing calls. Caller name for incoming calls |
|
||||||
| phone | accepted#call_number | String | R | Last accepted call: number |
|
| phone | accepted#call_number | String | R | Last accepted call: number |
|
||||||
| phone | accepted#call_duration | Number | R | Last accepted call: duration in seconds |
|
| phone | accepted#call_duration | Number | R | Last accepted call: duration in seconds |
|
||||||
| phone | accepted#call_timestamp | DateTime | R | Last accepted call: creation timestamp |
|
| phone | accepted#call_timestamp | DateTime | R | Last accepted call: creation timestamp |
|
||||||
| phone | accepted#call_name | String | R | Last accepted call: caller name |
|
| phone | accepted#call_name | String | R | Last accepted call: caller name |
|
||||||
| phone | missed#call_number | String | R | Last missed call: number |
|
| phone | missed#call_number | String | R | Last missed call: number |
|
||||||
| phone | missed#call_duration | Number | R | Last missed call: duration in seconds |
|
| phone | missed#call_duration | Number | R | Last missed call: duration in seconds |
|
||||||
| phone | missed#call_timestamp | DateTime | R | Last missed call: creation timestamp |
|
| phone | missed#call_timestamp | DateTime | R | Last missed call: creation timestamp |
|
||||||
| phone | missed#call_name | String | R | Last missed call: caller name |
|
| phone | missed#call_name | String | R | Last missed call: caller name |
|
||||||
| phone | outgoing#call_number | String | R | Last outgoing call: number |
|
| phone | outgoing#call_number | String | R | Last outgoing call: number |
|
||||||
| phone | outgoing#call_duration | Number | R | Last outgoing call: duration in seconds |
|
| phone | outgoing#call_duration | Number | R | Last outgoing call: duration in seconds |
|
||||||
| phone | outgoing#call_timestamp | DateTime | R | Last outgoing call: creation timestamp |
|
| phone | outgoing#call_timestamp | DateTime | R | Last outgoing call: creation timestamp |
|
||||||
| phone | outgoing#call_name | String | R | Last outgoing call: called name |
|
| phone | outgoing#call_name | String | R | Last outgoing call: called name |
|
||||||
| net_device | reachable | Switch | R | Indicates whether the network device is reachable |
|
| net_device | reachable | Switch | R | Indicates whether the network device is reachable |
|
||||||
| net_interface | reachable | Switch | R | Indicates whether the network interface is reachable |
|
| net_interface | reachable | Switch | R | Indicates whether the network interface is reachable |
|
||||||
| airplay | playurl | String | W | Play an audio or video media from the given URL |
|
| airplay | playurl | String | W | Play an audio or video media from the given URL |
|
||||||
| airplay | stop | Switch | W | Stop the media playback |
|
| airplay | stop | Switch | W | Stop the media playback |
|
||||||
|
|
||||||
## Example
|
**Example**
|
||||||
|
|
||||||
### Things
|
### Things
|
||||||
|
|
||||||
Here is an example with minimal configuration parameters (using default values). It will first connect to mafreebox.freebox.fr using HTTPS (and will failback to HTTP if HTTPS access is not available).
|
Here is an example with minimal configuration parameters (using default values).
|
||||||
|
It will first connect to mafreebox.freebox.fr using HTTPS (and will failback to HTTP if HTTPS access is not available).
|
||||||
|
|
||||||
```
|
```
|
||||||
Bridge freebox:server:fb "Freebox Revolution" [ appToken="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ] {
|
Bridge freebox:server:fb "Freebox Revolution" [ appToken="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" ] {
|
||||||
|
|
|
@ -51,11 +51,12 @@ It has been tested on:
|
||||||
This binding can be configured in the file `services/fritzboxtr064.cfg`.
|
This binding can be configured in the file `services/fritzboxtr064.cfg`.
|
||||||
|
|
||||||
| Property | Default | Required | Description |
|
| Property | Default | Required | Description |
|
||||||
|----------|---------|:--------:|-------------|
|
|-------------|---------|:--------:|-------------|
|
||||||
| url | | Yes | URL. Either use `http://<fbox-ip>:49000` or `https://<fbox-ip>:49443` (https preferred!) |
|
| url | | Yes | URL. Either use `http://<fbox-ip>:49000` or `https://<fbox-ip>:49443` (https preferred!) |
|
||||||
| refresh | 60000 | No | Refresh interval in milliseconds |
|
| refresh | 60000 | No | Refresh interval in milliseconds |
|
||||||
| user | dslf-config | No | User Name. Only use this value if you configured a user in fbox webui/config! It is recommended to switch to authentication by username in fritzbox config and add a separate config user for this binding. |
|
| user | dslf-config | No | User Name. Only use this value if you configured a user in fbox webui/config! It is recommended to switch to authentication by username in fritzbox config and add a separate config user for this binding. |
|
||||||
| pass | | Yes | Password |
|
| pass | | Yes | Password |
|
||||||
|
| phonebookid | 0 | No | PhoneBook ID if you use a different phonebook (like a Google-synced phonebook). |
|
||||||
|
|
||||||
|
|
||||||
## Item Configuration
|
## Item Configuration
|
||||||
|
|
|
@ -22,13 +22,13 @@ This binding allows you to integrate, view and control Gardena Smart Home device
|
||||||
|
|
||||||
Devices connected to Gardena Smart Home, currently:
|
Devices connected to Gardena Smart Home, currently:
|
||||||
|
|
||||||
| Thing type | Name |
|
| Thing type | Name |
|
||||||
|------------|------|
|
|--------------------------|-----------------------|
|
||||||
| bridge | smart Home Gateway |
|
| bridge | smart Home Gateway |
|
||||||
| mower | smart Sileno(+) Mower |
|
| mower | smart Sileno(+) Mower |
|
||||||
| watering_computer | smart Water Control |
|
| watering_computer | smart Water Control |
|
||||||
| sensor | smart Sensor |
|
| sensor | smart Sensor |
|
||||||
| electronic_pressure_pump | smart Pressure Pump |
|
| electronic_pressure_pump | smart Pressure Pump |
|
||||||
|
|
||||||
The schedules are not yet integrated!
|
The schedules are not yet integrated!
|
||||||
|
|
||||||
|
@ -40,15 +40,15 @@ An account must be specified, all things for an account are discovered automatic
|
||||||
|
|
||||||
There are several settings for an account:
|
There are several settings for an account:
|
||||||
|
|
||||||
| Name | Required | Description |
|
| Name | Required | Description |
|
||||||
| --- | --- | --- |
|
|-----------------------|----------|----------------------------------------------------------------------------------------|
|
||||||
| **email** | yes | The email address for logging into the Gardena Smart Home |
|
| **email** | yes | The email address for logging into the Gardena Smart Home |
|
||||||
| **password** | yes | The password for logging into the Gardena Smart Home |
|
| **password** | yes | The password for logging into the Gardena Smart Home |
|
||||||
| **sessionTimeout** | no | The timeout in minutes for a session to Gardena Smart Home (default = 30) |
|
| **sessionTimeout** | no | The timeout in minutes for a session to Gardena Smart Home (default = 30) |
|
||||||
| **connectionTimeout** | no | The timeout in seconds for connections to Gardena Smart Home (default = 10) |
|
| **connectionTimeout** | no | The timeout in seconds for connections to Gardena Smart Home (default = 10) |
|
||||||
| **refresh** | no | The interval in seconds for refreshing the data from Gardena Smart Home (default = 60) |
|
| **refresh** | no | The interval in seconds for refreshing the data from Gardena Smart Home (default = 60) |
|
||||||
|
|
||||||
## Example
|
**Example**
|
||||||
|
|
||||||
### Things
|
### Things
|
||||||
|
|
||||||
|
@ -92,12 +92,12 @@ Number Battery_Level "Battery [%d %%]" {channel="gardena:mower:home:myMower:batt
|
||||||
|
|
||||||
## Sensor refresh
|
## Sensor refresh
|
||||||
|
|
||||||
You can send a REFRESH command to items linked to these Sensor channels:
|
You can send a REFRESH command to items linked to these Sensor channels:
|
||||||
|
|
||||||
* ambient_temperature#temperature
|
* ambient_temperature#temperature
|
||||||
* soil_temperature#temperature
|
* soil_temperature#temperature
|
||||||
* humidity#humidity
|
* humidity#humidity
|
||||||
* light#light
|
* light#light
|
||||||
|
|
||||||
In the console:
|
In the console:
|
||||||
|
|
||||||
|
@ -113,7 +113,6 @@ import org.eclipse.smarthome.core.types.RefreshType
|
||||||
sendCommand(ITEM_NAME, RefreshType.REFRESH)
|
sendCommand(ITEM_NAME, RefreshType.REFRESH)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
### Debugging and Tracing
|
### Debugging and Tracing
|
||||||
|
|
||||||
If you want to see what's going on in the binding, switch the loglevel to TRACE in the Karaf console
|
If you want to see what's going on in the binding, switch the loglevel to TRACE in the Karaf console
|
||||||
|
@ -128,6 +127,12 @@ Set the logging back to normal
|
||||||
log:set INFO org.openhab.binding.gardena
|
log:set INFO org.openhab.binding.gardena
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** The Online/Offline status is not always valid. I'm using the ```connection_status``` property Gardena sends for each device, but it seems not to be very reliable. My watering control for example shows offline, but it is still working. I have to press the button on the device, then the status changed to online. My mower always shows online, regardless of whether it is switched on or off. This is not a binding issue, it must be fixed by Gardena.
|
**Note:** The Online/Offline status is not always valid. I'm using the ```connection_status``` property Gardena sends for each device, but it seems not to be very reliable.
|
||||||
|
My watering control for example shows offline, but it is still working.
|
||||||
|
I have to press the button on the device, then the status changed to online.
|
||||||
|
My mower always shows online, regardless of whether it is switched on or off.
|
||||||
|
This is not a binding issue, it must be fixed by Gardena.
|
||||||
|
|
||||||
When the binding sends a command to a device, it communicates only with the Gardena online service. It has not control over, whether the command is sent from the online service via your gateway to the device. It's the same as if you send the command in the Gardena App.
|
When the binding sends a command to a device, it communicates only with the Gardena online service.
|
||||||
|
It has not control over, whether the command is sent from the online service via your gateway to the device.
|
||||||
|
It's the same as if you send the command in the Gardena App.
|
||||||
|
|
|
@ -3,7 +3,7 @@ id: globalcache
|
||||||
label: GlobalCache
|
label: GlobalCache
|
||||||
title: GlobalCache - Bindings
|
title: GlobalCache - Bindings
|
||||||
type: binding
|
type: binding
|
||||||
description: "The [GlobalCache](http://www.globalcache.com) binding is used to enable communication between openHAB and GlobalCache [GC-100](http://www.globalcache.com/products/gc-100/) and [iTach](http://www.globalcache.com/products/itach/) family of devices. Global Cache devices enable the control and automation of infrared, serial, and contact closure devices through an IP network (wired or wireless)."
|
description: "The [GlobalCache](http://www.globalcache.com) binding is used to enable communication between openHAB and GlobalCache [GC-100](http://www.globalcache.com/products/gc-100/) and [iTach](http://www.globalcache.com/products/itach/) family of devices."
|
||||||
since: 2x
|
since: 2x
|
||||||
logo: images/addons/globalcache.png
|
logo: images/addons/globalcache.png
|
||||||
install: auto
|
install: auto
|
||||||
|
@ -15,55 +15,69 @@ install: auto
|
||||||
|
|
||||||
# GlobalCache Binding
|
# GlobalCache Binding
|
||||||
|
|
||||||
The [GlobalCache](http://www.globalcache.com) binding is used to enable communication between openHAB and GlobalCache [GC-100](http://www.globalcache.com/products/gc-100/) and [iTach](http://www.globalcache.com/products/itach/) family of devices. Global Cache devices enable the control and automation of infrared, serial, and contact closure devices through an IP network (wired or wireless).
|
The [GlobalCache](http://www.globalcache.com) binding is used to enable communication between openHAB and GlobalCache [GC-100](http://www.globalcache.com/products/gc-100/) and [iTach](http://www.globalcache.com/products/itach/) family of devices.
|
||||||
|
Global Cache devices enable the control and automation of infrared, serial, and contact closure devices through an IP network (wired or wireless).
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
The GlobalCache binding discovers GC-100 and iTach devices on the network, and creates an inbox entry for each discovered device. Once added as a thing, the user can complete the configuration of the device, such as selecting a MAP file for IR and serial codes.
|
The GlobalCache binding discovers GC-100 and iTach devices on the network, and creates an inbox entry for each discovered device.
|
||||||
|
Once added as a thing, the user can complete the configuration of the device, such as selecting a MAP file for IR and serial codes.
|
||||||
|
|
||||||
## Devices Supported
|
## Devices Supported
|
||||||
|
|
||||||
Devices are discovered dynamically. There is a single thing created for each physical GC-100 or iTach device connected to the network. Each thing has channels that correspond to the physical connectors on the device.
|
Devices are discovered dynamically.
|
||||||
|
There is a single thing created for each physical GC-100 or iTach device connected to the network.
|
||||||
|
Each thing has channels that correspond to the physical connectors on the device.
|
||||||
|
|
||||||
Currently supported devices include:
|
Currently supported devices include:
|
||||||
|
|
||||||
* iTach WF2IR and IP2IR
|
* iTach WF2IR and IP2IR
|
||||||
* iTach WF2CC and IP2CC
|
* iTach WF2CC and IP2CC
|
||||||
* iTach WF2SL and IP2SL
|
* iTach WF2SL and IP2SL
|
||||||
* iTach Flex Ethernet
|
* iTach Flex Ethernet
|
||||||
* iTach Flex Ethernet PoE
|
* iTach Flex Ethernet PoE
|
||||||
* iTach Flex WiFi
|
* iTach Flex WiFi
|
||||||
* GC-100-6
|
* GC-100-6
|
||||||
* GC-100-12
|
* GC-100-12
|
||||||
* ZMOTE Wi-Fi Universal Remote
|
* ZMOTE Wi-Fi Universal Remote
|
||||||
|
|
||||||
|
|
||||||
## Device Discovery
|
## Device Discovery
|
||||||
|
|
||||||
GlobalCache GC-100, iTach, and Zmote devices emit an **announcement beacon** every 10-20 seconds on multicast address 239.255.250.250:9131. The GlobalCache binding will automatically detect those devices, then add them to the inbox.
|
GlobalCache GC-100, iTach, and Zmote devices emit an **announcement beacon** every 10-20 seconds on multicast address 239.255.250.250:9131.
|
||||||
|
The GlobalCache binding will automatically detect those devices, then add them to the inbox.
|
||||||
|
|
||||||
Background discovery is **enabled** by default. To disable background discovery, add the following line to the *conf/services/runtime.cfg* file:
|
Background discovery is **enabled** by default.
|
||||||
|
To disable background discovery, add the following line to the *conf/services/runtime.cfg* file:
|
||||||
|
|
||||||
```
|
```
|
||||||
org.openhab.binding.globalcache.discovery.GlobalCacheDiscoveryService:backgroundDiscovery.enabled=false
|
org.openhab.binding.globalcache.discovery.GlobalCacheDiscoveryService:backgroundDiscovery.enabled=false
|
||||||
```
|
```
|
||||||
|
|
||||||
Note that automatic device discovery **will not work** with GC-100's running firmware earlier than v3.0 as those versions do not emit announcement beacons on the multicast address. GC-100's running firmware earlier than v3.0 must be configured manually, either through *Paper UI* or using a *.things* file. See below.
|
Note that automatic device discovery **will not work** with GC-100's running firmware earlier than v3.0 as those versions do not emit announcement beacons on the multicast address.
|
||||||
|
GC-100's running firmware earlier than v3.0 must be configured manually, either through *Paper UI* or using a *.things* file.
|
||||||
|
See below.
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
The iTach IR, iTach SL, GC-100, and Zmote devices require a MAP file in order to transform the openHAB command to an IR command or to a serial command. In the thing configuration, enter the name of the MAP file containing the IR and/or serial codes (). The MAP file should be placed in the *conf/transform* directory. See example below.
|
The iTach IR, iTach SL, GC-100, and Zmote devices require a MAP file in order to transform the openHAB command to an IR command or to a serial command.
|
||||||
|
In the thing configuration, enter the name of the MAP file containing the IR and/or serial codes ().
|
||||||
|
The MAP file should be placed in the *conf/transform* directory.
|
||||||
|
See example below.
|
||||||
|
|
||||||
For iTach SL and GC-100 devices that support serial connections, you must use the GlobalCache device web application to set the serial port parameters for **baud rate**, **flow control**, and **parity**. These settings must match the serial port settings of the AV device being controlled.
|
For iTach SL and GC-100 devices that support serial connections, you must use the GlobalCache device web application to set the serial port parameters for **baud rate**, **flow control**, and **parity**.
|
||||||
|
These settings must match the serial port settings of the AV device being controlled.
|
||||||
|
|
||||||
For iTach Flex devices, you must set the Active Cable configuration parameter to match how the Flex is configured. Available options are Infrared, Serial, and Relay/Sensor. The default is Infrared.
|
For iTach Flex devices, you must set the Active Cable configuration parameter to match how the Flex is configured.
|
||||||
|
Available options are Infrared, Serial, and Relay/Sensor.
|
||||||
|
The default is Infrared.
|
||||||
|
|
||||||
The device's IP address is set at time of discovery. However, in the event that the device's IP address is changed, the device IP address must be changed in the thing's configuration.
|
The device's IP address is set at time of discovery.
|
||||||
|
However, in the event that the device's IP address is changed, the device IP address must be changed in the thing's configuration.
|
||||||
|
|
||||||
#### Manual Thing Creation
|
#### Manual Thing Creation
|
||||||
|
|
||||||
Devices can be manually created in the *PaperUI* or *HABmin*, or by placing a *.things* file in the *conf/things* directory. See example below.
|
Devices can be manually created in the *PaperUI* or *HABmin*, or by placing a *.things* file in the *conf/things* directory.
|
||||||
|
See example below.
|
||||||
|
|
||||||
#### Binding Dependencies
|
#### Binding Dependencies
|
||||||
|
|
||||||
|
@ -71,21 +85,22 @@ The GlobalCache binding uses the **transform** binding to map commands to IR and
|
||||||
|
|
||||||
## Channels and Channel Types
|
## Channels and Channel Types
|
||||||
|
|
||||||
There are four *channel types* used across the GC-100 and iTach family of devices.
|
There are four *channel types* used across the GC-100 and iTach family of devices.
|
||||||
|
|
||||||
- Contact Closure (CC)
|
- Contact Closure (CC)
|
||||||
- Infrared (IR)
|
- Infrared (IR)
|
||||||
- Serial (SL)
|
- Serial (SL)
|
||||||
- Serial Direct (SL)
|
- Serial Direct (SL)
|
||||||
|
|
||||||
*Channels* follow a naming convention that relates to the physical configuration of the Global Cache device -- specifically the **module** and **connector** numbers. For example, the channel name **m2c3** refers to connector 3 on module 2.
|
*Channels* follow a naming convention that relates to the physical configuration of the Global Cache device -- specifically the **module** and **connector** numbers.
|
||||||
|
For example, the channel name **m2c3** refers to connector 3 on module 2.
|
||||||
|
|
||||||
For iTach Flex devices, since they can be configured to support infrared, serial, or contact closure, channels are prefixed with ir-, sl-, and cc-, respectively. For example, the IR channel on connector 3 on module 1 is named ir-m1c2.
|
For iTach Flex devices, since they can be configured to support infrared, serial, or contact closure, channels are prefixed with ir-, sl-, and cc-, respectively.
|
||||||
|
For example, the IR channel on connector 3 on module 1 is named ir-m1c2.
|
||||||
|
|
||||||
## Infrared (IR) Channel
|
## Infrared (IR) Channel
|
||||||
|
|
||||||
The *Infrared channel* sends IR codes out the IR connector on the device.
|
The *Infrared channel* sends IR codes out the IR connector on the device.
|
||||||
|
|
||||||
For example, the following item links to the module 1 / connector 2 channel on an iTach IR device.
|
For example, the following item links to the module 1 / connector 2 channel on an iTach IR device.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -100,12 +115,12 @@ String SamsungTV "TV" (gTheater) { channel="globalcache:itachFlexEth:00
|
||||||
|
|
||||||
#### How to Specify IR Codes
|
#### How to Specify IR Codes
|
||||||
|
|
||||||
IR codes are contained in a MAP file contained within the conf/transform directory. See example below.
|
IR codes are contained in a MAP file contained within the conf/transform directory.
|
||||||
|
See example below.
|
||||||
|
|
||||||
#### Supported IR Code Formats
|
#### Supported IR Code Formats
|
||||||
|
|
||||||
Two different formatting methods are supported: Global Cache and hex code.
|
Two different formatting methods are supported: Global Cache and hex code.
|
||||||
|
|
||||||
Here's an example of the Global Cache format:
|
Here's an example of the Global Cache format:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -118,17 +133,19 @@ Here's an example of the hex code format:
|
||||||
0000 006E 0000 0024 0154 00AA 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 003F 0015 0015 0015 0015 0015 0015 0015 0015 0015 003F 0015 003F 0015 003F 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 003F 0015 003F 0015 003F 0015 003F 0015 003F 0015 003F 0015 003F 0015 003F 0015 0015 0015 0015 0015 069B 0154 0055 0015 0EA9
|
0000 006E 0000 0024 0154 00AA 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 003F 0015 0015 0015 0015 0015 0015 0015 0015 0015 003F 0015 003F 0015 003F 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 003F 0015 003F 0015 003F 0015 003F 0015 003F 0015 003F 0015 003F 0015 003F 0015 0015 0015 0015 0015 069B 0154 0055 0015 0EA9
|
||||||
```
|
```
|
||||||
|
|
||||||
The [Global Cache iConvert utility](http://www.globalcache.com/files/docs/gc_iconvert_relnotes.txt) con be used to convert between the two formats, if desired. The iConvert utility is available on the Windows platform only. 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.
|
The [Global Cache iConvert utility](http://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.
|
||||||
|
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.
|
||||||
|
|
||||||
#### Unsupported Features
|
#### Unsupported Features
|
||||||
|
|
||||||
Currently, only the *IR Out* and *IR Blaster* connector configurations are supported. Other settings, such as *Sensor In*, *Sensor Notify*, and *LED Lighting*, may be supported in the future.
|
Currently, only the *IR Out* and *IR Blaster* connector configurations are supported.
|
||||||
|
Other settings, such as *Sensor In*, *Sensor Notify*, and *LED Lighting*, may be supported in the future.
|
||||||
|
|
||||||
## Contact Closure (CC) Channel
|
## Contact Closure (CC) Channel
|
||||||
|
|
||||||
A *Contact Closure channel* activates the contact closure (relay) on the iTach or GC-100 device.
|
A *Contact Closure channel* activates the contact closure (relay) on the iTach or GC-100 device.
|
||||||
|
|
||||||
For example, the following item links to the module 1, connector 1 channel on an iTach CC device.
|
For example, the following item links to the module 1, connector 1 channel on an iTach CC device.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -144,20 +161,20 @@ String MyRelay "My Relay [%s]" (gRelays) { channel="globalcache:itachFlex
|
||||||
## Serial (SL) Channel
|
## Serial (SL) Channel
|
||||||
|
|
||||||
An *SL channel* sends serial command strings out the serial connector on the device.
|
An *SL channel* sends serial command strings out the serial connector on the device.
|
||||||
|
|
||||||
For example, the following item links to the module 1 connector 1 channel on a GC-100-6 device.
|
For example, the following item links to the module 1 connector 1 channel on a GC-100-6 device.
|
||||||
|
|
||||||
```
|
```
|
||||||
String RS232ME "My RS232-controlled Device" { channel="globalcache:gc100_6:000C459A120A:sl-m1#c1" }
|
String RS232ME "My RS232-controlled Device" { channel="globalcache:gc100_6:000C459A120A:sl-m1#c1" }
|
||||||
```
|
```
|
||||||
|
|
||||||
Serial commands strings are contained in a MAP file contained within the conf/transform directory. Serial command strings can contain URL-encoded characters in order to represent special characters such as spaces, tabs, carriage returns, line feeds, etc. See example below.
|
Serial commands strings are contained in a MAP file contained within the conf/transform directory.
|
||||||
|
Serial command strings can contain URL-encoded characters in order to represent special characters such as spaces, tabs, carriage returns, line feeds, etc.
|
||||||
|
See example below.
|
||||||
|
|
||||||
## Serial (SL) Direct Channel
|
## Serial (SL) Direct Channel
|
||||||
|
|
||||||
The Serial Direct channel type enables serial commands to be sent directly to the device without attempting to map the command using the transformation service. This is useful in rules where the serial command might be constructed "on the fly" in the body of the rule.
|
The Serial Direct channel type enables serial commands to be sent directly to the device without attempting to map the command using the transformation service.
|
||||||
|
This is useful in rules where the serial command might be constructed "on the fly" in the body of the rule.
|
||||||
For example, the following item links to the module 1 connector 1 channel on an iTach Flex device.
|
For example, the following item links to the module 1 connector 1 channel on an iTach Flex device.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -166,18 +183,18 @@ String RUSSCAA66 "Russound CAA66" { channel="globalcache:itachFlex:000C45D5
|
||||||
|
|
||||||
## Serial (SL) Receive Channel
|
## Serial (SL) Receive Channel
|
||||||
|
|
||||||
The Serial Receive channel receives feedback from the device connected to the GlobalCache's serial port. You enable
|
The Serial Receive channel receives feedback from the device connected to the GlobalCache's serial port.
|
||||||
this functionality by setting the **Enable Two Way** switch to ON in the thing configuration. In addition, you must
|
You enable this functionality by setting the **Enable Two Way** switch to ON in the thing configuration.
|
||||||
set the **End-of-Message Delimiter** in the thing configuration. The End-of-Message can be a single character,
|
In addition, you must set the **End-of-Message Delimiter** in the thing configuration.
|
||||||
or a sequence of characters. Use URL encoding for non-printable characters.
|
The End-of-Message can be a single character, or a sequence of characters.
|
||||||
|
Use URL encoding for non-printable characters.
|
||||||
|
|
||||||
For example, the following item links to the receive channel on module 1 connector 1 on a GC-100. A rule that looks for
|
For example, the following item links to the receive channel on module 1 connector 1 on a GC-100.
|
||||||
updates on this item will be able to process messages sent from the device connected to the GlobalCache's serial port.
|
A rule that looks for updates on this item will be able to process messages sent from the device connected to the GlobalCache's serial port.
|
||||||
|
|
||||||
```
|
```
|
||||||
String RUSSCAA66_Receive "Russound CAA66 Receive" { channel="globalcache:gc100_06:000C1EFFF039:sl-m1#c1-receive" }
|
String RUSSCAA66_Receive "Russound CAA66 Receive" { channel="globalcache:gc100_06:000C1EFFF039:sl-m1#c1-receive" }
|
||||||
```
|
```
|
||||||
|
|
||||||
Here are some examples of common **End-ofMessage** delimiters.
|
Here are some examples of common **End-ofMessage** delimiters.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -186,7 +203,7 @@ Here are some examples of common **End-ofMessage** delimiters.
|
||||||
%F7 Russound RNET message terminator
|
%F7 Russound RNET message terminator
|
||||||
```
|
```
|
||||||
|
|
||||||
## Example Configuration
|
**Example**
|
||||||
|
|
||||||
### MAP File
|
### MAP File
|
||||||
|
|
||||||
|
@ -253,13 +270,13 @@ Frame label="Contact Closure" {
|
||||||
Switch item=ContactClosure2 label="Light on Garage Door Opener"
|
Switch item=ContactClosure2 label="Light on Garage Door Opener"
|
||||||
Switch item=ContactClosure3 label="Unused"
|
Switch item=ContactClosure3 label="Unused"
|
||||||
}
|
}
|
||||||
|
|
||||||
Frame label="Harmon Kardon Receiver" {
|
Frame label="Harmon Kardon Receiver" {
|
||||||
Switch item=HKAVR245 label="Power" mappings=[HKAVR245_POWER_ON="On", HKAVR245_POWER_OFF="Off"]
|
Switch item=HKAVR245 label="Power" mappings=[HKAVR245_POWER_ON="On", HKAVR245_POWER_OFF="Off"]
|
||||||
Switch item=HKAVR245 label="Volume" mappings=[HKAVR245_MUTE="Mute", HKAVR245_VOLUME_UP="Up", HKAVR245_VOLUME_DOWN="Down"]
|
Switch item=HKAVR245 label="Volume" mappings=[HKAVR245_MUTE="Mute", HKAVR245_VOLUME_UP="Up", HKAVR245_VOLUME_DOWN="Down"]
|
||||||
Switch item=HKAVR245 label="Select Input" mappings=[HKAVR245_HDMI1="HDMI 1", HKAVR245_HDMI2="HDMI 2"]
|
Switch item=HKAVR245 label="Select Input" mappings=[HKAVR245_HDMI1="HDMI 1", HKAVR245_HDMI2="HDMI 2"]
|
||||||
}
|
}
|
||||||
|
|
||||||
Frame label="Samsung TV" {
|
Frame label="Samsung TV" {
|
||||||
Switch item=SAMSUNGHLS label="Power" mappings=[SAMSUNGHLS_POWER_ON="On",SAMSUNGHLS_POWER_OFF="Off"]
|
Switch item=SAMSUNGHLS label="Power" mappings=[SAMSUNGHLS_POWER_ON="On",SAMSUNGHLS_POWER_OFF="Off"]
|
||||||
}
|
}
|
||||||
|
@ -271,7 +288,7 @@ Frame label="Xfinity One" {
|
||||||
Frame label="Preamp" {
|
Frame label="Preamp" {
|
||||||
Switch item=RS232ME label="Power" mappings=[RS232ME_POWER_ON="On",RS232ME_POWER_OFF="Off"]
|
Switch item=RS232ME label="Power" mappings=[RS232ME_POWER_ON="On",RS232ME_POWER_OFF="Off"]
|
||||||
}
|
}
|
||||||
|
|
||||||
Frame label="Garage Door" {
|
Frame label="Garage Door" {
|
||||||
Switch item=Garage_Door label="Open/Close" mappings=[ON="Do It"]
|
Switch item=Garage_Door label="Open/Close" mappings=[ON="Do It"]
|
||||||
}
|
}
|
||||||
|
@ -279,7 +296,7 @@ Frame label="Garage Door" {
|
||||||
|
|
||||||
### Rule file
|
### Rule file
|
||||||
|
|
||||||
This is an example of how to use a Contact Closure channel within a rule to implement a momentary contact switch, which could be used to trigger a garage door opener.
|
This is an example of how to use a Contact Closure channel within a rule to implement a momentary contact switch, which could be used to trigger a garage door opener.
|
||||||
|
|
||||||
```
|
```
|
||||||
var boolean isRunning = false
|
var boolean isRunning = false
|
||||||
|
@ -298,7 +315,7 @@ then
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
This is an example of how to send IR and/or serial commands from within a rule.
|
This is an example of how to send IR and/or serial commands from within a rule.
|
||||||
|
|
||||||
```
|
```
|
||||||
rule "AV Power On/Off"
|
rule "AV Power On/Off"
|
||||||
|
@ -316,7 +333,7 @@ then
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
This is an example of how to send a serial command directly from within a rule.
|
This is an example of how to send a serial command directly from within a rule.
|
||||||
|
|
||||||
```
|
```
|
||||||
rule "Russound Set Zone 1 Volume to 20"
|
rule "Russound Set Zone 1 Volume to 20"
|
||||||
|
@ -329,7 +346,8 @@ end
|
||||||
|
|
||||||
### Manual Thing Creation
|
### Manual Thing Creation
|
||||||
|
|
||||||
Place a file named *globalcache.things* in the *conf/things* directory. The file should contain lines formatted like this.
|
Place a file named *globalcache.things* in the *conf/things* directory.
|
||||||
|
The file should contain lines formatted like this.
|
||||||
|
|
||||||
```
|
```
|
||||||
globalcache:itachCC:000CFF17B106 [ ipAddress="192.168.12.62" ]
|
globalcache:itachCC:000CFF17B106 [ ipAddress="192.168.12.62" ]
|
||||||
|
|
|
@ -3,7 +3,7 @@ id: harmonyhub
|
||||||
label: Logitech Harmony Hub
|
label: Logitech Harmony Hub
|
||||||
title: Logitech Harmony Hub - Bindings
|
title: Logitech Harmony Hub - Bindings
|
||||||
type: binding
|
type: binding
|
||||||
description: "The Harmony Hub binding is used to enable communication between openHAB2 and multiple Logitech Harmony Hub devices. The API exposed by the Harmony Hub is relatively limited, but it does allow for reading the current activity as well as setting the activity and sending device commands."
|
description: "The Harmony Hub binding is used to enable communication between openHAB2 and multiple Logitech Harmony Hub devices."
|
||||||
since: 2x
|
since: 2x
|
||||||
install: auto
|
install: auto
|
||||||
---
|
---
|
||||||
|
@ -14,7 +14,8 @@ install: auto
|
||||||
|
|
||||||
# Logitech Harmony Hub Binding
|
# Logitech Harmony Hub Binding
|
||||||
|
|
||||||
The Harmony Hub binding is used to enable communication between openHAB2 and multiple Logitech Harmony Hub devices. The API exposed by the Harmony Hub is relatively limited, but it does allow for reading the current activity as well as setting the activity and sending device commands.
|
The Harmony Hub binding is used to enable communication between openHAB2 and multiple Logitech Harmony Hub devices.
|
||||||
|
The API exposed by the Harmony Hub is relatively limited, but it does allow for reading the current activity as well as setting the activity and sending device commands.
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
|
@ -22,15 +23,21 @@ The Harmony binding represents a "Hub" as a bridge thing type and "Devices" as t
|
||||||
|
|
||||||
### Hub
|
### Hub
|
||||||
|
|
||||||
A hub (bridge thing) represents a physical Harmony Hub. The hub possesses a single channel with the id "activity" which is a StringType set to the name of the current activity. This channel is dynamically generated with the possible activity strings listed as channel state options.
|
A hub (bridge thing) represents a physical Harmony Hub.
|
||||||
|
The hub possesses a single channel with the id "activity" which is a StringType set to the name of the current activity.
|
||||||
|
This channel is dynamically generated with the possible activity strings listed as channel state options.
|
||||||
|
|
||||||
### Devices
|
### Devices
|
||||||
|
|
||||||
Devices are dynamically created. There is a single device thing for every physical device configured on the harmony hub. Each device has a single channel with the id "button" which sends a string with the name of the button to press on the device. This channel is dynamically generated with the possible button press strings listed as channel state options.
|
Devices are dynamically created.
|
||||||
|
There is a single device thing for every physical device configured on the harmony hub.
|
||||||
|
Each device has a single channel with the id "button" which sends a string with the name of the button to press on the device.
|
||||||
|
This channel is dynamically generated with the possible button press strings listed as channel state options.
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
The Harmony binding will automatically find all Harmony Hubs on the local network and add them to the inbox. Once a Hub has been added, any connected devices will also added to the Inbox.
|
The Harmony binding will automatically find all Harmony Hubs on the local network and add them to the inbox.
|
||||||
|
Once a Hub has been added, any connected devices will also added to the Inbox.
|
||||||
|
|
||||||
## Binding Configuration
|
## Binding Configuration
|
||||||
|
|
||||||
|
@ -39,17 +46,18 @@ The binding requires no special configuration
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
This is optional, it is recommended to let the binding discover and add hubs and devices.
|
This is optional, it is recommended to let the binding discover and add hubs and devices.
|
||||||
|
|
||||||
To manually configure a Harmony Hub thing you may specify its host name ("host") as well as an optional search timeout value in seconds ("discoveryTimeout") and optional heart beat interval (heartBeatInterval) in seconds.
|
To manually configure a Harmony Hub thing you may specify its host name ("host") as well as an optional search timeout value in seconds ("discoveryTimeout") and optional heart beat interval (heartBeatInterval) in seconds.
|
||||||
|
|
||||||
In the thing file, this looks e.g. like
|
In the thing file, this looks e.g. like
|
||||||
|
|
||||||
```
|
```
|
||||||
Bridge harmonyhub:hub:GreatRoom [ host="192.168.1.100"]
|
Bridge harmonyhub:hub:GreatRoom [ host="192.168.1.100"]
|
||||||
```
|
```
|
||||||
|
|
||||||
To manually configure a Harmony device thing you may specify its numeric id ("id") or its name ("name"), but not both. Note that this is prefixed by the hub the device is controlled from.
|
To manually configure a Harmony device thing you may specify its numeric id ("id") or its name ("name"), but not both.
|
||||||
|
Note that this is prefixed by the hub the device is controlled from.
|
||||||
|
|
||||||
In the thing file, this looks e.g. like
|
In the thing file, this looks e.g. like
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -120,7 +128,7 @@ end
|
||||||
|
|
||||||
## Example Sitemap
|
## Example Sitemap
|
||||||
|
|
||||||
Using the above things channels and items
|
Using the above things channels and items
|
||||||
Sitemap:
|
Sitemap:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -132,4 +140,5 @@ sitemap demo label="Main Menu" {
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
Possible values for the "buttonPress" channel can be determined via the REST API for channel-types, http://YourServer:8080/rest/channel-types. Search the JSON for "harmonyhub:device".
|
Possible values for the "buttonPress" channel can be determined via the REST API for channel-types, <http://YourServer:8080/rest/channel-types>.
|
||||||
|
Search the JSON for "harmonyhub:device".
|
||||||
|
|
|
@ -13,11 +13,13 @@ install: auto
|
||||||
|
|
||||||
{% include base.html %}
|
{% include base.html %}
|
||||||
|
|
||||||
# HDanywhere Binding
|
# HDanywhere Binding
|
||||||
|
|
||||||
This binding integrates with [HDanywhere](http://www.hdanywhere.co.uk) HDMI matrices.
|
This binding integrates with [HDanywhere](http://www.hdanywhere.co.uk) HDMI matrices.
|
||||||
|
|
||||||
HDanywhere is a manufacturer of multiroom/distributed audio/video equipment. This binding supports their V3 of the Multiroom+ HDMI matrix running firmware V1.2(20131222), as well as the newer MHUB series of matrices. These matrices support the highest HD resolutions, including 1080p 3D & 4K, use a single Cat5e/6/7 wiring structure with reliable performance up to 100m, have IR passback to allow you to select and control what you watch from every room and are fully compatible with universal remote controls
|
HDanywhere is a manufacturer of multiroom/distributed audio/video equipment.
|
||||||
|
This binding supports their V3 of the Multiroom+ HDMI matrix running firmware V1.2(20131222), as well as the newer MHUB series of matrices.
|
||||||
|
These matrices support the highest HD resolutions, including 1080p 3D & 4K, use a single Cat5e/6/7 wiring structure with reliable performance up to 100m, have IR passback to allow you to select and control what you watch from every room and are fully compatible with universal remote controls
|
||||||
|
|
||||||
The matrices can be controlled by either UDP/IP and/or Serial connections, but due to the lack of feedback on the actual state of the HDMI matrix when using those methods, this binding operates by controlling the built-in webserver of the matrix.
|
The matrices can be controlled by either UDP/IP and/or Serial connections, but due to the lack of feedback on the actual state of the HDMI matrix when using those methods, this binding operates by controlling the built-in webserver of the matrix.
|
||||||
|
|
||||||
|
@ -25,8 +27,8 @@ The matrices can be controlled by either UDP/IP and/or Serial connections, but d
|
||||||
|
|
||||||
This binding currently supports the following thing types:
|
This binding currently supports the following thing types:
|
||||||
|
|
||||||
* *multiroomplus* : Multiroom+ V3 (**Note:** This product is no longer sold by HDanywhere)
|
* *multiroomplus* : Multiroom+ V3 (**Note:** This product is no longer sold by HDanywhere)
|
||||||
* *mhub4k431* : MHUB 4K (4X3+1)
|
* *mhub4k431* : MHUB 4K (4X3+1)
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
|
@ -49,16 +51,15 @@ Thing hdanywhere:multiroomplus:m2 [ipAddress="192.168.0.88", ports=4, interval=1
|
||||||
|
|
||||||
The following channels are supported (actual number of channels is a function of the number of physical ports on the matrix):
|
The following channels are supported (actual number of channels is a function of the number of physical ports on the matrix):
|
||||||
|
|
||||||
| Thing Type | Item Type | Description |
|
| Thing Type | Item Type | Description |
|
||||||
|-----------------|---------------|---------------------------------------------------------------------|
|
|------------|-----------|---------------------------------------------------------------------|
|
||||||
| port1 | Number | The number of the input port that is connected to the output port 1 |
|
| port1 | Number | The number of the input port that is connected to the output port 1 |
|
||||||
| port2 | Number | The number of the input port that is connected to the output port 2 |
|
| port2 | Number | The number of the input port that is connected to the output port 2 |
|
||||||
| port3 | Number | The number of the input port that is connected to the output port 3 |
|
| port3 | Number | The number of the input port that is connected to the output port 3 |
|
||||||
| ... | Number | ... |
|
| ... | Number | ... |
|
||||||
| port8 | Number | The number of the input port that is connected to the output port 8 |
|
| port8 | Number | The number of the input port that is connected to the output port 8 |
|
||||||
|
|
||||||
|
## Example
|
||||||
## Full Example
|
|
||||||
|
|
||||||
demo.Things:
|
demo.Things:
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,11 @@ install: auto
|
||||||
|
|
||||||
This is an openHAB binding for the [Hunter Douglas PowerView Motorized Shades](http://www.hunterdouglas.com/operating-systems/powerview-motorization/support) via the PowerView Hub.
|
This is an openHAB binding for the [Hunter Douglas PowerView Motorized Shades](http://www.hunterdouglas.com/operating-systems/powerview-motorization/support) via the PowerView Hub.
|
||||||
|
|
||||||
PowerView shades have motorization control for their vertical position, as well as vane controls on the shade's slats. Make sure your Shades are visible in the dedicated PowerView app before attempting discovery. This binding also supports Scenes that are defined via the PowerView app. This helps to work around a limitation of the Hub - commands are executed serially with a several second delay between executions. By using a Scene to control multiple shades at once, the shades will all begin moving at the same time.
|
PowerView shades have motorization control for their vertical position, as well as vane controls on the shade's slats.
|
||||||
|
Make sure your Shades are visible in the dedicated PowerView app before attempting discovery.
|
||||||
|
This binding also supports Scenes that are defined via the PowerView app.
|
||||||
|
This helps to work around a limitation of the Hub - commands are executed serially with a several second delay between executions.
|
||||||
|
By using a Scene to control multiple shades at once, the shades will all begin moving at the same time.
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
|
@ -30,7 +34,8 @@ PowerView shades have motorization control for their vertical position, as well
|
||||||
<tr>
|
<tr>
|
||||||
<td>PowerView Hub</td>
|
<td>PowerView Hub</td>
|
||||||
<td>Bridge</td>
|
<td>Bridge</td>
|
||||||
<td>The PowerView Hub provides the interface between your network and the shade's radio network. It also contains channels used to interact with scenes.</td>
|
<td>The PowerView Hub provides the interface between your network and the shade's radio network.
|
||||||
|
It also contains channels used to interact with scenes.</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>PowerView Shade</td>
|
<td>PowerView Shade</td>
|
||||||
|
@ -41,11 +46,14 @@ PowerView shades have motorization control for their vertical position, as well
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
The PowerView Hub is discovered via a NetBios query. This is the same method used by the dedicated PowerView app. After the Hub is added, Shades and Scenes will be discovered by querying the Hub.
|
The PowerView Hub is discovered via a NetBios query.
|
||||||
|
This is the same method used by the dedicated PowerView app.
|
||||||
|
After the Hub is added, Shades and Scenes will be discovered by querying the Hub.
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
PowerView things should be configured via discovery - it would be difficult to configure manually as the IDs of the shades and scenes are not exposed via the dedicated app. However, the configuration parameters are described below:
|
PowerView things should be configured via discovery - it would be difficult to configure manually as the IDs of the shades and scenes are not exposed via the dedicated app.
|
||||||
|
However, the configuration parameters are described below:
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -98,7 +106,6 @@ PowerView things should be configured via discovery - it would be difficult to c
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
|
||||||
### PowerView Scene
|
### PowerView Scene
|
||||||
|
|
||||||
Scenes channels are added to the Hub as they are discovered.
|
Scenes channels are added to the Hub as they are discovered.
|
||||||
|
|
|
@ -20,99 +20,104 @@ This binding allows you to integrate, view, control and configure all Homematic
|
||||||
|
|
||||||
## Supported Bridges
|
## Supported Bridges
|
||||||
|
|
||||||
All gateways which provides the Homematic BIN- or XML-RPC API:
|
All gateways which provides the Homematic BIN- or XML-RPC API:
|
||||||
* CCU 1+2
|
* CCU 1+2
|
||||||
* [Homegear](https://www.homegear.eu)
|
* [Homegear](https://www.homegear.eu)
|
||||||
* [piVCCU](https://github.com/alexreinert/piVCCU)
|
* [piVCCU](https://github.com/alexreinert/piVCCU)
|
||||||
* [YAHM](https://github.com/leonsio/YAHM)
|
* [YAHM](https://github.com/leonsio/YAHM)
|
||||||
* [Windows BidCos service](http://www.eq-3.de/downloads.html?kat=download&id=125)
|
* [Windows BidCos service](http://www.eq-3.de/downloads.html?kat=download&id=125)
|
||||||
* [OCCU](https://github.com/eq-3/occu)
|
* [OCCU](https://github.com/eq-3/occu)
|
||||||
|
|
||||||
The Homematic IP Access Point does not support this API and can't be used with this binding. But you can control Homematic IP devices with a CCU2 with at least firmware 2.17.15.
|
The Homematic IP Access Point does not support this API and can't be used with this binding.
|
||||||
|
But you can control Homematic IP devices with a CCU2 with at least firmware 2.17.15.
|
||||||
|
|
||||||
These ports are used by the binding by default to communicate **TO** the gateway:
|
These ports are used by the binding by default to communicate **TO** the gateway:
|
||||||
* RF components: 2001
|
* RF components: 2001
|
||||||
* WIRED components: 2000
|
* WIRED components: 2000
|
||||||
* HMIP components: 2010
|
* HMIP components: 2010
|
||||||
* CUxD: 8701
|
* CUxD: 8701
|
||||||
* TclRegaScript: 8181
|
* TclRegaScript: 8181
|
||||||
* Groups: 9292
|
* Groups: 9292
|
||||||
|
|
||||||
And **FROM** the gateway to openHab:
|
And **FROM** the gateway to openHab:
|
||||||
* XML-RPC: 9125
|
* XML-RPC: 9125
|
||||||
* BIN-RPC: 9126
|
* BIN-RPC: 9126
|
||||||
|
|
||||||
**Note:** The binding tries to identify the gateway with XML-RPC and uses henceforth:
|
**Note:** The binding tries to identify the gateway with XML-RPC and uses henceforth:
|
||||||
|
|
||||||
* **CCU**
|
* **CCU**
|
||||||
* **RF**: BIN-RPC
|
* **RF**: BIN-RPC
|
||||||
* **WIRED**: BIN-RPC
|
* **WIRED**: BIN-RPC
|
||||||
* **HMIP**: XML-RPC
|
* **HMIP**: XML-RPC
|
||||||
* **CUxD**: BIN-RPC (CUxD version >= 1.6 required)
|
* **CUxD**: BIN-RPC (CUxD version >= 1.6 required)
|
||||||
* **Groups**: XML-RPC
|
* **Groups**: XML-RPC
|
||||||
* **Homegear**
|
* **Homegear**
|
||||||
* BIN-RPC
|
* BIN-RPC
|
||||||
* **Other**
|
* **Other**
|
||||||
* XML-RPC
|
* XML-RPC
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
All devices connected to a Homematic gateway. All required openHAB metadata are generated during device discovery. With Homegear or a CCU, variables and scripts are supported too.
|
All devices connected to a Homematic gateway.
|
||||||
|
All required openHAB metadata are generated during device discovery.
|
||||||
|
With Homegear or a CCU, variables and scripts are supported too.
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
Gateway discovery is only available for Homegear, you need at least 0.6.x for gateway discovery. For all other gateways you have to manually add a bridge in a things file.
|
Gateway discovery is only available for Homegear, you need at least 0.6.x for gateway discovery. For all other gateways you have to manually add a bridge in a things file.
|
||||||
Device discovery is supported for all gateways.
|
Device discovery is supported for all gateways.
|
||||||
|
|
||||||
The binding has a gateway type autodetection, but sometimes a gateway does not clearly notify the type. If you are using a YAHM for example, you have to manually set the gateway type in the bride configuration to CCU.
|
The binding has a gateway type autodetection, but sometimes a gateway does not clearly notify the type.
|
||||||
|
If you are using a YAHM for example, you have to manually set the gateway type in the bride configuration to CCU.
|
||||||
|
|
||||||
If autodetection can not identify the gateway, the binding uses the default gateway implementation. The difference is, that variables, scripts and device names are not supported, everything else is the same.
|
If autodetection can not identify the gateway, the binding uses the default gateway implementation.
|
||||||
|
The difference is, that variables, scripts and device names are not supported, everything else is the same.
|
||||||
|
|
||||||
## Bridge Configuration
|
## Bridge Configuration
|
||||||
|
|
||||||
There are several settings for a bridge:
|
There are several settings for a bridge:
|
||||||
- **gatewayAddress** (required)
|
- **gatewayAddress** (required)
|
||||||
Network address of the Homematic gateway
|
Network address of the Homematic gateway
|
||||||
|
|
||||||
- **gatewayType**
|
- **gatewayType**
|
||||||
Hint for the binding to identify the gateway type (auto|ccu|noccu) (default = auto).
|
Hint for the binding to identify the gateway type (auto|ccu|noccu) (default = auto).
|
||||||
|
|
||||||
- **callbackHost**
|
- **callbackHost**
|
||||||
Callback network address of the openHAB server, default is auto-discovery
|
Callback network address of the openHAB server, default is auto-discovery
|
||||||
|
|
||||||
- **callbackPort DEPRECATED, use binCallbackPort and xmlCallbackPort**
|
- **callbackPort DEPRECATED, use binCallbackPort and xmlCallbackPort**
|
||||||
Callback port of the openHAB server, default is 9125 and counts up for each additional bridge
|
Callback port of the openHAB server, default is 9125 and counts up for each additional bridge
|
||||||
|
|
||||||
- **xmlCallbackPort**
|
- **xmlCallbackPort**
|
||||||
Callback port of the XML-RPC openHAB server, default is 9125 and counts up for each additional bridge
|
Callback port of the XML-RPC openHAB server, default is 9125 and counts up for each additional bridge
|
||||||
|
|
||||||
- **binCallbackPort**
|
- **binCallbackPort**
|
||||||
Callback port of the BIN-RPC openHAB server, default is 9126 and counts up for each additional bridge
|
Callback port of the BIN-RPC openHAB server, default is 9126 and counts up for each additional bridge
|
||||||
|
|
||||||
- **aliveInterval DEPRECATED, not necessary anymore**
|
- **aliveInterval DEPRECATED, not necessary anymore**
|
||||||
The interval in seconds to check if the communication with the Homematic gateway is still alive. If no message receives from the Homematic gateway, the RPC server restarts (default = 300)
|
The interval in seconds to check if the communication with the Homematic gateway is still alive. If no message receives from the Homematic gateway, the RPC server restarts (default = 300)
|
||||||
|
|
||||||
- **reconnectInterval DEPRECATED, not necessary anymore**
|
- **reconnectInterval DEPRECATED, not necessary anymore**
|
||||||
The interval in seconds to force a reconnect to the Homematic gateway, disables aliveInterval! (0 = disabled, default = disabled)
|
The interval in seconds to force a reconnect to the Homematic gateway, disables aliveInterval! (0 = disabled, default = disabled).
|
||||||
If you have no sensors which sends messages in regular intervals and/or you have low communication, the aliveInterval may restart the connection to the Homematic gateway to often. The reconnectInterval disables the aliveInterval and reconnects after a fixed period of time.
|
If you have no sensors which sends messages in regular intervals and/or you have low communication, the aliveInterval may restart the connection to the Homematic gateway to often. The reconnectInterval disables the aliveInterval and reconnects after a fixed period of time.
|
||||||
Think in hours when configuring (one hour = 3600)
|
Think in hours when configuring (one hour = 3600)
|
||||||
|
|
||||||
- **timeout**
|
- **timeout**
|
||||||
The timeout in seconds for connections to a Homematic gateway (default = 15)
|
The timeout in seconds for connections to a Homematic gateway (default = 15)
|
||||||
|
|
||||||
- **socketMaxAlive**
|
- **socketMaxAlive**
|
||||||
The maximum lifetime of a pooled socket connection to the Homematic gateway in seconds (default = 900)
|
The maximum lifetime of a pooled socket connection to the Homematic gateway in seconds (default = 900)
|
||||||
|
|
||||||
- **rfPort**
|
- **rfPort**
|
||||||
The port number of the RF daemon (default = 2001)
|
The port number of the RF daemon (default = 2001)
|
||||||
|
|
||||||
- **wiredPort**
|
- **wiredPort**
|
||||||
The port number of the HS485 daemon (default = 2000)
|
The port number of the HS485 daemon (default = 2000)
|
||||||
|
|
||||||
- **hmIpPort**
|
- **hmIpPort**
|
||||||
The port number of the HMIP server (default = 2010)
|
The port number of the HMIP server (default = 2010)
|
||||||
|
|
||||||
- **cuxdPort**
|
- **cuxdPort**
|
||||||
The port number of the CUxD daemon (default = 8701)
|
The port number of the CUxD daemon (default = 8701)
|
||||||
|
|
||||||
The syntax for a bridge is:
|
The syntax for a bridge is:
|
||||||
|
@ -121,25 +126,25 @@ The syntax for a bridge is:
|
||||||
homematic:bridge:NAME
|
homematic:bridge:NAME
|
||||||
```
|
```
|
||||||
|
|
||||||
- **homematic** the binding id, fixed
|
- **homematic** the binding id, fixed
|
||||||
- **bridge** the type, fixed
|
- **bridge** the type, fixed
|
||||||
- **name** the name of the bridge
|
- **name** the name of the bridge
|
||||||
|
|
||||||
#### Example
|
#### Example
|
||||||
|
|
||||||
- minimum configuration
|
- minimum configuration
|
||||||
|
|
||||||
```
|
```
|
||||||
Bridge homematic:bridge:ccu [ gatewayAddress="..."]
|
Bridge homematic:bridge:ccu [ gatewayAddress="..."]
|
||||||
```
|
```
|
||||||
|
|
||||||
- with callback settings
|
- with callback settings
|
||||||
|
|
||||||
```
|
```
|
||||||
Bridge homematic:bridge:ccu [ gatewayAddress="...", callbackHost="...", callbackPort=... ]
|
Bridge homematic:bridge:ccu [ gatewayAddress="...", callbackHost="...", callbackPort=... ]
|
||||||
```
|
```
|
||||||
|
|
||||||
- multiple bridges
|
- multiple bridges
|
||||||
|
|
||||||
```
|
```
|
||||||
Bridge homematic:bridge:lxccu [ gatewayAddress="..."]
|
Bridge homematic:bridge:lxccu [ gatewayAddress="..."]
|
||||||
|
@ -159,23 +164,29 @@ Bridge homematic:bridge:ccu [ gatewayAddress="..." ]
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
The first parameter after Thing is the device type, the second the serial number. If you are using Homegear, you have to add the prefix ```HG-``` for each type. This is necessary, because the Homegear devices supports more datapoints than Homematic devices.
|
The first parameter after Thing is the device type, the second the serial number.
|
||||||
|
If you are using Homegear, you have to add the prefix ```HG-``` for each type.
|
||||||
|
This is necessary, because the Homegear devices supports more datapoints than Homematic devices.
|
||||||
|
|
||||||
```
|
```
|
||||||
Thing HG-HM-LC-Dim1T-Pl-2 JEQ0999999
|
Thing HG-HM-LC-Dim1T-Pl-2 JEQ0999999
|
||||||
```
|
```
|
||||||
|
|
||||||
As additional parameters you can define a name and a location for each thing. The Name will be used to identify the Thing in the Paper UI lists, the Location will be used in the Control section of PaperUI to sort the things.
|
As additional parameters you can define a name and a location for each thing.
|
||||||
|
The Name will be used to identify the Thing in the Paper UI lists, the Location will be used in the Control section of PaperUI to sort the things.
|
||||||
|
|
||||||
```
|
```
|
||||||
Thing HG-HM-LC-Dim1T-Pl-2 JEQ0999999 "Name" @ "Location"
|
Thing HG-HM-LC-Dim1T-Pl-2 JEQ0999999 "Name" @ "Location"
|
||||||
```
|
```
|
||||||
|
|
||||||
All channels have two configs:
|
All channels have two configs:
|
||||||
* **delay**: delays transmission of a command **to** the Homematic gateway, duplicate commands are filtered out
|
* **delay**: delays transmission of a command **to** the Homematic gateway, duplicate commands are filtered out
|
||||||
* **receiveDelay**: delays a received event **from** the Homematic gateway, duplicate events are filtered out (OH 2.2)
|
* **receiveDelay**: delays a received event **from** the Homematic gateway, duplicate events are filtered out (OH 2.2)
|
||||||
|
|
||||||
The receiveDelay is handy for dimmers and rollershutters for example. If you have a slider in a UI and you move this slider to a new position, it jumps around because the gateway sends multiple events with different positions until the final has been reached. If you set the ```receiveDelay``` to some seconds, these events are filtered out and only the last position is distributed to openHab. The disadvantage is of course, that all events for this channel are delayed.
|
The receiveDelay is handy for dimmers and rollershutters for example.
|
||||||
|
If you have a slider in a UI and you move this slider to a new position, it jumps around because the gateway sends multiple events with different positions until the final has been reached.
|
||||||
|
If you set the ```receiveDelay``` to some seconds, these events are filtered out and only the last position is distributed to openHab.
|
||||||
|
The disadvantage is of course, that all events for this channel are delayed.
|
||||||
|
|
||||||
```
|
```
|
||||||
Thing HM-LC-Dim1T-Pl-2 JEQ0999999 "Name" @ "Location" {
|
Thing HM-LC-Dim1T-Pl-2 JEQ0999999 "Name" @ "Location" {
|
||||||
|
@ -197,12 +208,12 @@ In the items file, you can map the datapoints, the syntax is:
|
||||||
homematic:TYPE:BRIDGE:SERIAL:CHANNELNUMBER#DATAPOINTNAME
|
homematic:TYPE:BRIDGE:SERIAL:CHANNELNUMBER#DATAPOINTNAME
|
||||||
```
|
```
|
||||||
|
|
||||||
* **homematic:** the binding id, fixed
|
* **homematic:** the binding id, fixed
|
||||||
* **type:** the type of the Homematic device
|
* **type:** the type of the Homematic device
|
||||||
* **bridge:** the name of the bridge
|
* **bridge:** the name of the bridge
|
||||||
* **serial:** the serial number of the Homematic device
|
* **serial:** the serial number of the Homematic device
|
||||||
* **channelnumber:** the channel number of the Homematic datapoint
|
* **channelnumber:** the channel number of the Homematic datapoint
|
||||||
* **datapointname:** the name of the Homematic datapoint
|
* **datapointname:** the name of the Homematic datapoint
|
||||||
|
|
||||||
```
|
```
|
||||||
Switch RC_1 "Remote Control Button 1" { channel="homematic:HM-RC-19-B:ccu:KEQ0099999:1#PRESS_SHORT" }
|
Switch RC_1 "Remote Control Button 1" { channel="homematic:HM-RC-19-B:ccu:KEQ0099999:1#PRESS_SHORT" }
|
||||||
|
@ -211,15 +222,17 @@ Dimmer Light "Light [%d %%]" { channel="homematic:HM-LC-Dim1T-Pl-2:cc
|
||||||
|
|
||||||
**Note:** don't forget to add the ```HG-``` type prefix for Homegear devices
|
**Note:** don't forget to add the ```HG-``` type prefix for Homegear devices
|
||||||
|
|
||||||
|
|
||||||
## Virtual device and datapoints
|
## Virtual device and datapoints
|
||||||
|
|
||||||
The binding supports one virtual device and some virtual datapoints. Virtual datapoints are generated by the binding and provides special functionality.
|
The binding supports one virtual device and some virtual datapoints.
|
||||||
|
Virtual datapoints are generated by the binding and provides special functionality.
|
||||||
|
|
||||||
#### GATEWAY-EXTRAS
|
#### GATEWAY-EXTRAS
|
||||||
|
|
||||||
The GATEWAY-EXTRAS is a virtual device which contains a switch to reload all values from all devices and also a switch to put the gateway in the install mode to add new devices. If the gateway supports variables and scripts, you can handle them with this device too
|
The GATEWAY-EXTRAS is a virtual device which contains a switch to reload all values from all devices and also a switch to put the gateway in the install mode to add new devices.
|
||||||
The type is generated: GATEWAY-EXTRAS-[BRIDGE_ID]. Example: bridgeId=ccu, type=GATEWAY-EXTRAS-CCU
|
If the gateway supports variables and scripts, you can handle them with this device too.
|
||||||
|
The type is generated: GATEWAY-EXTRAS-[BRIDGE_ID].
|
||||||
|
Example: bridgeId=ccu, type=GATEWAY-EXTRAS-CCU
|
||||||
Address: fixed GWE00000000
|
Address: fixed GWE00000000
|
||||||
|
|
||||||
#### RELOAD_ALL_FROM_GATEWAY
|
#### RELOAD_ALL_FROM_GATEWAY
|
||||||
|
@ -249,32 +262,33 @@ A virtual datapoint (Switch) to remove the device from the gateway, available in
|
||||||
#### DELETE_DEVICE_MODE
|
#### DELETE_DEVICE_MODE
|
||||||
|
|
||||||
A virtual datapoint (Enum) to configure the device deletion with DELETE_MODE, available in channel 0 for each device
|
A virtual datapoint (Enum) to configure the device deletion with DELETE_MODE, available in channel 0 for each device
|
||||||
* **LOCKED:** (default) device can not be deleted
|
* **LOCKED:** (default) device can not be deleted
|
||||||
* **RESET:** device is reset to factory settings before deleting
|
* **RESET:** device is reset to factory settings before deleting
|
||||||
* **FORCE:** device is also deleted if it is not reachable
|
* **FORCE:** device is also deleted if it is not reachable
|
||||||
* **DEFER:** if the device can not be reached, it is deleted at the next opportunity
|
* **DEFER:** if the device can not be reached, it is deleted at the next opportunity
|
||||||
|
|
||||||
**Note:** if you change the value and don't delete the device, the virtual datapoints resets to LOCKED after 30 seconds
|
**Note:** if you change the value and don't delete the device, the virtual datapoints resets to LOCKED after 30 seconds
|
||||||
|
|
||||||
#### ON_TIME_AUTOMATIC
|
#### ON_TIME_AUTOMATIC
|
||||||
|
|
||||||
A virtual datapoint (Number) to automatically set the ON_TIME datapoint before the STATE or LEVEL datapoint is sent to the gateway, available for all devices which supports the ON_TIME datapoint
|
A virtual datapoint (Number) to automatically set the ON_TIME datapoint before the STATE or LEVEL datapoint is sent to the gateway, available for all devices which supports the ON_TIME datapoint.
|
||||||
This is usefull to automatically turn off the datapoint after the specified time
|
This is usefull to automatically turn off the datapoint after the specified time.
|
||||||
|
|
||||||
#### DISPLAY_OPTIONS
|
#### DISPLAY_OPTIONS
|
||||||
|
|
||||||
A virtual datapoint (String) to control the display of a 19 button Homematic remote control (HM-RC-19), available on channel 18
|
A virtual datapoint (String) to control the display of a 19 button Homematic remote control (HM-RC-19), available on channel 18
|
||||||
|
|
||||||
The remote control display is limited to five characters, a longer text is truncated.
|
The remote control display is limited to five characters, a longer text is truncated.
|
||||||
|
|
||||||
You have several additional options to control the display.
|
You have several additional options to control the display.
|
||||||
* BEEP _(TONE1, TONE2, TONE3)_ - let the remote control beep
|
* BEEP _(TONE1, TONE2, TONE3)_ - let the remote control beep
|
||||||
* BACKLIGHT _(BACKLIGHT_ON, BLINK_SLOW, BLINK_FAST)_ - control the display backlight
|
* BACKLIGHT _(BACKLIGHT_ON, BLINK_SLOW, BLINK_FAST)_ - control the display backlight
|
||||||
* UNIT _(PERCENT, WATT, CELSIUS, FAHRENHEIT)_ - display one of these units
|
* UNIT _(PERCENT, WATT, CELSIUS, FAHRENHEIT)_ - display one of these units
|
||||||
* SYMBOL _(BULB, SWITCH, WINDOW, DOOR, BLIND, SCENE, PHONE, BELL, CLOCK, ARROW_UP, ARROW_DOWN)_ - display symbols, multiple symbols possible
|
* SYMBOL _(BULB, SWITCH, WINDOW, DOOR, BLIND, SCENE, PHONE, BELL, CLOCK, ARROW_UP, ARROW_DOWN)_ - display symbols, multiple symbols possible
|
||||||
|
|
||||||
You can combine any option, they must be separated by a comma. If you specify more than one option for BEEP, BACKLIGHT and UNIT, only the first one is taken into account and all others are ignored. For SYMBOL you can specify multiple options.
|
You can combine any option, they must be separated by a comma.
|
||||||
|
If you specify more than one option for BEEP, BACKLIGHT and UNIT, only the first one is taken into account and all others are ignored. For SYMBOL you can specify multiple options.
|
||||||
|
|
||||||
**Examples:**
|
**Examples:**
|
||||||
|
|
||||||
Assumed you mapped the virtual datapoint to a String item called Display_Options
|
Assumed you mapped the virtual datapoint to a String item called Display_Options
|
||||||
|
@ -294,7 +308,7 @@ show message TEXT, beep once and turn backlight on:
|
||||||
```
|
```
|
||||||
smarthome send Display_Options "TEXT, TONE1, BACKLIGHT_ON"
|
smarthome send Display_Options "TEXT, TONE1, BACKLIGHT_ON"
|
||||||
```
|
```
|
||||||
|
|
||||||
show message 15, beep once, turn backlight on and shows the celsius unit:
|
show message 15, beep once, turn backlight on and shows the celsius unit:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -315,11 +329,11 @@ smarthome send Display_Options "TEXT, TONE1, BLINK_FAST, TONE3"
|
||||||
|
|
||||||
#### DISPLAY_SUBMIT
|
#### DISPLAY_SUBMIT
|
||||||
|
|
||||||
Adds multiple virtual datapoints to the HM-Dis-WM55 device to easily send colored text and icons to the display
|
Adds multiple virtual datapoints to the HM-Dis-WM55 device to easily send colored text and icons to the display
|
||||||
|
|
||||||
Example: Display text at line 1,3 and 5 when the bottom button on the display is pressed
|
Example: Display text at line 1,3 and 5 when the bottom button on the display is pressed
|
||||||
|
|
||||||
- Items
|
- Items
|
||||||
|
|
||||||
```
|
```
|
||||||
String Display_line_1 "Line 1" { channel="homematic:HM-Dis-WM55:ccu:NEQ0123456:1#DISPLAY_LINE_1" }
|
String Display_line_1 "Line 1" { channel="homematic:HM-Dis-WM55:ccu:NEQ0123456:1#DISPLAY_LINE_1" }
|
||||||
|
@ -338,7 +352,7 @@ Switch Button_bottom "Button" { channel="homematic:HM-Dis-WM55:ccu:NEQ0123
|
||||||
Switch Display_submit "Submit" { channel="homematic:HM-Dis-WM55:ccu:NEQ0123456:1#DISPLAY_SUBMIT" }
|
Switch Display_submit "Submit" { channel="homematic:HM-Dis-WM55:ccu:NEQ0123456:1#DISPLAY_SUBMIT" }
|
||||||
```
|
```
|
||||||
|
|
||||||
- Rule
|
- Rule
|
||||||
|
|
||||||
```
|
```
|
||||||
rule "Display Test"
|
rule "Display Test"
|
||||||
|
@ -366,12 +380,12 @@ end
|
||||||
A virtual datapoint (String) to simulate a key press, available on all channels that contains PRESS_ datapoints.
|
A virtual datapoint (String) to simulate a key press, available on all channels that contains PRESS_ datapoints.
|
||||||
Available values: SHORT, LONG, LONG_RELEASE
|
Available values: SHORT, LONG, LONG_RELEASE
|
||||||
|
|
||||||
Example: to capture a key press on the 19 button remote control in a rule
|
Example: to capture a key press on the 19 button remote control in a rule
|
||||||
|
|
||||||
```
|
```
|
||||||
rule "example trigger rule"
|
rule "example trigger rule"
|
||||||
when
|
when
|
||||||
Channel 'homematic:HM-RC-19-B:ccu:KEQ0012345:1#PRESS' triggered SHORT
|
Channel 'homematic:HM-RC-19-B:ccu:KEQ0012345:1#PRESS' triggered SHORT
|
||||||
then
|
then
|
||||||
...
|
...
|
||||||
end
|
end
|
||||||
|
@ -381,25 +395,37 @@ end
|
||||||
|
|
||||||
**SHORT & LONG_PRESS events of push buttons do not occur on the event bus**
|
**SHORT & LONG_PRESS events of push buttons do not occur on the event bus**
|
||||||
|
|
||||||
It seems buttons like the HM-PB-2-WM55 do just send these kind of events to the CCU if they are mentioned in a CCU program. A simple workaround to make them send these events is, to create a program (rule inside the CCU) that does just have a "When" part and no "Then" part, in this "When" part each channel needs to be mentioned at least once. As the HM-PB-2-WM55 for instance has two channels, it is enough to mention the SHORT_PRESS event of channel 1 & 2. The LONG_PRESS events will work automatically as they are part of the same channels. After the creation of this program, the button device will receive configuration data from the CCU which have to be accepted by pressing the config-button at the back of the device.
|
It seems buttons like the HM-PB-2-WM55 do just send these kind of events to the CCU if they are mentioned in a CCU program.
|
||||||
|
A simple workaround to make them send these events is, to create a program (rule inside the CCU) that does just have a "When" part and no "Then" part, in this "When" part each channel needs to be mentioned at least once.
|
||||||
|
As the HM-PB-2-WM55 for instance has two channels, it is enough to mention the SHORT_PRESS event of channel 1 & 2.
|
||||||
|
The LONG_PRESS events will work automatically as they are part of the same channels.
|
||||||
|
After the creation of this program, the button device will receive configuration data from the CCU which have to be accepted by pressing the config-button at the back of the device.
|
||||||
|
|
||||||
**INSTALL_TEST**
|
**INSTALL_TEST**
|
||||||
|
|
||||||
If a button is still not working and you do not see any PRESS_LONG / SHORT in your log file (loglevel DEBUG), it could be because of enabled security. Try to disable security of your buttons in the HomeMatic Web GUI and try again. If you can't disable security try to use key INSTALL_TEST which gets updated to ON for each key press
|
If a button is still not working and you do not see any PRESS_LONG / SHORT in your log file (loglevel DEBUG), it could be because of enabled security.
|
||||||
|
Try to disable security of your buttons in the HomeMatic Web GUI and try again.
|
||||||
|
If you can't disable security try to use key INSTALL_TEST which gets updated to ON for each key press
|
||||||
|
|
||||||
**-1 Failure**
|
**-1 Failure**
|
||||||
|
|
||||||
A device may return this failure while fetching the datapoint values. I've tested pretty much but i did not found the reason. The HM-ES-TX-WM device for example always returns this failure, it's impossible with the current CCU2 firmware (2.17.15) to fetch the values. I've implemented two workarounds, if a device returns the failure, workaround one is executed, if the device still returns the failure, workaround two is executed. This always works in my tests, but you may see a OFFLINE, ONLINE cycle for the device.
|
A device may return this failure while fetching the datapoint values.
|
||||||
|
I've tested pretty much but i did not found the reason. The HM-ES-TX-WM device for example always returns this failure, it's impossible with the current CCU2 firmware (2.17.15) to fetch the values.
|
||||||
|
I've implemented two workarounds, if a device returns the failure, workaround one is executed, if the device still returns the failure, workaround two is executed.
|
||||||
|
This always works in my tests, but you may see a OFFLINE, ONLINE cycle for the device.
|
||||||
Fetching values is only done at startup or if you trigger a REFRESH. I hope this will be fixed in one of the next CCU firmwares.
|
Fetching values is only done at startup or if you trigger a REFRESH. I hope this will be fixed in one of the next CCU firmwares.
|
||||||
With [Homegear](https://www.homegear.eu) everything works as expected.
|
With [Homegear](https://www.homegear.eu) everything works as expected.
|
||||||
|
|
||||||
**No variables and scripts in GATEWAY-EXTRAS**
|
**No variables and scripts in GATEWAY-EXTRAS**
|
||||||
|
|
||||||
The gateway autodetection of the binding can not clearly identify the gateway and falls back to the default implementation. Use the ```gatewayType=ccu``` config to force the binding to use the CCU implementation.
|
The gateway autodetection of the binding can not clearly identify the gateway and falls back to the default implementation.
|
||||||
|
Use the ```gatewayType=ccu``` config to force the binding to use the CCU implementation.
|
||||||
|
|
||||||
**Variables out of sync**
|
**Variables out of sync**
|
||||||
|
|
||||||
The CCU only sends a event if a datapoint of a device has changed. There is (currently) no way to receive a event automatically when a variable has changed. To reload all variable values, send a REFRESH command to any variable.
|
The CCU only sends a event if a datapoint of a device has changed.
|
||||||
|
There is (currently) no way to receive a event automatically when a variable has changed.
|
||||||
|
To reload all variable values, send a REFRESH command to any variable.
|
||||||
e.g you have a item linked to a variable with the name Var_1
|
e.g you have a item linked to a variable with the name Var_1
|
||||||
In the console:
|
In the console:
|
||||||
|
|
||||||
|
@ -415,7 +441,7 @@ import org.eclipse.smarthome.core.types.RefreshType
|
||||||
sendCommand(Var_1, RefreshType.REFRESH)
|
sendCommand(Var_1, RefreshType.REFRESH)
|
||||||
```
|
```
|
||||||
|
|
||||||
**Note:** adding new and removing deleted variables from the GATEWAY-EXTRAS Thing is currently not supported. You have to delete the Thing, start a scan and add it again.
|
**Note:** adding new and removing deleted variables from the GATEWAY-EXTRAS Thing is currently not supported. You have to delete the Thing, start a scan and add it again.
|
||||||
|
|
||||||
### Debugging and Tracing
|
### Debugging and Tracing
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,97 @@
|
||||||
|
---
|
||||||
|
id: icloud
|
||||||
|
label: iCloud
|
||||||
|
title: iCloud - Bindings
|
||||||
|
type: binding
|
||||||
|
description: "The Apple [iCloud](https://www.apple.com/icloud/) is used to retrieve data such as the battery level or current location of one or multiple Apple devices connected to an iCloud account."
|
||||||
|
since: 2x
|
||||||
|
install: auto
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
|
||||||
|
|
||||||
|
{% include base.html %}
|
||||||
|
|
||||||
|
# iCloud Binding
|
||||||
|
|
||||||
|
The Apple [iCloud](https://www.apple.com/icloud/) is used to retrieve data such as the battery level or current location of one or multiple Apple devices connected to an iCloud account.
|
||||||
|
Updates are quick and accurate without significant battery time impact.
|
||||||
|
The Binding also offers access to the "Find My iPhone" function.
|
||||||
|
|
||||||
|
An Apple account is required.
|
||||||
|
Two factor authentication is supported.
|
||||||
|
|
||||||
|
Please note: Application specific passwords are not supported.
|
||||||
|
You'll need to provide the account password to the Binding.
|
||||||
|
|
||||||
|
## Discovery
|
||||||
|
|
||||||
|
An iCloud account can be added as a Thing and needs to be configured with your ID and password.
|
||||||
|
The devices registered to this account will then be automatically discovered.
|
||||||
|
|
||||||
|
## Binding Configuration
|
||||||
|
|
||||||
|
The Binding has no configuration options, all configuration is done at Thing level.
|
||||||
|
|
||||||
|
## Thing Configuration
|
||||||
|
|
||||||
|
The Binding provides two Thing types.
|
||||||
|
|
||||||
|
### Account Thing
|
||||||
|
|
||||||
|
The account Thing, more precisely the account Bridge, represents one Apple iCloud account.
|
||||||
|
The account can be connected to multiple Apple devices which are represented as Things below the Bridge, see the example below.
|
||||||
|
You may create multiple account Things for multiple accounts.
|
||||||
|
|
||||||
|
### Device Thing
|
||||||
|
|
||||||
|
A device is identified by the device ID provided by Apple.
|
||||||
|
If a device is removed or disconnects from the account the respective openHAB device Thing status will change to `OFFLINE`.
|
||||||
|
|
||||||
|
All Things are updated according to the configured refresh time of their shared account Bridge.
|
||||||
|
You may force an update by sending the `REFRESH` command to any channel of the Bridge Things.
|
||||||
|
|
||||||
|
## Channels
|
||||||
|
|
||||||
|
### Account Thing
|
||||||
|
|
||||||
|
The account Thing does not provide any channels.
|
||||||
|
|
||||||
|
### Device Thing
|
||||||
|
|
||||||
|
The following channels are available (if supported by the device):
|
||||||
|
|
||||||
|
| Channel ID | Type | Description |
|
||||||
|
|--------------------|----------|---------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
| batteryStatus | String | Current battery status (Charging, NotCharging, Charged, Unknown) |
|
||||||
|
| batteryLevel | Number | Battery charge in percent |
|
||||||
|
| findMyPhone | Switch | Triggers the ["Find My Phone"](https://support.apple.com/explore/find-my-iphone-ipad-mac-watch) functionality of the device (if available). |
|
||||||
|
| location | Location | GPS coordinates of the devices current/last known location |
|
||||||
|
| locationAccuracy | Number | Accuracy of the last position report |
|
||||||
|
| locationLastUpdate | DateTime | Timestamp of the last location update |
|
||||||
|
|
||||||
|
## Full Example
|
||||||
|
|
||||||
|
### icloud.things
|
||||||
|
|
||||||
|
```php
|
||||||
|
Bridge icloud:account:myaccount [appleId="abc@xyz.tld", password="secure", refreshTimeInMinutes=5]
|
||||||
|
{
|
||||||
|
Thing device myiPhone8 "iPhone 8" @ "World" [deviceId="VIRG9FsrvXfE90ewVBA1H5swtwEQePdXVjHq3Si6pdJY2Cjro8QlreHYVGSUzuWV"]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### icloud.items
|
||||||
|
|
||||||
|
```php
|
||||||
|
Group iCloud_Group
|
||||||
|
|
||||||
|
String iPhone_BatteryStatus "Battery Status [%s %%]" <battery> (iCloud_Group) {channel="icloud:device:myaccount:myiPhone8:batteryStatus"}
|
||||||
|
Number iPhone_BatteryLevel "Battery Level [%.0f]" <battery> (iCloud_Group) {channel="icloud:device:myaccount:myiPhone8:batteryLevel"}
|
||||||
|
Switch iPhone_FindMyPhone "Trigger Find My iPhone" (iCloud_Group) {channel="icloud:device:myaccount:myiPhone8:findMyPhone"}
|
||||||
|
Location iPhone_Location "Coordinates" (iCloud_Group) {channel="icloud:device:myaccount:myiPhone8:location"}
|
||||||
|
Number iPhone_LocationAccuracy "Coordinates Accuracy [%.0f m]" (iCloud_Group) {channel="icloud:device:myaccount:myiPhone8:locationAccuracy"}
|
||||||
|
DateTime iPhone_LocationLastUpdate "Last Update [%1$td.%1$tm.%1$tY, %1$tH:%1$tM]" (iCloud_Group) {channel="icloud:device:myaccount:myiPhone8:locationLastUpdate"}
|
||||||
|
```
|
||||||
|
|
||||||
|
Apple, iPhone, and iCloud are registered trademarks of Apple Inc., registered in the U.S. and other countries.
|
|
@ -19,28 +19,24 @@ The main purpose is to check if there are waiting print jobs on a printer, which
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
The binding has been tested against a CUPS Server (which implements the Internet Printing Protocol).
|
The binding has been tested against a CUPS Server (which implements the Internet Printing Protocol).
|
||||||
So all printers in a CUPS envorinment should work fine. Many network printers also use IPP,
|
So all printers in a CUPS envorinment should work fine. Many network printers also use IPP,
|
||||||
but there are many differencies on which parts of IPP are supported, is is not guaranteed, that every printer will work.
|
but there are many differencies on which parts of IPP are supported, is is not guaranteed, that every printer will work.
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
The printers are discovered through mDNS in the local network. As mentioned before: a printer may be discoverable but not
|
The printers are discovered through mDNS in the local network. As mentioned before: a printer may be discoverable but not
|
||||||
usable by the binding.
|
usable by the binding.
|
||||||
|
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
All devices support some of the following channels:
|
| Channel Type ID | Item Type | Description |
|
||||||
|
|-----------------|-----------|-----------------------------------------------|
|
||||||
|
| jobs | Number | Total number of print jobs on the printer |
|
||||||
|
| waitingJobs | Number | Number of waiting print jobs on the printer |
|
||||||
|
| doneJobs | Number | Number of completed print jobs on the printer |
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description |
|
<!-- TOTO Create example
|
||||||
|-----------------|------------------------|--------------|----------------- |------------- |
|
## Full Example -->
|
||||||
| jobs | Number | Total number of print jobs on the printer |
|
|
||||||
| waitingJobs | Number | Number of waiting print jobs on the printer |
|
|
||||||
| doneJobs | Number | Number of completed print jobs on the printer |
|
|
||||||
|
|
||||||
## Full Example
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ install: auto
|
||||||
|
|
||||||
# Jeelink Binding
|
# Jeelink Binding
|
||||||
|
|
||||||
This binding integrates JeeLink USB RF receivers.
|
This binding integrates JeeLink USB RF receivers.
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
|
@ -24,82 +24,85 @@ Binding should be compatible with JeeLink USB receivers and connected LaCrosse t
|
||||||
|
|
||||||
This binding supports:
|
This binding supports:
|
||||||
|
|
||||||
* JeeLink USB RF receivers (as bridge)
|
* JeeLink USB RF receivers (as bridge)
|
||||||
* JeeLink USB RF receivers connected over TCP (as bridge)
|
* JeeLink USB RF receivers connected over TCP (as bridge)
|
||||||
* LaCrosse Temperature Sensors connected to the bridge
|
* LaCrosse Temperature Sensors connected to the bridge
|
||||||
* EC3000 Power Monitors connected to the bridge
|
* EC3000 Power Monitors connected to the bridge
|
||||||
|
|
||||||
## Binding configuration
|
## Binding configuration
|
||||||
|
|
||||||
Configuration of the binding is not needed.
|
Configuration of the binding is not needed.
|
||||||
|
|
||||||
## Thing discovery
|
## Thing discovery
|
||||||
|
|
||||||
Only sensor discovery is supported, the thing for the USB receiver has to be created manually. Pay attention to use the correct serial port, as otherwise the binding may interfere with other bindings accessing serial ports.
|
Only sensor discovery is supported, the thing for the USB receiver has to be created manually. Pay attention to use the correct serial port, as otherwise the binding may interfere with other bindings accessing serial ports.
|
||||||
|
|
||||||
Afterwards, discovery reads from the USB receiver to find out which sensors are currently connected. It then creates a thing for every sensor for which currently no other thing with the same sensor ID is registered with the bridge.
|
Afterwards, discovery reads from the USB receiver to find out which sensors are currently connected.
|
||||||
|
It then creates a thing for every sensor for which currently no other thing with the same sensor ID is registered with the bridge.
|
||||||
|
|
||||||
## Thing configuration
|
## Thing configuration
|
||||||
|
|
||||||
#### JeeLink USB receivers
|
#### JeeLink USB receivers
|
||||||
|
|
||||||
| Parameter | Item Type | Description
|
| Parameter | Item Type | Description |
|
||||||
|-------------------|--------------|------------
|
|---------------|-----------|----------------------------------------------------------------------------------------------------------------------------|
|
||||||
| Serial Port | String | The serial port name for the USB receiver. Valid values are e.g. COM1 for Windows and /dev/ttyS0 or /dev/ttyUSB0 for Linux
|
| Serial Port | String | The serial port name for the USB receiver. Valid values are e.g. COM1 for Windows and /dev/ttyS0 or /dev/ttyUSB0 for Linux |
|
||||||
| Baud Rate | Number | The baud rate of the USB Receiver. Valid values are 9600, 19200, 38400, 57600 (default), and 115200
|
| Baud Rate | Number | The baud rate of the USB Receiver. Valid values are 9600, 19200, 38400, 57600 (default), and 115200 |
|
||||||
| Init Commands | String | A semicolon separated list of init commands that will be send to the Jeelink, e.g. "0a v" for disabling the LED
|
| Init Commands | String | A semicolon separated list of init commands that will be send to the Jeelink, e.g. "0a v" for disabling the LED |
|
||||||
|
|
||||||
|
|
||||||
#### JeeLink receivers connected over TCP
|
#### JeeLink receivers connected over TCP
|
||||||
|
|
||||||
| Parameter | Item Type | Description
|
| Parameter | Item Type | Description |
|
||||||
|-------------------|--------------|------------
|
|---------------|-----------|-----------------------------------------------------------------------------------------------------------------|
|
||||||
| IP Address | String | The IP address of the Server to which the USB Receiver is connected
|
| IP Address | String | The IP address of the Server to which the USB Receiver is connected |
|
||||||
| TCP Port | Number | The TCP port over which the serial port is made available
|
| TCP Port | Number | The TCP port over which the serial port is made available |
|
||||||
| Init Commands | String | A semicolon separated list of init commands that will be send to the Jeelink, e.g. "0a v" for disabling the LED
|
| Init Commands | String | A semicolon separated list of init commands that will be send to the Jeelink, e.g. "0a v" for disabling the LED |
|
||||||
|
|
||||||
|
|
||||||
#### LaCrosse temperature sensors
|
#### LaCrosse temperature sensors
|
||||||
|
|
||||||
| Parameter | Item Type | Description
|
| Parameter | Item Type | Description |
|
||||||
|-------------------|--------------|------------
|
|----------------------------|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| Sensor ID | Number | The ID of the connected sensor
|
| Sensor ID | Number | The ID of the connected sensor |
|
||||||
| Sensor Timeout | Number | The amount of time in seconds that should result in OFFLINE status when no readings have been received from the sensor
|
| Sensor Timeout | Number | The amount of time in seconds that should result in OFFLINE status when no readings have been received from the sensor |
|
||||||
| Update Interval | Number | The update interval in seconds how often value updates are propagated. A value of 0 leads to propagation of every value
|
| Update Interval | Number | The update interval in seconds how often value updates are propagated. A value of 0 leads to propagation of every value |
|
||||||
| Buffer Size | Number | The number of readings used for computing the rolling average
|
| Buffer Size | Number | The number of readings used for computing the rolling average |
|
||||||
| Lower Temperature Limit | Decimal | The lowest allowed valid temperature. Lower temperature readings will be ignored
|
| Lower Temperature Limit | Decimal | The lowest allowed valid temperature. Lower temperature readings will be ignored |
|
||||||
| Upper Temperature Limit | Decimal | The highest allowed valid temperature. Higher temperature readings will be ignored
|
| Upper Temperature Limit | Decimal | The highest allowed valid temperature. Higher temperature readings will be ignored |
|
||||||
| Maximum allowed difference | Decimal | The maximum allowed difference from a value to the previous value (0 disables this check). If the difference is higher, the reading will be ignored.
|
| Maximum allowed difference | Decimal | The maximum allowed difference from a value to the previous value (0 disables this check). If the difference is higher, the reading will be ignored. |
|
||||||
|
|
||||||
|
|
||||||
#### EC3000 power monitors
|
#### EC3000 power monitors
|
||||||
|
|
||||||
| Parameter | Item Type | Description
|
| Parameter | Item Type | Description |
|
||||||
|-------------------|--------------|------------
|
|-----------------|-----------|-------------------------------------------------------------------------------------------------------------------------|
|
||||||
| Sensor ID | Number | The ID of the connected sensor
|
| Sensor ID | Number | The ID of the connected sensor |
|
||||||
| Sensor Timeout | Number | The amount of time in seconds that should result in OFFLINE status when no readings have been received from the sensor
|
| Sensor Timeout | Number | The amount of time in seconds that should result in OFFLINE status when no readings have been received from the sensor |
|
||||||
| Update Interval | Number | The update interval in seconds how often value updates are propagated. A value of 0 leads to propagation of every value
|
| Update Interval | Number | The update interval in seconds how often value updates are propagated. A value of 0 leads to propagation of every value |
|
||||||
| Buffer Size | Number | The number of readings used for computing the rolling average
|
| Buffer Size | Number | The number of readings used for computing the rolling average |
|
||||||
|
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
#### LaCrosse temperature sensors
|
#### LaCrosse temperature sensors
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description
|
| Channel Type ID | Item Type | Description |
|
||||||
|-------------------------|--------------|------------
|
|-----------------|-----------|---------------------------------------------------|
|
||||||
| temperature | Number | Temperature reading
|
| temperature | Number | Temperature reading |
|
||||||
| humidity | Number | Humidity reading
|
| humidity | Number | Humidity reading |
|
||||||
| batteryNew | Contact | Whether the battery is new (CLOSED) or not (OPEN)
|
| batteryNew | Contact | Whether the battery is new (CLOSED) or not (OPEN) |
|
||||||
| batteryLow | Contact | Whether the battery is low (CLOSED) or not (OPEN)
|
| batteryLow | Contact | Whether the battery is low (CLOSED) or not (OPEN) |
|
||||||
|
|
||||||
#### EC3000 power monitors
|
#### EC3000 power monitors
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description
|
| Channel Type ID | Item Type | Description |
|
||||||
|-------------------------|--------------|------------
|
|------------------|-----------|----------------------------------------------------|
|
||||||
| currentWatt | Number | Instantaneous power in Watt
|
| currentWatt | Number | Instantaneous power in Watt |
|
||||||
| maxWatt | Number | Maximum load power in Watt
|
| maxWatt | Number | Maximum load power in Watt |
|
||||||
| consumptionTotal | Number | Total energy consumption
|
| consumptionTotal | Number | Total energy consumption |
|
||||||
| applianceTime | Number | Total electrical appliance operating time in hours
|
| applianceTime | Number | Total electrical appliance operating time in hours |
|
||||||
| sensorTime | Number | Total turn on time of power monitor in hours
|
| sensorTime | Number | Total turn on time of power monitor in hours |
|
||||||
| resets | Number | Number of resets
|
| resets | Number | Number of resets |
|
||||||
|
|
||||||
## Commands
|
## Commands
|
||||||
|
|
||||||
|
@ -131,4 +134,3 @@ Number Temperature_LR "Living Room" <temperature> {channel="jeelink:lacrosse:42:
|
||||||
Contact Battery_Low_LR "Battery Low Living Room" {channel="jeelink:lacrosse:42:batteryLow"}
|
Contact Battery_Low_LR "Battery Low Living Room" {channel="jeelink:lacrosse:42:batteryLow"}
|
||||||
Contact Battery_New_LR "Battery New Living Room" {channel="jeelink:lacrosse:42:batteryLow"}
|
Contact Battery_New_LR "Battery New Living Room" {channel="jeelink:lacrosse:42:batteryLow"}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -23,32 +23,34 @@ Currently the Keba KeContact P20 stations are supported by this binding.
|
||||||
|
|
||||||
## Binding Configuration
|
## Binding Configuration
|
||||||
|
|
||||||
The binding uses the default UDP port number to connect to the Keba Charging Station. So, no special configuration of the binding itself is required.
|
The binding uses the default UDP port number to connect to the Keba Charging Station.
|
||||||
|
So, no special configuration of the binding itself is required.
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
The Keba KeContact P20 requires the ip address as a configuration value in order for the binding to know where to access it. Optionally, a refresh interval (in seconds) can be defined that steers the polling of the actual state of the charging station
|
The Keba KeContact P20 requires the ip address as a configuration value in order for the binding to know where to access it.
|
||||||
|
Optionally, a refresh interval (in seconds) can be defined that steers the polling of the actual state of the charging station.
|
||||||
In the thing file, this looks e.g. like
|
In the thing file, this looks e.g. like
|
||||||
|
|
||||||
```
|
```
|
||||||
Thing keba:kecontactp20:1 [ ipAddress="192.168.0.64", refreshInterval=30 ]
|
Thing keba:kecontactp20:1 [ ipAddress="192.168.0.64", refreshInterval=30 ]
|
||||||
```
|
```
|
||||||
|
|
||||||
the refreshInterval can optionally be used in combination with ```autoupdate="false"``` in the .items file so that the Items are updated with the latest actual value sent by the charging station
|
the refreshInterval can optionally be used in combination with ```autoupdate="false"``` in the .items file so that the Items are updated with the latest actual value sent by the charging station.
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
All devices support the following channels (non exhaustive):
|
All devices support the following channels (non exhaustive):
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description |
|
| Channel Type ID | Item Type | Description | | |
|
||||||
|-----------------|------------------------|--------------|----------------- |------------- |
|
|------------------|-----------|---------------------------------------------------------------------------------------------------|---|---|
|
||||||
| state | Number | This channel indicates the current operational state of the wallbox |
|
| state | Number | This channel indicates the current operational state of the wallbox | | |
|
||||||
| maxpresetcurrent | Number | This channel supports adjusting the maximim current the charging station should deliver to the EV |
|
| maxpresetcurrent | Number | This channel supports adjusting the maximim current the charging station should deliver to the EV | | |
|
||||||
| power | Number | This channel indicates the active power delivered by the charging station |
|
| power | Number | This channel indicates the active power delivered by the charging station | | |
|
||||||
| I1/2/3 | Number | This channel indicates the current for the given phase |
|
| I1/2/3 | Number | This channel indicates the current for the given phase | | |
|
||||||
| U1/2/3 | Number | This channel indicates the voltage for the given phase |
|
| U1/2/3 | Number | This channel indicates the voltage for the given phase | | |
|
||||||
|
|
||||||
## Full Example
|
## Example
|
||||||
|
|
||||||
demo.Things:
|
demo.Things:
|
||||||
|
|
||||||
|
@ -59,10 +61,10 @@ Thing keba:kecontactp20:1 [ipAddress="192.168.0.64", refreshInterval=30]
|
||||||
demo.items:
|
demo.items:
|
||||||
|
|
||||||
```
|
```
|
||||||
Dimmer KebaCurrentRange {channel="keba:kecontactp20:1:maxpresetcurrentrange", autoupdate="false"}
|
Dimmer KebaCurrentRange {channel="keba:kecontactp20:1:maxpresetcurrentrange", autoupdate="false"}
|
||||||
Number KebaCurrent {channel="keba:kecontactp20:1:maxpresetcurrent", autoupdate="false"}
|
Number KebaCurrent {channel="keba:kecontactp20:1:maxpresetcurrent", autoupdate="false"}
|
||||||
Number KebaSystemCurrent {channel="keba:kecontactp20:1:maxsystemcurrent"}
|
Number KebaSystemCurrent {channel="keba:kecontactp20:1:maxsystemcurrent"}
|
||||||
Number KebaFailSafeCurrent {channel="keba:kecontactp20:1:failsafecurrent"}
|
Number KebaFailSafeCurrent {channel="keba:kecontactp20:1:failsafecurrent"}
|
||||||
String KebaState {channel="keba:kecontactp20:1:state"}
|
String KebaState {channel="keba:kecontactp20:1:state"}
|
||||||
Switch KebaSwitch {channel="keba:kecontactp20:1:enabled", autoupdate="false"}
|
Switch KebaSwitch {channel="keba:kecontactp20:1:enabled", autoupdate="false"}
|
||||||
Switch KebaWallboxPlugged {channel="keba:kecontactp20:1:wallbox"}
|
Switch KebaWallboxPlugged {channel="keba:kecontactp20:1:wallbox"}
|
||||||
|
@ -99,7 +101,7 @@ sitemap demo label="Main Menu"
|
||||||
Text item=KebaSystemCurrent label="Maximum system supply current [%.0f mA]"
|
Text item=KebaSystemCurrent label="Maximum system supply current [%.0f mA]"
|
||||||
Text item=KebaFailSafeCurrent label="Failsafe supply current [%.0f mA]"
|
Text item=KebaFailSafeCurrent label="Failsafe supply current [%.0f mA]"
|
||||||
Text item=KebaSessionEnergy label="Energy during current session [%.0f Wh]"
|
Text item=KebaSessionEnergy label="Energy during current session [%.0f Wh]"
|
||||||
Text item=KebaTotalEnergy label="Energy during all sessions [%.0f Wh]"
|
Text item=KebaTotalEnergy label="Energy during all sessions [%.0f Wh]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
|
@ -28,11 +28,11 @@ The Kodi binding is the successor to the openHAB 1.x xbmc binding.
|
||||||
In order to allow control of Kodi by this binding, you need to enable the Kodi application remote control feature.
|
In order to allow control of Kodi by this binding, you need to enable the Kodi application remote control feature.
|
||||||
Please enable "Allow remote control from applications on this/other systems" in the Kodi settings menu under:
|
Please enable "Allow remote control from applications on this/other systems" in the Kodi settings menu under:
|
||||||
|
|
||||||
* Settings ➔ Services ➔ Control ➔ Allow remote control from applications on this/other systems
|
* Settings ➔ Services ➔ Control ➔ Allow remote control from applications on this/other systems
|
||||||
|
|
||||||
To make use of the auto-discovery feature, you additionally need to enable "Allow control of Kodi via UPnP" in the Kodi settings menu.
|
To make use of the auto-discovery feature, you additionally need to enable "Allow control of Kodi via UPnP" in the Kodi settings menu.
|
||||||
|
|
||||||
* Settings ➔ Services ➔ UPnP / DLNA ➔ Allow remote control via UPnP
|
* Settings ➔ Services ➔ UPnP / DLNA ➔ Allow remote control via UPnP
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
|
@ -59,7 +59,6 @@ The following configuration options are available for the Kodi binding:
|
||||||
|---------------|--------------|----------------------------------------------------------------------------|----------|
|
|---------------|--------------|----------------------------------------------------------------------------|----------|
|
||||||
| `callbackUrl` | Callback URL | URL to use for playing notification sounds, e.g. `http://192.168.0.2:8080` | no |
|
| `callbackUrl` | Callback URL | URL to use for playing notification sounds, e.g. `http://192.168.0.2:8080` | no |
|
||||||
|
|
||||||
|
|
||||||
### Thing Configuration
|
### Thing Configuration
|
||||||
|
|
||||||
The Kodi thing requires the IP address of the device hosting your Kodi media center instance, the TCP port to access it (default: `9090`) and the HTTP port to build URLs to the Kodi webinterface for downloading thumbnail and fanart images (default: `8080`).
|
The Kodi thing requires the IP address of the device hosting your Kodi media center instance, the TCP port to access it (default: `9090`) and the HTTP port to build URLs to the Kodi webinterface for downloading thumbnail and fanart images (default: `8080`).
|
||||||
|
@ -96,12 +95,14 @@ The Kodi thing supports the following channels:
|
||||||
| systemcommand | String | This channel allows to send commands to `shutdown`, `suspend`, `hibernate`, `reboot` kodi |
|
| systemcommand | String | This channel allows to send commands to `shutdown`, `suspend`, `hibernate`, `reboot` kodi |
|
||||||
| mediatype | String | The media type of the current file. Valid return values are: `unknown`, `channel`, `episode`, `movie`, `musicvideo`, `picture`, `radio`, `song`, `video` |
|
| mediatype | String | The media type of the current file. Valid return values are: `unknown`, `channel`, `episode`, `movie`, `musicvideo`, `picture`, `radio`, `song`, `video` |
|
||||||
| thumbnail | Image | The URL to the thumbnail of the current file |
|
| thumbnail | Image | The URL to the thumbnail of the current file |
|
||||||
| fanart | Image | The URL to the fanart of the current file |
|
| fanart | Image | The URL to the fanart of the current file | |
|
||||||
|
|
||||||
|
|
||||||
### Channel Configuration
|
### Channel Configuration
|
||||||
|
|
||||||
**group** The PVR channels can be put into user-defined PVR channel groups. There are two default PVR channel groups. One for PVR TV channels and one for PVR radio channels. The default labels are "All channels" (in german systems "Alle Kanäle"). You have to adjust this configuration to use the `pvr-open-tv` and `pvr-open-radio` channels properly. You can optionally configure an user-defined PVR channel group.
|
**group** The PVR channels can be put into user-defined PVR channel groups.
|
||||||
|
There are two default PVR channel groups. One for PVR TV channels and one for PVR radio channels. The default labels are "All channels" (in german systems "Alle Kanäle").
|
||||||
|
You have to adjust this configuration to use the `pvr-open-tv` and `pvr-open-radio` channels properly.
|
||||||
|
You can optionally configure an user-defined PVR channel group.
|
||||||
|
|
||||||
A manual setup through a `things/kodi.things` file could look like this:
|
A manual setup through a `things/kodi.things` file could look like this:
|
||||||
|
|
||||||
|
|
|
@ -29,10 +29,10 @@ None
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
- acPower
|
- acPower
|
||||||
- totalEnergy
|
- totalEnergy
|
||||||
- dayEnergy
|
- dayEnergy
|
||||||
- status
|
- status
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
|
@ -42,8 +42,8 @@ demo.things
|
||||||
Thing kostalinverter:kostalinverter:inverter [ url="http://192.168.0.128" ]
|
Thing kostalinverter:kostalinverter:inverter [ url="http://192.168.0.128" ]
|
||||||
```
|
```
|
||||||
|
|
||||||
If the thing goes online then the connection to the web interface is successful. In case
|
If the thing goes online then the connection to the web interface is successful.
|
||||||
it is offline you should see an error message.
|
In case it is offline you should see an error message.
|
||||||
|
|
||||||
## Items
|
## Items
|
||||||
|
|
||||||
|
@ -55,4 +55,3 @@ Number SolarEnergyDay "Solar day energy[%.2f kwh]" <energy> (gGF) { channel="ko
|
||||||
Number SolarTotalEnergy "Solar total energy[%.2f kwh]" <energy> (gGF) { channel="kostalinverter:kostalinverter:inverter:totalEnergy" }
|
Number SolarTotalEnergy "Solar total energy[%.2f kwh]" <energy> (gGF) { channel="kostalinverter:kostalinverter:inverter:totalEnergy" }
|
||||||
String SolarStatus "Solar status [%s]" <energy> (gGF) { channel="kostalinverter:kostalinverter:inverter:status" }
|
String SolarStatus "Solar status [%s]" <energy> (gGF) { channel="kostalinverter:kostalinverter:inverter:status" }
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -16,46 +16,45 @@ install: auto
|
||||||
|
|
||||||
This binding can send some commands typically used by LG LCD TVs (and some used by projectors).
|
This binding can send some commands typically used by LG LCD TVs (and some used by projectors).
|
||||||
|
|
||||||
See below for a list of supported channels. The binding does not support querying the current
|
See below for a list of supported channels.
|
||||||
state from the TV, as this is not possible using the serial protocol.
|
The binding does not support querying the current state from the TV, as this is not possible using the serial protocol.
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
Supports one TV or projector per thing, also corresponding to a unique serial port. The
|
Supports one TV or projector per thing, also corresponding to a unique serial port.
|
||||||
protocol supports daisy-chaining of serial devices, but this seems unlikely for home
|
The protocol supports daisy-chaining of serial devices, but this seems unlikely for home
|
||||||
applications, and this binding sends to the broadcast address.
|
applications, and this binding sends to the broadcast address.
|
||||||
|
|
||||||
The LG serial command set [1] appears to be similar on many models, but not all commands will
|
The LG serial command set [1] appears to be similar on many models, but not all commands will work on all models.
|
||||||
work on all models. Some TVs may have an alternative port type instead of a standard DB9
|
Some TVs may have an alternative port type instead of a standard DB9 connector, and may thus require an adapter.
|
||||||
connector, and may thus require an adapter. The serial port may be marked "Service only".
|
The serial port may be marked "Service only".
|
||||||
|
|
||||||
Tested and developed for LG 55UF772V (with [this cable adapter](http://www.ebay.com/itm/DB9-9-Pin-Female-To-TRS-3-5mm-Male-Stereo-Serial-Data-Converter-Cable-1-8M-6Ft-/291541959764?)).
|
Tested and developed for LG 55UF772V (with [this cable adapter](http://www.ebay.com/itm/DB9-9-Pin-Female-To-TRS-3-5mm-Male-Stereo-Serial-Data-Converter-Cable-1-8M-6Ft-/291541959764?)).
|
||||||
|
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
No discovery supported, manual configuration is required. The thing may be configured through the Paper UI.
|
No discovery supported, manual configuration is required.
|
||||||
|
The thing may be configured through the Paper UI.
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
It is necessary to specify the serial port device used for communication. On Linux systems,
|
It is necessary to specify the serial port device used for communication.
|
||||||
this will usually be either `/dev/ttyS0`, `/dev/ttyUSB0` or `/dev/ttyACM0` (or a higher
|
On Linux systems, this will usually be either `/dev/ttyS0`, `/dev/ttyUSB0` or `/dev/ttyACM0` (or a higher number than `0` if multiple devices are present).
|
||||||
number than `0` if multiple devices are present). On Windows it will be `COM1`, `COM2`, etc.
|
On Windows it will be `COM1`, `COM2`, etc.
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
* On/off
|
* On/off
|
||||||
* Input: Select video input: HDMI, Component, ect.
|
* Input: Select video input: HDMI, Component, ect.
|
||||||
* Volume
|
* Volume
|
||||||
* Mute
|
* Mute
|
||||||
* Backlight brightness: Supports 100 levels of brightness for LCD panels.
|
* Backlight brightness: Supports 100 levels of brightness for LCD panels.
|
||||||
* Color temperature: Choose among 3 color temperatures, Warm, Normal and Cool.
|
* Color temperature: Choose among 3 color temperatures, Warm, Normal and Cool.
|
||||||
|
|
||||||
## LG protocol references
|
## LG protocol references
|
||||||
|
|
||||||
[1] https://www.lg.com/us/commercial/documents/m6503ccba-owner-manual.pdf
|
[1] <https://www.lg.com/us/commercial/documents/m6503ccba-owner-manual.pdf>
|
||||||
|
|
||||||
[2] https://sites.google.com/site/brendanrobert/projects/bits-and-pieces/lg-tv-hacks
|
[2] <https://sites.google.com/site/brendanrobert/projects/bits-and-pieces/lg-tv-hacks>
|
||||||
|
|
||||||
[3] https://code.google.com/archive/p/lg-tv-command/source/default/source
|
[3] <https://code.google.com/archive/p/lg-tv-command/source/default/source>
|
||||||
|
|
|
@ -3,7 +3,7 @@ id: lgwebos
|
||||||
label: LG webOS
|
label: LG webOS
|
||||||
title: LG webOS - Bindings
|
title: LG webOS - Bindings
|
||||||
type: binding
|
type: binding
|
||||||
description: "The binding integrates LG WebOS based smart TVs. This binding uses a [forked version](https://github.com/sprehn/Connect-SDK-Java-Core) of LG's [Connect SDK](https://github.com/ConnectSDK/Connect-SDK-Android-Core) library."
|
description: "The binding integrates LG WebOS based smart TVs."
|
||||||
since: 2x
|
since: 2x
|
||||||
install: auto
|
install: auto
|
||||||
---
|
---
|
||||||
|
@ -14,8 +14,8 @@ install: auto
|
||||||
|
|
||||||
# LG webOS Binding
|
# LG webOS Binding
|
||||||
|
|
||||||
The binding integrates LG WebOS based smart TVs. This binding uses a [forked version](https://github.com/sprehn/Connect-SDK-Java-Core) of LG's [Connect SDK](https://github.com/ConnectSDK/Connect-SDK-Android-Core) library.
|
The binding integrates LG WebOS based smart TVs.
|
||||||
|
This binding uses a [forked version](https://github.com/sprehn/Connect-SDK-Java-Core) of LG's [Connect SDK](https://github.com/ConnectSDK/Connect-SDK-Android-Core) library.
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
|
@ -25,18 +25,21 @@ LG webOS based smart TVs are supported.
|
||||||
|
|
||||||
#### TV Settings
|
#### TV Settings
|
||||||
|
|
||||||
The TV must be connected to the same network as openHAB.
|
The TV must be connected to the same network as openHAB.
|
||||||
Under network settings allow "LG CONNECT APPS" to connect.
|
Under network settings allow "LG CONNECT APPS" to connect.
|
||||||
|
|
||||||
Note: Under general settings allow mobile applications to turn on the TV, if this option is available. In combination with the wake on LAN binding this will allow you to start the TV via openHAB.
|
Note: Under general settings allow mobile applications to turn on the TV, if this option is available.
|
||||||
|
In combination with the wake on LAN binding this will allow you to start the TV via openHAB.
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
TVs are auto discovered through SSDP in the local network. The binding broadcasts a search message via UDP on the network.
|
TVs are auto discovered through SSDP in the local network.
|
||||||
|
The binding broadcasts a search message via UDP on the network.
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
WebOS TV has no configuration parameters. Please note that at least one channel must be bound to an item before the binding will make an attempt to connect and pair with the TV once that one is turned on.
|
WebOS TV has no configuration parameters.
|
||||||
|
Please note that at least one channel must be bound to an item before the binding will make an attempt to connect and pair with the TV once that one is turned on.
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
|
@ -52,7 +55,7 @@ WebOS TV has no configuration parameters. Please note that at least one channel
|
||||||
| mediaStop | Switch | Media control stop | W |
|
| mediaStop | Switch | Media control stop | W |
|
||||||
| appLauncher | String | Application ID of currently running application. This also allows to start applications on the TV by sending a specific Application ID to this channel. | RW |
|
| appLauncher | String | Application ID of currently running application. This also allows to start applications on the TV by sending a specific Application ID to this channel. | RW |
|
||||||
|
|
||||||
## Full Example
|
## Example
|
||||||
|
|
||||||
This example assumes the IP of your smart TV is 192.168.2.119.
|
This example assumes the IP of your smart TV is 192.168.2.119.
|
||||||
|
|
||||||
|
@ -62,13 +65,13 @@ demo.items:
|
||||||
Switch LG_TV0_Power "TV Power" <television> { autoupdate="false", channel="lgwebos:WebOSTV:192_168_2_119:power" }
|
Switch LG_TV0_Power "TV Power" <television> { autoupdate="false", channel="lgwebos:WebOSTV:192_168_2_119:power" }
|
||||||
Switch LG_TV0_Mute "TV Mute" { channel="lgwebos:WebOSTV:192_168_2_119:mute"}
|
Switch LG_TV0_Mute "TV Mute" { channel="lgwebos:WebOSTV:192_168_2_119:mute"}
|
||||||
Dimmer LG_TV0_Volume "Volume [%S]" { channel="lgwebos:WebOSTV:192_168_2_119:volume" }
|
Dimmer LG_TV0_Volume "Volume [%S]" { channel="lgwebos:WebOSTV:192_168_2_119:volume" }
|
||||||
Number LG_TV0_VolDummy "VolumeUpDown"
|
Number LG_TV0_VolDummy "VolumeUpDown"
|
||||||
Number LG_TV0_ChannelNo "Channel [%d]" { channel="lgwebos:WebOSTV:192_168_2_119:channel" }
|
Number LG_TV0_ChannelNo "Channel [%d]" { channel="lgwebos:WebOSTV:192_168_2_119:channel" }
|
||||||
Number LG_TV0_ChannelDummy "ChannelUpDown"
|
Number LG_TV0_ChannelDummy "ChannelUpDown"
|
||||||
String LG_TV0_Channel "Channel [%S]" { channel="lgwebos:WebOSTV:192_168_2_119:channelName"}
|
String LG_TV0_Channel "Channel [%S]" { channel="lgwebos:WebOSTV:192_168_2_119:channelName"}
|
||||||
String LG_TV0_Toast { channel="lgwebos:WebOSTV:192_168_2_119:toast"}
|
String LG_TV0_Toast { channel="lgwebos:WebOSTV:192_168_2_119:toast"}
|
||||||
Switch LG_TV0_Stop "Stop" { autoupdate="false", channel="lgwebos:WebOSTV:192_168_2_119:mediaStop" }
|
Switch LG_TV0_Stop "Stop" { autoupdate="false", channel="lgwebos:WebOSTV:192_168_2_119:mediaStop" }
|
||||||
String LG_TV0_Application "Application [%s]" { channel="lgwebos:WebOSTV:192_168_2_119:appLauncher"}
|
String LG_TV0_Application "Application [%s]" { channel="lgwebos:WebOSTV:192_168_2_119:appLauncher"}
|
||||||
Player LG_TV0_Player { channel="lgwebos:WebOSTV:192_168_2_119:mediaPlayer"}
|
Player LG_TV0_Player { channel="lgwebos:WebOSTV:192_168_2_119:mediaPlayer"}
|
||||||
|
|
||||||
// this assumes you also have the wake on lan binding configured & You need to update your broadcast and mac address
|
// this assumes you also have the wake on lan binding configured & You need to update your broadcast and mac address
|
||||||
|
@ -90,7 +93,7 @@ sitemap demo label="Main Menu"
|
||||||
Text item=LG_TV0_Channel
|
Text item=LG_TV0_Channel
|
||||||
Switch item=LG_TV0_ChannelDown
|
Switch item=LG_TV0_ChannelDown
|
||||||
Switch item=LG_TV0_ChannelUp
|
Switch item=LG_TV0_ChannelUp
|
||||||
Default item=LG_TV0_Player
|
Default item=LG_TV0_Player
|
||||||
Text item=LG_TV0_Application
|
Text item=LG_TV0_Application
|
||||||
Selection item=LG_TV0_Application mappings=[
|
Selection item=LG_TV0_Application mappings=[
|
||||||
"com.webos.app.livetv"="TV",
|
"com.webos.app.livetv"="TV",
|
||||||
|
@ -116,10 +119,10 @@ demo.rules:
|
||||||
```
|
```
|
||||||
// this assumes you also have the wake on lan binding configured.
|
// this assumes you also have the wake on lan binding configured.
|
||||||
rule "Power on TV via Wake on LAN"
|
rule "Power on TV via Wake on LAN"
|
||||||
when
|
when
|
||||||
Item LG_TV0_Power received command ON
|
Item LG_TV0_Power received command ON
|
||||||
then
|
then
|
||||||
sendCommand( LG_TV0_WOL, ON)
|
sendCommand( LG_TV0_WOL, ON)
|
||||||
end
|
end
|
||||||
|
|
||||||
// for relative volume changes
|
// for relative volume changes
|
||||||
|
@ -144,9 +147,8 @@ end
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
Example of a toast message.
|
Example of a toast message.
|
||||||
|
|
||||||
```
|
```
|
||||||
LG_TV0_Toast.sendCommand("Hello World")
|
LG_TV0_Toast.sendCommand("Hello World")
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ id: loxone
|
||||||
label: Loxone
|
label: Loxone
|
||||||
title: Loxone - Bindings
|
title: Loxone - Bindings
|
||||||
type: binding
|
type: binding
|
||||||
description: "This binding integrates [Loxone Miniserver](https://www.loxone.com/enen/products/miniserver-extensions/) with [openHAB](http://www.openhab.org/). Miniserver is represented as a [Thing](http://docs.openhab.org/configuration/things.html). Miniserver controls, that are visible in the Loxone [UI](https://www.loxone.com/enen/kb/user-interface-configuration/), are exposed as openHAB channels."
|
description: "This binding integrates [Loxone Miniserver](https://www.loxone.com/enen/products/miniserver-extensions/) with [openHAB](http://www.openhab.org/)."
|
||||||
since: 2x
|
since: 2x
|
||||||
logo: images/addons/loxone.png
|
logo: images/addons/loxone.png
|
||||||
install: auto
|
install: auto
|
||||||
|
@ -15,18 +15,19 @@ install: auto
|
||||||
|
|
||||||
# Loxone Binding
|
# Loxone Binding
|
||||||
|
|
||||||
This binding integrates [Loxone Miniserver](https://www.loxone.com/enen/products/miniserver-extensions/) with [openHAB](http://www.openhab.org/). Miniserver is represented as a [Thing](http://docs.openhab.org/configuration/things.html). Miniserver controls, that are visible in the Loxone [UI](https://www.loxone.com/enen/kb/user-interface-configuration/), are exposed as openHAB channels.
|
This binding integrates [Loxone Miniserver](https://www.loxone.com/enen/products/miniserver-extensions/) with [openHAB](http://www.openhab.org/).
|
||||||
|
Miniserver is represented as a [Thing](http://docs.openhab.org/configuration/things.html). Miniserver controls, that are visible in the Loxone [UI](https://www.loxone.com/enen/kb/user-interface-configuration/), are exposed as openHAB channels.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
The following features are currently supported:
|
The following features are currently supported:
|
||||||
|
|
||||||
* [Discovery](https://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol) of Miniservers available on the local network
|
* [Discovery](https://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol) of Miniservers available on the local network
|
||||||
* Creation of channels for Loxone controls that are exposed in the Loxone [UI](https://www.loxone.com/enen/kb/user-interface-configuration/)
|
* Creation of channels for Loxone controls that are exposed in the Loxone [UI](https://www.loxone.com/enen/kb/user-interface-configuration/)
|
||||||
* Tagging of channels and [items](http://docs.openhab.org/configuration/items.html) with tags that can be recognized by [Alexa](https://en.wikipedia.org/wiki/Amazon_Alexa) openHAB [skill](https://www.amazon.com/openHAB-Foundation/dp/B01MTY7Z5L), so voice can be used to command Loxone controls
|
* Tagging of channels and [items](http://docs.openhab.org/configuration/items.html) with tags that can be recognized by [Alexa](https://en.wikipedia.org/wiki/Amazon_Alexa) openHAB [skill](https://www.amazon.com/openHAB-Foundation/dp/B01MTY7Z5L), so voice can be used to command Loxone controls
|
||||||
* Management of a Websocket connection to the Miniserver and updating Thing status accordingly
|
* Management of a Websocket connection to the Miniserver and updating Thing status accordingly
|
||||||
* Updates of openHAB channel's state in runtime according to control's state changes on the Miniserver
|
* Updates of openHAB channel's state in runtime according to control's state changes on the Miniserver
|
||||||
* Passing channel commands to the Miniserver's controls
|
* Passing channel commands to the Miniserver's controls
|
||||||
|
|
||||||
## Things
|
## Things
|
||||||
|
|
||||||
|
@ -38,101 +39,108 @@ The Thing UID of automatically discovered Miniservers is: `loxone:miniserver:<se
|
||||||
|
|
||||||
[Loxone Miniservers](https://www.loxone.com/enen/products/miniserver-extensions/) are automatically discovered by the binding and put in the Inbox. [Discovery](https://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol) is performed using [UPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play) protocol.
|
[Loxone Miniservers](https://www.loxone.com/enen/products/miniserver-extensions/) are automatically discovered by the binding and put in the Inbox. [Discovery](https://en.wikipedia.org/wiki/Simple_Service_Discovery_Protocol) is performed using [UPnP](https://en.wikipedia.org/wiki/Universal_Plug_and_Play) protocol.
|
||||||
|
|
||||||
Before a Miniserver Thing can go online, it must be configured with a user name and a password of an account available on the Miniserver. Please set them manually in Thing configuration after you add a new Miniserver Thing from your Inbox.
|
Before a Miniserver Thing can go online, it must be configured with a user name and a password of an account available on the Miniserver.
|
||||||
|
Please set them manually in Thing configuration after you add a new Miniserver Thing from your Inbox.
|
||||||
|
|
||||||
### Manual configuration
|
### Manual configuration
|
||||||
|
|
||||||
As an alternative to the automatic discovery process, Miniservers can be configured manually, through an entry in [.things file](http://docs.openhab.org/configuration/things.html#defining-things-using-files). The entry should have the following syntax:
|
As an alternative to the automatic discovery process, Miniservers can be configured manually, through an entry in [.things file](http://docs.openhab.org/configuration/things.html#defining-things-using-files).
|
||||||
|
The entry should have the following syntax:
|
||||||
|
|
||||||
`loxone:miniserver:<thing-id> [ user="<user>", password="<password>", host="<host>", port=<port>, ... ]`
|
`loxone:miniserver:<thing-id> [ user="<user>", password="<password>", host="<host>", port=<port>, ... ]`
|
||||||
|
|
||||||
Where:
|
Where:
|
||||||
|
|
||||||
* `<thing-id>` is a unique ID for your Miniserver (you can but do not have to use Miniserver's MAC address here)
|
* `<thing-id>` is a unique ID for your Miniserver (you can but do not have to use Miniserver's MAC address here)
|
||||||
* `<user>` and `<password>` are the credentials used to log into the Miniserver
|
* `<user>` and `<password>` are the credentials used to log into the Miniserver
|
||||||
* `<host>` is a host name or IP of the Miniserver
|
* `<host>` is a host name or IP of the Miniserver
|
||||||
* `<port>` is a port of web services on the Miniserver (please notice that port, as a number, is not surrounded by quotation marks, while the other values described above are)
|
* `<port>` is a port of web services on the Miniserver (please notice that port, as a number, is not surrounded by quotation marks, while the other values described above are)
|
||||||
* `...` are optional advanced parameters - please refer to _Advanced parameters_ section at the end of this instruction for a list of available options
|
* `...` are optional advanced parameters - please refer to _Advanced parameters_ section at the end of this instruction for a list of available options
|
||||||
|
|
||||||
Example 1 - minimal required configuration:
|
Example 1 - minimal required configuration:
|
||||||
|
|
||||||
loxone:miniserver:504F2414780F [ user="kryten", password="jmc2017", host="loxone.local", port=80 ]
|
`loxone:miniserver:504F2414780F [ user="kryten", password="jmc2017", host="loxone.local", port=80 ]`
|
||||||
|
|
||||||
Example 2 - additionally keep alive period is set to 2 minutes and Websocket maximum binary message size to 8MB:
|
Example 2 - additionally keep alive period is set to 2 minutes and Websocket maximum binary message size to 8MB:
|
||||||
|
|
||||||
loxone:miniserver:504F2414780F [ user="kryten", password="jmc2017", host="192.168.0.210", port=80, keepAlivePeriod=120, maxBinMsgSize=8192 ]
|
`loxone:miniserver:504F2414780F [ user="kryten", password="jmc2017", host="192.168.0.210", port=80, keepAlivePeriod=120, maxBinMsgSize=8192 ]`
|
||||||
|
|
||||||
### Thing Offline Reasons
|
### Thing Offline Reasons
|
||||||
|
|
||||||
There can be following reasons why Miniserver status is `OFFLINE`:
|
There can be following reasons why Miniserver status is `OFFLINE`:
|
||||||
|
|
||||||
* __Configuration Error__
|
* __Configuration Error__
|
||||||
* _Unknown host_
|
* _Unknown host_
|
||||||
* Miniserver host/ip address can't be resolved. No connection attempt will be made.
|
* Miniserver host/ip address can't be resolved. No connection attempt will be made.
|
||||||
* _User not authorized_
|
* _User not authorized_
|
||||||
* Invalid user name or password or user not authorized to connect to the Miniserver. Binding will make another attempt to connect after some time.
|
* Invalid user name or password or user not authorized to connect to the Miniserver. Binding will make another attempt to connect after some time.
|
||||||
* _Too many failed login attempts - stopped trying_
|
* _Too many failed login attempts - stopped trying_
|
||||||
* Miniserver locked out user for too many failed login attempts. In this case binding will stop trying to connect to the Miniserver. A new connection will be attempted only when user corrects user name or password in the configuration parameters.
|
* Miniserver locked out user for too many failed login attempts. In this case binding will stop trying to connect to the Miniserver. A new connection will be attempted only when user corrects user name or password in the configuration parameters.
|
||||||
* _Internal error_
|
* _Internal error_
|
||||||
* Probably a code defect, collect debug data and submit an issue. Binding will try to reconnect, but with unknown chance for success.
|
* Probably a code defect, collect debug data and submit an issue. Binding will try to reconnect, but with unknown chance for success.
|
||||||
* _Other_
|
* _Other_
|
||||||
* An exception occured and its details will be displayed
|
* An exception occured and its details will be displayed
|
||||||
* __Communication Error__
|
* __Communication Error__
|
||||||
* _Error communicating with Miniserver_
|
* _Error communicating with Miniserver_
|
||||||
* I/O error occurred during established communication with the Miniserver, most likely due to network connectivity issues, Miniserver going offline or Loxone Config is uploading a new configuration. A reconnect attempt will be made soon. Please consult detailed message against one of the following:
|
* I/O error occurred during established communication with the Miniserver, most likely due to network connectivity issues, Miniserver going offline or Loxone Config is uploading a new configuration. A reconnect attempt will be made soon. Please consult detailed message against one of the following:
|
||||||
* _"Text message size [XX] exceeds maximum size [YY]"_ - adjust text message size in advanced parameters to be above XX value
|
* _"Text message size &lsqbXX&rsqb exceeds maximum size &lsqbYY&rsqb"_ - adjust text message size in advanced parameters to be above XX value
|
||||||
* _"Binary message size [XX] exceeds maximum size [YY]"_ - adjust binary message size in advanced parameters to be above XX value
|
* _"Binary message size &lsqbXX&rsqb exceeds maximum size &lsqbYY&rsqb"_ - adjust binary message size in advanced parameters to be above XX value
|
||||||
* _User authentication timeout_
|
* _User authentication timeout_
|
||||||
* Authentication procedure took too long time and Miniserver closed connection. It should not occur under normal conditions and may indicate performance issue on binding's OS side.
|
* Authentication procedure took too long time and Miniserver closed connection. It should not occur under normal conditions and may indicate performance issue on binding's OS side.
|
||||||
* _Timeout due to no activity_
|
* _Timeout due to no activity_
|
||||||
* Miniserver closed connection because there was no activity from binding. It should not occur under normal conditions, as it is prevented by sending keep-alive messages from the binding to the Miniserver. By default Miniserver's timeout is 5 minutes and period between binding's keep-alive messages is 4 minutes. If you see this error, try changing the keep-alive period in binding's configuration to a smaller value.
|
* Miniserver closed connection because there was no activity from binding. It should not occur under normal conditions, as it is prevented by sending keep-alive messages from the binding to the Miniserver. By default Miniserver's timeout is 5 minutes and period between binding's keep-alive messages is 4 minutes. If you see this error, try changing the keep-alive period in binding's configuration to a smaller value.
|
||||||
* _Other_
|
* _Other_
|
||||||
* An exception occured and its details will be displayed
|
* An exception occured and its details will be displayed
|
||||||
|
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
This binding creates channels for controls that are [used in Loxone's user interface](https://www.loxone.com/enen/kb/user-interface-configuration/). Currently supported controls are presented in the table below.
|
This binding creates channels for controls that are [used in Loxone's user interface](https://www.loxone.com/enen/kb/user-interface-configuration/).
|
||||||
|
Currently supported controls are presented in the table below.
|
||||||
|
|
||||||
|[Loxone API Control](https://www.loxone.com/enen/kb/api/)|Loxone Block-Functions|[Item Types](http://docs.openhab.org/concepts/items.html)|Supported Commands|
|
| [Loxone API Control](https://www.loxone.com/enen/kb/api/) | Loxone Block-Functions | [Item Types](http://docs.openhab.org/concepts/items.html) | Supported Commands |
|
||||||
|----|----|----|----|
|
|-----------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|Dimmer|[Dimmer](https://www.loxone.com/enen/kb/dimmer/)|`Dimmer`|`OnOffType.*`<br>`Percent`|
|
| Dimmer | [Dimmer](https://www.loxone.com/enen/kb/dimmer/) | `Dimmer` | `OnOffType.*`<br>`Percent` |
|
||||||
|InfoOnlyAnalog|Analog [virtual inputs](https://www.loxone.com/enen/kb/virtual-inputs-outputs/) (virtual state)|`Number`|none (read-only value)|
|
| InfoOnlyAnalog | Analog [virtual inputs](https://www.loxone.com/enen/kb/virtual-inputs-outputs/) (virtual state) | `Number` | none (read-only value) |
|
||||||
|InfoOnlyDigital|Digital [virtual inputs](https://www.loxone.com/enen/kb/virtual-inputs-outputs/) (virtual state) |`String`|none (read-only value)|
|
| InfoOnlyDigital | Digital [virtual inputs](https://www.loxone.com/enen/kb/virtual-inputs-outputs/) (virtual state) | `String` | none (read-only value) |
|
||||||
|Jalousie|Blinds, [Automatic Blinds](https://www.loxone.com/enen/kb/automatic-blinds/), Automatic Blinds Integrated|`Rollershutter`| `UpDown.*`<br>`StopMove.*`<br>`Percent`|
|
| Jalousie | Blinds, [Automatic Blinds](https://www.loxone.com/enen/kb/automatic-blinds/), Automatic Blinds Integrated | `Rollershutter` | `UpDown.*`<br>`StopMove.*`<br>`Percent` |
|
||||||
|LightController|[Lighting controller](https://www.loxone.com/enen/kb/lighting-controller/), [Hotel lighting controller](https://www.loxone.com/enen/kb/hotel-lighting-controller/)<br>Additionally, for each configured output of a lighting controller, a new independent control (with own channel/item) will be created.|`Number`|`Decimal` (select lighting scene)<br>`OnOffType.*` (select all off or all on scene)|
|
| LightController | [Lighting controller V1 (obsolete)](https://www.loxone.com/enen/kb/lighting-controller/), [Hotel lighting controller](https://www.loxone.com/enen/kb/hotel-lighting-controller/)<br>Additionally, for each configured output of a lighting controller, a new independent control (with own channel/item) will be created. | `Number` | `Decimal` (select lighting scene)<br>`UpDownType.*` (swipe through scenes)<br>`OnOffType.*` (select all off or all on scene) |
|
||||||
|Pushbutton | [Virtual inputs](https://www.loxone.com/enen/kb/virtual-inputs-outputs/) of pushbutton type | `Switch` | `OnOffType.ON` (generates Pulse command)|
|
| LightControllerV2 | [Lighting controller](https://www.loxone.com/enen/kb/lighting-controller-v2/)<br>Additionally, for each configured output and for each mood of a lighting controller, a new independent control (with own channel/item) will be created. | `Number` | `Decimal` (select mood)<br>`UpDownType.*` (swipe through moods) |
|
||||||
|Radio|[Radio button 8x and 16x](https://www.loxone.com/enen/kb/radio-buttons/)|`Number`|`Decimal` (select output number 1-8/16 or 0 for all outputs off)<br>`OnOffType.OFF` (all outputs off)|
|
| LightControllerV2 Mood | A mood defined for a [Lighting controller](https://www.loxone.com/enen/kb/lighting-controller-v2/). Each mood will have own channel and can be operated independently in order to allow mixing of moods. | `Switch` | `OnOffType.*` (mixes mood in or out of the controller) |
|
||||||
|Switch | [Virtual inputs](https://www.loxone.com/enen/kb/virtual-inputs-outputs/) of switch type<br>[Push-button](https://www.loxone.com/enen/kb/push-button/) | `Switch` |`OnOffType.*`|
|
| Pushbutton | [Virtual inputs](https://www.loxone.com/enen/kb/virtual-inputs-outputs/) of pushbutton type | `Switch` | `OnOffType.ON` (generates Pulse command) |
|
||||||
|TextState|[State](https://www.loxone.com/enen/kb/state/)|`String`|none (read-only value)|
|
| Radio | [Radio button 8x and 16x](https://www.loxone.com/enen/kb/radio-buttons/) | `Number` | `Decimal` (select output number 1-8/16 or 0 for all outputs off)<br>`OnOffType.OFF` (all outputs off) |
|
||||||
|TimedSwitch| [Stairwell light switch](https://www.loxone.com/enen/kb/stairwell-light-switch/) or [Multifunction switch](https://www.loxone.com/enen/kb/multifunction-switch/)| `Switch` <br> <br> `Number`|`OnOffType.*` (ON send pulse to Loxone) <br> <br> Read-only countdown value to off|
|
| Switch | [Virtual inputs](https://www.loxone.com/enen/kb/virtual-inputs-outputs/) of switch type<br>[Push-button](https://www.loxone.com/enen/kb/push-button/) | `Switch` | `OnOffType.*` |
|
||||||
|
| TextState | [State](https://www.loxone.com/enen/kb/state/) | `String` | none (read-only value) |
|
||||||
|
| TimedSwitch | [Stairwell light switch](https://www.loxone.com/enen/kb/stairwell-light-switch/) or [Multifunction switch](https://www.loxone.com/enen/kb/multifunction-switch/) | `Switch` <br> <br> `Number` | `OnOffType.*` (ON send pulse to Loxone) <br> <br> Read-only countdown value to off |
|
||||||
|
|
||||||
If your control is supported, but binding does not recognize it, please check if it is exposed in Loxone UI using [Loxone Config](https://www.loxone.com/enen/kb-cat/loxone-config/). application.
|
|
||||||
|
|
||||||
Channel ID is defined in the following way:
|
If your control is supported, but binding does not recognize it, please check if it is exposed in Loxone UI using [Loxone Config](https://www.loxone.com/enen/kb-cat/loxone-config/) application.
|
||||||
|
|
||||||
* `loxone:miniserver:<serial>:<control-UUID>`
|
Channel ID is defined in the following way:
|
||||||
|
|
||||||
|
* `loxone:miniserver:<serial>:<control-UUID>`
|
||||||
|
|
||||||
Channel label is defined in the following way:
|
Channel label is defined in the following way:
|
||||||
|
|
||||||
* For controls that belong to a room: `<Room name> / <Control name>`
|
* For controls that belong to a room: `<Room name> / <Control name>`
|
||||||
* For controls without a room: `<Control name>`
|
* For controls without a room: `<Control name>`
|
||||||
|
|
||||||
## Advanced Parameters
|
## Advanced Parameters
|
||||||
|
|
||||||
This section describes the optional advanced parameters that can be configured for a Miniserver. They can be set using UI (e.g. PaperUI) or in a .things file. If a parameter is not explicitly defined, binding will use its default value.
|
This section describes the optional advanced parameters that can be configured for a Miniserver. They can be set using UI (e.g. PaperUI) or in a .things file.
|
||||||
|
If a parameter is not explicitly defined, binding will use its default value.
|
||||||
|
|
||||||
To define a parameter value in a .things file, please refer to it by parameter's ID, for example:
|
To define a parameter value in a .things file, please refer to it by parameter's ID, for example:
|
||||||
|
|
||||||
keepAlivePeriod=120
|
`keepAlivePeriod=120`
|
||||||
|
|
||||||
### Timeouts
|
### Timeouts
|
||||||
|
|
||||||
Timeout values control various parts of Websocket connection management. They can be tuned, when abnormal behavior of the binding is observed, which can be attributed to timing.
|
Timeout values control various parts of Websocket connection management.
|
||||||
|
They can be tuned, when abnormal behavior of the binding is observed, which can be attributed to timing.
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
| ID | Name | Range | Default | Description |
|
| ID | Name | Range | Default | Description |
|
||||||
|-----------------|-----------------------------------------------|----------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|-------------------|-----------------------------------------------|----------|---------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `firstConDelay` | First connection delay | 0-120 s | 1 s | Time in seconds between binding initialization with all necessary parameters and first connection attempt. |
|
| `firstConDelay` | First connection delay | 0-120 s | 1 s | Time in seconds between binding initialization with all necessary parameters and first connection attempt. |
|
||||||
| `keepAlivePeriod` | Period between connection keep-alive messages | 1-600 s | 240 s | Time in seconds between sending two consecutive keep-alive messages, in order to inform Miniserver about active connection and prevent it from disconnecting. Miniserver default connection timeout is 5 minutes, so default is set to 4 minutes. |
|
| `keepAlivePeriod` | Period between connection keep-alive messages | 1-600 s | 240 s | Time in seconds between sending two consecutive keep-alive messages, in order to inform Miniserver about active connection and prevent it from disconnecting. Miniserver default connection timeout is 5 minutes, so default is set to 4 minutes. |
|
||||||
| `connectErrDelay` | Connect error delay | 0-600 s | 10 s | Time in seconds between failed Websocket connect attempt and another attempt to connect. Websocket connection is established before authentication and data transfer. It can usually fail due to unreachable Miniserver. |
|
| `connectErrDelay` | Connect error delay | 0-600 s | 10 s | Time in seconds between failed Websocket connect attempt and another attempt to connect. Websocket connection is established before authentication and data transfer. It can usually fail due to unreachable Miniserver. |
|
||||||
|
@ -142,50 +150,54 @@ Timeout values control various parts of Websocket connection management. They ca
|
||||||
|
|
||||||
### Sizes
|
### Sizes
|
||||||
|
|
||||||
| ID | Name | Range | Default | Description |
|
| ID | Name | Range | Default | Description |
|
||||||
|----------------|----------------------------------|----------|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|------------------|----------------------------------|----------|-------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
| `maxBinMsgSize` | Maximum binary message size (kB) | 0-100 MB | 3072 (3 MB) | For Websocket client, a maximum size of a binary message that can be received from the Miniserver. If you get communication errors with a message indicating there are too long binary messages received, you may need to adjust this parameter. |
|
| `maxBinMsgSize` | Maximum binary message size (kB) | 0-100 MB | 3072 (3 MB) | For Websocket client, a maximum size of a binary message that can be received from the Miniserver. If you get communication errors with a message indicating there are too long binary messages received, you may need to adjust this parameter. |
|
||||||
| `maxTextMsgSize` | Maximum text message size (kB) | 0-100 MB | 512 KB | For Websocket client, a maximum size of a text message that can be received from the Miniserver. If you get communication errors with a message indicating there are too long text messages received, you may need to adjust this parameter. |
|
| `maxTextMsgSize` | Maximum text message size (kB) | 0-100 MB | 512 KB | For Websocket client, a maximum size of a text message that can be received from the Miniserver. If you get communication errors with a message indicating there are too long text messages received, you may need to adjust this parameter. |
|
||||||
|
|
||||||
|
|
||||||
## Limitations
|
## Limitations
|
||||||
|
|
||||||
* As there is no push button item type in openHAB, Loxone's push button is an openHAB's switch, which always generates a short pulse on changing its state to on. If you use simple UI mode and framework generates items for you, switches for push buttons will still be toggle switches. To change it to the push button style, you have to create item manually with `autoupdate=false` parameter. An example of such item definition is given in the _Items_ section above.
|
* As there is no push button item type in openHAB, Loxone's push button is an openHAB's switch, which always generates a short pulse on changing its state to on.
|
||||||
|
If you use simple UI mode and framework generates items for you, switches for push buttons will still be toggle switches.
|
||||||
|
To change it to the push button style, you have to create item manually with `autoupdate=false` parameter.
|
||||||
|
An example of such item definition is given in the _Items_ section above.
|
||||||
|
|
||||||
## Automatic Configuration Example
|
## Automatic Configuration Example
|
||||||
|
|
||||||
The simplest and quickest way of configuring a Loxone Miniserver with openHAB is to use automatic configuration features:
|
The simplest and quickest way of configuring a Loxone Miniserver with openHAB is to use automatic configuration features:
|
||||||
|
|
||||||
* Make sure your Miniserver is up and running and on the same network segment as openHAB server.
|
* Make sure your Miniserver is up and running and on the same network segment as openHAB server.
|
||||||
* Add Loxone binding from the available `Add-ons`.
|
* Add Loxone binding from the available `Add-ons`.
|
||||||
* In `Configuration/System` page, set `Item Linking` to `Simple Mode` (don't forget to save your choice).
|
* In `Configuration/System` page, set `Item Linking` to `Simple Mode` (don't forget to save your choice).
|
||||||
* Add your Miniserver Thing from the `Inbox`, after automatic discovery is performed by the framework during binding initialization.
|
* Add your Miniserver Thing from the `Inbox`, after automatic discovery is performed by the framework during binding initialization.
|
||||||
* Configure your Miniserver by editing Miniserver Thing in `Configuration/Things` page and providing user name and password.
|
* Configure your Miniserver by editing Miniserver Thing in `Configuration/Things` page and providing user name and password.
|
||||||
* Miniserver Thing should go online. Channels and Items will be automatically created and configured.
|
* Miniserver Thing should go online. Channels and Items will be automatically created and configured.
|
||||||
* On the `Control` page, you can test Miniserver Items and interact with them.
|
* On the `Control` page, you can test Miniserver Items and interact with them.
|
||||||
* As the user interface, you may use [HABPanel](http://docs.openhab.org/addons/uis/habpanel/readme.html), where all Miniserver's items are ready for picking up, using entirely the graphical user interface.
|
* As the user interface, you may use [HABPanel](http://docs.openhab.org/addons/uis/habpanel/readme.html), where all Miniserver's items are ready for picking up, using entirely the graphical user interface.
|
||||||
|
|
||||||
## Manual Configuration Example
|
## Manual Configuration Example
|
||||||
|
|
||||||
A more advanced setup requires manual creation and editing of openHAB configuration files, according to the instructions provided in [configuration user guide](http://docs.openhab.org/configuration/index.html).
|
A more advanced setup requires manual creation and editing of openHAB configuration files, according to the instructions provided in [configuration user guide](http://docs.openhab.org/configuration/index.html).
|
||||||
In this example we will manually configure:
|
In this example we will manually configure:
|
||||||
|
|
||||||
* A Miniserver with serial number 504F2414780F, available at IP 192.168.0.220 and with web services port 80
|
* A Miniserver with serial number 504F2414780F, available at IP 192.168.0.220 and with web services port 80
|
||||||
* A Miniserver's user named "kryten" and password "jmc2017"
|
* A Miniserver's user named "kryten" and password "jmc2017"
|
||||||
* Items for:
|
* Items for:
|
||||||
* Temperature of the Miniserver - a Virtual Analog State functional block
|
* Temperature of the Miniserver - a Virtual Analog State functional block
|
||||||
* State of a garage door - a Virtual Digital State funtional block (ON=door open, OFF=door closed)
|
* State of a garage door - a Virtual Digital State funtional block (ON=door open, OFF=door closed)
|
||||||
* Kitchen lights switch - a Switch Subcontrol at the AI1 output of a Lighting Controller functional block (with a tag recognizable by Alexa service)
|
* Kitchen lights switch - a Switch Subcontrol at the AI1 output of a Lighting Controller functional block (with a tag recognizable by Alexa service)
|
||||||
* Pushbutton to switch all lights off - a Virtual Input of Pushbutton type functional block (pushbutton realized by adding `autoupdate="false"` parameter)
|
* Pushbutton to switch all lights off - a Virtual Input of Pushbutton type functional block (pushbutton realized by adding `autoupdate="false"` parameter)
|
||||||
* Kitchen blinds - a Jalousie functional block
|
* Kitchen blinds - a Jalousie functional block
|
||||||
* Lighting scene - a Lighting Controller functional block
|
* Lighting scene - a Lighting Controller functional block
|
||||||
* Output valve selection for garden watering - 8x Radio Button functional block, where only one valve can be open at a time
|
* Output valve selection for garden watering - 8x Radio Button functional block, where only one valve can be open at a time
|
||||||
* A text displaying current alarm's state - a State functional block
|
* A text displaying current alarm's state - a State functional block
|
||||||
|
|
||||||
### things/loxone.things:
|
### things/loxone.things:
|
||||||
|
|
||||||
```
|
```
|
||||||
loxone:miniserver:504F2414780F [ user="kryten", password="jmc2017", host="192.168.0.220", port=80 ]
|
loxone:miniserver:504F2414780F [ user="kryten", password="jmc2017", host="192.168.0.220", port=80
|
||||||
```
|
```
|
||||||
|
|
||||||
### items/loxone.items:
|
### items/loxone.items:
|
||||||
|
|
||||||
|
@ -201,6 +213,10 @@ Switch Reset_Lights "Switch all lights off" <switch>
|
||||||
Rollershutter Kitchen_Blinds "Kitchen blinds" <blinds> {channel="loxone:miniserver:504F2414780F:0F2E2123-014D-3232-FFEF204EB3C24B9E"}
|
Rollershutter Kitchen_Blinds "Kitchen blinds" <blinds> {channel="loxone:miniserver:504F2414780F:0F2E2123-014D-3232-FFEF204EB3C24B9E"}
|
||||||
Dimmer Kitchen_Dimmer "Kitchen dimmer" <slider> ["lighting"] {channel="loxone:miniserver:504F2414780F:0F2E2123-014D-3232-FFEF207EB3C24B9E"}
|
Dimmer Kitchen_Dimmer "Kitchen dimmer" <slider> ["lighting"] {channel="loxone:miniserver:504F2414780F:0F2E2123-014D-3232-FFEF207EB3C24B9E"}
|
||||||
Number Light_Scene "Lighting scene" <light> {channel="loxone:miniserver:504F2414780F:0FC4E0DF-0255-6ABD-FFFE403FB0C34B9E"}
|
Number Light_Scene "Lighting scene" <light> {channel="loxone:miniserver:504F2414780F:0FC4E0DF-0255-6ABD-FFFE403FB0C34B9E"}
|
||||||
|
Number Mood_Selector "Lighting mood" <light> {channel="loxone:miniserver:504F2414780F:0FC4E0DF-0255-6ABD-FFFE203EA0C34B9E"}
|
||||||
|
Switch Mood_Enter_Home "Entering home" <light> {channel="loxone:miniserver:504F2414780F:0FC4E0DF-0255-6ABD-FFFE203EA0C34B9E-M1"}
|
||||||
|
Switch Mood_Read_Book "Reading book" <light> {channel="loxone:miniserver:504F2414780F:0FC4E0DF-0255-6ABD-FFFE203EA0C34B9E-M2"}
|
||||||
|
Switch Mood_Evening "Evening setup" <light> {channel="loxone:miniserver:504F2414780F:0FC4E0DF-0255-6ABD-FFFE203EA0C34B9E-M3"}
|
||||||
Number Garden_Valve "Garden watering section" <garden> {channel="loxone:miniserver:504F2414780F:0FC5E0DF-0355-6AAD-FFFE403FB0C34B9E"}
|
Number Garden_Valve "Garden watering section" <garden> {channel="loxone:miniserver:504F2414780F:0FC5E0DF-0355-6AAD-FFFE403FB0C34B9E"}
|
||||||
String Alarm_State "Alarm state [%s]" <alarm> {channel="loxone:miniserver:504F2414780F:0F2E2134-017D-3E82-FFFF433FB4A34B9E"}
|
String Alarm_State "Alarm state [%s]" <alarm> {channel="loxone:miniserver:504F2414780F:0F2E2134-017D-3E82-FFFF433FB4A34B9E"}
|
||||||
```
|
```
|
||||||
|
@ -220,6 +236,10 @@ sitemap loxone label="Loxone Example Menu"
|
||||||
Switch item=Stairs_Light
|
Switch item=Stairs_Light
|
||||||
Text item=Stairs_Light-1
|
Text item=Stairs_Light-1
|
||||||
Selection item=Light_Scene mappings=[0="All off", 1="My scene 1", 2="My scene 2", 9="All on"]
|
Selection item=Light_Scene mappings=[0="All off", 1="My scene 1", 2="My scene 2", 9="All on"]
|
||||||
|
Selection item=Mood_Selector
|
||||||
|
Switch item=Mood_Enter_Home
|
||||||
|
Switch item=Mood_Read_Book
|
||||||
|
Switch item=Mood_Evening
|
||||||
Setpoint item=Garden_Valve minValue=0 maxValue=8 step=1
|
Setpoint item=Garden_Valve minValue=0 maxValue=8 step=1
|
||||||
Text item=Alarm_State
|
Text item=Alarm_State
|
||||||
}
|
}
|
||||||
|
@ -228,7 +248,7 @@ sitemap loxone label="Loxone Example Menu"
|
||||||
|
|
||||||
### transform/garagedoor.map:
|
### transform/garagedoor.map:
|
||||||
|
|
||||||
```
|
```java
|
||||||
OFF=Closed
|
OFF=Closed
|
||||||
ON=Open
|
ON=Open
|
||||||
-=Unknown
|
-=Unknown
|
||||||
|
|
|
@ -13,27 +13,26 @@ install: auto
|
||||||
|
|
||||||
{% include base.html %}
|
{% include base.html %}
|
||||||
|
|
||||||
# Lutron Binding
|
# Lutron Binding
|
||||||
|
|
||||||
This binding integrates with [Lutron](http://www.lutron.com) light control systems.
|
This binding integrates with [Lutron](http://www.lutron.com) light control systems.
|
||||||
|
|
||||||
For Grafik Eye 3x/4x binding through the GRX-PRG or GRX-CI-PRG - see farther below.
|
**Note:** while the integration protocol should be largely similar with other Lutron systems such as Homeworks QS, this binding has only been tested with RadioRA 2 and RadioRA Classic.
|
||||||
|
|
||||||
**Note:** while the integration protocol should be largely similar with other Lutron systems such as Homeworks QS, this binding has only been tested with RadioRA 2.
|
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
This binding currently supports the following thing types:
|
This binding currently supports the following thing types:
|
||||||
|
|
||||||
* dimmer
|
* dimmer
|
||||||
* switch
|
* switch
|
||||||
* keypad
|
* keypad
|
||||||
* occupancysensor
|
* occupancysensor
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
Discovery is supported for RadioRA 2. Discovered RadioRA 2 main repeaters will use the default lutron/integration
|
Discovery is supported for RadioRA 2.
|
||||||
credentials. This can be changed in the main repeater thing configuration.
|
Discovered RadioRA 2 main repeaters will use the default lutron/integration credentials.
|
||||||
|
This can be changed in the main repeater thing configuration.
|
||||||
|
|
||||||
**Note:** discovery of devices paired with a bridge should work on systems other than Radio RA 2; however, the bridge itself will need to be manually added as bridge discovery is only supported for Radio RA 2.
|
**Note:** discovery of devices paired with a bridge should work on systems other than Radio RA 2; however, the bridge itself will need to be manually added as bridge discovery is only supported for Radio RA 2.
|
||||||
|
|
||||||
|
@ -49,7 +48,10 @@ The bridge requires the IP address of the bridge as well as the telnet username
|
||||||
Thing lutron:ipbridge:radiora2 [ ipAddress="192.168.1.2", user="lutron", password="integration" ]
|
Thing lutron:ipbridge:radiora2 [ ipAddress="192.168.1.2", user="lutron", password="integration" ]
|
||||||
```
|
```
|
||||||
|
|
||||||
Each Lutron thing requires the integration ID of the corresponding item in the Lutron system. The integration IDs can be retrieved from the integration report generated by the Lutron software. Dimmers can optionally be configured to specify a fade in and fade out time in seconds. In the thing file, this looks e.g. like
|
Each Lutron thing requires the integration ID of the corresponding item in the Lutron system.
|
||||||
|
The integration IDs can be retrieved from the integration report generated by the Lutron software.
|
||||||
|
Dimmers can optionally be configured to specify a fade in and fade out time in seconds.
|
||||||
|
In the thing file, this looks e.g. like
|
||||||
|
|
||||||
```
|
```
|
||||||
Thing lutron:dimmer:livingroom (lutron:ipbridge:radiora2) [ integrationId=8, fadeInTime=0.5, fadeOutTime=5 ]
|
Thing lutron:dimmer:livingroom (lutron:ipbridge:radiora2) [ integrationId=8, fadeInTime=0.5, fadeOutTime=5 ]
|
||||||
|
@ -59,31 +61,32 @@ Thing lutron:dimmer:livingroom (lutron:ipbridge:radiora2) [ integrationId=8, fad
|
||||||
|
|
||||||
The following channels are supported:
|
The following channels are supported:
|
||||||
|
|
||||||
| Thing Type | Channel Type ID | Item Type | Description |
|
| Thing Type | Channel Type ID | Item Type | Description |
|
||||||
|-----------------|-------------------|--------------|--------------------------------------------- |
|
|-----------------|-------------------|-----------|-----------------------------------------|
|
||||||
| dimmer | lightlevel | Dimmer | Increase/decrease the light level |
|
| dimmer | lightlevel | Dimmer | Increase/decrease the light level |
|
||||||
| switch | switchstatus | Switch | On/off status of the switch |
|
| switch | switchstatus | Switch | On/off status of the switch |
|
||||||
| occupancysensor | occupancystatus | Switch | Occupancy status |
|
| occupancysensor | occupancystatus | Switch | Occupancy status |
|
||||||
| keypad | button1 | Switch | Button to trigger a scene or rule |
|
| keypad | button1 | Switch | Button to trigger a scene or rule |
|
||||||
| keypad | button2 | Switch | Button to trigger a scene or rule |
|
| keypad | button2 | Switch | Button to trigger a scene or rule |
|
||||||
| keypad | button3 | Switch | Button to trigger a scene or rule |
|
| keypad | button3 | Switch | Button to trigger a scene or rule |
|
||||||
| keypad | button4 | Switch | Button to trigger a scene or rule |
|
| keypad | button4 | Switch | Button to trigger a scene or rule |
|
||||||
| keypad | button5 | Switch | Button to trigger a scene or rule |
|
| keypad | button5 | Switch | Button to trigger a scene or rule |
|
||||||
| keypad | button6 | Switch | Button to trigger a scene or rule |
|
| keypad | button6 | Switch | Button to trigger a scene or rule |
|
||||||
| keypad | button7 | Switch | Button to trigger a scene or rule |
|
| keypad | button7 | Switch | Button to trigger a scene or rule |
|
||||||
| keypad | buttontopraise | Switch | Button to trigger a scene or rule |
|
| keypad | buttontopraise | Switch | Button to trigger a scene or rule |
|
||||||
| keypad | buttontoplower | Switch | Button to trigger a scene or rule |
|
| keypad | buttontoplower | Switch | Button to trigger a scene or rule |
|
||||||
| keypad | buttonbottomraise | Switch | Button to trigger a scene or rule |
|
| keypad | buttonbottomraise | Switch | Button to trigger a scene or rule |
|
||||||
| keypad | buttonbottomlower | Switch | Button to trigger a scene or rule |
|
| keypad | buttonbottomlower | Switch | Button to trigger a scene or rule |
|
||||||
| keypad | led1 | Switch | LED indicator for the associated button |
|
| keypad | led1 | Switch | LED indicator for the associated button |
|
||||||
| keypad | led2 | Switch | LED indicator for the associated button |
|
| keypad | led2 | Switch | LED indicator for the associated button |
|
||||||
| keypad | led3 | Switch | LED indicator for the associated button |
|
| keypad | led3 | Switch | LED indicator for the associated button |
|
||||||
| keypad | led4 | Switch | LED indicator for the associated button |
|
| keypad | led4 | Switch | LED indicator for the associated button |
|
||||||
| keypad | led5 | Switch | LED indicator for the associated button |
|
| keypad | led5 | Switch | LED indicator for the associated button |
|
||||||
| keypad | led6 | Switch | LED indicator for the associated button |
|
| keypad | led6 | Switch | LED indicator for the associated button |
|
||||||
| keypad | led7 | Switch | LED indicator for the associated button |
|
| keypad | led7 | Switch | LED indicator for the associated button |
|
||||||
|
|
||||||
Currently there is only one keypad thing type to cover all keypads. Not all channels will be available on all keypads.
|
Currently there is only one keypad thing type to cover all keypads.
|
||||||
|
Not all channels will be available on all keypads.
|
||||||
|
|
||||||
## Binding Configuration
|
## Binding Configuration
|
||||||
|
|
||||||
|
@ -108,11 +111,73 @@ Switch TheaterScene1 { channel="lutron:keypad:theater:button1" }
|
||||||
Switch TheaterScene2 { channel="lutron:keypad:theater:button2" }
|
Switch TheaterScene2 { channel="lutron:keypad:theater:button2" }
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# Lutron RadioRA (Classic) Binding
|
||||||
|
|
||||||
|
This binding integrates with the legacy Lutron RadioRA (Classic) lighting system.
|
||||||
|
|
||||||
|
This binding depends on RS232 communication.
|
||||||
|
It has only been tested using the Chronos time module but the RS232 module should work as well.
|
||||||
|
|
||||||
|
## Supported Things
|
||||||
|
|
||||||
|
This binding currently supports the following thing types:
|
||||||
|
|
||||||
|
| Thing | Type ID | Description |
|
||||||
|
|------------------|---------|------------------------------------------------------|
|
||||||
|
| ra-rs232 | Bridge | RadioRA device that supports RS232 communication |
|
||||||
|
| ra-dimmer | Thing | Dimmer control |
|
||||||
|
| ra-switch | Thing | Switch control |
|
||||||
|
| ra-phantomButton | Thing | Phantom Button to control multiple controls (Scenes) |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Thing Configurations
|
||||||
|
|
||||||
|
| Thing | Config | Description |
|
||||||
|
|------------------|--------------|-----------------------------------------------------------------------|
|
||||||
|
| ra-rs232 | portName | The serial port to use to communicate with Chronos or RS232 module |
|
||||||
|
| | baud | (Optional) Baud Rate (defaults to 9600) |
|
||||||
|
| ra-dimmer | zoneNumber | Assigned Zone Number within the Lutron RadioRA system |
|
||||||
|
| | fadeOutSec | (Optional) Time in seconds dimmer should take when lowering the level |
|
||||||
|
| | fadeInSec | (Optional) Time in seconds dimmer should take when lowering the level |
|
||||||
|
| ra-switch | zoneNumber | Assigned Zone Number within the Lutron RadioRA system |
|
||||||
|
| ra-phantomButton | buttonNumber | Phantom Button Number within the Lutron RadioRA system |
|
||||||
|
|
||||||
|
## Channels
|
||||||
|
|
||||||
|
The following channels are supported:
|
||||||
|
|
||||||
|
| Thing Type | Channel ID | Item Type | Description |
|
||||||
|
|----------------------------|--------------|-----------|------------------------------------|
|
||||||
|
| ra-dimmer | lightlevel | Dimmer | Increase/Decrease dimmer intensity |
|
||||||
|
| ra-switch/ra-phantomButton | switchstatus | Switch | On/Off state of switch |
|
||||||
|
|
||||||
|
## Example
|
||||||
|
|
||||||
|
lutronradiora.things
|
||||||
|
```
|
||||||
|
Bridge lutronradiora:ra-rs232:chronos1 [portName="/dev/ttys002"] {
|
||||||
|
Thing ra-dimmer dimmer1 [ zoneNumber=1 ]
|
||||||
|
Thing ra-dimmer dimmer2 [ zoneNumber=2 ]
|
||||||
|
Thing ra-switch switch1 [ zoneNumber=3 ]
|
||||||
|
Thing ra-switch switch2 [ zoneNumber=4 ]
|
||||||
|
Thing ra-phantomButton1 phantomButton1 [ buttonNumber=1 ]
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
lutronradiora.items
|
||||||
|
```
|
||||||
|
Dimmer Dimmer_Kitchen "Kitchen Lights" { channel="lutronradiora:dimmer:chronos1:dimmer1:lightlevel" }
|
||||||
|
Dimmer Dimmer_FamilyRoom "Family Room Lights" { channel="lutronradiora:dimmer:chronos1:dimmer2:lightlevel" }
|
||||||
|
Switch Switch_Patio "Patio Light" { channel="lutronradiora:dimmer:chronos1:switch1:switchstatus" }
|
||||||
|
Switch Switch_FrontDoor "Front Door Lights" { channel="lutronradiora:switch:chronos1:switch2:switchstatus" }
|
||||||
|
Switch Phantom_Movie "Movie Scene" { channel="lutronradiora:phantomButton:chronos1:phantomButton1:switchstatus" }
|
||||||
|
```
|
||||||
|
|
||||||
# Lutron Grafik Eye 3x/4x binding via GRX-PRG or GRX-CI-PRG
|
# Lutron Grafik Eye 3x/4x binding via GRX-PRG or GRX-CI-PRG
|
||||||
|
|
||||||
This lutron binding will also work with Grafik Eye 3x/4x systems in conjuction with the GRX-PRG or GRX-CI-PRG interfaces. Please see [RS232ProtocolCommandSet](http://www.lutron.com/TechnicalDocumentLibrary/RS232ProtocolCommandSet.040196d.pdf) for more information.
|
This lutron binding will also work with Grafik Eye 3x/4x systems in conjuction with the GRX-PRG or GRX-CI-PRG interfaces.
|
||||||
|
Please see [RS232ProtocolCommandSet](http://www.lutron.com/TechnicalDocumentLibrary/RS232ProtocolCommandSet.040196d.pdf) for more information.
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
|
@ -120,17 +185,22 @@ This lutron binding will also work with Grafik Eye 3x/4x systems in conjuction w
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
This binding does not support discovery of the GRX-PRG or GRX-CI-PRG. You will need to specify them directly.
|
This binding does not support discovery of the GRX-PRG or GRX-CI-PRG.
|
||||||
|
You will need to specify them directly.
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
The bridge requires the IP address/Host name of the bridge. Optionally, you may specify the username (defaults to 'nwk') and retryPolling (in seconds) to retry connections if the connection fails (defaults to 10 seconds). This bridge does support two way communication with the Grafik Eye units (if a scene is selected or a zone changed on the unit or via a keypad, that information is immediately available in openhab).
|
The bridge requires the IP address/Host name of the bridge.
|
||||||
|
Optionally, you may specify the username (defaults to 'nwk') and retryPolling (in seconds) to retry connections if the connection fails (defaults to 10 seconds).
|
||||||
|
This bridge does support two way communication with the Grafik Eye units (if a scene is selected or a zone changed on the unit or via a keypad, that information is immediately available in openhab).
|
||||||
|
|
||||||
```
|
```
|
||||||
lutron:prgbridge:home [ ipAddress="192.168.1.51", user="nwk", retryPolling=10 ]
|
lutron:prgbridge:home [ ipAddress="192.168.1.51", user="nwk", retryPolling=10 ]
|
||||||
```
|
```
|
||||||
|
|
||||||
The Grafik Eye thing requires the control unit address (1-8). Optionally you may specify the default fade time (when raising/lowering zones or setting zone intensities) and polling time (in seconds) to refresh the state from the Grafik Eye (defaults to 30 seconds). If any of the zones control a QED shade (via the SG/SO-SVCN/SVCI keypad), those zones
|
The Grafik Eye thing requires the control unit address (1-8).
|
||||||
|
Optionally you may specify the default fade time (when raising/lowering zones or setting zone intensities) and polling time (in seconds) to refresh the state from the Grafik Eye (defaults to 30 seconds).
|
||||||
|
If any of the zones control a QED shade (via the SG/SO-SVCN/SVCI keypad), those zones
|
||||||
should be listed (comma separated list) in the shadeZones.
|
should be listed (comma separated list) in the shadeZones.
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -141,22 +211,23 @@ lutron:grafikeye:home (lutron:prgbridge:home) [ controlUnit=1, fade=10, polling=
|
||||||
|
|
||||||
### Bridge channels
|
### Bridge channels
|
||||||
|
|
||||||
| Channel Type ID | Readonly | Item Type | Description |
|
| Channel Type ID | Readonly | Item Type | Description |
|
||||||
|-------------------|----------|--------------|--------------------------------------------------------------- |
|
|-----------------|----------|-----------|---------------------------------------------------------------|
|
||||||
| zonelowerstop | No | Switch | Stops zone lowering on all control units |
|
| zonelowerstop | No | Switch | Stops zone lowering on all control units |
|
||||||
| zoneraisestop | No | Switch | Stops zone raising on all control units |
|
| zoneraisestop | No | Switch | Stops zone raising on all control units |
|
||||||
| timeclock | No | DateTime | Current time on the PRG |
|
| timeclock | No | DateTime | Current time on the PRG |
|
||||||
| schedule | No | Number | Current Schedule (0=Disabled, 1=Weekday, 2=Weekend) |
|
| schedule | No | Number | Current Schedule (0=Disabled, 1=Weekday, 2=Weekend) |
|
||||||
| sunrise | Yes | DateTime | Time of Sunrise |
|
| sunrise | Yes | DateTime | Time of Sunrise |
|
||||||
| sunset | Yes | DateTime | Time of Sunset |
|
| sunset | Yes | DateTime | Time of Sunset |
|
||||||
| ssstart | No | Switch | Starts the Super Sequence |
|
| ssstart | No | Switch | Starts the Super Sequence |
|
||||||
| sspause | No | Switch | Pauses the Super Sequence |
|
| sspause | No | Switch | Pauses the Super Sequence |
|
||||||
| ssresume | No | Switch | Resumes the Super Sequence |
|
| ssresume | No | Switch | Resumes the Super Sequence |
|
||||||
| ssstatus | Yes | String | Status of the Super Sequence (R=Running, S=Stopped) |
|
| ssstatus | Yes | String | Status of the Super Sequence (R=Running, S=Stopped) |
|
||||||
| ssnextstep | Yes | Number | Next sequence number in the Super Sequence |
|
| ssnextstep | Yes | Number | Next sequence number in the Super Sequence |
|
||||||
| ssnextminute | Yes | Number | How many minutes until the next step in the Super Sequence |
|
| ssnextminute | Yes | Number | How many minutes until the next step in the Super Sequence |
|
||||||
| ssnextsecond | Yes | Number | How many seconds until the next step in the Super Sequence |
|
| ssnextsecond | Yes | Number | How many seconds until the next step in the Super Sequence |
|
||||||
| buttonpress | Yes | String | Last keypad button pressed (see Appendix A) in protocol guide |
|
| buttonpress | Yes | String | Last keypad button pressed (see Appendix A) in protocol guide |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Grafik Eye channels
|
### Grafik Eye channels
|
||||||
|
@ -175,23 +246,25 @@ lutron:grafikeye:home (lutron:prgbridge:home) [ controlUnit=1, fade=10, polling=
|
||||||
|
|
||||||
### Notes
|
### Notes
|
||||||
|
|
||||||
* The "buttonpress" channel reports which keypad button was pressed. DIP switch 6 must be set on the interface for this to be reported. The "buttonpress" channel is only useful in rules to take action when a specific button (on a specific keypad) has been pressed.
|
* The "buttonpress" channel reports which keypad button was pressed.
|
||||||
* Sunset/sunrise will only be available if configured via the Liasion software
|
DIP switch 6 must be set on the interface for this to be reported.
|
||||||
* scenelock, sceneseq, zonelock cannot be determined from the API and will default to OFF on startup
|
The "buttonpress" channel is only useful in rules to take action when a specific button (on a specific keypad) has been pressed.
|
||||||
* Replace the "X" on zonelowerX, zoneraiseX, etc with the zone in question. "zonelower1" will affect zone 1. Specifying a zone larger than you have will have no effect (such as using zonelower8 on a Grafik Eye 3506 which only has 6 zones).
|
* Sunset/sunrise will only be available if configured via the Liasion software
|
||||||
* The zonefade value will only be used when zonelower/zonereaise/zoneintensity is issued.
|
* scenelock, sceneseq, zonelock cannot be determined from the API and will default to OFF on startup
|
||||||
* zoneshade does not support PercentType nor StopMoveType.Move and those commands will be ignored
|
* Replace the "X" on zonelowerX, zoneraiseX, etc with the zone in question. "zonelower1" will affect zone 1. Specifying a zone larger than you have will have no effect (such as using zonelower8 on a Grafik Eye 3506 which only has 6 zones).
|
||||||
* zoneintensity can be used on a shade zone if the intensity is from 0 to 5 and should be used if wanting to set a QED preset: 0=Stop, 1=Open, 2=Close, 3=Preset 1, 4=Preset 2, 5=Preset 3
|
* The zonefade value will only be used when zonelower/zonereaise/zoneintensity is issued.
|
||||||
* If you started a zonelower or zoneraise, the only way to the action is by executing an all zone stop on the bridge (i.e. zonelowerstop or zoneraisestop). The PRG API does not provide a way to stop the lowering/raising of any specific zone.
|
* zoneshade does not support PercentType nor StopMoveType.Move and those commands will be ignored
|
||||||
|
* zoneintensity can be used on a shade zone if the intensity is from 0 to 5 and should be used if wanting to set a QED preset: 0=Stop, 1=Open, 2=Close, 3=Preset 1, 4=Preset 2, 5=Preset 3
|
||||||
|
* If you started a zonelower or zoneraise, the only way to the action is by executing an all zone stop on the bridge (i.e. zonelowerstop or zoneraisestop). The PRG API does not provide a way to stop the lowering/raising of any specific zone.
|
||||||
|
|
||||||
## Full Example
|
|
||||||
|
## Example
|
||||||
|
|
||||||
demo.Things:
|
demo.Things:
|
||||||
|
|
||||||
```
|
```
|
||||||
lutron:prgbridge:home [ ipAddress="192.168.1.51", user="nwk", retryPolling=10 ]
|
lutron:prgbridge:home [ ipAddress="192.168.1.51", user="nwk", retryPolling=10 ]
|
||||||
lutron:grafikeye:home (lutron:prgbridge:home) [ controlUnit=1, fade=10, polling=10 ]
|
lutron:grafikeye:home (lutron:prgbridge:home) [ controlUnit=1, fade=10, polling=10 ]
|
||||||
```
|
```
|
||||||
|
|
||||||
demo.items:
|
demo.items:
|
||||||
|
@ -250,4 +323,3 @@ Rollershutter Grx_ZoneShade6 "Zone 6 Shade" { channel="lutron:grafikeye:home:zon
|
||||||
Rollershutter Grx_ZoneShade7 "Zone 7 Shade" { channel="lutron:grafikeye:home:zoneshade7" }
|
Rollershutter Grx_ZoneShade7 "Zone 7 Shade" { channel="lutron:grafikeye:home:zoneshade7" }
|
||||||
Rollershutter Grx_ZoneShade8 "Zone 8 Shade" { channel="lutron:grafikeye:home:zoneshade8" }
|
Rollershutter Grx_ZoneShade8 "Zone 8 Shade" { channel="lutron:grafikeye:home:zoneshade8" }
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -31,15 +31,18 @@ This binding support 6 different things types
|
||||||
| ecoswitch | Thing | MAX! Ecoswitch. |
|
| ecoswitch | Thing | MAX! Ecoswitch. |
|
||||||
| shuttercontact | Thing | MAX! Shuttercontact / Window Contact. |
|
| shuttercontact | Thing | MAX! Shuttercontact / Window Contact. |
|
||||||
|
|
||||||
|
|
||||||
Generally one does not have to worry about the thing types as they are automatically defined.
|
Generally one does not have to worry about the thing types as they are automatically defined.
|
||||||
If for any reason you need to manually define the Things and you are not exactly sure what type of thermostat you have, you can choose `thermostat` for both the thermostat and thermostat+, this will not affect their working.
|
If for any reason you need to manually define the Things and you are not exactly sure what type of thermostat you have, you can choose `thermostat` for both the thermostat and thermostat+, this will not affect their working.
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
The discovery process for the MAX! binding works in 2 steps.
|
The discovery process for the MAX! binding works in 2 steps.
|
||||||
When the binding is started or when manually triggered, the network is queried for the existence of a MAX! Cube LAN gateway. When the Cube is found, it will become available in the discovery inbox. Periodically the network is queried again for a Cube.
|
When the binding is started or when manually triggered, the network is queried for the existence of a MAX! Cube LAN gateway.
|
||||||
|
When the Cube is found, it will become available in the discovery inbox. Periodically the network is queried again for a Cube.
|
||||||
|
|
||||||
Once the Cube is available in openHAB, all the devices connected to it are discovered and added to the discovery inbox. No scan is needed to trigger this.
|
Once the Cube is available in openHAB, all the devices connected to it are discovered and added to the discovery inbox.
|
||||||
|
No scan is needed to trigger this.
|
||||||
|
|
||||||
## Binding Configuration
|
## Binding Configuration
|
||||||
|
|
||||||
|
@ -52,7 +55,9 @@ All the things are identified by their serial number, hence this is mandatory.
|
||||||
The Cube (`bridge` thing) also requires the IP address to be defined.
|
The Cube (`bridge` thing) also requires the IP address to be defined.
|
||||||
All other configuration is optional.
|
All other configuration is optional.
|
||||||
|
|
||||||
Note that several configuration options are automatically populated. Later versions of the binding may allow you to update this information. These properties can be found in the `Device Settings` section of parameters.
|
Note that several configuration options are automatically populated.
|
||||||
|
Later versions of the binding may allow you to update this information.
|
||||||
|
These properties can be found in the `Device Settings` section of parameters.
|
||||||
|
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
@ -71,10 +76,11 @@ Depending on the thing it supports different Channels
|
||||||
| free_mem | Number | This channel indicates the free available memory on the cube to hold send commands. Note this is an advanced setting, normally not visible. | bridge |
|
| free_mem | Number | This channel indicates the free available memory on the cube to hold send commands. Note this is an advanced setting, normally not visible. | bridge |
|
||||||
| duty_cycle | Number | This channel indicates the duty cycle (due to regulatory compliance reasons the cube is allowed only to send for a limited time. Duty cycle indicates how much of the available time is consumed) Note this is an advanced setting, normally not visible. | bridge |
|
| duty_cycle | Number | This channel indicates the duty cycle (due to regulatory compliance reasons the cube is allowed only to send for a limited time. Duty cycle indicates how much of the available time is consumed) Note this is an advanced setting, normally not visible. | bridge |
|
||||||
|
|
||||||
|
|
||||||
## Full Example
|
## Full Example
|
||||||
|
|
||||||
In most cases no Things need to be defined manually. In case your Cube can't be discovered you need a `max:bridge` definition incl. the right IP address of the Cube. Only in exceptional cases you would need to define the thermostats etc.
|
In most cases no Things need to be defined manually.
|
||||||
|
In case your Cube can't be discovered you need a `max:bridge` definition including the right IP address of the Cube.
|
||||||
|
Only in exceptional cases you would need to define the thermostats etc.
|
||||||
|
|
||||||
max.things:
|
max.things:
|
||||||
|
|
||||||
|
@ -93,8 +99,6 @@ Switch maxBattery "Battery Low" (gMAX) {channel="max:thermostat:KEQ0565026:KEQ06
|
||||||
String maxMode "Thermostat Mode Setting" (gMAX) {channel="max:thermostat:KEQ0565026:KEQ0648949:mode"}
|
String maxMode "Thermostat Mode Setting" (gMAX) {channel="max:thermostat:KEQ0565026:KEQ0648949:mode"}
|
||||||
Number maxActual "Actual measured room temperature [%.1f °C]" (gMAX) {channel="max:thermostat:KEQ0565026:KEQ0648949:actual_temp"}
|
Number maxActual "Actual measured room temperature [%.1f °C]" (gMAX) {channel="max:thermostat:KEQ0565026:KEQ0648949:actual_temp"}
|
||||||
Number maxSetTemp "Thermostat temperature setpoint [%.1f °C]" (gMAX) {channel="max:thermostat:KEQ0565026:KEQ0648949:set_temp"}
|
Number maxSetTemp "Thermostat temperature setpoint [%.1f °C]" (gMAX) {channel="max:thermostat:KEQ0565026:KEQ0648949:set_temp"}
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
demo.sitemap:
|
demo.sitemap:
|
||||||
|
@ -108,41 +112,49 @@ sitemap demo label="Main Menu"
|
||||||
Text item=maxActual icon="temperature"
|
Text item=maxActual icon="temperature"
|
||||||
Switch item=maxBattery
|
Switch item=maxBattery
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Actual Temperature Update
|
## Actual Temperature Update
|
||||||
|
|
||||||
Please be aware that the actual temperature measure for thermostats is only updated after the valve moved position or the thermostats mode has changed. Hence the temperature you see may be hours old. In that case you can update the temperature by changing the mode, wait approx. 2 minutes and change the mode back.
|
Please be aware that the actual temperature measure for thermostats is only updated after the valve moved position or the thermostats mode has changed.
|
||||||
There is an experimental mode that does this automatically. This can be enabled by showing the "advanced settings" (e.g. in HABmin UI. Than the "Actual Temperature Refresh Rate" can be set. Minimum refresh rate once/10 minutes, recommended 60min to avoid excessive battery drain.
|
Hence the temperature you see may be hours old.
|
||||||
|
In that case you can update the temperature by changing the mode, wait approximately 2 minutes and change the mode back.
|
||||||
|
There is an experimental mode that does this automatically.
|
||||||
|
This can be enabled by showing the "advanced settings" (e.g. in HABmin UI).
|
||||||
|
Then the "Actual Temperature Refresh Rate" can be set.
|
||||||
|
Minimum refresh rate once/10 minutes, recommended 60min to avoid excessive battery drain.
|
||||||
|
|
||||||
|
|
||||||
## New Device Inclusion
|
## New Device Inclusion
|
||||||
|
|
||||||
When clicking the discovery button for MAX! devices manually in the UI, you will start New Device Inclusion mode for 60s. During this time holding the _boost_ button on your device will link it to the Cube.
|
When clicking the discovery button for MAX! devices manually in the UI, you will start New Device Inclusion mode for 60seconds.
|
||||||
|
During this time, holding the _boost_ button on your device will link it to the Cube.
|
||||||
|
|
||||||
## Device configuration
|
## Device configuration
|
||||||
|
|
||||||
In the _Configuration Parameters_ section of the device things you can update some of the device configuration parameters. Currently the following parameters can be updated:
|
In the _Configuration Parameters_ section of the device Things you can update some of the device configuration parameters.
|
||||||
|
Currently the following parameters can be updated:
|
||||||
|
|
||||||
* _name_ Name of the thermostat stored in the Cube (also used by the eQ-3 software).
|
* _name_ Name of the thermostat stored in the Cube (also used by the eQ-3 software).
|
||||||
|
|
||||||
_Cube device configurable parameters_
|
_Cube device configurable parameters_
|
||||||
|
|
||||||
* _ntpServer1_ The hostname for NTP Server 1 used by the Cube to get the time
|
* _ntpServer1_ The hostname for NTP Server 1 used by the Cube to get the time
|
||||||
* _ntpServer2_ The hostname for NTP Server 2 used by the Cube to get the time
|
* _ntpServer2_ The hostname for NTP Server 2 used by the Cube to get the time
|
||||||
|
|
||||||
## Action Buttons (visible in HABmin)
|
## Action Buttons (visible in HABmin)
|
||||||
|
|
||||||
In the HABmin thing configuration screen several action buttons are available to trigger special actions on the Cube
|
In the HABmin thing configuration screen, several action buttons are available to trigger special actions on the Cube
|
||||||
|
|
||||||
* _Reset Cube Configuration_. This resets the MAX! Cube room and device information. Devices will need to be included again! To use this button you need to enable 'Advanced settings'
|
* _Reset Cube Configuration_ resets the MAX! Cube room and device information. Devices will need to be included again! To use this button you need to enable 'Advanced settings'
|
||||||
|
|
||||||
* _Restart Cube_, triggers the reboot of a Cube. This can be used if a Cube became unresponsive to commands or no connection can be made. (e.g. if you tried to connect to the Cube with multiple applications at the same time)
|
* _Restart Cube_ triggers the reboot of a Cube. This can be used if a Cube became unresponsive to commands or no connection can be made. (e.g. if you tried to connect to the Cube with multiple applications at the same time)
|
||||||
|
|
||||||
On the MAX! devices you can trigger the following action
|
On the MAX! devices you can trigger the following action
|
||||||
|
|
||||||
* _Delete Device from Cube_. Deletes the device from the MAX! Cube. Device will need to be included again! To use this button you need to enable 'Advanced settings'
|
* _Delete Device from Cube_ deletes the device from the MAX! Cube. Device will need to be included again! To use this button you need to enable 'Advanced settings'
|
||||||
|
|
||||||
Note: In Paper UI there are no action buttons. You can trigger these actions changing from 'No Action' in the dropdown to the action value.
|
Note: In Paper UI there are no action buttons.
|
||||||
|
You can trigger these actions changing from 'No Action' in the dropdown to the action value.
|
||||||
|
|
|
@ -3,7 +3,7 @@ id: meteostick
|
||||||
label: Meteostick
|
label: Meteostick
|
||||||
title: Meteostick - Bindings
|
title: Meteostick - Bindings
|
||||||
type: binding
|
type: binding
|
||||||
description: "This is the binding for the [Meteostick](http://www.smartbedded.com/wiki/index.php/Meteostick) weather receiver dongle. This is an RF receiver that can receive data directly from Davis weather devices (and others)"
|
description: "This is the binding for the [Meteostick](http://www.smartbedded.com/wiki/index.php/Meteostick) weather receiver dongle."
|
||||||
since: 2x
|
since: 2x
|
||||||
install: auto
|
install: auto
|
||||||
---
|
---
|
||||||
|
@ -14,7 +14,8 @@ install: auto
|
||||||
|
|
||||||
# Meteostick Binding
|
# Meteostick Binding
|
||||||
|
|
||||||
This is the binding for the [Meteostick](http://www.smartbedded.com/wiki/index.php/Meteostick) weather receiver dongle. This is an RF receiver that can receive data directly from Davis weather devices (and others)
|
This is the binding for the [Meteostick](http://www.smartbedded.com/wiki/index.php/Meteostick) weather receiver dongle.
|
||||||
|
This is an RF receiver that can receive data directly from Davis weather devices (and others).
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
|
@ -44,7 +45,7 @@ Next add the sensor and configure the channel number.
|
||||||
|
|
||||||
Set mode to one of the following depending on your device and region:
|
Set mode to one of the following depending on your device and region:
|
||||||
|
|
||||||
| Mode | Device | Region |Frequency |
|
| Mode | Device | Region | Frequency |
|
||||||
|-------|--------------|------------------|-----------|
|
|-------|--------------|------------------|-----------|
|
||||||
| 0 | Davis | North America | 915 Mhz |
|
| 0 | Davis | North America | 915 Mhz |
|
||||||
| 1 | Davis | Australia | 915 Mhz |
|
| 1 | Davis | Australia | 915 Mhz |
|
||||||
|
@ -63,31 +64,32 @@ Set mode to one of the following depending on your device and region:
|
||||||
|
|
||||||
### Meteostick
|
### Meteostick
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description |
|
| Channel Type ID | Item Type | Description |
|
||||||
|------------------|------------------------|--------------|
|
|--------------------|-----------|--------------------|
|
||||||
| pressure | Number | Air pressure |
|
| pressure | Number | Air pressure |
|
||||||
| indoor-temperature | Number | Indoor temperature |
|
| indoor-temperature | Number | Indoor temperature |
|
||||||
|
|
||||||
### Davis ISS
|
### Davis ISS
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description |
|
| Channel Type ID | Item Type | Description |
|
||||||
|------------------|------------------------|--------------|
|
|---------------------|-----------|-------------------------------------------------|
|
||||||
| outdoor-temperature | Number | Outside temperature |
|
| outdoor-temperature | Number | Outside temperature |
|
||||||
| humidity | Number | Humidity |
|
| humidity | Number | Humidity |
|
||||||
| wind-direction | Number | Wind direction |
|
| wind-direction | Number | Wind direction |
|
||||||
| wind-speed | Number | Wind speed |
|
| wind-speed | Number | Wind speed |
|
||||||
| rain-raw | Number | Raw rain counter from the tipping bucket sensor |
|
| rain-raw | Number | Raw rain counter from the tipping bucket sensor |
|
||||||
| rain-currenthour | Number | The rainfall in the last 60 minutes |
|
| rain-currenthour | Number | The rainfall in the last 60 minutes |
|
||||||
| rain-lasthour | Number | The rainfall in the previous hour |
|
| rain-lasthour | Number | The rainfall in the previous hour |
|
||||||
| solar-power | Number | Solar power from the sensor station |
|
| solar-power | Number | Solar power from the sensor station |
|
||||||
| signal-strength | Number | Received signal strength |
|
| signal-strength | Number | Received signal strength |
|
||||||
| low-battery | Number | Low battery warning |
|
| low-battery | Number | Low battery warning |
|
||||||
|
|
||||||
|
|
||||||
#### Rainfall
|
#### Rainfall
|
||||||
|
|
||||||
There are three channels associated with rainfall. The raw counter from the tipping bucket is provided, the rainfall
|
There are three channels associated with rainfall.
|
||||||
in the last 60 minutes is updated on each received rainfall and provides the past 60 minutes of rainfall. The rainfall
|
The raw counter from the tipping bucket is provided, the rainfall in the last 60 minutes is updated on each received rainfall and provides the past 60 minutes of rainfall.
|
||||||
in the previous hour is the rainfall for each hour of the day and is updated on the hour.
|
The rainfall in the previous hour is the rainfall for each hour of the day and is updated on the hour.
|
||||||
|
|
||||||
## Full Example
|
## Full Example
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ id: miele
|
||||||
label: Miele@home
|
label: Miele@home
|
||||||
title: Miele@home - Bindings
|
title: Miele@home - Bindings
|
||||||
type: binding
|
type: binding
|
||||||
description: "This binding integrates Miele@home appliances. Miele@home is a Zigbee based network to interconnect and control Miele appliances that are equipped with special modules. See [www.miele.de](http://www.miele.de) for the list of available appliances."
|
description: "This binding integrates Miele@home appliances."
|
||||||
since: 2x
|
since: 2x
|
||||||
logo: images/addons/miele.png
|
logo: images/addons/miele.png
|
||||||
install: auto
|
install: auto
|
||||||
|
@ -15,7 +15,9 @@ install: auto
|
||||||
|
|
||||||
# Miele@home Binding
|
# Miele@home Binding
|
||||||
|
|
||||||
This binding integrates Miele@home appliances. Miele@home is a Zigbee based network to interconnect and control Miele appliances that are equipped with special modules. See [www.miele.de](http://www.miele.de) for the list of available appliances.
|
This binding integrates Miele@home appliances.
|
||||||
|
Miele@home is a Zigbee based network to interconnect and control Miele appliances that are equipped with special modules.
|
||||||
|
See [www.miele.de](http://www.miele.de) for the list of available appliances.
|
||||||
|
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
@ -32,14 +34,16 @@ Washingmachine
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
The binding is able to auto-discover the Miele XGW3000 gateway. When an XGW3000 gateway is discovered, all appliances can be subsequently discovered
|
The binding is able to auto-discover the Miele XGW3000 gateway.
|
||||||
|
When an XGW3000 gateway is discovered, all appliances can be subsequently discovered.
|
||||||
|
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
Each appliances needs the device Zigbee UID as configuration parameter. The Zigbee UID is nowhere to be found on the appliances, but since the discovery works quite reliable, a manual configuration is not needed.
|
Each appliances needs the device Zigbee UID as a configuration parameter.
|
||||||
|
The Zigbee UID is nowhere to be found on the appliances, but since the discovery works quite reilably, a manual configuration is not needed.
|
||||||
|
|
||||||
However, in the thing file, a manual configuration looks e.g. like
|
However, in the thing file, a manual configuration looks like this:
|
||||||
|
|
||||||
```
|
```
|
||||||
Bridge miele:xgw3000:dilbeek [ipAddress="192.168.0.18", interface="192.168.0.5"] {
|
Bridge miele:xgw3000:dilbeek [ipAddress="192.168.0.18", interface="192.168.0.5"] {
|
||||||
|
@ -60,8 +64,7 @@ Thing washingmachine washingmachine [uid="001d63fffe020505#210"]
|
||||||
|
|
||||||
The definition of the channels in use can best be checked in the [source repository](https://github.com/openhab/openhab2-addons/tree/master/addons/binding/org.openhab.binding.miele/ESH-INF/thing).
|
The definition of the channels in use can best be checked in the [source repository](https://github.com/openhab/openhab2-addons/tree/master/addons/binding/org.openhab.binding.miele/ESH-INF/thing).
|
||||||
|
|
||||||
|
## Example
|
||||||
## Full Example
|
|
||||||
|
|
||||||
demo.items:
|
demo.items:
|
||||||
|
|
||||||
|
@ -73,4 +76,3 @@ Number MieleFridgeTarget (gMiele,gMieleFridge) {channel="miele:fridge:dilbeek:fr
|
||||||
Contact MieleFridgeDoor (gMiele,gMieleFridge) {channel="miele:fridge:dilbeek:fridge:door"}
|
Contact MieleFridgeDoor (gMiele,gMieleFridge) {channel="miele:fridge:dilbeek:fridge:door"}
|
||||||
Switch MieleFridgeStart (gMiele,gMieleFridge) {channel="miele:fridge:dilbeek:fridge:start"}
|
Switch MieleFridgeStart (gMiele,gMieleFridge) {channel="miele:fridge:dilbeek:fridge:start"}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -15,75 +15,75 @@ install: auto
|
||||||
|
|
||||||
# Xiaomi Mi Smart Home Binding
|
# Xiaomi Mi Smart Home Binding
|
||||||
|
|
||||||
This binding allows your openHAB to communicate with the Xiaomi Smart Home Suite.
|
This binding allows your openHAB to communicate with the Xiaomi Smart Home Suite.
|
||||||
|
|
||||||
In order to connect the Gateway, you need to install the MiHome app
|
In order to connect the Gateway, you need to install the MiHome app
|
||||||
from the [Google Play](https://play.google.com/store/apps/details?id=com.xiaomi.smarthome) or [AppStore](https://itunes.apple.com/app/mi-home-xiaomi-for-your-smarthome/id957323480).
|
from the [Google Play](https://play.google.com/store/apps/details?id=com.xiaomi.smarthome) or [AppStore](https://itunes.apple.com/app/mi-home-xiaomi-for-your-smarthome/id957323480).
|
||||||
|
|
||||||
## Supported devices
|
## Supported devices
|
||||||
|
|
||||||
* Xiaomi Smart Gateway v2 (with radio support)
|
* Xiaomi Smart Gateway v2 (with radio support)
|
||||||
* Xiaomi Smart Temperature and Humidity Sensor (round one)
|
* Xiaomi Smart Temperature and Humidity Sensor (round one)
|
||||||
* Xiaomi Smart Door/Window Sensor (round one)
|
* Xiaomi Smart Door/Window Sensor (round one)
|
||||||
* Xiaomi Wireless Switch (round one)
|
* Xiaomi Wireless Switch (round one)
|
||||||
* Xiaomi Motion Sensor / IR Human Body sensor
|
* Xiaomi Motion Sensor / IR Human Body sensor
|
||||||
* Xiaomi Smart Plug
|
* Xiaomi Smart Plug
|
||||||
* Xiaomi Smart Magic Cube
|
* Xiaomi Smart Magic Cube
|
||||||
* Xiaomi Aqara ZigBee Wired Wall Switch (1 and 2 buttons)
|
* Xiaomi Aqara ZigBee Wired Wall Switch (1 and 2 buttons)
|
||||||
* Xiaomi Aqara ZigBee Wireless Wall Switch (1 and 2 buttons)
|
* Xiaomi Aqara ZigBee Wireless Wall Switch (1 and 2 buttons)
|
||||||
* Xiaomi Aqara Smart Curtain
|
* Xiaomi Aqara Smart Curtain
|
||||||
* Xiaomi Aqara Water Leak Sensor
|
* Xiaomi Aqara Water Leak Sensor
|
||||||
* Xiaomi Aqara Wireless Switch (square one)
|
* Xiaomi Aqara Wireless Switch (square one)
|
||||||
* Xiaomi Aqara Temperature, Humidity and Pressure Sensor (square one)
|
* Xiaomi Aqara Temperature, Humidity and Pressure Sensor (square one)
|
||||||
* Xiaomi Aqara Door/Window Sensor (square one)
|
* Xiaomi Aqara Door/Window Sensor (square one)
|
||||||
* Xiaomi Aqara Motion Sensor (with light intensity support)
|
* Xiaomi Aqara Motion Sensor (with light intensity support)
|
||||||
* Xiaomi Mijia Honeywell Gas Alarm Detector
|
* Xiaomi Mijia Honeywell Gas Alarm Detector
|
||||||
* Xiaomi Mijia Honeywell Fire Alarm Detector
|
* Xiaomi Mijia Honeywell Fire Alarm Detector
|
||||||
|
|
||||||
(not yet confirmed)
|
(not yet confirmed)
|
||||||
|
|
||||||
* Xiaomi Aqara Neutral Wall Switch (1 and 2 buttons)
|
* Xiaomi Aqara Neutral Wall Switch (1 and 2 buttons)
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
* Install the binding
|
* Install the binding
|
||||||
* Setup Gateway to be discoverable
|
* Setup Gateway to be discoverable
|
||||||
|
|
||||||
1. Add Gateway 2 or 3 to your WiFi Network
|
1. Add Gateway 2 or 3 to your WiFi Network
|
||||||
1. Install MiHome app from [Google Play](https://play.google.com/store/apps/details?id=com.xiaomi.smarthome) or [AppStore](https://itunes.apple.com/app/mi-home-xiaomi-for-your-smarthome/id957323480) (your phone may need to be changed to English language first)
|
2. Install MiHome app from [Google Play](https://play.google.com/store/apps/details?id=com.xiaomi.smarthome) or [AppStore](https://itunes.apple.com/app/mi-home-xiaomi-for-your-smarthome/id957323480) (your phone may need to be changed to English language first)
|
||||||
1. Set your region to Mainland China under Settings -> Locale (seems to be required)
|
3. Set your region to Mainland China under Settings -> Locale (seems to be required)
|
||||||
1. Update gateway to the latest firmware (note that update window may pop up sequentially)
|
4. Update gateway to the latest firmware (note that update window may pop up sequentially)
|
||||||
1. Enable developer mode:
|
5. Enable developer mode:
|
||||||
|
|
||||||
1. Select your Gateway in the MiHome app
|
1. Select your Gateway in the MiHome app
|
||||||
1. Go to the "..." menu on the top right corner and click "About"
|
2. Go to the "..." menu on the top right corner and click "About"
|
||||||
1. Tap the version number "Version : 2.XX" at the bottom of the screen repeatedly until you enable developer mode
|
3. Tap the version number "Version : 2.XX" at the bottom of the screen repeatedly until you enable developer mode
|
||||||
1. You should now have 2 extra options listed: `local area network communication protocol` and `gateway information`
|
4. You should now have 2 extra options listed: `local area network communication protocol` and `gateway information`
|
||||||
1. Choose `local area network communication protocol`
|
5. Choose `local area network communication protocol`
|
||||||
1. Tap the toggle switch to enable LAN functions. Note down the developer key (something like: 91bg8zfkf9vd6uw7)
|
6. Tap the toggle switch to enable LAN functions. Note down the developer key (something like: 91bg8zfkf9vd6uw7)
|
||||||
1. Make sure you hit the OK button (to the right of the cancel button) to save your changes
|
7. Make sure you hit the OK button (to the right of the cancel button) to save your changes
|
||||||
|
|
||||||
* In openHAB you should now be able to discover the Xiaomi Gateway
|
* In openHAB you should now be able to discover the Xiaomi Gateway
|
||||||
* From now on you don't really need the app anymore - only if you're keen on updates or you want to add devices (see below), which also can be done without the app
|
* From now on you don't really need the app anymore - only if you're keen on updates or you want to add devices (see below), which also can be done without the app
|
||||||
* Enter the previously noted developer key in openHAB Paper UI -> Configuration -> Things -> Xiaomi Gateway -> Edit -> Developer Key. Save
|
* Enter the previously noted developer key in openHAB Paper UI -> Configuration -> Things -> Xiaomi Gateway -> Edit -> Developer Key. Save
|
||||||
(This is required if you want to be able to send controls to the devices like the light of the gateway)
|
(This is required if you want to be able to send controls to the devices like the light of the gateway)
|
||||||
* Your sensors should be getting discovered by openHAB as you add and use them
|
* Your sensors should be getting discovered by openHAB as you add and use them
|
||||||
|
|
||||||
## Connecting sub-devices (sensors) to the Gateway
|
## Connecting sub-devices (sensors) to the Gateway
|
||||||
|
|
||||||
There are two ways of connecting Xiaomi devices to the gateway:
|
There are two ways of connecting Xiaomi devices to the gateway:
|
||||||
|
|
||||||
* Online - within the MiHome App
|
* Online - within the MiHome App
|
||||||
* Offline - manual
|
* Offline - manual
|
||||||
|
|
||||||
1. Click 3 times on the Gateway's button
|
1. Click 3 times on the Gateway's button
|
||||||
1. Gateway will flash in blue and you will hear female voice in Chinese
|
2. Gateway will flash in blue and you will hear female voice in Chinese
|
||||||
1. Place the needle into the sensor and hold it for at least 3 seconds
|
3. Place the needle into the sensor and hold it for at least 3 seconds
|
||||||
1. You'll hear confirmation message in Chinese
|
4. You'll hear confirmation message in Chinese
|
||||||
1. The device appears in openHAB thing Inbox
|
5. The device appears in openHAB thing Inbox
|
||||||
|
|
||||||
* If you don't want to hear the Chinese voice every time, you can disable it by setting the volume to minimum in the MiHome App (same for the blinking light)
|
* If you don't want to hear the Chinese voice every time, you can disable it by setting the volume to minimum in the MiHome App (same for the blinking light)
|
||||||
* The devices don't need an Internet connection to be working after you have set up the developer mode BUT you won't be able to connect to them via App anymore - easiest way is to block their outgoing Internet connection in your router and enable it later, when you want to check for updates etc.
|
* The devices don't need an Internet connection to be working after you have set up the developer mode BUT you won't be able to connect to them via App anymore - easiest way is to block their outgoing Internet connection in your router and enable it later, when you want to check for updates etc
|
||||||
|
|
||||||
## Important information
|
## Important information
|
||||||
|
|
||||||
|
@ -322,7 +322,7 @@ end
|
||||||
|
|
||||||
```
|
```
|
||||||
sitemap xiaomi label="Xiaomi" {
|
sitemap xiaomi label="Xiaomi" {
|
||||||
|
|
||||||
Frame {
|
Frame {
|
||||||
...
|
...
|
||||||
|
|
||||||
|
@ -332,12 +332,12 @@ sitemap xiaomi label="Xiaomi" {
|
||||||
Selection item=Gateway_Sound mappings=[ 0="police car 1",
|
Selection item=Gateway_Sound mappings=[ 0="police car 1",
|
||||||
1="police car 2",
|
1="police car 2",
|
||||||
2="accident",
|
2="accident",
|
||||||
3="countdown",
|
3="countdown",
|
||||||
4="ghost",
|
4="ghost",
|
||||||
5="sniper rifle",
|
5="sniper rifle",
|
||||||
6="battle",
|
6="battle",
|
||||||
7="air raid",
|
7="air raid",
|
||||||
8="bark",
|
8="bark",
|
||||||
10="doorbell",
|
10="doorbell",
|
||||||
11="knock at a door",
|
11="knock at a door",
|
||||||
12="amuse",
|
12="amuse",
|
||||||
|
@ -345,12 +345,12 @@ sitemap xiaomi label="Xiaomi" {
|
||||||
20="mimix",
|
20="mimix",
|
||||||
21="enthusuastic",
|
21="enthusuastic",
|
||||||
22="guitar classic",
|
22="guitar classic",
|
||||||
23="ice world piano",
|
23="ice world piano",
|
||||||
24="leisure time",
|
24="leisure time",
|
||||||
25="child hood",
|
25="child hood",
|
||||||
26="morning stream liet",
|
26="morning stream liet",
|
||||||
27="music box",
|
27="music box",
|
||||||
28="orange",
|
28="orange",
|
||||||
29="thinker"]
|
29="thinker"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,9 @@ This binding is for using your Milight, Easybulb or LimitlessLed bulbs and the i
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
The binding supports Milight/Easybulb bridges from 2014+, iBox from 2016 and iBox2 from 2017 and their respective bulbs. The Dual White bulbs from 2015 and the new generation of Dual White bulbs is supported. RGB/White from 2014 and the new generation RGB/White from 2016 as well as RGB/Cold,Warmwhite and iBox bulbs work.
|
The binding supports Milight/Easybulb bridges from 2014+, iBox from 2016 and iBox2 from 2017 and their respective bulbs.
|
||||||
|
The Dual White bulbs from 2015 and the new generation of Dual White bulbs is supported.
|
||||||
|
RGB/White from 2014 and the new generation RGB/White from 2016 as well as RGB/Cold,Warmwhite and iBox bulbs work.
|
||||||
|
|
||||||
| Bulb Type | Milight Bridge | iBox | iBox2 |
|
| Bulb Type | Milight Bridge | iBox | iBox2 |
|
||||||
|--------------------|:--------------:|:-----:|:-----:|
|
|--------------------|:--------------:|:-----:|:-----:|
|
||||||
|
@ -30,23 +32,25 @@ The binding supports Milight/Easybulb bridges from 2014+, iBox from 2016 and iBo
|
||||||
| 2016 RGB/White | | ✓ | ✓ |
|
| 2016 RGB/White | | ✓ | ✓ |
|
||||||
| RGB/Cold,Warmwhite | | ✓ | ✓ |
|
| RGB/Cold,Warmwhite | | ✓ | ✓ |
|
||||||
|
|
||||||
Please note that LD382, LD382A, LD686 RGB stripes and bulbs are supported by the
|
Please note that LD382, LD382A, LD686 RGB stripes and bulbs are supported by the
|
||||||
[WifiLed Binding](https://github.com/openhab/openhab2-addons/blob/master/addons/binding/org.openhab.binding.wifiled/README.md).
|
[WifiLed Binding](https://github.com/openhab/openhab2-addons/blob/master/addons/binding/org.openhab.binding.wifiled/README.md).
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
All supported bridges can be discovered by triggering a search in openHAB's Inbox. Found bridges
|
All supported bridges can be discovered by triggering a search in openHAB's Inbox.
|
||||||
will show up and can easily be added as things.
|
Found bridges will show up and can easily be added as things.
|
||||||
Unfortunately Milight like bulbs have no back channel and can not report their presence, therefore
|
Unfortunately Milight like bulbs have no back channel and can not report their presence, therefore
|
||||||
all possible bulbs are listed as new things after a bridge has been added.
|
all possible bulbs are listed as new things after a bridge has been added.
|
||||||
Add the bulbs you actually configured and hide the rest of the detected things.
|
Add the bulbs you actually configured and hide the rest of the detected things.
|
||||||
|
|
||||||
Your device needs to be connected to your local network (i.e. by using the WPS button connection method or the native App shipped with the device). Read the device manual for more information about how to connect your device to your network.
|
Your device needs to be connected to your local network (i.e. by using the WPS button connection method or the native App shipped with the device).
|
||||||
|
Read the device manual for more information about how to connect your device to your network.
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
Besides adding bridges through Paper-UI, you can also add them manually in your Thing
|
Besides adding bridges through Paper-UI, you can also add them manually in your Thing
|
||||||
configuration file. iBox and iBox2 have the version 6, older milight bridges have the version 3.
|
configuration file.
|
||||||
|
iBox and iBox2 have the version 6, older milight bridges have the version 3.
|
||||||
The ID is the MAC address of the bridge in hexadecimal digits.
|
The ID is the MAC address of the bridge in hexadecimal digits.
|
||||||
|
|
||||||
Bridge milight:bridgeV3:ACCF23A6C0B4 [ ADDR="192.168.0.70", ID="ACCF23A6C0B4" ] {
|
Bridge milight:bridgeV3:ACCF23A6C0B4 [ ADDR="192.168.0.70", ID="ACCF23A6C0B4" ] {
|
||||||
|
@ -57,23 +61,22 @@ The ID is the MAC address of the bridge in hexadecimal digits.
|
||||||
|
|
||||||
The Thing configuration for the bridge uses the following syntax
|
The Thing configuration for the bridge uses the following syntax
|
||||||
|
|
||||||
* Bridge milight:bridgeV3:<mac address of bridge> [ ADDR="<IP-Address of bridge>", ID="<mac>" ]
|
* Bridge milight:bridgeV3:<mac address of bridge> &lsqb ADDR="<IP-Address of bridge>", ID="<mac>" &rsqb
|
||||||
* Bridge milight:bridgeV6:<mac address of bridge> [ ADDR="<IP-Address of bridge>", ID="<mac>" ]
|
* Bridge milight:bridgeV6:<mac address of bridge> &lsqb ADDR="<IP-Address of bridge>", ID="<mac>" &rsqb
|
||||||
|
|
||||||
The Thing configuration for the bulbs uses the following syntax:
|
The Thing configuration for the bulbs uses the following syntax:
|
||||||
[Thing] <type of bulb> <zone>
|
&lsqbThing&rsqb <type of bulb> <zone>
|
||||||
|
|
||||||
The following bulb types are valid for configuration:
|
The following bulb types are valid for configuration:
|
||||||
|
|
||||||
* rgbv2Led: The very first available bulb. Not very common anymore.
|
* rgbv2Led: The very first available bulb. Not very common anymore.
|
||||||
* whiteLed: The dual white bulbs (with cold/warm white) used with v3-v5 bridges.
|
* whiteLed: The dual white bulbs (with cold/warm white) used with v3-v5 bridges.
|
||||||
* rgbLed: The rgb+white bulbs (with cold/warm white) used with v3-v5 bridges. About 4080 colors (255 colors * 16 brightness steps).
|
* rgbLed: The rgb+white bulbs (with cold/warm white) used with v3-v5 bridges. About 4080 colors (255 colors * 16 brightness steps).
|
||||||
* rgbiboxLed: The iBox bridge integrated color bulb without a dedicated white channel.
|
* rgbiboxLed: The iBox bridge integrated color bulb without a dedicated white channel.
|
||||||
* rgbwLed: The 2016/2017 color bulb without saturation support. About 6630 (255*26) colors.
|
* rgbwLed: The 2016/2017 color bulb without saturation support. About 6630 (255*26) colors.
|
||||||
* rgbwwLed: The 2016/2017 color bulb with saturation support. About 1.044.480 (255*64*64) different color shades. Use this also for the newer generation of the dual white bulbs.
|
* rgbwwLed: The 2016/2017 color bulb with saturation support. About 1.044.480 (255*64*64) different color shades. Use this also for the newer generation of the dual white bulbs.
|
||||||
|
|
||||||
The zone number is either 0 for meaning all bulbs of the same type or
|
The zone number is either 0 for meaning all bulbs of the same type or a valid zone number (1-4 with bridges up to and including version 6).
|
||||||
a valid zone number (1-4 with bridges up to and including version 6).
|
|
||||||
Future bridges may support more zones.
|
Future bridges may support more zones.
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
@ -81,7 +84,7 @@ Future bridges may support more zones.
|
||||||
For dual white bulbs these channels are supported:
|
For dual white bulbs these channels are supported:
|
||||||
|
|
||||||
ledbrightness Controls the brightness of your bulbs
|
ledbrightness Controls the brightness of your bulbs
|
||||||
colorTemperature Changes from cold white to warm white and vice versa
|
ledtemperature Changes from cold white to warm white and vice versa
|
||||||
lednightmode Dims your bulbs to a very low level to use them as a night light
|
lednightmode Dims your bulbs to a very low level to use them as a night light
|
||||||
animation_mode_relative Changes the animation mode. Use an IncreaseDecrease type of widget.
|
animation_mode_relative Changes the animation mode. Use an IncreaseDecrease type of widget.
|
||||||
|
|
||||||
|
@ -108,7 +111,7 @@ For rgbwLed/rgbwwLed bulbs these channels are supported:
|
||||||
ledwhitemode Disable all color (saturation is 0)
|
ledwhitemode Disable all color (saturation is 0)
|
||||||
ledbrightness Controls the brightness of your bulbs
|
ledbrightness Controls the brightness of your bulbs
|
||||||
ledsaturation Controls the saturation of your bulbs (not for rgbwLed!)
|
ledsaturation Controls the saturation of your bulbs (not for rgbwLed!)
|
||||||
colorTemperature Changes from cold white to warm white and vice versa (not for rgbwLed!)
|
ledtemperature Changes from cold white to warm white and vice versa (not for rgbwLed!)
|
||||||
ledcolor Changes the color and brightness of your rgb bulbs when bound to a colorpicker
|
ledcolor Changes the color and brightness of your rgb bulbs when bound to a colorpicker
|
||||||
or just the brightness if bound to a Dimmer or controls On/Off if bound to a switch.
|
or just the brightness if bound to a Dimmer or controls On/Off if bound to a switch.
|
||||||
animation_mode Changes the animation mode. Chose between animation mode 1 to 9.
|
animation_mode Changes the animation mode. Chose between animation mode 1 to 9.
|
||||||
|
@ -117,28 +120,28 @@ For rgbwLed/rgbwwLed bulbs these channels are supported:
|
||||||
ledlink Sync bulb to this zone within 3 seconds of light bulb socket power on
|
ledlink Sync bulb to this zone within 3 seconds of light bulb socket power on
|
||||||
ledunlink Clear bulb from this zone within 3 seconds of light bulb socket power on
|
ledunlink Clear bulb from this zone within 3 seconds of light bulb socket power on
|
||||||
|
|
||||||
[(See the API)](http://www.limitlessled.com/dev/).
|
[(See the API)](http://www.limitlessled.com/dev/).
|
||||||
|
|
||||||
Limitations:
|
Limitations:
|
||||||
|
|
||||||
* Only the rgbww bulbs support changing their saturation, for rgbv2Led/rgbwLed the colorpicker will only set the hue and brightness and change to whitemode if the saturation is under a given threshold of 50%.
|
* Only the rgbww bulbs support changing their saturation, for rgbv2Led/rgbwLed the colorpicker will only set the hue and brightness and change to whitemode if the saturation is under a given threshold of 50%.
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
|
|
||||||
.items
|
.items
|
||||||
|
|
||||||
Switch Light_Groundfloor {channel="milight:whiteLed:ACCF23A6C0B4:0:ledbrightness"} # Switch for all white bulbs
|
Switch Light_Groundfloor {channel="milight:whiteLed:ACCF23A6C0B4:0:ledbrightness"} # Switch for all white bulbs
|
||||||
Dimmer Light_LivingroomB {channel="milight:whiteLed:ACCF23A6C0B4:1:ledbrightness"} # Dimmer changing brightness for bulb in zone 1
|
Dimmer Light_LivingroomB {channel="milight:whiteLed:ACCF23A6C0B4:1:ledbrightness"} # Dimmer changing brightness for bulb in zone 1
|
||||||
Dimmer Light_LivingroomC {channel="milight:whiteLed:ACCF23A6C0B4:1:colorTemperature"} # Dimmer changing colorTemperature for bulb in zone 1
|
Dimmer Light_LivingroomC {channel="milight:whiteLed:ACCF23A6C0B4:1:ledtemperature"} # Dimmer changing colorTemperature for bulb in zone 1
|
||||||
Dimmer RGBW_LivingroomB {channel="milight:rgbwLed:ACCF23A6C0B4:2:ledbrightness"} # Dimmer changing brightness for RGBW bulb in zone 2
|
Dimmer RGBW_LivingroomB {channel="milight:rgbwLed:ACCF23A6C0B4:2:ledbrightness"} # Dimmer changing brightness for RGBW bulb in zone 2
|
||||||
Color Light_Party {channel="milight:rgbwLed:ACCF23A6C0B4:1:ledcolor"}# Colorpicker for rgb bulbs
|
Color Light_Party {channel="milight:rgbwLed:ACCF23A6C0B4:1:ledcolor"}# Colorpicker for rgb bulbs
|
||||||
|
|
||||||
# You have to link the items to the channels of your prefered group e.g. in paperui after you've saved
|
# You have to link the items to the channels of your prefered group e.g. in paperui after you've saved
|
||||||
# your items file.
|
# your items file.
|
||||||
|
|
||||||
# The command types nightMode and whiteMode should be configured as pushbuttons as they only support a trigger action:
|
# The command types nightMode and whiteMode should be configured as pushbuttons as they only support a trigger action:
|
||||||
Switch Light_GroundfloorN {channel="milight:whiteLed:ACCF23A6C0B4:0:nightMode"} # Activate the NightMode for all bulbs
|
Switch Light_GroundfloorN {channel="milight:whiteLed:ACCF23A6C0B4:0:nightMode"} # Activate the NightMode for all bulbs
|
||||||
|
|
||||||
# The command types animation_mode_relative and animation_speed should be configured as pushbuttons as they only support INCREASE and DECREASE commands:
|
# The command types animation_mode_relative and animation_speed should be configured as pushbuttons as they only support INCREASE and DECREASE commands:
|
||||||
|
|
||||||
Dimmer AnimationMode {channel="milight:rgbLed:ACCF23A6C0B4:5:animation_mode_relative"}
|
Dimmer AnimationMode {channel="milight:rgbLed:ACCF23A6C0B4:5:animation_mode_relative"}
|
||||||
|
@ -154,7 +157,6 @@ Limitations:
|
||||||
Switch item=AnimationSpeed mappings=[DECREASE='-', INCREASE='+']
|
Switch item=AnimationSpeed mappings=[DECREASE='-', INCREASE='+']
|
||||||
Switch item=Light_GroundfloorN mappings=[ON='Night Mode']
|
Switch item=Light_GroundfloorN mappings=[ON='Night Mode']
|
||||||
|
|
||||||
|
|
||||||
## Example for Scenes
|
## Example for Scenes
|
||||||
|
|
||||||
.items
|
.items
|
||||||
|
@ -172,31 +174,30 @@ Limitations:
|
||||||
|
|
||||||
rule "Light Scenes"
|
rule "Light Scenes"
|
||||||
when
|
when
|
||||||
Item Light_scene received command
|
Item Light_scene received command
|
||||||
then
|
then
|
||||||
if (receivedCommand==0) {
|
if (receivedCommand==0) {
|
||||||
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(0),new PercentType(0),new PercentType(100)))
|
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(0),new PercentType(0),new PercentType(100)))
|
||||||
}
|
}
|
||||||
if (receivedCommand==1) {
|
if (receivedCommand==1) {
|
||||||
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(0),new PercentType(100),new PercentType(100)))
|
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(0),new PercentType(100),new PercentType(100)))
|
||||||
}
|
}
|
||||||
if (receivedCommand==2) {
|
if (receivedCommand==2) {
|
||||||
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(60),new PercentType(100),new PercentType(100)))
|
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(60),new PercentType(100),new PercentType(100)))
|
||||||
}
|
}
|
||||||
if (receivedCommand==3) {
|
if (receivedCommand==3) {
|
||||||
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(120),new PercentType(100),new PercentType(100)))
|
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(120),new PercentType(100),new PercentType(100)))
|
||||||
}
|
}
|
||||||
if (receivedCommand==4) {
|
if (receivedCommand==4) {
|
||||||
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(120),new PercentType(100),new PercentType(50)))
|
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(120),new PercentType(100),new PercentType(50)))
|
||||||
}
|
}
|
||||||
if (receivedCommand==5) {
|
if (receivedCommand==5) {
|
||||||
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(180),new PercentType(100),new PercentType(100)))
|
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(180),new PercentType(100),new PercentType(100)))
|
||||||
}
|
}
|
||||||
if (receivedCommand==6) {
|
if (receivedCommand==6) {
|
||||||
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(240),new PercentType(100),new PercentType(100)))
|
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(240),new PercentType(100),new PercentType(100)))
|
||||||
}
|
}
|
||||||
if (receivedCommand==7) {
|
if (receivedCommand==7) {
|
||||||
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(300),new PercentType(100),new PercentType(100)))
|
sendCommand(Light_scene_ColorSelect, new HSBType(new DecimalType(300),new PercentType(100),new PercentType(100)))
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,8 @@ install: auto
|
||||||
|
|
||||||
This binding integrates Minecraft with openHAB through the [spigot plugin](https://github.com/ibaton/bukkit-openhab-plugin/releases/download/1.5/OHMinecraft.jar) ([sources](https://github.com/ibaton/bukkit-openhab-plugin/tree/master)).
|
This binding integrates Minecraft with openHAB through the [spigot plugin](https://github.com/ibaton/bukkit-openhab-plugin/releases/download/1.5/OHMinecraft.jar) ([sources](https://github.com/ibaton/bukkit-openhab-plugin/tree/master)).
|
||||||
|
|
||||||
The binding allows reading of server and player data. It furthermore keeps track of redstone power going below signs and links them to Switch items.
|
The binding allows reading of server and player data.
|
||||||
|
It furthermore keeps track of redstone power going below signs and links them to Switch items.
|
||||||
|
|
||||||
## Youtube Videos
|
## Youtube Videos
|
||||||
|
|
||||||
|
@ -27,7 +28,8 @@ The binding allows reading of server and player data. It furthermore keeps track
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
The Minecraft binding automatically finds all Minecraft servers running [this plugin](https://github.com/ibaton/bukkit-openhab-plugin/releases/download/1.9/OHMinecraft.jar) on the local network. Servers can be added manually if they are not found automatically.
|
The Minecraft binding automatically finds all Minecraft servers running [this plugin](https://github.com/ibaton/bukkit-openhab-plugin/releases/download/1.9/OHMinecraft.jar) on the local network.
|
||||||
|
Servers can be added manually if they are not found automatically.
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
|
@ -35,38 +37,40 @@ Depending on the thing type, different channels are provided:
|
||||||
|
|
||||||
### Server
|
### Server
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description |
|
| Channel Type ID | Item Type | Description |
|
||||||
|------------------|------------------------|--------------|
|
|-----------------|-----------|-----------------------------------------|
|
||||||
| name | String | Name of Minecraft server |
|
| name | String | Name of Minecraft server |
|
||||||
| online | Switch | Online status |
|
| online | Switch | Online status |
|
||||||
| bukkitVersion | String | The bukkit version running on server |
|
| bukkitVersion | String | The bukkit version running on server |
|
||||||
| version | String | The Minecraft version running on server |
|
| version | String | The Minecraft version running on server |
|
||||||
| players | Number | The number of players on server |
|
| players | Number | The number of players on server |
|
||||||
| maxPlayers | Number | The maximum number of players on server |
|
| maxPlayers | Number | The maximum number of players on server |
|
||||||
|
|
||||||
|
|
||||||
### Player
|
### Player
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description |
|
| Channel Type ID | Item Type | Description |
|
||||||
|------------------|------------------------|--------------|
|
|----------------------------|-----------|------------------------------------------------------------|
|
||||||
| playerName | String | The name of the player |
|
| playerName | String | The name of the player |
|
||||||
| playerOnline | Switch | Is the player connected to the server |
|
| playerOnline | Switch | Is the player connected to the server |
|
||||||
| playerLevel | Number | The current level of the player |
|
| playerLevel | Number | The current level of the player |
|
||||||
| playerTotalExperience | Number | The total experience of the player |
|
| playerTotalExperience | Number | The total experience of the player |
|
||||||
| playerExperiencePercentage | Number | The percentage of the experience bar filled for next level |
|
| playerExperiencePercentage | Number | The percentage of the experience bar filled for next level |
|
||||||
| playerHealth | Number | The health of the player |
|
| playerHealth | Number | The health of the player |
|
||||||
| playerWalkSpeed | Number | The speed of the player |
|
| playerWalkSpeed | Number | The speed of the player |
|
||||||
| playerLocation | Location | The player location |
|
| playerLocation | Location | The player location |
|
||||||
| playerGameMode | Number | The players game mode |
|
| playerGameMode | Number | The players game mode |
|
||||||
|
|
||||||
|
|
||||||
### Sign
|
### Sign
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description |
|
| Channel Type ID | Item Type | Description |
|
||||||
|------------------|------------------------|--------------|
|
|-----------------|-----------|----------------------------------------------|
|
||||||
| signActive | Switch | Does the sign have powered redstone below it |
|
| signActive | Switch | Does the sign have powered redstone below it |
|
||||||
|
|
||||||
|
|
||||||
Active switch (Controllable from openHAB)
|
Active switch (Controllable from openHAB)
|
||||||
<a href="https://drive.google.com/uc?export=view&id=0B3UO0c11-Q6hMkNZSjJidGk4b28"><img src="https://drive.google.com/uc?export=view&id=0B3UO0c11-Q6hMkNZSjJidGk4b28" style="width: 500px; max-width: 100%; height: auto" title="Click for the larger version." /></a>
|
<a href="https://drive.google.com/uc?export=view&id=0B3UO0c11-Q6hMkNZSjJidGk4b28"><img src="https://drive.google.com/uc?export=view&id=0B3UO0c11-Q6hMkNZSjJidGk4b28" style="width: 500px; max-width: 100%; height: auto" title="Click for the larger version." /></a>
|
||||||
|
|
||||||
Passive sensor
|
Passive sensor
|
||||||
<a href="https://drive.google.com/uc?export=view&id=0B3UO0c11-Q6hUG1wd3h0MDUzUzQ"><img src="https://drive.google.com/uc?export=view&id=0B3UO0c11-Q6hUG1wd3h0MDUzUzQ" style="width: 500px; max-width: 100%; height: auto" title="Click for the larger version." /></a>
|
<a href="https://drive.google.com/uc?export=view&id=0B3UO0c11-Q6hUG1wd3h0MDUzUzQ"><img src="https://drive.google.com/uc?export=view&id=0B3UO0c11-Q6hUG1wd3h0MDUzUzQ" style="width: 500px; max-width: 100%; height: auto" title="Click for the larger version." /></a>
|
||||||
|
|
||||||
|
|
|
@ -23,13 +23,13 @@ Because the Nest API runs on Nest's servers a connection with the Internet is re
|
||||||
|
|
||||||
The table below lists the Nest binding thing types:
|
The table below lists the Nest binding thing types:
|
||||||
|
|
||||||
| Things | Description | Thing Type |
|
| Things | Description | Thing Type |
|
||||||
| --------------------------------------- | ---------------------------------------- | -------------- |
|
|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|----------------|
|
||||||
| Nest Account | An account for using the Nest REST API | account |
|
| Nest Account | An account for using the Nest REST API | account |
|
||||||
| Nest Cam (Indoor, IQ, Outdoor), Dropcam | A Nest Cam registered with your account | camera |
|
| Nest Cam (Indoor, IQ, Outdoor), Dropcam | A Nest Cam registered with your account | camera |
|
||||||
| Nest Protect | The smoke detector/Nest Protect for the account | smoke_detector |
|
| Nest Protect | The smoke detector/Nest Protect for the account | smoke_detector |
|
||||||
| Structure | The Nest structure defines the house the account has setup on Nest. You will only have more than one structure if you have more than one house | structure |
|
| Structure | The Nest structure defines the house the account has setup on Nest. You will only have more than one structure if you have more than one house | structure |
|
||||||
| Nest Thermostat (E) | A Thermostat to control the various aspects of the house's HVAC system | thermostat |
|
| Nest Thermostat (E) | A Thermostat to control the various aspects of the house's HVAC system | thermostat |
|
||||||
|
|
||||||
## Authorization
|
## Authorization
|
||||||
|
|
||||||
|
@ -62,67 +62,68 @@ The account Thing Type does not have any channels.
|
||||||
|
|
||||||
### Camera Channels
|
### Camera Channels
|
||||||
|
|
||||||
|
| Channel Type ID | Item Type | Description | Read Write |
|
||||||
| Channel Type ID | Item Type | Description | Read Write |
|
|-----------------------|-----------|---------------------------------------------------|:----------:|
|
||||||
| --------------------- | --------- | ---------------------------------------- | :--------: |
|
| app_url | String | The app URL to see the camera | R |
|
||||||
| app_url | String | The app URL to see the camera | R |
|
| audio_input_enabled | Switch | If the audio input is currently enabled | R |
|
||||||
| audio_input_enabled | Switch | If the audio input is currently enabled | R |
|
| public_share_enabled | Switch | If public sharing is currently enabled | R |
|
||||||
| public_share_enabled | Switch | If public sharing is currently enabled | R |
|
| public_share_url | String | The URL to see the public share of the camera | R |
|
||||||
| public_share_url | String | The URL to see the public share of the camera | R |
|
| snapshot_url | String | The URL to use for a snapshot of the video stream | R |
|
||||||
| snapshot_url | String | The URL to use for a snapshot of the video stream | R |
|
| streaming | Switch | If the camera is currently streaming | R/W |
|
||||||
| streaming | Switch | If the camera is currently streaming | R/W |
|
| video_history_enabled | Switch | If the video history is currently enabled | R |
|
||||||
| video_history_enabled | Switch | If the video history is currently enabled | R |
|
| web_url | String | The web URL to see the camera | R |
|
||||||
| web_url | String | The web URL to see the camera | R |
|
|
||||||
|
|
||||||
### Smoke Detector Channels
|
### Smoke Detector Channels
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description | Read Write |
|
| Channel Type ID | Item Type | Description | Read Write |
|
||||||
| ------------------ | --------- | ---------------------------------------- | :--------: |
|
|--------------------|-----------|-----------------------------------------------------------------------------------|:----------:|
|
||||||
| co_alarm_state | String | The carbon monoxide alarm state of the Nest Protect (OK, EMERGENCY, WARNING) | R |
|
| co_alarm_state | String | The carbon monoxide alarm state of the Nest Protect (OK, EMERGENCY, WARNING) | R |
|
||||||
| low_battery | Switch | Reports whether the battery of the Nest protect is low (if it is battery powered) | R |
|
| low_battery | Switch | Reports whether the battery of the Nest protect is low (if it is battery powered) | R |
|
||||||
| manual_test_active | Switch | Manual test active at the moment | R |
|
| manual_test_active | Switch | Manual test active at the moment | R |
|
||||||
| smoke_alarm_state | String | The smoke alarm state of the Nest Protect (OK, EMERGENCY, WARNING) | R |
|
| smoke_alarm_state | String | The smoke alarm state of the Nest Protect (OK, EMERGENCY, WARNING) | R |
|
||||||
| ui_color_state | String | The current color of the ring on the smoke detector (GRAY, GREEN, YELLOW, RED) | R |
|
| ui_color_state | String | The current color of the ring on the smoke detector (GRAY, GREEN, YELLOW, RED) | R |
|
||||||
|
|
||||||
### Structure Channels
|
### Structure Channels
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description | Read Write |
|
| Channel Type ID | Item Type | Description | Read Write |
|
||||||
| ---------------------------- | --------- | ---------------------------------------- | :--------: |
|
|------------------------------|-----------|--------------------------------------------------------------------------------------------------------|:----------:|
|
||||||
| away | String | Away state of the structure (HOME, AWAY, AUTO_AWAY) | R/W |
|
| away | String | Away state of the structure (HOME, AWAY, AUTO_AWAY) | R/W |
|
||||||
| country_code | String | Country code of the structure ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)) | R |
|
| country_code | String | Country code of the structure ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)) | R |
|
||||||
| co_alarm_state | String | Carbon Monoxide alarm state (OK, EMERGENCY, WARNING) | R |
|
| co_alarm_state | String | Carbon Monoxide alarm state (OK, EMERGENCY, WARNING) | R |
|
||||||
| eta_begin | DateTime | Estimated time of arrival at home, will setup the heat to turn on and be warm | R |
|
| eta_begin | DateTime | Estimated time of arrival at home, will setup the heat to turn on and be warm | R |
|
||||||
| peak_period_end_time | DateTime | Peak period end for the Rush Hour Rewards program | R |
|
| peak_period_end_time | DateTime | Peak period end for the Rush Hour Rewards program | R |
|
||||||
| peak_period_start_time | DateTime | Peak period start for the Rush Hour Rewards program | R |
|
| peak_period_start_time | DateTime | Peak period start for the Rush Hour Rewards program | R |
|
||||||
| postal_code | String | Postal code of the structure | R |
|
| postal_code | String | Postal code of the structure | R |
|
||||||
| rush_hour_rewards_enrollment | Switch | If rush hour rewards system is enabled or not | R |
|
| rush_hour_rewards_enrollment | Switch | If rush hour rewards system is enabled or not | R |
|
||||||
| smoke_alarm_state | String | Smoke alarm state (OK, EMERGENCY, WARNING) | R |
|
| smoke_alarm_state | String | Smoke alarm state (OK, EMERGENCY, WARNING) | R |
|
||||||
| time_zone | String | The time zone for the structure ([IANA time zone format](http://www.iana.org/time-zones)) | R |
|
| time_zone | String | The time zone for the structure ([IANA time zone format](http://www.iana.org/time-zones)) | R |
|
||||||
|
|
||||||
### Thermostat Channels
|
### Thermostat Channels
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description | Read Write |
|
| Channel Type ID | Item Type | Description | Read Write |
|
||||||
| --------------------------- | --------- | ---------------------------------------- | :--------: |
|
|-----------------------------|-----------|---------------------------------------------------------------------------------------------|:----------:|
|
||||||
| can_cool | Switch | If the thermostat can actually turn on cooling | R |
|
| can_cool | Switch | If the thermostat can actually turn on cooling | R |
|
||||||
| can_heat | Switch | If the thermostat can actually turn on heating | R |
|
| can_heat | Switch | If the thermostat can actually turn on heating | R |
|
||||||
| fan_timer_active | Switch | If the fan timer is engaged | R/W |
|
| fan_timer_active | Switch | If the fan timer is engaged | R/W |
|
||||||
| fan_timer_duration | Number | Length of time (in minutes) that the fan is set to run (15, 30, 45, 60, 120, 240, 480, 960) | R/W |
|
| fan_timer_duration | Number | Length of time (in minutes) that the fan is set to run (15, 30, 45, 60, 120, 240, 480, 960) | R/W |
|
||||||
| has_fan | Switch | If the thermostat can control the fan | R |
|
| fan_timer_timeout | DateTime | Timestamp when the fan stops running | R |
|
||||||
| has_leaf | Switch | If the thermostat is currently in a leaf mode | R |
|
| has_fan | Switch | If the thermostat can control the fan | R |
|
||||||
| humidity | Number | Indicates the current relative humidity | R |
|
| has_leaf | Switch | If the thermostat is currently in a leaf mode | R |
|
||||||
| locked | Switch | If the thermostat has the temperature locked to only be within a set range | R |
|
| humidity | Number | Indicates the current relative humidity | R |
|
||||||
| locked_max_set_point | Number | The locked range max set point in degrees Celsius | R/W |
|
| locked | Switch | If the thermostat has the temperature locked to only be within a set range | R |
|
||||||
| locked_min_set_point | Number | The locked range min set point in degrees Celsius | R/W |
|
| locked_max_set_point | Number | The locked range max set point in degrees Celsius | R/W |
|
||||||
| max_set_point | Number | The max set point in degrees Celsius | R/W |
|
| locked_min_set_point | Number | The locked range min set point in degrees Celsius | R/W |
|
||||||
| min_set_point | Number | The min set point in degrees Celsius | R/W |
|
| max_set_point | Number | The max set point in degrees Celsius | R/W |
|
||||||
| mode | String | Current mode of the Nest thermostat (HEAT, COOL, HEAT_COOL, ECO, OFF) | R/W |
|
| min_set_point | Number | The min set point in degrees Celsius | R/W |
|
||||||
| previous_mode | String | The previous mode of the Nest thermostat (HEAT, COOL, HEAT_COOL, ECO, OFF) | R |
|
| mode | String | Current mode of the Nest thermostat (HEAT, COOL, HEAT_COOL, ECO, OFF) | R/W |
|
||||||
| temperature | Number | Current temperature in degrees Celsius | R |
|
| previous_mode | String | The previous mode of the Nest thermostat (HEAT, COOL, HEAT_COOL, ECO, OFF) | R |
|
||||||
| time_to_target_mins | Number | Time left to the target temperature (mins) approximately | R |
|
| state | String | The active state of the Nest thermostat (HEATING, COOLING, OFF) | R |
|
||||||
| set_point | Number | The set point in degrees Celsius | R/W |
|
| temperature | Number | Current temperature in degrees Celsius | R |
|
||||||
| sunlight_correction_active | Switch | If sunlight correction is active | R |
|
| time_to_target_mins | Number | Time left to the target temperature (mins) approximately | R |
|
||||||
| sunlight_correction_enabled | Switch | If sunlight correction is enabled | R |
|
| set_point | Number | The set point in degrees Celsius | R/W |
|
||||||
| using_emergency_heat | Switch | If the system is currently using emergency heat | R |
|
| sunlight_correction_active | Switch | If sunlight correction is active | R |
|
||||||
|
| sunlight_correction_enabled | Switch | If sunlight correction is enabled | R |
|
||||||
|
| using_emergency_heat | Switch | If the system is currently using emergency heat | R |
|
||||||
|
|
||||||
Note that the Nest API rounds Thermostat values so they will differ from what shows up in the Nest App. The Nest API applies the following rounding:
|
Note that the Nest API rounds Thermostat values so they will differ from what shows up in the Nest App. The Nest API applies the following rounding:
|
||||||
|
|
||||||
|
@ -171,6 +172,9 @@ String Smoke_UI_Color "UI Color [%s]" { channel="nest:smoke_detector:demo_
|
||||||
/* Thermostat */
|
/* Thermostat */
|
||||||
Switch Thermostat_Can_Cool "Can Cool" { channel="nest:thermostat:demo_account:living_thermostat:can_cool" }
|
Switch Thermostat_Can_Cool "Can Cool" { channel="nest:thermostat:demo_account:living_thermostat:can_cool" }
|
||||||
Switch Thermostat_Can_Heat "Can Heat" { channel="nest:thermostat:demo_account:living_thermostat:can_heat" }
|
Switch Thermostat_Can_Heat "Can Heat" { channel="nest:thermostat:demo_account:living_thermostat:can_heat" }
|
||||||
|
Switch Thermostat_FT_Active "Fan Timer Active" { channel="nest:thermostat:demo_account:living_thermostat:fan_timer_active" }
|
||||||
|
Number Thermostat_FT_Duration "Fan Timer Duration" { channel="nest:thermostat:demo_account:living_thermostat:fan_timer_duration" }
|
||||||
|
DateTime Thermostat_FT_Timeout "Fan Timer Timeout [%1$tY-%1$tm-%1$td %1$tH:%1$tM:%1$tS]" { channel="nest:thermostat:demo_account:living_thermostat:fan_timer_timeout" }
|
||||||
Switch Thermostat_Has_Fan "Has Fan" { channel="nest:thermostat:demo_account:living_thermostat:has_fan" }
|
Switch Thermostat_Has_Fan "Has Fan" { channel="nest:thermostat:demo_account:living_thermostat:has_fan" }
|
||||||
Switch Thermostat_Has_Leaf "Has Leaf" { channel="nest:thermostat:demo_account:living_thermostat:has_leaf" }
|
Switch Thermostat_Has_Leaf "Has Leaf" { channel="nest:thermostat:demo_account:living_thermostat:has_leaf" }
|
||||||
Number Thermostat_Humidity "Humidity [%.1f %%]" { channel="nest:thermostat:demo_account:living_thermostat:humidity" }
|
Number Thermostat_Humidity "Humidity [%.1f %%]" { channel="nest:thermostat:demo_account:living_thermostat:humidity" }
|
||||||
|
@ -181,6 +185,7 @@ Number Thermostat_Max_SP "Max Set Point [%.1f °C]" { channel="nest
|
||||||
Number Thermostat_Min_SP "Min Set Point [%.1f °C]" { channel="nest:thermostat:demo_account:living_thermostat:min_set_point" }
|
Number Thermostat_Min_SP "Min Set Point [%.1f °C]" { channel="nest:thermostat:demo_account:living_thermostat:min_set_point" }
|
||||||
String Thermostat_Mode "Mode [%s]" { channel="nest:thermostat:demo_account:living_thermostat:mode" }
|
String Thermostat_Mode "Mode [%s]" { channel="nest:thermostat:demo_account:living_thermostat:mode" }
|
||||||
String Thermostat_PreviousMode "Previous Mode [%s]" { channel="nest:thermostat:demo_account:living_thermostat:previous_mode" }
|
String Thermostat_PreviousMode "Previous Mode [%s]" { channel="nest:thermostat:demo_account:living_thermostat:previous_mode" }
|
||||||
|
String Thermostat_State "State [%s]" { channel="nest:thermostat:demo_account:living_thermostat:state" }
|
||||||
Number Thermostat_Set_Point "Set Point [%.1f °C]" { channel="nest:thermostat:demo_account:living_thermostat:set_point" }
|
Number Thermostat_Set_Point "Set Point [%.1f °C]" { channel="nest:thermostat:demo_account:living_thermostat:set_point" }
|
||||||
Switch Thermostat_SunlightCA "Sunlight Correction Active" { channel="nest:thermostat:demo_account:living_thermostat:sunlight_correction_active" }
|
Switch Thermostat_SunlightCA "Sunlight Correction Active" { channel="nest:thermostat:demo_account:living_thermostat:sunlight_correction_active" }
|
||||||
Switch Thermostat_SunlightCE "Sunlight Correction Enabled" { channel="nest:thermostat:demo_account:living_thermostat:sunlight_correction_enabled" }
|
Switch Thermostat_SunlightCE "Sunlight Correction Enabled" { channel="nest:thermostat:demo_account:living_thermostat:sunlight_correction_enabled" }
|
||||||
|
|
|
@ -25,36 +25,35 @@ Binding should be compatible with Onkyo AV receivers which support ISCP (Integra
|
||||||
|
|
||||||
This binding supports only one thing: The Onkyo AV Receiver. All supported Onkyo devices are registered as an audio sink in the framework.
|
This binding supports only one thing: The Onkyo AV Receiver. All supported Onkyo devices are registered as an audio sink in the framework.
|
||||||
|
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
This binding can discover the supported Onkyo AV Receivers. At the moment only the following models are supported:
|
This binding can discover the supported Onkyo AV Receivers. At the moment only the following models are supported:
|
||||||
|
|
||||||
* TX-NR414
|
- TX-NR414
|
||||||
* TX-NR509
|
- TX-NR509
|
||||||
* TX-NR515
|
- TX-NR515
|
||||||
* TX-NR525
|
- TX-NR525
|
||||||
* TX-NR535
|
- TX-NR535
|
||||||
* TX-NR555
|
- TX-NR555
|
||||||
* TX-NR535
|
- TX-NR535
|
||||||
* TX-NR616
|
- TX-NR616
|
||||||
* TX-NR626
|
- TX-NR626
|
||||||
* TX-NR636
|
- TX-NR636
|
||||||
* TX-NR646
|
- TX-NR646
|
||||||
* TX-NR656
|
- TX-NR656
|
||||||
* TX-NR717
|
- TX-NR717
|
||||||
* TX-NR727
|
- TX-NR727
|
||||||
* TX-NR737
|
- TX-NR737
|
||||||
* TX-NR747
|
- TX-NR747
|
||||||
* TX-NR818
|
- TX-NR818
|
||||||
* TX-NR828
|
- TX-NR828
|
||||||
* TX-NR838
|
- TX-NR838
|
||||||
|
|
||||||
## Binding Configuration
|
## Binding Configuration
|
||||||
|
|
||||||
The binding can auto-discover the Onkyo AVRs present on your local network. The auto-discovery is enabled by default. To disable it, you can create a file in the services directory called onkyo.cfg with the following content:
|
The binding can auto-discover the Onkyo AVRs present on your local network. The auto-discovery is enabled by default. To disable it, you can create a file in the services directory called onkyo.cfg with the following content:
|
||||||
|
|
||||||
```
|
```text
|
||||||
org.openhab.onkyo:enableAutoDiscovery=false
|
org.openhab.onkyo:enableAutoDiscovery=false
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -63,39 +62,40 @@ This configuration parameter only controls the Onkyo AVR auto-discovery process,
|
||||||
|
|
||||||
The binding has the following configuration options, which can be set for "binding:onkyo":
|
The binding has the following configuration options, which can be set for "binding:onkyo":
|
||||||
|
|
||||||
| Parameter | Name | Description | Required |
|
| Parameter | Name | Description | Required |
|
||||||
|-----------------|------------------------|--------------|------------ |
|
|-------------|--------------|--------------------------------------------------------------------------|----------|
|
||||||
| callbackUrl | Callback URL | URL to use for playing notification sounds, e.g. http://192.168.0.2:8080 | no |
|
| callbackUrl | Callback URL | URL to use for playing notification sounds, e.g. http://192.168.0.2:8080 | no |
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
The Onkyo AVR thing requires the ip address and the port to access it on.
|
The Onkyo AVR thing requires the ip address and the port to access it on.
|
||||||
|
In the code `avr-livingroom` refers to the user defined unique id of your Onkyo device. A second device could be called avr2.
|
||||||
In the thing file, this looks e.g. like
|
In the thing file, this looks e.g. like
|
||||||
|
|
||||||
Model specific
|
Model specific
|
||||||
|
|
||||||
```
|
```text
|
||||||
onkyo:TX-NR818:myOnkyo [ipAddress="192.168.1.100", port=60128]
|
onkyo:TX-NR818:avr-livingroom [ipAddress="192.168.1.100", port=60128]
|
||||||
```
|
```
|
||||||
|
|
||||||
or
|
or
|
||||||
|
|
||||||
Generic model
|
Generic model
|
||||||
|
|
||||||
```
|
```text
|
||||||
onkyo:onkyoAVR:myOnkyo [ipAddress="192.168.1.100", port=60128]
|
onkyo:onkyoAVR:avr-livingroom [ipAddress="192.168.1.100", port=60128]
|
||||||
```
|
```
|
||||||
|
|
||||||
Optionally you can specify the refresh interval by refreshInterval parameter.
|
Optionally you can specify the refresh interval by refreshInterval parameter.
|
||||||
|
|
||||||
```
|
```text
|
||||||
onkyo:onkyoAVR:myOnkyo [ipAddress="192.168.1.100", port=60128, refreshInterval=30]
|
onkyo:onkyoAVR:avr-livingroom [ipAddress="192.168.1.100", port=60128, refreshInterval=30]
|
||||||
```
|
```
|
||||||
|
|
||||||
Maximum volume level can also be configured by volumeLimit parameter. This prevent setting receiver volume level too high, which could damage your speakers or receiver.
|
Maximum volume level can also be configured by volumeLimit parameter. This prevent setting receiver volume level too high, which could damage your speakers or receiver.
|
||||||
|
|
||||||
```
|
```text
|
||||||
onkyo:onkyoAVR:myOnkyo [ipAddress="192.168.1.100", port=60128, volumeLimit=50]
|
onkyo:onkyoAVR:avr-livingroom [ipAddress="192.168.1.100", port=60128, volumeLimit=50]
|
||||||
```
|
```
|
||||||
|
|
||||||
Binding then automatically scale the volume level in both directions (100% = 50 = 100%).
|
Binding then automatically scale the volume level in both directions (100% = 50 = 100%).
|
||||||
|
@ -104,162 +104,159 @@ Binding then automatically scale the volume level in both directions (100% = 50
|
||||||
|
|
||||||
The Onkyo AVR supports the following channels (some channels are model specific):
|
The Onkyo AVR supports the following channels (some channels are model specific):
|
||||||
|
|
||||||
| Channel Type ID | Item Type | Description |
|
| Channel Type ID | Item Type | Description |
|
||||||
|-------------------------|--------------|--------------|
|
|---------------------------|-----------|------------------------------------------------------------------------------------------------------------------|
|
||||||
| zone1#power | Switch | Power on/off your device |
|
| zone1#power | Switch | Power on/off your device |
|
||||||
| zone1#mute | Switch | Mute/unmute zone 1 |
|
| zone1#mute | Switch | Mute/unmute zone 1 |
|
||||||
| zone1#input | Number | The input for zone 1 |
|
| zone1#input | Number | The input for zone 1 |
|
||||||
| zone1#volume | Dimmer | Volume of zone 1 |
|
| zone1#volume | Dimmer | Volume of zone 1 |
|
||||||
| zone2#power | Switch | Power on/off zone 2 |
|
| zone2#power | Switch | Power on/off zone 2 |
|
||||||
| zone2#mute | Switch | Mute/unmute zone 2 |
|
| zone2#mute | Switch | Mute/unmute zone 2 |
|
||||||
| zone2#input | Number | The input for zone 2 |
|
| zone2#input | Number | The input for zone 2 |
|
||||||
| zone2#volume | Dimmer | Volume of zone 2 |
|
| zone2#volume | Dimmer | Volume of zone 2 |
|
||||||
| zone3#power | Switch | Power on/off zone 3 |
|
| zone3#power | Switch | Power on/off zone 3 |
|
||||||
| zone3#mute | Switch | Mute/unmute zone 3 |
|
| zone3#mute | Switch | Mute/unmute zone 3 |
|
||||||
| zone3#input | Number | The input for zone 3 |
|
| zone3#input | Number | The input for zone 3 |
|
||||||
| zone3#volume | Dimmer | Volume of zone 3 |
|
| zone3#volume | Dimmer | Volume of zone 3 |
|
||||||
| player#control | Player | Control the Zone Player, e.g. play/pause/next/previous/ffward/rewind (available if playing from Network or USB)|
|
| player#control | Player | Control the Zone Player, e.g. play/pause/next/previous/ffward/rewind (available if playing from Network or USB) |
|
||||||
| player#title | String | Title of the current song (available if playing from Network or USB)|
|
| player#title | String | Title of the current song (available if playing from Network or USB) |
|
||||||
| player#album | String | Album name of the current song (available if playing from Network or USB)|
|
| player#album | String | Album name of the current song (available if playing from Network or USB) |
|
||||||
| player#artist | String | Artist name of the current song (available if playing from Network or USB)|
|
| player#artist | String | Artist name of the current song (available if playing from Network or USB) |
|
||||||
| player#currentPlayingTime | String | Current playing time of the current song (available if playing from Network or USB)|
|
| player#currentPlayingTime | String | Current playing time of the current song (available if playing from Network or USB) |
|
||||||
| player#listenmode | Number | Current listening mode e.g. Stereo, 5.1ch Surround,..|
|
| player#listenmode | Number | Current listening mode e.g. Stereo, 5.1ch Surround,.. |
|
||||||
| player#playuri | String | Plays the URI provided to the channel |
|
| player#playuri | String | Plays the URI provided to the channel |
|
||||||
| player#albumArt | Image | Image of the current album art of the current song |
|
| player#albumArt | Image | Image of the current album art of the current song |
|
||||||
| player#albumArtUrl | String | Url to the current album art of the current song |
|
| player#albumArtUrl | String | Url to the current album art of the current song |
|
||||||
| netmenu#title | String | Title of the current NET service |
|
| netmenu#title | String | Title of the current NET service |
|
||||||
| netmenu#control | String | Control the USB/Net Menu, e.g. Up/Down/Select/Back/PageUp/PageDown/Select[0-9]
|
| netmenu#control | String | Control the USB/Net Menu, e.g. Up/Down/Select/Back/PageUp/PageDown/Select[0-9] |
|
||||||
| netmenu#selection | Number | The number of the currently selected USB/Net Menu entry (0-9)
|
| netmenu#selection | Number | The number of the currently selected USB/Net Menu entry (0-9) |
|
||||||
| netmenu#item0 | String | The text of USB/Net Menu entry 0
|
| netmenu#item0 | String | The text of USB/Net Menu entry 0 |
|
||||||
| netmenu#item1 | String | The text of USB/Net Menu entry 1
|
| netmenu#item1 | String | The text of USB/Net Menu entry 1 |
|
||||||
| netmenu#item2 | String | The text of USB/Net Menu entry 2
|
| netmenu#item2 | String | The text of USB/Net Menu entry 2 |
|
||||||
| netmenu#item3 | String | The text of USB/Net Menu entry 3
|
| netmenu#item3 | String | The text of USB/Net Menu entry 3 |
|
||||||
| netmenu#item4 | String | The text of USB/Net Menu entry 4
|
| netmenu#item4 | String | The text of USB/Net Menu entry 4 |
|
||||||
| netmenu#item5 | String | The text of USB/Net Menu entry 5
|
| netmenu#item5 | String | The text of USB/Net Menu entry 5 |
|
||||||
| netmenu#item6 | String | The text of USB/Net Menu entry 6
|
| netmenu#item6 | String | The text of USB/Net Menu entry 6 |
|
||||||
| netmenu#item7 | String | The text of USB/Net Menu entry 7
|
| netmenu#item7 | String | The text of USB/Net Menu entry 7 |
|
||||||
| netmenu#item8 | String | The text of USB/Net Menu entry 8
|
| netmenu#item8 | String | The text of USB/Net Menu entry 8 |
|
||||||
| netmenu#item9 | String | The text of USB/Net Menu entry 9
|
| netmenu#item9 | String | The text of USB/Net Menu entry 9 |
|
||||||
|
|
||||||
|
|
||||||
## Input Source Mapping
|
## Input Source Mapping
|
||||||
|
|
||||||
Here after are the ID values of the input sources:
|
Here after are the ID values of the input sources:
|
||||||
|
|
||||||
* 00: DVR/VCR
|
- 00: DVR/VCR
|
||||||
* 01: SATELLITE/CABLE
|
- 01: SATELLITE/CABLE
|
||||||
* 02: GAME
|
- 02: GAME
|
||||||
* 03: AUX
|
- 03: AUX
|
||||||
* 04: GAME
|
- 04: GAME
|
||||||
* 05: PC
|
- 05: PC
|
||||||
* 16: BLURAY/DVD
|
- 16: BLURAY/DVD
|
||||||
* 32: TAPE1
|
- 32: TAPE1
|
||||||
* 33: TAPE2
|
- 33: TAPE2
|
||||||
* 34: PHONO
|
- 34: PHONO
|
||||||
* 35: CD
|
- 35: CD
|
||||||
* 36: FM
|
- 36: FM
|
||||||
* 37: AM
|
- 37: AM
|
||||||
* 38: TUNER
|
- 38: TUNER
|
||||||
* 39: MUSICSERVER
|
- 39: MUSICSERVER
|
||||||
* 40: INTERNETRADIO
|
- 40: INTERNETRADIO
|
||||||
* 41: USB
|
- 41: USB
|
||||||
* 42: USB_BACK
|
- 42: USB_BACK
|
||||||
* 43: NETWORK
|
- 43: NETWORK
|
||||||
* 45: AIRPLAY
|
- 45: AIRPLAY
|
||||||
* 48: MULTICH
|
- 48: MULTICH
|
||||||
* 50: SIRIUS
|
- 50: SIRIUS
|
||||||
|
|
||||||
## Item Configuration
|
## Item Configuration
|
||||||
|
|
||||||
demo.items
|
demo.items
|
||||||
|
|
||||||
```
|
```java
|
||||||
Switch avr1Z1_Power "Power" <switch> { channel="onkyo:onkyoAVR:avr1:zone1#power" }
|
Switch avrLrZ1_Power "Power" <switch> { channel="onkyo:onkyoAVR:avr-livingroom:zone1#power" }
|
||||||
Switch avr1Z1_Mute "Mute" <soundvolume> { channel="onkyo:onkyoAVR:avr1:zone1#mute" }
|
Switch avrLrZ1_Mute "Mute" <soundvolume> { channel="onkyo:onkyoAVR:avr-livingroom:zone1#mute" }
|
||||||
Number avr1Z1_Input "Input [%s]" <text> { channel="onkyo:onkyoAVR:avr1:zone1#input" }
|
Number avrLrZ1_Input "Input [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:zone1#input" }
|
||||||
Dimmer avr1Z1_Volume "Volume [%d]" <soundvolume> { channel="onkyo:onkyoAVR:avr1:zone1#volume" }
|
Dimmer avrLrZ1_Volume "Volume [%d]" <soundvolume> { channel="onkyo:onkyoAVR:avr-livingroom:zone1#volume" }
|
||||||
|
|
||||||
Switch avr1Z2_Power "Power [%s]" <switch> { channel="onkyo:onkyoAVR:avr1:zone2#power" }
|
Switch avrLrZ2_Power "Power [%s]" <switch> { channel="onkyo:onkyoAVR:avr-livingroom:zone2#power" }
|
||||||
Switch avr1Z2_Mute "Mute [%s]" { channel="onkyo:onkyoAVR:avr1:zone2#mute" }
|
Switch avrLrZ2_Mute "Mute [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:zone2#mute" }
|
||||||
Number avr1Z2_Input "Input [%s]" <text> { channel="onkyo:onkyoAVR:avr1:zone2#input" }
|
Number avrLrZ2_Input "Input [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:zone2#input" }
|
||||||
Dimmer avr1Z2_Volume "Volume [%s]" <soundvolume> { channel="onkyo:onkyoAVR:avr1:zone2#volume" }
|
Dimmer avrLrZ2_Volume "Volume [%s]" <soundvolume> { channel="onkyo:onkyoAVR:avr-livingroom:zone2#volume" }
|
||||||
|
|
||||||
Player avr1Player_Control "Control" <text> { channel="onkyo:onkyoAVR:avr1:player#control" }
|
Player avrLrPlayer_Control "Control" <text> { channel="onkyo:onkyoAVR:avr-livingroom:player#control" }
|
||||||
String avr1Player_Title "Title [%s]" <text> { channel="onkyo:onkyoAVR:avr1:player#title" }
|
String avrLrPlayer_Title "Title [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:player#title" }
|
||||||
String avr1Player_Album "Album [%s]" <text> { channel="onkyo:onkyoAVR:avr1:player#album" }
|
String avrLrPlayer_Album "Album [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:player#album" }
|
||||||
String avr1Player_Artist "Artist [%s]" <parents_2_5> { channel="onkyo:onkyoAVR:avr1:player#artist" }
|
String avrLrPlayer_Artist "Artist [%s]" <parents_2_5> { channel="onkyo:onkyoAVR:avr-livingroom:player#artist" }
|
||||||
String avr1Player_CurrentPlayingTime "CurrentPlayingTime [%s]" <clock> { channel="onkyo:onkyoAVR:avr1:player#currentPlayingTime" }
|
String avrLrPlayer_CurrentPlayingTime "CurrentPlayingTime [%s]" <clock> { channel="onkyo:onkyoAVR:avr-livingroom:player#currentPlayingTime" }
|
||||||
Number avr1Player_Listenmode "Listenmode [%d]" <text> { channel="onkyo:onkyoAVR:avr1:player#listenmode" }
|
Number avrLrPlayer_Listenmode "Listenmode [%d]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:player#listenmode" }
|
||||||
String avr1Player_PlayURI "PlayURI [%s]" <text> { channel="onkyo:onkyoAVR:avr1:player#playuri" }
|
String avrLrPlayer_PlayURI "PlayURI [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:player#playuri" }
|
||||||
Image avr1Player_AlbumArt "AlbumArt [%s]" <text> { channel="onkyo:onkyoAVR:avr1:player#albumArt" }
|
Image avrLrPlayer_AlbumArt "AlbumArt [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:player#albumArt" }
|
||||||
String avr1Player_AlbumArtUrl "AlbumArtUrl [%s]" <text> { channel="onkyo:onkyoAVR:avr1:player#albumArtUrl" }
|
String avrLrPlayer_AlbumArtUrl "AlbumArtUrl [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:player#albumArtUrl" }
|
||||||
|
|
||||||
String avr1Net_Title "Title [%s]" <text> { channel="onkyo:onkyoAVR:avr1:netmenu#title" }
|
String avrLrNet_Title "Title [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#title" }
|
||||||
String avr1Net_Control "Control" <text> { channel="onkyo:onkyoAVR:avr1:netmenu#control" }
|
String avrLrNet_Control "Control" <text> { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#control" }
|
||||||
Number avr1Net_Selection "Selection [%d]" <text> { channel="onkyo:onkyoAVR:avr1:netmenu#selection" }
|
Number avrLrNet_Selection "Selection [%d]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#selection" }
|
||||||
String avr1Net_Item0 "Item0 [%s]" <text> { channel="onkyo:onkyoAVR:avr1:netmenu#item0" }
|
String avrLrNet_Item0 "Item0 [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item0" }
|
||||||
String avr1Net_Item1 "Item1 [%s]" <text> { channel="onkyo:onkyoAVR:avr1:netmenu#item1" }
|
String avrLrNet_Item1 "Item1 [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item1" }
|
||||||
String avr1Net_Item2 "Item2 [%s]" <text> { channel="onkyo:onkyoAVR:avr1:netmenu#item2" }
|
String avrLrNet_Item2 "Item2 [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item2" }
|
||||||
String avr1Net_Item3 "Item3 [%s]" <text> { channel="onkyo:onkyoAVR:avr1:netmenu#item3" }
|
String avrLrNet_Item3 "Item3 [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item3" }
|
||||||
String avr1Net_Item4 "Item4 [%s]" <text> { channel="onkyo:onkyoAVR:avr1:netmenu#item4" }
|
String avrLrNet_Item4 "Item4 [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item4" }
|
||||||
String avr1Net_Item5 "Item5 [%s]" <text> { channel="onkyo:onkyoAVR:avr1:netmenu#item5" }
|
String avrLrNet_Item5 "Item5 [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item5" }
|
||||||
String avr1Net_Item6 "Item6 [%s]" <text> { channel="onkyo:onkyoAVR:avr1:netmenu#item6" }
|
String avrLrNet_Item6 "Item6 [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item6" }
|
||||||
String avr1Net_Item7 "Item7 [%s]" <text> { channel="onkyo:onkyoAVR:avr1:netmenu#item7" }
|
String avrLrNet_Item7 "Item7 [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item7" }
|
||||||
String avr1Net_Item8 "Item8 [%s]" <text> { channel="onkyo:onkyoAVR:avr1:netmenu#item8" }
|
String avrLrNet_Item8 "Item8 [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item8" }
|
||||||
String avr1Net_Item9 "Item9 [%s]" <text> { channel="onkyo:onkyoAVR:avr1:netmenu#item9" }
|
String avrLrNet_Item9 "Item9 [%s]" <text> { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item9" }
|
||||||
```
|
```
|
||||||
|
|
||||||
## Sitemap Configuration
|
## Sitemap Configuration
|
||||||
|
|
||||||
demo.sitemap
|
demo.sitemap
|
||||||
|
|
||||||
```
|
```perl
|
||||||
sitemap demo label="Onkyo AVR"
|
sitemap demo label="Onkyo AVR"
|
||||||
{
|
{
|
||||||
Frame label="Zone1" {
|
Frame label="Zone1" {
|
||||||
Switch item=avr1Z1_Power
|
Switch item=avrLrZ1_Power
|
||||||
Switch item=avr1Z1_Mute
|
Switch item=avrLrZ1_Mute
|
||||||
Selection item=avr1Z1_Input mappings=[ 0='DVR/VCR', 1='SATELLITE/CABLE', 2='GAME', 3='AUX', 4='GAME', 5='PC', 16='BLURAY/DVD', 32='TAPE1', 33='TAPE2', 34='PHONO', 35='CD', 36='FM', 37='AM', 38='TUNER', 39='MUSICSERVER', 40='INTE
|
Selection item=avrLrZ1_Input mappings=[ 0='DVR/VCR', 1='SATELLITE/CABLE', 2='GAME', 3='AUX', 4='GAME', 5='PC', 16='BLURAY/DVD', 32='TAPE1', 33='TAPE2', 34='PHONO', 35='CD', 36='FM', 37='AM', 38='TUNER', 39='MUSICSERVER', 40='INTERNETRADIO', 41='USB', 42='USB_BACK', 43='NETWORK', 45='AIRPLAY', 48='MULTICH', 50='SIRIUS' ]
|
||||||
RNETRADIO', 41='USB', 42='USB_BACK', 43='NETWORK', 45='AIRPLAY', 48='MULTICH', 50='SIRIUS' ]
|
Slider item=avrLrZ1_Volume
|
||||||
Slider item=avr1Z1_Volume
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Frame label="Zone 2" {
|
Frame label="Zone 2" {
|
||||||
Switch item=avr1Z2_Power
|
Switch item=avrLrZ2_Power
|
||||||
Switch item=avr1Z2_Mute
|
Switch item=avrLrZ2_Mute
|
||||||
Selection item=avr1Z2_Input mappings=[ 0='DVR/VCR', 1='SATELLITE/CABLE', 2='GAME', 3='AUX', 4='GAME', 5='PC', 16='BLURAY/DVD', 32='TAPE1', 33='TAPE2', 34='PHONO', 35='CD', 36='FM', 37='AM', 38='TUNER', 39='MUSICSERVER', 40='INTE
|
Selection item=avrLrZ2_Input mappings=[ 0='DVR/VCR', 1='SATELLITE/CABLE', 2='GAME', 3='AUX', 4='GAME', 5='PC', 16='BLURAY/DVD', 32='TAPE1', 33='TAPE2', 34='PHONO', 35='CD', 36='FM', 37='AM', 38='TUNER', 39='MUSICSERVER', 40='INTERNETRADIO', 41='USB', 42='USB_BACK', 43='NETWORK', 45='AIRPLAY', 48='MULTICH', 50='SIRIUS' ]
|
||||||
RNETRADIO', 41='USB', 42='USB_BACK', 43='NETWORK', 45='AIRPLAY', 48='MULTICH', 50='SIRIUS' ]
|
Slider item=avrLrZ2_Volume
|
||||||
Slider item=avr1Z2_Volume
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Frame label="Player" {
|
Frame label="Player" {
|
||||||
Default item=avr1Player_Control
|
Default item=avrLrPlayer_Control
|
||||||
Text item=avr1Player_Title
|
Text item=avrLrPlayer_Title
|
||||||
Text item=avr1Player_Album
|
Text item=avrLrPlayer_Album
|
||||||
Text item=avr1Player_Artist
|
Text item=avrLrPlayer_Artist
|
||||||
Text item=avr1Player_CurrentPlayingTime
|
Text item=avrLrPlayer_CurrentPlayingTime
|
||||||
Selection item=avr1Player_Listenmode mappings=[0=Stereo, 1=Direct, 2=Surround, 15=Mono, 31="Whole House", 66="THX Cinema"]
|
Selection item=avrLrPlayer_Listenmode mappings=[0=Stereo, 1=Direct, 2=Surround, 15=Mono, 31="Whole House", 66="THX Cinema"]
|
||||||
}
|
}
|
||||||
Frame label="NetMenu" {
|
Frame label="NetMenu" {
|
||||||
Text item=avr1Net_Title
|
Text item=avrLrNet_Title
|
||||||
Selection item=avr1Net_Control mappings=[ Up='Up', Down='Down', Select='Select', Back='Back', PageUp='PageUp', PageDown='PageDow', Select0='Select0', Select1='Select1', Select2='Select2', Select3='Select3', Select4='Select4', S
|
Selection item=avrLrNet_Control mappings=[ Up='Up', Down='Down', Select='Select', Back='Back', PageUp='PageUp', PageDown='PageDow', Select0='Select0', Select1='Select1', Select2='Select2', Select3='Select3', Select4='Select4', Select5='Select5', Select6='Select6', Select7='Select7', Select8='Select8', Select9='Select9' ]
|
||||||
elect5='Select5', Select6='Select6', Select7='Select7', Select8='Select8', Select9='Select9' ]
|
Selection item=avrLrNet_Selection mappings=[ 0='Item0', 1='Item1', 2='Item2', 3='Item3', 4='Item4', 5='Item5', 6='Item6', 7='Item7', 8='Item8', 9='Item9' ]
|
||||||
Selection item=avr1Net_Selection mappings=[ 0='Item0', 1='Item1', 2='Item2', 3='Item3', 4='Item4', 5='Item5', 6='Item6', 7='Item7', 8='Item8', 9='Item9' ]
|
Text item=avrLrNet_Item0
|
||||||
Text item=avr1Net_Item0
|
Text item=avrLrNet_Item1
|
||||||
Text item=avr1Net_Item1
|
Text item=avrLrNet_Item2
|
||||||
Text item=avr1Net_Item2
|
Text item=avrLrNet_Item3
|
||||||
Text item=avr1Net_Item3
|
Text item=avrLrNet_Item4
|
||||||
Text item=avr1Net_Item4
|
Text item=avrLrNet_Item5
|
||||||
Text item=avr1Net_Item5
|
Text item=avrLrNet_Item6
|
||||||
Text item=avr1Net_Item6
|
Text item=avrLrNet_Item7
|
||||||
Text item=avr1Net_Item7
|
Text item=avrLrNet_Item8
|
||||||
Text item=avr1Net_Item8
|
Text item=avrLrNet_Item9
|
||||||
Text item=avr1Net_Item9
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
## Audio Support
|
## Audio Support
|
||||||
|
|
||||||
+ All supported Onkyo AVRs are registered as an audio sink in the framework.
|
All supported Onkyo AVRs are registered as an audio sink in the framework.
|
||||||
+ Audio streams are sent to the `playuri` channel.
|
Audio streams are sent to the `playuri` channel.
|
|
@ -3,7 +3,7 @@ id: silvercrestwifisocket
|
||||||
label: Silvercrest Wifi Plug
|
label: Silvercrest Wifi Plug
|
||||||
title: Silvercrest Wifi Plug - Bindings
|
title: Silvercrest Wifi Plug - Bindings
|
||||||
type: binding
|
type: binding
|
||||||
description: "This binding integrates the Silvercrest Wifi Socket SWS-A1 sold by Lidl."
|
description: "This binding integrates the Silvercrest Wifi Socket SWS-A1 sold by Lidl and the EasyHome Wifi Socket DIS-124 sold by Aldi."
|
||||||
since: 2x
|
since: 2x
|
||||||
logo: images/addons/silvercrestwifisocket.png
|
logo: images/addons/silvercrestwifisocket.png
|
||||||
install: auto
|
install: auto
|
||||||
|
@ -15,11 +15,12 @@ install: auto
|
||||||
|
|
||||||
# Silvercrest Wifi Plug Binding
|
# Silvercrest Wifi Plug Binding
|
||||||
|
|
||||||
This binding integrates the Silvercrest Wifi Socket SWS-A1 sold by Lidl.
|
This binding integrates the Silvercrest Wifi Socket SWS-A1 sold by Lidl and the EasyHome Wifi Socket DIS-124 sold by Aldi.
|
||||||
|
|
||||||
## Supported Things
|
## Supported Things
|
||||||
|
|
||||||
- Silvercrest Wifi Socket SWS-A1 - [(Owner Manual)](http://www.lidl-service.com/static/118127777/103043_FI.pdf) -- Tested with firmware version: 1.41, 1.60, 1.70
|
- Silvercrest Wifi Socket SWS-A1 - [(Owner Manual)](http://www.lidl-service.com/static/118127777/103043_FI.pdf) -- Tested with firmware version: 1.41, 1.60, 1.70
|
||||||
|
- EasyHome Wifi Socket DIS-124 (https://www.aldi-sued.de/de/infos/aldi-sued-a-bis-z/s/serviceportal/ergebnisliste/sis/si/wifi-steckdose/)
|
||||||
|
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
@ -32,21 +33,22 @@ The binding does not require any special configuration. The Wifi Socket should b
|
||||||
|
|
||||||
## Thing Configuration
|
## Thing Configuration
|
||||||
|
|
||||||
To configure a Wifi Socket manually only the mac address is required. You can check the Wifi Socket mac address in your router or using some mobile app.
|
To configure a Wifi Socket manually the mac address and the vendor is required. You can check the Wifi Socket mac address in your router or using some mobile app. Supported vendors are either Silvercrest (Lidl) or EasyHome (Aldi).
|
||||||
|
|
||||||
Wifi Socket thing parameters:
|
Wifi Socket thing parameters:
|
||||||
|
|
||||||
| Parameter ID | Parameter Type | Mandatory | Description | Default |
|
| Parameter ID | Parameter Type | Mandatory | Description | Default |
|
||||||
|--------------|----------------|------|------------------|-----|
|
|------------------|------------------|-------------|---------------------------------------------------------------------------------|-------------------|
|
||||||
| macAddress | text | true | The socket MAC address | |
|
| macAddress | text | true | The socket MAC address | |
|
||||||
| hostAddress | text | false | The socket Host address. The binding is capable to discover the host address. | |
|
| hostAddress | text | false | The socket Host address. The binding is capable to discover the host address. | |
|
||||||
| updateInterval | integer | false | Update time interval in seconds to request the status of the socket. | 60 |
|
| updateInterval | integer | false | Update time interval in seconds to request the status of the socket. | 60 |
|
||||||
|
| vendor | option | true | The vendor of the system ("Aldi_EasyHome" or "Lidl_Silvercrest") | Lidl_Silvercrest |
|
||||||
|
|
||||||
|
|
||||||
E.g.
|
E.g.
|
||||||
|
|
||||||
```
|
```
|
||||||
Thing silvercrestwifisocket:wifiSocket:lamp [ macAddress="ACCF23343C50" ]
|
Thing silvercrestwifisocket:wifiSocket:lamp [ macAddress="ACCF23343C50", vendor="Aldi_EasyHome" ]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
|
@ -29,6 +29,8 @@ While using the mode Opening-Times the channel "station_open" will NOT show "clo
|
||||||
|
|
||||||
In order to use this binding one needs to prepare:
|
In order to use this binding one needs to prepare:
|
||||||
|
|
||||||
|
-minimal Java Varsion is 1.8.0_101-b13 (otherwise the https request will not produce a usable return)
|
||||||
|
|
||||||
-a personal API-Key
|
-a personal API-Key
|
||||||
|
|
||||||
Demand free Tankerkönig API key from: https://creativecommons.tankerkoenig.de/ Select the tab "API-Key".
|
Demand free Tankerkönig API key from: https://creativecommons.tankerkoenig.de/ Select the tab "API-Key".
|
||||||
|
|
|
@ -90,13 +90,13 @@ Depending on your Tellstick model different API methods is available:
|
||||||
#### Telldus Core Bridge
|
#### Telldus Core Bridge
|
||||||
|
|
||||||
```
|
```
|
||||||
Bridge tellstick:telldus-core:1 "Tellstick Duo" [resendInterval="200"]
|
Bridge tellstick:telldus-core:1 "Tellstick Duo" [resendInterval=200]
|
||||||
```
|
```
|
||||||
|
|
||||||
Optional:
|
Optional:
|
||||||
|
|
||||||
- **libraryPath:** The path to tellduscore.dll/so,
|
- **libraryPath:** The path to tellduscore.dll/so,
|
||||||
- **resendInterval:** The interval between each transmission of command, default 100ms.
|
- **resendInterval:** The interval between each transmission of command in ms, default 100ms.
|
||||||
|
|
||||||
#### Telldus Live Bridge
|
#### Telldus Live Bridge
|
||||||
|
|
||||||
|
@ -116,7 +116,7 @@ Required:
|
||||||
|
|
||||||
Optional:
|
Optional:
|
||||||
|
|
||||||
- **refreshInterval:** How often we should contact *Telldus Live* to check for updates
|
- **refreshInterval:** How often we should contact *Telldus Live* to check for updates (in ms)
|
||||||
|
|
||||||
## Channels
|
## Channels
|
||||||
|
|
||||||
|
@ -173,8 +173,8 @@ end
|
||||||
### tellstick.things
|
### tellstick.things
|
||||||
|
|
||||||
```
|
```
|
||||||
Bridge tellstick:telldus-core:1 "Tellstick Duo" [resendInterval="200"]
|
Bridge tellstick:telldus-core:1 "Tellstick Duo" [resendInterval=200]
|
||||||
Bridge tellstick:telldus-live:2 "Tellstick ZWave" [refresh="10000", publicKey="XXXXXXXX", privateKey="YYYYYY", token= "ZZZZZZZZ", tokenSecret="UUUUUUUUUU"]
|
Bridge tellstick:telldus-live:2 "Tellstick ZWave" [refreshInterval=10000, publicKey="XXXXXXXX", privateKey="YYYYYY", token= "ZZZZZZZZ", tokenSecret="UUUUUUUUUU"]
|
||||||
```
|
```
|
||||||
|
|
||||||
Devices are preferable discovered automatically.
|
Devices are preferable discovered automatically.
|
||||||
|
@ -185,8 +185,8 @@ Add them either with karaf: `inbox approve <thingId>` or in paperUI. The bridges
|
||||||
List available devices in karaf with `things` or get the channels in paperUI.
|
List available devices in karaf with `things` or get the channels in paperUI.
|
||||||
|
|
||||||
```
|
```
|
||||||
Slider living_room_ceiling "Living room ceiling" <light> {channel="tellstick:dimmer:1:3:state"}
|
Slider living_room_ceiling "Living room ceiling" <light> {channel="tellstick:dimmer:1:3:state"}
|
||||||
Switch living_room_table "Living room table" <light> {channel="tellstick:switch:1:3:state"}
|
Switch living_room_table "Living room table" <light> {channel="tellstick:switch:1:3:state"}
|
||||||
Number inside_temperature "Inside temperature [%.1f °C]" <temperature> {channel="tellstick:sensor:1:47_temperaturehumidity_fineoffset:temperature"}
|
Number inside_temperature "Inside temperature [%.1f °C]" <temperature> {channel="tellstick:sensor:1:47_temperaturehumidity_fineoffset:temperature"}
|
||||||
Number inside_humidity "Inside humidity [%.1f RH]" <humidity> {channel="tellstick:sensor:1:47_temperaturehumidity_fineoffset:humidity"}
|
Number inside_humidity "Inside humidity [%.1f RH]" <humidity> {channel="tellstick:sensor:1:47_temperaturehumidity_fineoffset:humidity"}
|
||||||
```
|
```
|
||||||
|
|
|
@ -184,6 +184,7 @@ A configuration line for a TinkerForge Device looks like this in services/tinker
|
||||||
```
|
```
|
||||||
|
|
||||||
The *symbolic name* string can be used in the items configuration as an alternative for the uid and subid values.
|
The *symbolic name* string can be used in the items configuration as an alternative for the uid and subid values.
|
||||||
|
If you have more than one device of the same type you have to choose a unique *symbolic name* for every device.
|
||||||
|
|
||||||
The following table lists the general available properties.
|
The following table lists the general available properties.
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,145 @@
|
||||||
|
---
|
||||||
|
id: tplinksmarthome
|
||||||
|
label: TPLinkSmartHome
|
||||||
|
title: TPLinkSmartHome - Bindings
|
||||||
|
type: binding
|
||||||
|
description: "This binding adds support to control TP-Link Smart Home Devices from your local openHAB system."
|
||||||
|
since: 2x
|
||||||
|
install: auto
|
||||||
|
---
|
||||||
|
|
||||||
|
<!-- Attention authors: Do not edit directly. Please add your changes to the appropriate source repository -->
|
||||||
|
|
||||||
|
{% include base.html %}
|
||||||
|
|
||||||
|
# TPLinkSmartHome Binding
|
||||||
|
|
||||||
|
This binding adds support to control TP-Link Smart Home Devices from your local openHAB system.
|
||||||
|
|
||||||
|
## Supported Things
|
||||||
|
|
||||||
|
The following TP-Link Smart Devices are supported:
|
||||||
|
|
||||||
|
### LB100 Smart Wi-Fi LED Bulb with Dimmable Light
|
||||||
|
|
||||||
|
* Switch On/Off
|
||||||
|
* Adjust the brightness
|
||||||
|
* Wi-Fi signal strength (rssi)
|
||||||
|
|
||||||
|
Switching and Brightness is done using the `brightness` channel.
|
||||||
|
|
||||||
|
### LB110 Smart Wi-Fi LED Bulb with Dimmable Light
|
||||||
|
|
||||||
|
* Switch On/Off
|
||||||
|
* Adjust the brightness
|
||||||
|
* Wi-Fi signal strength (rssi)
|
||||||
|
|
||||||
|
Switching and Brightness is done using the `brightness` channel.
|
||||||
|
|
||||||
|
### LB120 Smart Wi-Fi LED Bulb with Tunable White Light
|
||||||
|
|
||||||
|
* Switch On/Off
|
||||||
|
* Adjust light appearance from soft white (2700k) to daylight (6500k)
|
||||||
|
* Adjust the brightness
|
||||||
|
* Wi-Fi signal strength (rssi)
|
||||||
|
|
||||||
|
Switching and Brightness is done using the `brightness` channel.
|
||||||
|
|
||||||
|
### LB130 Smart Wi-Fi LED Bulb with Color Changing Hue
|
||||||
|
|
||||||
|
* Switch On/Off
|
||||||
|
* Fine-tune colors
|
||||||
|
* Adjust light appearance from soft white (2500k) to daylight (9000k)
|
||||||
|
* Adjust the brightness
|
||||||
|
* Wi-Fi signal strength (rssi)
|
||||||
|
|
||||||
|
Switching, Brightness and Color is done using the `color` channel.
|
||||||
|
|
||||||
|
### HS105 and HS100 Smart Wi-Fi Plug
|
||||||
|
|
||||||
|
* Switch On/Off
|
||||||
|
* Wi-Fi signal strength (rssi)
|
||||||
|
|
||||||
|
### HS110 Smart Wi-Fi Plug
|
||||||
|
|
||||||
|
* Switch On/Off
|
||||||
|
* Energy readings
|
||||||
|
* Wi-Fi signal strength (rssi)
|
||||||
|
|
||||||
|
### HS200 Smart Wi-Fi Switch
|
||||||
|
|
||||||
|
* Switch On/Off
|
||||||
|
* Wi-Fi signal strength (rssi)
|
||||||
|
|
||||||
|
The default refresh is set to 1 second. So it polls the switch for status changes. If you don't use the switch manually
|
||||||
|
often, you can set it to a higher refresh. The refresh is only relevant to detect manual using the switch. Switching
|
||||||
|
via openHAB activates the switch directly.
|
||||||
|
|
||||||
|
### RE270K AC750 Wi-Fi Range Extender with Smart Plug
|
||||||
|
|
||||||
|
* Switch On/Off
|
||||||
|
* Wi-Fi signal strength (rssi)
|
||||||
|
|
||||||
|
### RE370K AC1200 Wi-Fi Range Extender with Smart Plug
|
||||||
|
|
||||||
|
* Switch On/Off
|
||||||
|
* Wi-Fi signal strength (rssi)
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
|
||||||
|
Before using Smart Plugs with openHAB the devices must be connected to the Wi-Fi network. This can be done using the
|
||||||
|
TP-Link provided mobile app Kasa.
|
||||||
|
|
||||||
|
## Discovery
|
||||||
|
|
||||||
|
Devices can be auto discovered in the same local network as the openHAB application. It's possible to connect to
|
||||||
|
devices in a different network, but these must be added manually.
|
||||||
|
|
||||||
|
## Thing Configuration
|
||||||
|
|
||||||
|
The thing id is the product type in lower case. For example `HS100` has id `hs100`.
|
||||||
|
|
||||||
|
The thing has a few configuration parameters:
|
||||||
|
|
||||||
|
| Parameter | Description |
|
||||||
|
|--------------------|-----------------------------------------------------------------------------|
|
||||||
|
| ipAddress | IP Address of the device. Mandatory. |
|
||||||
|
| refresh | Refresh interval in seconds. Optional, the default value is 30 seconds. |
|
||||||
|
| transitionPeriod | Duration of state changes in milliseconds, only for light bulbs, default 0. |
|
||||||
|
|
||||||
|
## Channels
|
||||||
|
|
||||||
|
All devices support some of the following channels:
|
||||||
|
|
||||||
|
| Channel Type ID | Item Type | Description | Thing types supporting this channel |
|
||||||
|
|------------------|-----------|------------------------------------------------|-----------------------------------------------------------------|
|
||||||
|
| switch | Switch | Switch the Smart Home device on or off. | HS100, HS105, HS110, RE270K, RE370K |
|
||||||
|
| brightness | Dimmer | Set the brightness of Smart Home light. | LB100, LB110, LB120 |
|
||||||
|
| colorTemperature | Dimmer | Set the color temperature of Smart Home light. | LB120, LB130 |
|
||||||
|
| color | Color | Set the color of the Smart Home light. | LB130 |
|
||||||
|
| power | Number | Actual energy usage in Watt. | HS110 |
|
||||||
|
| eneryUsage | Number | Energy Usage in kWh. | HS110 |
|
||||||
|
| current | Number | Actual current usage in Ampere. | HS110 |
|
||||||
|
| voltage | Number | Actual voltage usage in Volt. | HS110 |
|
||||||
|
| rssi | Number | Wi-Fi signal strength indicator in dBm. | HS100, HS105, HS110, LB100, LB110, LB120, LB130, RE270K, RE370K |
|
||||||
|
|
||||||
|
## Full Example
|
||||||
|
|
||||||
|
### tplinksmarthome.things:
|
||||||
|
|
||||||
|
```
|
||||||
|
tplinksmarthome:hs100:home "Living Room" [ ipAddress="192.168.0.13", refresh=60 ]
|
||||||
|
tplinksmarthome:lb110:home "Living Room Bulb 1" [ ipAddress="192.168.0.14", refresh=60, transitionPeriod=2500 ]
|
||||||
|
tplinksmarthome:lb130:home "Living Room Bulb 2" [ ipAddress="192.168.0.15", refresh=60, transitionPeriod=2500 ]
|
||||||
|
```
|
||||||
|
|
||||||
|
### tplinksmarthome.items:
|
||||||
|
|
||||||
|
```
|
||||||
|
Switch TP_L_Switch "Switch" { channel="tplinksmarthome:hs100:home:switch" }
|
||||||
|
Number TP_L_RSSI "Signal [%d] dB" <signal> { channel="tplinksmarthome:hs100:home:rssi" }
|
||||||
|
Dimmer TP_LB_Bulb "Dimmer [%d %%]" <slider> { channel="tplinksmarthome:lb110:home:brightness" }
|
||||||
|
Dimmer TP_LB_ColorT "Color Temperature [%d] K" <slider> { channel="tplinksmarthome:lb130:home:color" }
|
||||||
|
Color TP_LB_Color "Color" <slider> { channel="tplinksmarthome:lb130:home:color" }
|
||||||
|
Switch TP_LB_ColorS "Switch" { channel="tplinksmarthome:lb130:home:color" }
|
||||||
|
```
|
|
@ -55,12 +55,17 @@ The thing type is ```coordinator_telegesis```.
|
||||||
|
|
||||||
The following devices have been tested with the binding
|
The following devices have been tested with the binding
|
||||||
|
|
||||||
| Device | Description |
|
| Device | Description |
|
||||||
|------------------|----------------|
|
|----------------------------|--------------------------------|
|
||||||
| Hue Bulbs | Color LED Bulb |
|
| Busch-Jaegar 6711 | Relay Insert |
|
||||||
| SmartThings Plug | Metered Plug |
|
| Hue Bulbs | Color LED Bulb |
|
||||||
| Tradfri Bulbs | |
|
| Hue Motion Sensor | Motion and Luminance sensor |
|
||||||
| Osram Bulbs | |
|
| Osram Bulbs | |
|
||||||
|
| SmartThings Plug | Metered Plug |
|
||||||
|
| SmartThings Motion Sensor | Motion and Temperature sensor |
|
||||||
|
| SmartThings Contact Sensor | Contact and Temperature sensor |
|
||||||
|
| Tradfri Bulbs | |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
@ -88,8 +93,12 @@ The following channels are supported -:
|
||||||
| switch_onoff | ```ON_OFF``` (0x0006) | Switch |
|
| switch_onoff | ```ON_OFF``` (0x0006) | Switch |
|
||||||
| color_color | ```COLOR_CONTROL``` (0x0300) | Color | |
|
| color_color | ```COLOR_CONTROL``` (0x0300) | Color | |
|
||||||
| color_temperature | ```COLOR_CONTROL``` (0x0300) | Dimmer | |
|
| color_temperature | ```COLOR_CONTROL``` (0x0300) | Dimmer | |
|
||||||
| sensor_occupancy | ```OCCUPANCY_SENSING``` (0x0406) | Switch |
|
| ias_contactportal1 | ```IAS_ZONE``` (0x0500) | Switch | |
|
||||||
| sensor_temperature | ```TEMPERATURE_MEASUREMENT``` (0x0402) | Number | |
|
| ias_motionintrusion | ```IAS_ZONE``` (0x0500) | Switch | |
|
||||||
|
| ias_motionpresence | ```IAS_ZONE``` (0x0500) | Switch | |
|
||||||
|
| measurement_illuminance | ```ILLUMINANCE_MEASUREMENT``` (0x0400) | Number | |
|
||||||
|
| measurement_temperature | ```TEMPERATURE_MEASUREMENT``` (0x0402) | Number | |
|
||||||
|
| sensor_occupancy | ```OCCUPANCY_SENSING``` (0x0406) | Switch | |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ This binding supports the following thing types
|
||||||
The binding consists of a Bridge (the ZoneMinder Server it self), and a number of Things, which relates to the induvidual monitors in ZoneMinder. ZoneMinder things can be configured either through the online configuration utility via discovery, or manually through the 'zoneminder.things' configuration file. The Bridge will not be autodiscovered, this behaviour is by design. That is because the ZoneMinder API can be configured to communicate on custom ports, you can even change the url from the default /zm/ to something userdefined. That makes it meaningless to scan for a ZoneMinder Server. The Bridge must therefore be added manually, this can be done from PaperUI. After adding the Bridge it will go ONLINE, and after a short while and the discovery process for monitors will start. When a new monitor is discovered it will appear in the Inbox.
|
The binding consists of a Bridge (the ZoneMinder Server it self), and a number of Things, which relates to the induvidual monitors in ZoneMinder. ZoneMinder things can be configured either through the online configuration utility via discovery, or manually through the 'zoneminder.things' configuration file. The Bridge will not be autodiscovered, this behaviour is by design. That is because the ZoneMinder API can be configured to communicate on custom ports, you can even change the url from the default /zm/ to something userdefined. That makes it meaningless to scan for a ZoneMinder Server. The Bridge must therefore be added manually, this can be done from PaperUI. After adding the Bridge it will go ONLINE, and after a short while and the discovery process for monitors will start. When a new monitor is discovered it will appear in the Inbox.
|
||||||
|
|
||||||
|
|
||||||
### Bridge ###
|
### Bridge
|
||||||
|
|
||||||
Channel | Type | Description
|
Channel | Type | Description
|
||||||
-------------- | --------- | ----------------------------------
|
-------------- | --------- | ----------------------------------
|
||||||
|
@ -40,7 +40,7 @@ online | Switch | Parameter indicating if the server is online
|
||||||
CPU load | Text | Current CPU Load of server
|
CPU load | Text | Current CPU Load of server
|
||||||
Disk Usage | text | Current Disk Usage on server
|
Disk Usage | text | Current Disk Usage on server
|
||||||
|
|
||||||
### Thing ###
|
### Thing
|
||||||
|
|
||||||
Channel | Type | Description
|
Channel | Type | Description
|
||||||
-------------- | --------- | ----------------------------------
|
-------------- | --------- | ----------------------------------
|
||||||
|
@ -56,9 +56,9 @@ capture-daemon | Switch | Run state of ZMC Daemon
|
||||||
analysis-daemon| Switch | Run state of ZMA Daemon
|
analysis-daemon| Switch | Run state of ZMA Daemon
|
||||||
frame-daemon | Switch | Run state of ZMF Daemon
|
frame-daemon | Switch | Run state of ZMF Daemon
|
||||||
|
|
||||||
##Manual configuration##
|
## Manual configuration
|
||||||
|
|
||||||
###Things configuration###
|
### Things configuration
|
||||||
|
|
||||||
```
|
```
|
||||||
Bridge zoneminder:server:ZoneMinderSample [ hostname="192.168.1.55", user="<USERNAME>", password="<PASSWORD>", telnet_port=6802, refresh_interval_disk_usage=1 ]
|
Bridge zoneminder:server:ZoneMinderSample [ hostname="192.168.1.55", user="<USERNAME>", password="<PASSWORD>", telnet_port=6802, refresh_interval_disk_usage=1 ]
|
||||||
|
@ -68,7 +68,7 @@ Bridge zoneminder:server:ZoneMinderSample [ hostname="192.168.1.55", user="<USER
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
###Items configuration###
|
### Items configuration
|
||||||
|
|
||||||
```
|
```
|
||||||
/* *****************************************
|
/* *****************************************
|
||||||
|
@ -99,7 +99,7 @@ Switch zmMonitor1_FrameState "Frame Daemon [%s]" <switch> {channel="zoneminde
|
||||||
Switch zmMonitor1_Mode "Monitor active [%s]"
|
Switch zmMonitor1_Mode "Monitor active [%s]"
|
||||||
```
|
```
|
||||||
|
|
||||||
###Sample Rule###
|
### Sample Rule
|
||||||
|
|
||||||
```
|
```
|
||||||
rule "Monitor1 Alarm State"
|
rule "Monitor1 Alarm State"
|
||||||
|
@ -143,7 +143,7 @@ end
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
###Sitemap configuration###
|
### Sitemap configuration
|
||||||
|
|
||||||
```
|
```
|
||||||
sitemap zoneminder label="Zoneminder"
|
sitemap zoneminder label="Zoneminder"
|
||||||
|
@ -179,7 +179,7 @@ sitemap zoneminder label="Zoneminder"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
##Troubleshooting##
|
## Troubleshooting
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr><td><b>Problem</b></td><td><b>Solution</b></td></tr>
|
<tr><td><b>Problem</b></td><td><b>Solution</b></td></tr>
|
||||||
|
|
|
@ -61,7 +61,7 @@ Restart mycroft for the changes to take effect.
|
||||||
### openHAB Item Configuration
|
### openHAB Item Configuration
|
||||||
|
|
||||||
Items are exposed to openHAB skill for Mycroft through the use of tags.
|
Items are exposed to openHAB skill for Mycroft through the use of tags.
|
||||||
See the [Hue Emulation](http://docs.openhab.org/addons/io/hueemulation/readme.html) and [HomeKit Add-on](http://docs.openhab.org/addons/io/homekit/readme.html) documentation for details about tagging and available tags.
|
See the [Hue Emulation](http://docs.openhab.org/addons/ios/hueemulation/readme.html) and [HomeKit Add-on](http://docs.openhab.org/addons/ios/homekit/readme.html) documentation for details about tagging and available tags.
|
||||||
|
|
||||||
* **Items via .items - File**
|
* **Items via .items - File**
|
||||||
|
|
||||||
|
@ -110,34 +110,33 @@ Switch Kitchen_Light_A2 "Kitchen LEDs" ["Lighting"] {channel=
|
||||||
|
|
||||||
Each item tag supports different command, here is the summary:
|
Each item tag supports different command, here is the summary:
|
||||||
|
|
||||||
|
| Tag | Key word | Commands |
|
||||||
| Tag | Key word | Commands |
|
|------------------------|-------------|---------------------|
|
||||||
|----------------------|---------------|-----------------------|
|
| `Switchable` | turn | on, off |
|
||||||
| Switchable | turn | on, off |
|
| | switch | on, off |
|
||||||
| | switch | on, off |
|
| | put | on, off |
|
||||||
| | put | on, off |
|
| | what's | status |
|
||||||
| | what's | status |
|
| | | |
|
||||||
| | | |
|
| `Lighting` | turn | on, off |
|
||||||
| Lighting | turn | on, off |
|
| | switch | on, off |
|
||||||
| | switch | on, off |
|
| | put | on, off |
|
||||||
| | put | on, off |
|
| | dim | |
|
||||||
| | dim | |
|
| | dim by | value in percentage |
|
||||||
| | dim by | value in percentage |
|
| | brighten | |
|
||||||
| | brighten | |
|
| | brighten by | value in percentage |
|
||||||
| | brighten by | value in percentage |
|
| | | |
|
||||||
| | | |
|
| `Thermostat` | adjust to | values in degrees |
|
||||||
| Thermostat | adjust to | values in degrees |
|
| | regulate to | values in degrees |
|
||||||
| | regulate to | values in degrees |
|
| | tune to | values in degrees |
|
||||||
| | tune to | values in degrees |
|
| | decrease by | values in degrees |
|
||||||
| | decrease by | values in degrees |
|
| | increase by | values in degrees |
|
||||||
| | increase by | values in degrees |
|
| | what's | adjusted to |
|
||||||
| | what's | adjusted to |
|
| | what's | regulated to |
|
||||||
| | what's | regulated to |
|
| | what's | tuned to |
|
||||||
| | what's | tuned to |
|
| | | |
|
||||||
| | | |
|
| `CurrentHumidity` | what's | humidity |
|
||||||
| CurrentHumidity | what's | humidity |
|
| | | |
|
||||||
| | | |
|
| `CurrentTemperature` | what's | temperature |
|
||||||
| CurrentTemperature | what's | temperature |
|
|
||||||
|
|
||||||
With references to the above item definitions, here are an examples of working commands:
|
With references to the above item definitions, here are an examples of working commands:
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ Test classes do not have to be annotated.
|
||||||
## B. OSGi Bundles
|
## B. OSGi Bundles
|
||||||
|
|
||||||
1. Every bundle must contain a Maven pom.xml with a version and artifact name that is in sync with the manifest entry. The pom.xml must reference the correct parent pom (which is usually in the parent folder).
|
1. Every bundle must contain a Maven pom.xml with a version and artifact name that is in sync with the manifest entry. The pom.xml must reference the correct parent pom (which is usually in the parent folder).
|
||||||
1. Every bundle must contain an [about.html](https://eclipse.org/legal/epl/about.php) file, providing license information.
|
1. Every bundle must contain a [NOTICE](https://www.eclipse.org/projects/handbook/#legaldoc) file, providing meta information about the bundle and license information about 3rd party content.
|
||||||
1. Every bundle must contain a build.properties file, which lists all resources that should end up in the binary under ```bin.includes```.
|
1. Every bundle must contain a build.properties file, which lists all resources that should end up in the binary under ```bin.includes```.
|
||||||
1. The manifest must not contain any "Require-Bundle" entries (except for test fragment bundles, see below). Instead, "Import-Package" must be used.
|
1. The manifest must not contain any "Require-Bundle" entries (except for test fragment bundles, see below). Instead, "Import-Package" must be used.
|
||||||
1. The manifest must not export any internal package.
|
1. The manifest must not export any internal package.
|
||||||
|
@ -50,6 +50,7 @@ Test classes do not have to be annotated.
|
||||||
1. The manifest must include all services in the Service-Component entry. A good approach is to put OSGI-INF/*.xml in there.
|
1. The manifest must include all services in the Service-Component entry. A good approach is to put OSGI-INF/*.xml in there.
|
||||||
1. Every exported package of a bundle must be imported by the bundle itself again.
|
1. Every exported package of a bundle must be imported by the bundle itself again.
|
||||||
1. Test fragments may have the bundles `org.junit`, `org.hamcrest` and `org.mockito` in the "Require-Bundle" section. This is the only exception to not having "Require-Bundle" at all.
|
1. Test fragments may have the bundles `org.junit`, `org.hamcrest` and `org.mockito` in the "Require-Bundle" section. This is the only exception to not having "Require-Bundle" at all.
|
||||||
|
1. Any 3rd party content has to be added thoughtfully and version/license information has to be given in the NOTICE file.
|
||||||
|
|
||||||
## C. Language Levels and Libraries
|
## C. Language Levels and Libraries
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ The following features are provided by the openHABian images out of the box:
|
||||||
- openHAB Log Viewer (based on [frontail](https://github.com/mthenw/frontail))
|
- openHAB Log Viewer (based on [frontail](https://github.com/mthenw/frontail))
|
||||||
- Samba file sharing with [pre-configured to use shares](http://docs.openhab.org/installation/linux.html#mounting-locally)
|
- Samba file sharing with [pre-configured to use shares](http://docs.openhab.org/installation/linux.html#mounting-locally)
|
||||||
- Useful Linux packages pre-installed, including `vim, mc, screen, htop, ...`
|
- Useful Linux packages pre-installed, including `vim, mc, screen, htop, ...`
|
||||||
- Login information screen, powered by [FireMotD](https://github.com/willemdh/FireMotD)
|
- Login information screen, powered by [FireMotD](https://github.com/OutsideIT/FireMotD)
|
||||||
- Customized Bash shell experience
|
- Customized Bash shell experience
|
||||||
- Customized vim settings, including [openHAB syntax highlighting](https://github.com/cyberkov/openhab-vim)
|
- Customized vim settings, including [openHAB syntax highlighting](https://github.com/cyberkov/openhab-vim)
|
||||||
- Customized nano settings, including [openHAB syntax highlighting](https://github.com/airix1/openhabnano)
|
- Customized nano settings, including [openHAB syntax highlighting](https://github.com/airix1/openhabnano)
|
||||||
|
@ -208,9 +208,6 @@ sudo openhabian-config
|
||||||
The configuration tool is the heart of openHABian.
|
The configuration tool is the heart of openHABian.
|
||||||
It is not only a menu with a set of options, it's also used in a special unattended mode inside the ready to use images.
|
It is not only a menu with a set of options, it's also used in a special unattended mode inside the ready to use images.
|
||||||
|
|
||||||
Execute the "Update" function before anything else. The menu and the menu options will evolve over time and you should ensure to be up to date.
|
|
||||||
All other menu entries should be self-explaining and more details are shown after selecting them.
|
|
||||||
|
|
||||||
⌨ - A quick note on menu navigation.
|
⌨ - A quick note on menu navigation.
|
||||||
Use the cursor keys to navigate, <Enter> to execute, <Space> to select and <Tab> to jump to the actions on the bottom of the screen. Press <Esc> twice to exit the configuration tool.
|
Use the cursor keys to navigate, <Enter> to execute, <Space> to select and <Tab> to jump to the actions on the bottom of the screen. Press <Esc> twice to exit the configuration tool.
|
||||||
|
|
||||||
|
@ -329,7 +326,7 @@ If the installation was **not successful** you will see a warning and further in
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col s12 m5"><img src="images/openHABian-SSH-MotD.png" alt="openHABian installation successful" title="openHABian installation successful"></div>
|
<div class="col s12 m5"><img src="images/openHABian-SSH-MotD.png" alt="openHABian installation successful" title="openHABian installation successful"></div>
|
||||||
<div class="col s12 m5 offset-s2"><img src="images/openHABian-install-failed.png" alt="openHABian installation failed warning and instructions" title="openHABian installation failed warning and instructions"></div>
|
<div class="col s12 m5 offset-m2"><img src="images/openHABian-install-failed.png" alt="openHABian installation failed warning and instructions" title="openHABian installation failed warning and instructions"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
##### What Next?
|
##### What Next?
|
||||||
|
|
Loading…
Reference in New Issue