From 1d6d9110c8f7237afc089109dff53bbe10efde4d Mon Sep 17 00:00:00 2001 From: Kai Kreuzer Date: Sat, 16 Dec 2017 12:45:20 +0100 Subject: [PATCH] updated generated content Signed-off-by: Kai Kreuzer --- _addons_actions/pushover/readme.md | 10 + _addons_bindings/airquality/readme.md | 64 ++-- _addons_bindings/allplay/readme.md | 96 +++--- _addons_bindings/amazondashbutton/readme.md | 29 +- _addons_bindings/atlona/readme.md | 261 +++++++-------- _addons_bindings/autelis/readme.md | 134 ++++---- _addons_bindings/avmfritz/readme.md | 76 +++-- _addons_bindings/bigassfan/readme.md | 24 +- _addons_bindings/boschindego/readme.md | 40 +-- _addons_bindings/chromecast/readme.md | 25 +- _addons_bindings/cm11a/readme.md | 57 ++-- _addons_bindings/coolmasternet/readme.md | 4 +- _addons_bindings/dlinksmarthome/readme.md | 17 +- _addons_bindings/dscalarm/readme.md | 28 +- _addons_bindings/exec/readme.md | 39 +-- _addons_bindings/feed/readme.md | 16 +- _addons_bindings/feican/readme.md | 113 +++++++ _addons_bindings/folding/readme.md | 29 +- _addons_bindings/freebox/readme.md | 161 ++++----- _addons_bindings/fritzboxtr0641/readme.md | 11 +- _addons_bindings/gardena/readme.md | 51 +-- _addons_bindings/globalcache/readme.md | 132 ++++---- _addons_bindings/harmonyhub/readme.md | 33 +- _addons_bindings/hdanywhere/readme.md | 29 +- _addons_bindings/hdpowerview/readme.md | 17 +- _addons_bindings/homematic/readme.md | 212 ++++++------ _addons_bindings/icloud/readme.md | 97 ++++++ _addons_bindings/ipp/readme.md | 24 +- _addons_bindings/jeelink/readme.md | 98 +++--- _addons_bindings/keba/readme.md | 32 +- _addons_bindings/kodi/readme.md | 13 +- _addons_bindings/kostalinverter/readme.md | 13 +- _addons_bindings/lgtvserial/readme.md | 45 ++- _addons_bindings/lgwebos/readme.md | 34 +- _addons_bindings/loxone/readme.md | 196 ++++++----- _addons_bindings/lutron/readme.md | 208 ++++++++---- _addons_bindings/max/readme.md | 54 ++-- _addons_bindings/meteostick/readme.md | 46 +-- _addons_bindings/miele/readme.md | 18 +- _addons_bindings/mihome/readme.md | 112 +++---- _addons_bindings/milight/readme.md | 75 ++--- _addons_bindings/minecraft/readme.md | 54 ++-- _addons_bindings/nest/readme.md | 123 +++---- _addons_bindings/onkyo/readme.md | 305 +++++++++--------- .../silvercrestwifisocket/readme.md | 20 +- _addons_bindings/tankerkoenig/readme.md | 2 + _addons_bindings/tellstick/readme.md | 18 +- _addons_bindings/tinkerforge1/readme.md | 1 + _addons_bindings/tplinksmarthome/readme.md | 145 +++++++++ _addons_bindings/zigbee/readme.md | 25 +- _addons_bindings/zoneminder/readme.md | 16 +- _addons_ios/mycroft-skill/readme.md | 57 ++-- concepts/guidelines.md | 3 +- installation/openhabian.md | 7 +- update-code-checks.sh | 0 55 files changed, 2083 insertions(+), 1466 deletions(-) create mode 100644 _addons_bindings/feican/readme.md create mode 100644 _addons_bindings/icloud/readme.md create mode 100644 _addons_bindings/tplinksmarthome/readme.md mode change 100644 => 100755 update-code-checks.sh diff --git a/_addons_actions/pushover/readme.md b/_addons_actions/pushover/readme.md index 65f47bb13..e9a03bedb 100644 --- a/_addons_actions/pushover/readme.md +++ b/_addons_actions/pushover/readme.md @@ -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, String device, int priority)` * `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")` diff --git a/_addons_bindings/airquality/readme.md b/_addons_bindings/airquality/readme.md index d31b63410..93fb7377b 100644 --- a/_addons_bindings/airquality/readme.md +++ b/_addons_bindings/airquality/readme.md @@ -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. -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). @@ -25,26 +25,30 @@ To use this binding, you first need to [register and get your API token](http:// ## 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 -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 - + The binding has no configuration options, all configuration is done at Thing level. - + ## Thing Configuration The thing has a few configuration parameters: -| Parameter | Description | -|-----------|------------------------------------------------------------------------- | -| apikey | Data-platform token to access the AQIcn.org service. Mandatory. | -| location | Geo coordinates to be considered by the service. | -| stationId | Unique ID of the measuring station. | -| refresh | Refresh interval in minutes. Optional, the default value is 60 minutes. | +| Parameter | Description | +|-----------|-------------------------------------------------------------------------| +| apikey | Data-platform token to access the AQIcn.org service. Mandatory. | +| location | Geo coordinates to be considered by the service. | +| stationId | Unique ID of the measuring station. | +| 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): @@ -53,8 +57,7 @@ For the location parameter, the following syntax is allowed (comma separated lat 37.8255,-122.456 ``` -If you always want to receive data from specific station and you know its unique ID, you can enter it -instead of the coordinates. +If you always want to receive data from specific station and you know its unique ID, you can enter it instead of the coordinates. ## Channels @@ -62,22 +65,23 @@ instead of the coordinates. The AirQuality information that is retrieved is available as these channels: -| Channel ID | Item Type | Description | -|------------|--------------|------------------------- | -| aqiLevel | Number | Air Quality Index | -| aqiDescription | String | AQI Description | -| locationName | String | Nearest measuring station location | -| stationId | Number | Measuring station ID | -| stationLocation | Location | Latitude/longitude of measuring station | -| pm25 | Number | Fine particles pollution level (PM2.5) | -| pm10 | Number | Coarse dust particles pollution level (PM10) | -| o3 | Number | Ozone level (O3) | -| no2 | Number | Nitrogen Dioxide level (NO2) | -| co | Number | Carbon monoxide level (CO) | -| observationTime | DateTime | Observation date and time | -| temperature | Number | Temperature in Celsius degrees | -| pressure | Number | Pressure level | -| humidity | Number | Humidity level | +| Channel ID | Item Type | Description | +|-----------------|-----------|----------------------------------------------| +| aqiLevel | Number | Air Quality Index | +| aqiDescription | String | AQI Description | +| locationName | String | Nearest measuring station location | +| stationId | Number | Measuring station ID | +| stationLocation | Location | Latitude/longitude of measuring station | +| pm25 | Number | Fine particles pollution level (PM2.5) | +| pm10 | Number | Coarse dust particles pollution level (PM10) | +| o3 | Number | Ozone level (O3) | +| no2 | Number | Nitrogen Dioxide level (NO2) | +| co | Number | Carbon monoxide level (CO) | +| observationTime | DateTime | Observation date and time | +| temperature | Number | Temperature in Celsius degrees | +| pressure | Number | Pressure level | +| humidity | Number | Humidity level | + `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_Humidity } - + Frame label="Station Location" { Mapview item=Aqi_StationGeo height=10 } diff --git a/_addons_bindings/allplay/readme.md b/_addons_bindings/allplay/readme.md index 4504b0152..be8d041c9 100644 --- a/_addons_bindings/allplay/readme.md +++ b/_addons_bindings/allplay/readme.md @@ -16,21 +16,24 @@ install: auto # AllPlay Binding 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 x86 (32 bit, AllJoyn v16.04a) -* Linux x86-64 (64 bit, AllJoyn v16.04a) -* Windows x86 (32 bit, AllJoyn v16.04a) -* Windows x86-64 (64 bit, AllJoyn v16.04a) +* Linux ARM +* Linux x86 (32 bit, AllJoyn v16.04a) +* Linux x86-64 (64 bit, AllJoyn v16.04a) +* Windows x86 (32 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. ## 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 @@ -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": -| Parameter | Name | Description | Required | -|-----------|------|-------------|----------| -| 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 | -| callbackUrl | Callback URL | URL to use for playing audio streams, e.g. http://192.168.0.2:8080 | no | +| Parameter | Name | Description | Required | +|--------------------------|----------------------------|----------------------------------------------------------------------|----------| +| 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 | +| callbackUrl | Callback URL | URL to use for playing audio streams, e.g. | no | + ## Thing Configuration 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 | -|-----------------|--------------|-------------|----------|---------| -| Device ID | deviceId | The device identifier identifies one certain speaker | true | | -| 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 | -| Zone Member Separator | zoneMemberSeparator | Separator which is used when sending multiple zone members to channel 'zonemembers' | true | , | +| Parameter Label | Parameter ID | Description | Required | Default | +|-----------------------|---------------------|-------------------------------------------------------------------------------------|----------|---------| +| Device ID | deviceId | The device identifier identifies one certain speaker | true | | +| 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 | +| Zone Member Separator | zoneMemberSeparator | Separator which is used when sending multiple zone members to channel 'zonemembers' | true | , | +| ## Channels The devices support the following channels: -| Channel Type ID | Item Type | Description | -|-----------------|--------------|--------------| -| clearzone | Switch | Remove the current speaker from the zone | -| control | Player | Control the speaker, play/pause/next/previous/ffward/rewind | -| coverart | Image | Image data of 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 | -| currentartist | String | Name of the artist currently playing | -| currentduration | Number | Duration in seconds of the track currently playing | -| currentgenre | String | Genre of the track currently playing | -| currenttitle | String | Title of the track 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 | -| 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) | -| 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,.. | -| shufflemode | Switch | Toggle the shuffle mode of the speaker | -| stop | Switch | Stop the playback | -| stream | String | Play the given HTTP or file stream (file:// or http://) | -| 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) | -| 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) | +| Channel Type ID | Item Type | Description | +|-----------------|-----------|------------------------------------------------------------------------------------------------| +| clearzone | Switch | Remove the current speaker from the zone | +| control | Player | Control the speaker, play/pause/next/previous/ffward/rewind | +| coverart | Image | Image data of 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 | +| currentartist | String | Name of the artist currently playing | +| currentduration | Number | Duration in seconds of the track currently playing | +| currentgenre | String | Genre of the track currently playing | +| currenttitle | String | Title of the track 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 | +| 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) | +| 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,.. | +| shufflemode | Switch | Toggle the shuffle mode of the speaker | +| stop | Switch | Stop the playback | +| stream | String | Play the given HTTP or file stream (file:// or http://) | +| 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) | +| 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) | + ## Audio Support @@ -121,7 +129,7 @@ sitemap demo label="Main Menu" Frame label="All2" { Default item=All2Control Slider item=All2Volume - Text item=All2Title + Text item=All2Title Text item=All2Artist Text item=All2State } diff --git a/_addons_bindings/amazondashbutton/readme.md b/_addons_bindings/amazondashbutton/readme.md index bcb0dd46d..0e4b905b3 100644 --- a/_addons_bindings/amazondashbutton/readme.md +++ b/_addons_bindings/amazondashbutton/readme.md @@ -16,7 +16,7 @@ install: auto # 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. -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). @@ -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. **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 @@ -48,8 +49,7 @@ Installing [libpcap](http://www.tcpdump.org/) should be as simple as: 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` -to the openHAB java environment by the following command: +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: ```shell 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. -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" +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" ### 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. 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. ## Supported Things -There is one supported Thing, the "Amazon Dash Button". +There is one supported Thing, the "Amazon Dash Button". ## Discovery @@ -127,15 +127,18 @@ You can ignore these devices in your Inbox. ### 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. -* `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. +* `macAddress` - The MAC address 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. -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 -* **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 diff --git a/_addons_bindings/atlona/readme.md b/_addons_bindings/atlona/readme.md index 626594fbd..56bdb1e00 100644 --- a/_addons_bindings/atlona/readme.md +++ b/_addons_bindings/atlona/readme.md @@ -30,9 +30,9 @@ This binding supports the following thing types: ## 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" -(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 -username and password in the configuration of the newly discovered thing before a connection can be made. +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" (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 username and password in the configuration of the newly discovered thing before a connection can be made. ## 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 ] ``` -- ipAddress: Hostname or IP address of the matrix switch -- 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) -- 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) -- retryPolling: (optional) the time (in seconds) to retry a connection if the connection has failed (default: 10) +- ipAddress: Hostname or IP address of the matrix switch +- 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) +- 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) +- retryPolling: (optional) the time (in seconds) to retry a connection if the connection has failed (default: 10) ### username/password @@ -53,148 +53,156 @@ The userName/password configuration options are optional and are only required i ### 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 -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 -| Thing | Channel Type ID | Item Type | Access | Description | -|---------------|----------------------------|--------------|--------|-------------------------------------------------------------------------------------------| -| 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#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#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#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#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#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#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#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#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#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#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#volumemute | Switch | RW | Mutes/Unmutes audio port #3 | -| | | | | | -| 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#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#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#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#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#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#volumemute | Switch | RW | Mutes/Unmutes audio port #4 | -| | | | | | -| 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#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#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#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#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#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#volumemute | Switch | RW | Mutes/Unmutes audio port #6 | -| | | | | | -| 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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#volumemute | Switch | RW | Mutes/Unmutes audio port #12 | +| Thing | Channel Type ID | Item Type | Access | Description | +|------------|-----------------------------------------------------------------|-----------|--------|-------------------------------------------------------------------------------------------| +| 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#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#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#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#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#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#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#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#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#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#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#volumemute | Switch | RW | Mutes/Unmutes audio port #3 | +| | | | | | +| 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#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#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#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#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#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#volumemute | Switch | RW | Mutes/Unmutes audio port #4 | +| | | | | | +| 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#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#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#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#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#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#volumemute | Switch | RW | Mutes/Unmutes audio port #6 | +| | | | | | +| 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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#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#volumemute | Switch | RW | Mutes/Unmutes audio port #12 | + ### presetcmd The presetcmd channel will take the following commands: -| Command | Description | -|---------|-------------| +| Command | Description | +|---------|--------------------------------------------| | saveX | Saves the current input/output to preset X | -| recallX | Sets the input/output to preset X | -| clearX | Clears the preset X | +| recallX | Sets the input/output to 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 The matrixcmd channel will take the following commands: -| Command | Description | -|---------|-------------| -| 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) | -| allportsX | Sets all the output ports to the input port X | +| Command | Description | +|-------------|---------------------------------------------------------------------------------------------------------------------------------------| +| 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) | +| 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 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. -- 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. -- a bug in the firmware will sometimes cause memory presets to disappear after a reboot +- 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. +- 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 As of firmware 1.6.8 (rev 14), -- The "clearX" command has been fixed and works now. -- The number of presets have increased to 10 -- If telnet mode is enabled, you must use the admin username/password to issue a matrixreset +- The "clearX" command has been fixed and works now. +- The number of presets have increased to 10 +- If telnet mode is enabled, you must use the admin username/password to issue a matrixreset ## Example @@ -277,7 +285,7 @@ sitemap demo label="Main Menu" Text item=Atlona_Presets } Text label="Ports" { - Switch item=Atlona_PortPower1 + Switch item=Atlona_PortPower1 Switch item=Atlona_PortPower2 Switch item=Atlona_PortPower3 Switch item=Atlona_PortPower4 @@ -320,7 +328,8 @@ sitemap demo label="Main Menu" # 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 diff --git a/_addons_bindings/autelis/readme.md b/_addons_bindings/autelis/readme.md index ef65f8017..fe88e0698 100644 --- a/_addons_bindings/autelis/readme.md +++ b/_addons_bindings/autelis/readme.md @@ -3,7 +3,7 @@ id: autelis label: Autelis Pool Control title: Autelis Pool Control - Bindings 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 logo: images/addons/autelis.png install: auto @@ -15,17 +15,19 @@ install: auto # 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: -* Read circuit, auxiliary, temperature, pump, chemistry and system values -* Control circuit, auxiliary lighting scenes, and temperature set points +* Read circuit, auxiliary, temperature, pump, chemistry and system values +* Control circuit, auxiliary lighting scenes, and temperature set points ## 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 @@ -34,7 +36,7 @@ The binding requires no special configuration ## Thing Configuration The Autelis binding requires the host, port, username and password - + 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: -| Channel Type ID | Item Type | Description | -|-------------------------|------------------------|--------------|----------------- |------------- | -| system-runstate| Switch | -| system-model| Number | -| system-haddr| Number | -| system-opmode| Number | -| system-freeze| Number | -| system-sensor1| Number | -| system-sensor2| Number | -| system-sensor3| Number | -| system-sensor4| Number | -| system-sensor5| Number | -| system-version| String | -| system-time| Number | -| equipment-circuit1| Switch | -| equipment-circuit2| Switch | -| equipment-circuit3| Switch | -| equipment-circuit4| Switch | -| equipment-circuit5| Switch | -| equipment-circuit6| Switch | -| equipment-circuit7| Switch | -| equipment-circuit8| Switch | -| equipment-circuit9| Switch | -| equipment-circuit10| Switch | -| equipment-feature1| Number | -| equipment-feature2| Number | -| equipment-feature3| Number | -| equipment-feature4| Number | -| equipment-feature5| Number | -| equipment-feature6| Number | -| equipment-feature7| Number | -| equipment-feature8| Number | -| equipment-feature9| Number | -| equipment-feature10| Number | -| temp-poolht| Number | -| temp-spaht| Number | -| temp-htstatus| Number | -| temp-poolsp| Number | -| temp-spasp| Number | -| temp-pooltemp| Number | -| temp-spatemp| Number | -| temp-airtemp| Number | -| temp-tempunits| String | -| temp-htpump| Number | -| pump-pump1| String | -| pump-pump2| String | -| pump-pump3| String | -| pump-pump4| String | -| pump-pump5| String | -| pump-pump6| String | -| pump-pump7| String | -| pump-pump8| String | -| chlor-chloren| Number | -| chlor-poolsp| Number | -| chlor-spasp| Number | -| chlor-salt| Number | -| chlor-super| Number | -| chlor-chlorerr| Number | -| chlor-chlorname| String | -| lightscmd| String | +| Channel Type ID | Item Type | +|---------------------|-----------| +| system-runstate | Switch | +| system-model | Number | +| system-haddr | Number | +| system-opmode | Number | +| system-freeze | Number | +| system-sensor1 | Number | +| system-sensor2 | Number | +| system-sensor3 | Number | +| system-sensor4 | Number | +| system-sensor5 | Number | +| system-version | String | +| system-time | Number | +| equipment-circuit1 | Switch | +| equipment-circuit2 | Switch | +| equipment-circuit3 | Switch | +| equipment-circuit4 | Switch | +| equipment-circuit5 | Switch | +| equipment-circuit6 | Switch | +| equipment-circuit7 | Switch | +| equipment-circuit8 | Switch | +| equipment-circuit9 | Switch | +| equipment-circuit10 | Switch | +| equipment-feature1 | Number | +| equipment-feature2 | Number | +| equipment-feature3 | Number | +| equipment-feature4 | Number | +| equipment-feature5 | Number | +| equipment-feature6 | Number | +| equipment-feature7 | Number | +| equipment-feature8 | Number | +| equipment-feature9 | Number | +| equipment-feature10 | Number | +| temp-poolht | Number | +| temp-spaht | Number | +| temp-htstatus | Number | +| temp-poolsp | Number | +| temp-spasp | Number | +| temp-pooltemp | Number | +| temp-spatemp | Number | +| temp-airtemp | Number | +| temp-tempunits | String | +| temp-htpump | Number | +| pump-pump1 | String | +| pump-pump2 | String | +| pump-pump3 | String | +| pump-pump4 | String | +| pump-pump5 | String | +| pump-pump6 | String | +| pump-pump7 | String | +| pump-pump8 | String | +| chlor-chloren | Number | +| chlor-poolsp | Number | +| chlor-spasp | Number | +| chlor-salt | Number | +| chlor-super | Number | +| chlor-chlorerr | Number | +| chlor-chlorname | String | +| lightscmd | String | diff --git a/_addons_bindings/avmfritz/readme.md b/_addons_bindings/avmfritz/readme.md index a7cdc5b9b..163fa26d4 100644 --- a/_addons_bindings/avmfritz/readme.md +++ b/_addons_bindings/avmfritz/readme.md @@ -22,19 +22,25 @@ The binding integrates the AHA ( [AVM Home Automation](http://avm.de/ratgeber/sm ### 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 -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 -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 -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 @@ -46,7 +52,9 @@ The FRITZ!Box has to run at least on firmware FRITZ!OS 6.35. ## 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). @@ -55,28 +63,28 @@ If correct credentials are set in the bridge configuration, connected AHA device ### FRITZ!Box -* ipAddress (mandatory), default "fritz.box" -* protocol (optional, http or https), default "http" -* port (optional, 0 to 65335), no default (derived from protocol: 80 or 443) -* password (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) -* asyncTimeout (optional, 1000 to 60000), default 10000 (in millis) -* syncTimeout (optional, 500 to 15000), default 2000 (in millis) +* ipAddress (mandatory), default "fritz.box" +* protocol (optional, http or https), default "http" +* port (optional, 0 to 65335), no default (derived from protocol: 80 or 443) +* password (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) +* asyncTimeout (optional, 1000 to 60000), default 10000 (in millis) +* syncTimeout (optional, 500 to 15000), default 2000 (in millis) ### FRITZ!Powerline 546E -* ipAddress (mandatory), default "fritz.powerline" -* protocol (optional, http or https), default "http" -* port (optional, 0 to 65335), no default (derived from protocol: 80 or 443) -* password (optional), no default (depends on FRITZ!Powerline security configuration) -* pollingInterval (optional, 5 to 60), default 15 (in seconds) -* asyncTimeout (optional, 1000 to 60000), default 10000 (in millis) -* syncTimeout (optional, 500 to 15000), default 2000 (in millis) +* ipAddress (mandatory), default "fritz.powerline" +* protocol (optional, http or https), default "http" +* port (optional, 0 to 65335), no default (derived from protocol: 80 or 443) +* password (optional), no default (depends on FRITZ!Powerline security configuration) +* pollingInterval (optional, 5 to 60), default 15 (in seconds) +* asyncTimeout (optional, 1000 to 60000), default 10000 (in millis) +* syncTimeout (optional, 500 to 15000), default 2000 (in millis) ### 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 @@ -105,29 +113,29 @@ If correct credentials are set in the bridge configuration, connected AHA device demo.things: ``` -Bridge avmfritz:fritzbox:1 [ ipAddress="192.168.xxx.xxx", password ="xxx", user="xxx" ] { - FRITZ_DECT_200 DECT1 [ ain="xxxxxxxxxxx" ] - FRITZ_Powerline_546E PL1 [ ain="yy:yy:yy:yy:yyy" ] - Comet_DECT CD1 [ ain="aaaaaabbbbbb" ] +Bridge avmfritz:fritzbox:1 @ "Office" [ ipAddress="192.168.x.x", password="xxx", user="xxx" ] { + Thing FRITZ_DECT_200 xxxxxxxxxxxx "FRITZ!DECT 200 #1" @ "Living Room" [ ain="xxxxxxxxxxxx" ] + Thing FRITZ_Powerline_546E yy_yy_yy_yy_yy_yy "FRITZ!Powerline 546E #2" @ "Office" [ ain="yy:yy:yy:yy:yy:yy" ] + Thing Comet_DECT aaaaaabbbbbb "Comet DECT #3" @ "Office" [ ain="aaaaaabbbbbb" ] } ``` demo.items: ``` -Switch Outlet1 "Switchable outlet" { channel="avmfritz:FRITZ_DECT_200:1:DECT1:outlet" } -Number Temperature1 "Actual measured temperature [%.1f °C]" { channel="avmfritz:FRITZ_DECT_200:1:DECT1:temperature" } -Number Energy1 "Accumulated energy consumption [%.3f Wh]" { channel="avmfritz:FRITZ_DECT_200:1:DECT1:energy" } -Number Power1 "Current power consumption [%.2f W]" { channel="avmfritz:FRITZ_DECT_200:1:DECT1:power" } +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:xxxxxxxxxxxx:temperature" } +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: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" -Number COMETDECTActualTemp "Actual measured temperature [%.1f °C]" (gCOMETDECT) { channel="avmfritz:Comet_DECT:1:CD1:actual_temp" } -Number COMETDECTSetTemp "Thermostat temperature setpoint [%.1f °C]" (gCOMETDECT) { channel="avmfritz:Comet_DECT:1:CD1:set_temp" } -String COMETDECTRadiatorMode "Radiator mode [%s]" (gCOMETDECT) { channel="avmfritz:Comet_DECT:1:CD1:radiator_mode" } -Switch COMETDECTBattery "Battery low" (gCOMETDECT) { channel="avmfritz:Comet_DECT:1:CD1:battery_low" } +Number COMETDECTActualTemp "Actual measured temperature [%.1f °C]" (gCOMETDECT) { channel="avmfritz:Comet_DECT:1:aaaaaabbbbbb:actual_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:aaaaaabbbbbb:radiator_mode" } +Switch COMETDECTBattery "Battery low" (gCOMETDECT) { channel="avmfritz:Comet_DECT:1:aaaaaabbbbbb:battery_low" } ``` demo.sitemap: diff --git a/_addons_bindings/bigassfan/readme.md b/_addons_bindings/bigassfan/readme.md index 6589c46e3..38b6e4b3f 100644 --- a/_addons_bindings/bigassfan/readme.md +++ b/_addons_bindings/bigassfan/readme.md @@ -19,14 +19,20 @@ The [BigAssFan](http://www.bigassfans.com/) binding is used to enable communicat ## 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 -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 @@ -35,11 +41,13 @@ org.openhab.binding.bigassfan.discovery.BigAssFanDiscoveryService:backgroundDisc ## 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 -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 @@ -133,7 +141,8 @@ Frame label="Control My BigAssFan" { ### 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" ] @@ -142,4 +151,3 @@ bigassfan:fan:20F85EDAA56A [ label="Porch Fan", ipAddress="192.168.12.62", macAd #### Unsupported Features Standalone lights are not supported. - diff --git a/_addons_bindings/boschindego/readme.md b/_addons_bindings/boschindego/readme.md index 2bde3842e..5de38c910 100644 --- a/_addons_bindings/boschindego/readme.md +++ b/_addons_bindings/boschindego/readme.md @@ -15,21 +15,19 @@ install: auto # Bosch Indego Binding 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: - -| parameter | datatype | required | -|---|---|---| -| username | String | yes | -| password | String | yes | -| refresh | integer| no (default: 180, minimum: 60)| - -The refresh interval is specified in seconds. +The refresh interval is specified in seconds. A possible entry in your thing file could be: @@ -40,14 +38,14 @@ boschindego:indego:lawnmower [username="myname@myhost.tld", password="idontneedt ## Channels - channel | 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)| -| 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)| -|textualstate| String| State as a text. (readonly)| -|ready | Number | Shows if the mower is ready to mow (1=ready, 0=not ready, readonly)| -|mowed | Dimmer | Cut grass in percent (readonly)| +| 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) | +| 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) | +| textualstate | String | State as a text. (readonly) | +| ready | Number | Shows if the mower is ready to mow (1=ready, 0=not ready, readonly) | +| mowed | Dimmer | Cut grass in percent (readonly) | 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 776=Returning to dock - Relocalising ``` - - - - diff --git a/_addons_bindings/chromecast/readme.md b/_addons_bindings/chromecast/readme.md index 058b555d1..7df9e5dfb 100644 --- a/_addons_bindings/chromecast/readme.md +++ b/_addons_bindings/chromecast/readme.md @@ -16,15 +16,14 @@ install: auto # Chromecast Binding 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. -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 | +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. | ## Supported Things @@ -37,15 +36,17 @@ No authentication is required for accessing the devices on the network. ## 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 -| 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 | -| 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 | +| 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 | +| 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 | + ## Full Example diff --git a/_addons_bindings/cm11a/readme.md b/_addons_bindings/cm11a/readme.md index 83c477cad..050314c00 100644 --- a/_addons_bindings/cm11a/readme.md +++ b/_addons_bindings/cm11a/readme.md @@ -14,45 +14,46 @@ install: auto # 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 -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. This binding has been tested with serial port and a serial to USB adapter. -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. +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. -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 -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. -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. +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. ### cm11a macros -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. -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. -The `heyu clear` command can be used for this purpose. +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. +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. +The `heyu clear` command can be used for this purpose. ### X10 powerline monitoring -The cm11a has the ability to capture x10 messages on the powerline. -This binding captures those messages, decodes them and updates the item state. +The cm11a has the ability to capture x10 messages on the powerline. +This binding captures those messages, decodes them and updates the item state. ## Supported things The binding currently supports the following thing types: -* switch - which supports on and off states -* dimmer - which can be dimmed in addition to turned on or off +* switch - which supports on and off states +* dimmer - which can be dimmed in addition to turned on or off ## Discovery @@ -72,12 +73,12 @@ Each attached thing must specify the `houseUnitCode` set in the device (i.e. A1) ## Channels -| Thing | Channel Type ID | Item Type | Description | -| ----- | --------------- | --------- | ----------- | -| switch | switchState | Switch | An On/Off switch | -| dimmer | lightDimmer | Dimmer | A dimmable device | +| Thing | Channel Type ID | Item Type | Description | +|--------|-----------------|-----------|--------------------| +| switch | switchState | Switch | An On/Off switch | +| dimmer | lightDimmer | Dimmer | A dimmable device | -## Full example +**Example** ### Things @@ -94,13 +95,13 @@ Each attached thing must specify the `houseUnitCode` set in the device (i.e. A1) ## 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. -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. +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. ## References -1. [CM11A (X10) Protocol Document](http://wanderingsamurai.net/electronics/cm11a-x10-protocol-document) -2. [Heyu - control software for the cm11a](http://www.heyu.org/) -3. cm11a Controllers are available for purchase from several sites on the internet. +1. [CM11A (X10) Protocol Document](http://wanderingsamurai.net/electronics/cm11a-x10-protocol-document) +2. [Heyu - control software for the cm11a](http://www.heyu.org/) +3. cm11a Controllers are available for purchase from several sites on the internet diff --git a/_addons_bindings/coolmasternet/readme.md b/_addons_bindings/coolmasternet/readme.md index 3bb5a4a94..4c80c231f 100644 --- a/_addons_bindings/coolmasternet/readme.md +++ b/_addons_bindings/coolmasternet/readme.md @@ -23,9 +23,9 @@ The CoolMasterNet protocol does not support automatic discovery. ## 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: diff --git a/_addons_bindings/dlinksmarthome/readme.md b/_addons_bindings/dlinksmarthome/readme.md index 82c60590d..d84a4ee1c 100644 --- a/_addons_bindings/dlinksmarthome/readme.md +++ b/_addons_bindings/dlinksmarthome/readme.md @@ -33,16 +33,17 @@ The binding does not require any special 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 -* **ipAddress** - Hostname or IP 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. - -In the thing file, this looks like e.g. +* **ipAddress** - Hostname or IP 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. + +In the Thing file, this looks like e.g. ``` 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 -* **motion** - Triggered when the sensor detects motion. +* **motion** - Triggered when the sensor detects motion. ## Example usage diff --git a/_addons_bindings/dscalarm/readme.md b/_addons_bindings/dscalarm/readme.md index 00cc0383e..d3322478c 100644 --- a/_addons_bindings/dscalarm/readme.md +++ b/_addons_bindings/dscalarm/readme.md @@ -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. -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 -This binding supports the following thing types +This binding supports the following Thing types @@ -36,11 +37,14 @@ This binding supports the following thing types ## 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 -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. @@ -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.
ThingThing TypeDescription
- + @@ -183,7 +187,7 @@ DSC Alarm things support a variety of channels as seen below in the following ta
ThingConfiguration Parameters
ThingConfiguration Parameters
envisalink
ipAddress - IP address for the Envisalink adapter - Required.
port - TCP port for the Envisalink adapter - Not Required - default = 4025.
password - Password to login to the Envisalink bridge - Not Required.
connectionTimeout - TCP socket connection timeout in milliseconds - Not Required - default=5000.
pollPeriod - Period of time in minutes between the poll command being sent to the Envisalink bridge - Not Required - default=1.
it100
serialPort - Serial port for the IT-100s bridge - Required.
baud - Baud rate of the IT-100 bridge - Not Required - default = 9600.
pollPeriod - Period of time in minutes between the poll command being sent to the IT-100 bridge - Not Required - default=1.
tcpserver
ipAddress - IP address for the TCP Server - Required.
port - TCP port for the TCP Server - Required.
connectionTimeout - TCP socket connection timeout in milliseconds - Not Required - default=5000.
pollPeriod - Period of time in minutes between the poll command being sent to the TCP Server bridge - Not Required - default=1.
protocol - 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.
keypad_lcd_cursorStringLCD Cursor Position for The IT-100
-## Full Example +##Example 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_BROADCAST label="Panel Time Broadcast" } - + Text item=PANEL_SYSTEM_ERROR - + Text item=PANEL_TROUBLE_LED label="Panel Trouble Condition" { Text item=PANEL_TROUBLE_MESSAGE 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=DSCAlarmMotion label="Motion Sensors" Group item=DSCAlarmSmoke label="Smoke Detectors" - + } } } @@ -622,4 +626,6 @@ then 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. \ No newline at end of file +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. diff --git a/_addons_bindings/exec/readme.md b/_addons_bindings/exec/readme.md index ad3b1eefe..6f15c6915 100644 --- a/_addons_bindings/exec/readme.md +++ b/_addons_bindings/exec/readme.md @@ -24,16 +24,18 @@ Currently, the binding supports a single type of Thing, being the ```command``` 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 -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, -- 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 boolean parameter to make the command execute immediately every time the state of the input channel has changed. +- a transformation to apply on the execution result, +- 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 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. @@ -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] ``` -```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 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 date (as java.util.Date, example: `%1$tY-%1$tm-%1$td`) +- the current State of the input channel (see below, example: `%2$s`) ## Channels All Things support the following channels: -| Channel Type ID | Item Type | Description | -|-----------------|------------------------|--------------|----------------- |------------- | -| input | String | Input parameter to provide to the command | -| output | String | Output 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 | -| lastexecution | DateTime | Time/Date the command was last executed, in yyyy-MM-dd'T'HH:mm:ss.SSSZ format | +| Channel Type ID | Item Type | Description | +|-----------------|-----------|-----------------------------------------------------------------------------------------| +| input | String | Input parameter to provide to the command | +| output | String | Output 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 | +| lastexecution | DateTime | Time/Date the command was last executed, in yyyy-MM-dd'T'HH:mm:ss.SSSZ format | -## Full Example + +**Example** **demo.things** @@ -71,7 +74,7 @@ Thing exec:command:myscript [command="php ./configurations/scripts/script.php %2 **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"} Number APCExitValue {channel="exec:command:apc:exit"} DateTime APCLastExecution {channel="exec:command:apc:lastexecution"} diff --git a/_addons_bindings/feed/readme.md b/_addons_bindings/feed/readme.md index 0aa028143..5a7d618bb 100644 --- a/_addons_bindings/feed/readme.md +++ b/_addons_bindings/feed/readme.md @@ -34,14 +34,14 @@ No binding configuration required. ## 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. - -* Optional configuration: +* **URL** - the URL of the feed (e.g ). The binding uses this URL to download data + +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 The binding supports following channels @@ -57,13 +57,13 @@ The binding supports following channels | last-update | DateTime | The last update date of the feed | | number-of-entries | Number | Number of entries in the feed | -## Full Example +**Example** Things: ``` 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: diff --git a/_addons_bindings/feican/readme.md b/_addons_bindings/feican/readme.md new file mode 100644 index 000000000..22db6348b --- /dev/null +++ b/_addons_bindings/feican/readme.md @@ -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 +--- + + + +{% 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" { channel="feican:bulb:home:color" } +Dimmer FC_1_Dimmer "Brightness [%d]" { channel="feican:bulb:home:color" } +``` diff --git a/_addons_bindings/folding/readme.md b/_addons_bindings/folding/readme.md index e7860846f..03e63cb76 100644 --- a/_addons_bindings/folding/readme.md +++ b/_addons_bindings/folding/readme.md @@ -19,28 +19,31 @@ Binding for the [Folding@home](https://folding.stanford.edu/) distributed comput software. 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 -(though, usually CPU and GPU). 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. +interface. +Clients are modeled as bridges, and support adding any number of slots +(though, usually CPU and GPU). +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. ## Requirements (network access to F@H) 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 -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 - * Click on Configure, then the Remote Access tab - * Enter a password twice (invent one) - * Locate the Allow box under IP Address Restrictions - * Append a space and the IP address of the machine running openHAB to the text +* Open FAHControl on the client to be added +* Click on Configure, then the Remote Access tab +* Enter a password twice (invent one) +* Locate the Allow box under IP Address Restrictions +* 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` You should now have access to the client, configure it using the password and IP address in the manual thing configuration interface. - diff --git a/_addons_bindings/freebox/readme.md b/_addons_bindings/freebox/readme.md index ecca8acfa..e7c75c697 100644 --- a/_addons_bindings/freebox/readme.md +++ b/_addons_bindings/freebox/readme.md @@ -31,7 +31,8 @@ This binding supports the following thing types: ## 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 @@ -39,7 +40,7 @@ The binding has the following configuration options, which can be set for "bindi | 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. | no | ## 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: -| 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 | -| 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 | -| Use only HTTP API | useOnlyHttp | Use HTTP API even if HTTPS is available. | false | false | +| 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 | +| 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 | +| 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 The _phone_ thing requires the following configuration parameters: -| 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 Calls Refresh Interval | refreshPhoneCallsInterval | The refresh interval in seconds which is used to poll given Freebox Server for phone calls.| false | 60 | +| 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 Calls Refresh Interval | refreshPhoneCallsInterval | The refresh interval in seconds which is used to poll given Freebox Server for phone calls. | false | 60 | + ### Network device The _net_device_ thing requires the following configuration parameters: -| Parameter Label | Parameter ID | Description | Required | -|------------------------------|--------------------------|--------------------------------------------------|----------| -| MAC Address | macAddress | The MAC address of the network device.| true | | +| Parameter Label | Parameter ID | Description | Required | +|-----------------|--------------|----------------------------------------|----------| +| MAC Address | macAddress | The MAC address of the network device. | true | + ### Network interface The _net_interface_ thing requires the following configuration parameters: -| Parameter Label | Parameter ID | Description | Required | -|------------------------------|--------------------------|----------------------------------------------------|----------| -| IP Address | ipAddress | The IP address (v4 or v6) of the network interface.| true | +| Parameter Label | Parameter ID | Description | Required | +|-----------------|--------------|-----------------------------------------------------|----------| +| IP Address | ipAddress | The IP address (v4 or v6) of the network interface. | true | + ### AirPlay device @@ -93,7 +99,8 @@ The _airplay_ thing requires the following configuration parameters: ## 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: ``` @@ -149,21 +156,20 @@ S27oDfFq04XSox7JM9HdTt2hLK96x1T7FpFrBTnALzb7vHv9MhXqAT90fPR/8A== -----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 /freeboxRSA.crt -alias Freebox -keystore $JAVA_HOME/jre/lib/security/cacerts sudo rm /freeboxECC.crt /freeboxRSA.crt ``` - - ## 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 -will be displayed in the OSGi console : +**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 : ``` #################################################################### @@ -185,61 +191,62 @@ Once initialized, the thing will generate all available channels. The following channels are supported: -| Thing | Channel Type ID | Item Type | Access Mode | Description | -|---------------|--------------------------|--------------|--------|------------------------------------------------------| -| server | fwversion | String | R | Version of the Freebox Server firmware | -| 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 | tempcpum | Number | R | Actual measured CPU Marvell temperature | -| server | tempcpub | Number | R | Actual measured CPU Broadcom (xDSL) temperature | -| server | tempswitch | Number | R | Actual measured switch temperature | -| server | fanspeed | Number | R | Actual measured fan speed (rpm) | -| server | reboot | Switch | W | Reboots the Freebox server | -| 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_forced | Switch | RW | Indicates whether the screen orientation forced | -| 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 | airmedia_status | Switch | RW | Indicates whether Air Media 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 | sambaprintershare_status | Switch | RW | Indicates whether Window Printer Sharing is enabled | -| server | xdsl_status | String | R | Status of the xDSL line | -| server | line_status | String | R | Status of network line connexion | -| server | ipv4 | String | R | Public IP Address of the Freebox Server | -| server | rate_up | Number | R | Current upload 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_down | Number | R | Total downloaded bytes since last connection | -| phone | state#onhook | Switch | R | Indicates whether the phone is on hook | -| phone | state#ringing | Switch | R | Is the phone ringing | -| phone | any#call_number | String | R | Last call: number | -| phone | any#call_duration | Number | R | Last call: duration in seconds | -| 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_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_duration | Number | R | Last accepted call: duration in seconds | -| phone | accepted#call_timestamp | DateTime | R | Last accepted call: creation timestamp | -| phone | accepted#call_name | String | R | Last accepted call: caller name | -| 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_timestamp | DateTime | R | Last missed call: creation timestamp | -| phone | missed#call_name | String | R | Last missed call: caller name | -| 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_timestamp | DateTime | R | Last outgoing call: creation timestamp | -| phone | outgoing#call_name | String | R | Last outgoing call: called name | -| net_device | reachable | Switch | R | Indicates whether the network device 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 | stop | Switch | W | Stop the media playback | +| Thing | Channel Type ID | Item Type | Access Mode | Description | +|---------------|--------------------------|-----------|-------------|---------------------------------------------------------------------------------| +| server | fwversion | String | R | Version of the Freebox Server firmware | +| 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 | tempcpum | Number | R | Actual measured CPU Marvell temperature | +| server | tempcpub | Number | R | Actual measured CPU Broadcom (xDSL) temperature | +| server | tempswitch | Number | R | Actual measured switch temperature | +| server | fanspeed | Number | R | Actual measured fan speed (rpm) | +| server | reboot | Switch | W | Reboots the Freebox server | +| 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_forced | Switch | RW | Indicates whether the screen orientation forced | +| 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 | airmedia_status | Switch | RW | Indicates whether Air Media 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 | sambaprintershare_status | Switch | RW | Indicates whether Window Printer Sharing is enabled | +| server | xdsl_status | String | R | Status of the xDSL line | +| server | line_status | String | R | Status of network line connexion | +| server | ipv4 | String | R | Public IP Address of the Freebox Server | +| server | rate_up | Number | R | Current upload 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_down | Number | R | Total downloaded bytes since last connection | +| phone | state#onhook | Switch | R | Indicates whether the phone is on hook | +| phone | state#ringing | Switch | R | Is the phone ringing | +| phone | any#call_number | String | R | Last call: number | +| phone | any#call_duration | Number | R | Last call: duration in seconds | +| 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_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_duration | Number | R | Last accepted call: duration in seconds | +| phone | accepted#call_timestamp | DateTime | R | Last accepted call: creation timestamp | +| phone | accepted#call_name | String | R | Last accepted call: caller name | +| 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_timestamp | DateTime | R | Last missed call: creation timestamp | +| phone | missed#call_name | String | R | Last missed call: caller name | +| 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_timestamp | DateTime | R | Last outgoing call: creation timestamp | +| phone | outgoing#call_name | String | R | Last outgoing call: called name | +| net_device | reachable | Switch | R | Indicates whether the network device 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 | stop | Switch | W | Stop the media playback | -## Example +**Example** ### 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" ] { diff --git a/_addons_bindings/fritzboxtr0641/readme.md b/_addons_bindings/fritzboxtr0641/readme.md index d527403e8..dab670823 100644 --- a/_addons_bindings/fritzboxtr0641/readme.md +++ b/_addons_bindings/fritzboxtr0641/readme.md @@ -51,11 +51,12 @@ It has been tested on: This binding can be configured in the file `services/fritzboxtr064.cfg`. | Property | Default | Required | Description | -|----------|---------|:--------:|-------------| -| url | | Yes | URL. Either use `http://:49000` or `https://:49443` (https preferred!) | -| 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. | -| pass | | Yes | Password | +|-------------|---------|:--------:|-------------| +| url | | Yes | URL. Either use `http://:49000` or `https://:49443` (https preferred!) | +| 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. | +| pass | | Yes | Password | +| phonebookid | 0 | No | PhoneBook ID if you use a different phonebook (like a Google-synced phonebook). | ## Item Configuration diff --git a/_addons_bindings/gardena/readme.md b/_addons_bindings/gardena/readme.md index f80cd6d99..95b18259d 100644 --- a/_addons_bindings/gardena/readme.md +++ b/_addons_bindings/gardena/readme.md @@ -22,13 +22,13 @@ This binding allows you to integrate, view and control Gardena Smart Home device Devices connected to Gardena Smart Home, currently: -| Thing type | Name | -|------------|------| -| bridge | smart Home Gateway | -| mower | smart Sileno(+) Mower | -| watering_computer | smart Water Control | -| sensor | smart Sensor | -| electronic_pressure_pump | smart Pressure Pump | +| Thing type | Name | +|--------------------------|-----------------------| +| bridge | smart Home Gateway | +| mower | smart Sileno(+) Mower | +| watering_computer | smart Water Control | +| sensor | smart Sensor | +| electronic_pressure_pump | smart Pressure Pump | 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: -| Name | Required | Description | -| --- | --- | --- | -| **email** | yes | The email address 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) | -| **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) | +| Name | Required | Description | +|-----------------------|----------|----------------------------------------------------------------------------------------| +| **email** | yes | The email address 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) | +| **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) | -## Example +**Example** ### Things @@ -92,12 +92,12 @@ Number Battery_Level "Battery [%d %%]" {channel="gardena:mower:home:myMower:batt ## 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 -* soil_temperature#temperature -* humidity#humidity -* light#light +* ambient_temperature#temperature +* soil_temperature#temperature +* humidity#humidity +* light#light In the console: @@ -113,7 +113,6 @@ import org.eclipse.smarthome.core.types.RefreshType sendCommand(ITEM_NAME, RefreshType.REFRESH) ``` - ### Debugging and Tracing 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 ``` -**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. diff --git a/_addons_bindings/globalcache/readme.md b/_addons_bindings/globalcache/readme.md index 5d16c6175..30ee1820f 100644 --- a/_addons_bindings/globalcache/readme.md +++ b/_addons_bindings/globalcache/readme.md @@ -3,7 +3,7 @@ id: globalcache label: GlobalCache title: GlobalCache - Bindings 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 logo: images/addons/globalcache.png install: auto @@ -15,55 +15,69 @@ install: auto # 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 -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 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: -* iTach WF2IR and IP2IR -* iTach WF2CC and IP2CC -* iTach WF2SL and IP2SL -* iTach Flex Ethernet -* iTach Flex Ethernet PoE -* iTach Flex WiFi -* GC-100-6 -* GC-100-12 -* ZMOTE Wi-Fi Universal Remote - +* iTach WF2IR and IP2IR +* iTach WF2CC and IP2CC +* iTach WF2SL and IP2SL +* iTach Flex Ethernet +* iTach Flex Ethernet PoE +* iTach Flex WiFi +* GC-100-6 +* GC-100-12 +* ZMOTE Wi-Fi Universal Remote ## 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 ``` -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 -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 -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 @@ -71,21 +85,22 @@ The GlobalCache binding uses the **transform** binding to map commands to IR and ## 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) -- Infrared (IR) -- Serial (SL) -- Serial Direct (SL) +- Contact Closure (CC) +- Infrared (IR) +- Serial (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 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. ``` @@ -100,12 +115,12 @@ String SamsungTV "TV" (gTheater) { channel="globalcache:itachFlexEth:00 #### 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 Two different formatting methods are supported: Global Cache and hex code. - 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 ``` -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 -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 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. ``` @@ -144,20 +161,20 @@ String MyRelay "My Relay [%s]" (gRelays) { channel="globalcache:itachFlex ## Serial (SL) Channel 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. ``` 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 -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. ``` @@ -166,18 +183,18 @@ String RUSSCAA66 "Russound CAA66" { channel="globalcache:itachFlex:000C45D5 ## Serial (SL) Receive Channel -The Serial Receive channel receives feedback from the device connected to the GlobalCache's serial port. You enable -this functionality by setting the **Enable Two Way** switch to ON in the thing configuration. In addition, you must -set the **End-of-Message Delimiter** in the thing configuration. The End-of-Message can be a single character, -or a sequence of characters. Use URL encoding for non-printable characters. +The Serial Receive channel receives feedback from the device connected to the GlobalCache's serial port. +You enable this functionality by setting the **Enable Two Way** switch to ON in the thing configuration. +In addition, you must set the **End-of-Message Delimiter** in the thing configuration. +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 -updates on this item will be able to process messages sent from the device connected to the GlobalCache's serial port. +For example, the following item links to the receive channel on module 1 connector 1 on a GC-100. +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" } ``` - 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 ``` -## Example Configuration +**Example** ### MAP File @@ -253,13 +270,13 @@ Frame label="Contact Closure" { Switch item=ContactClosure2 label="Light on Garage Door Opener" Switch item=ContactClosure3 label="Unused" } - + Frame label="Harmon Kardon Receiver" { 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="Select Input" mappings=[HKAVR245_HDMI1="HDMI 1", HKAVR245_HDMI2="HDMI 2"] } - + Frame label="Samsung TV" { 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" { Switch item=RS232ME label="Power" mappings=[RS232ME_POWER_ON="On",RS232ME_POWER_OFF="Off"] } - + Frame label="Garage Door" { Switch item=Garage_Door label="Open/Close" mappings=[ON="Do It"] } @@ -279,7 +296,7 @@ Frame label="Garage Door" { ### 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 @@ -298,7 +315,7 @@ then 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" @@ -316,7 +333,7 @@ then 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" @@ -329,7 +346,8 @@ end ### 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" ] diff --git a/_addons_bindings/harmonyhub/readme.md b/_addons_bindings/harmonyhub/readme.md index 252a18d0b..ce41835bd 100644 --- a/_addons_bindings/harmonyhub/readme.md +++ b/_addons_bindings/harmonyhub/readme.md @@ -3,7 +3,7 @@ id: harmonyhub label: Logitech Harmony Hub title: Logitech Harmony Hub - Bindings 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 install: auto --- @@ -14,7 +14,8 @@ install: auto # 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 @@ -22,15 +23,21 @@ The Harmony binding represents a "Hub" as a bridge thing type and "Devices" as t ### 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 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 -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 @@ -39,17 +46,18 @@ The binding requires no special configuration ## Thing Configuration 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 ``` 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 ``` @@ -120,7 +128,7 @@ end ## Example Sitemap -Using the above things channels and items +Using the above things channels and items 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, . +Search the JSON for "harmonyhub:device". diff --git a/_addons_bindings/hdanywhere/readme.md b/_addons_bindings/hdanywhere/readme.md index 7d3cd9d5e..ed4b6b01e 100644 --- a/_addons_bindings/hdanywhere/readme.md +++ b/_addons_bindings/hdanywhere/readme.md @@ -13,11 +13,13 @@ install: auto {% 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. @@ -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: -* *multiroomplus* : Multiroom+ V3 (**Note:** This product is no longer sold by HDanywhere) -* *mhub4k431* : MHUB 4K (4X3+1) +* *multiroomplus* : Multiroom+ V3 (**Note:** This product is no longer sold by HDanywhere) +* *mhub4k431* : MHUB 4K (4X3+1) ## 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): -| Thing Type | Item Type | Description | -|-----------------|---------------|---------------------------------------------------------------------| -| 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 | -| port3 | Number | The number of the input port that is connected to the output port 3 | -| ... | Number | ... | -| port8 | Number | The number of the input port that is connected to the output port 8 | +| Thing Type | Item Type | Description | +|------------|-----------|---------------------------------------------------------------------| +| 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 | +| port3 | Number | The number of the input port that is connected to the output port 3 | +| ... | Number | ... | +| port8 | Number | The number of the input port that is connected to the output port 8 | - -## Full Example +## Example demo.Things: diff --git a/_addons_bindings/hdpowerview/readme.md b/_addons_bindings/hdpowerview/readme.md index 11989b720..f06d1bc06 100644 --- a/_addons_bindings/hdpowerview/readme.md +++ b/_addons_bindings/hdpowerview/readme.md @@ -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. -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 @@ -30,7 +34,8 @@ PowerView shades have motorization control for their vertical position, as well PowerView Hub Bridge - The PowerView Hub provides the interface between your network and the shade's radio network. It also contains channels used to interact with scenes. + The PowerView Hub provides the interface between your network and the shade's radio network. + It also contains channels used to interact with scenes. PowerView Shade @@ -41,11 +46,14 @@ PowerView shades have motorization control for their vertical position, as well ## 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 -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: @@ -98,7 +106,6 @@ PowerView things should be configured via discovery - it would be difficult to c
- ### PowerView Scene Scenes channels are added to the Hub as they are discovered. diff --git a/_addons_bindings/homematic/readme.md b/_addons_bindings/homematic/readme.md index 612db96d1..7e3016426 100644 --- a/_addons_bindings/homematic/readme.md +++ b/_addons_bindings/homematic/readme.md @@ -20,99 +20,104 @@ This binding allows you to integrate, view, control and configure all Homematic ## Supported Bridges -All gateways which provides the Homematic BIN- or XML-RPC API: -* CCU 1+2 -* [Homegear](https://www.homegear.eu) -* [piVCCU](https://github.com/alexreinert/piVCCU) -* [YAHM](https://github.com/leonsio/YAHM) -* [Windows BidCos service](http://www.eq-3.de/downloads.html?kat=download&id=125) -* [OCCU](https://github.com/eq-3/occu) +All gateways which provides the Homematic BIN- or XML-RPC API: +* CCU 1+2 +* [Homegear](https://www.homegear.eu) +* [piVCCU](https://github.com/alexreinert/piVCCU) +* [YAHM](https://github.com/leonsio/YAHM) +* [Windows BidCos service](http://www.eq-3.de/downloads.html?kat=download&id=125) +* [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: -* RF components: 2001 -* WIRED components: 2000 -* HMIP components: 2010 -* CUxD: 8701 -* TclRegaScript: 8181 -* Groups: 9292 +* RF components: 2001 +* WIRED components: 2000 +* HMIP components: 2010 +* CUxD: 8701 +* TclRegaScript: 8181 +* Groups: 9292 And **FROM** the gateway to openHab: -* XML-RPC: 9125 -* BIN-RPC: 9126 +* XML-RPC: 9125 +* BIN-RPC: 9126 **Note:** The binding tries to identify the gateway with XML-RPC and uses henceforth: -* **CCU** - * **RF**: BIN-RPC - * **WIRED**: BIN-RPC - * **HMIP**: XML-RPC - * **CUxD**: BIN-RPC (CUxD version >= 1.6 required) - * **Groups**: XML-RPC -* **Homegear** - * BIN-RPC -* **Other** - * XML-RPC +* **CCU** + * **RF**: BIN-RPC + * **WIRED**: BIN-RPC + * **HMIP**: XML-RPC + * **CUxD**: BIN-RPC (CUxD version >= 1.6 required) + * **Groups**: XML-RPC +* **Homegear** + * BIN-RPC +* **Other** + * XML-RPC ## 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 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. -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 There are several settings for a bridge: -- **gatewayAddress** (required) +- **gatewayAddress** (required) Network address of the Homematic gateway -- **gatewayType** -Hint for the binding to identify the gateway type (auto|ccu|noccu) (default = auto). +- **gatewayType** +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 -- **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 -- **xmlCallbackPort** +- **xmlCallbackPort** 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 -- **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) -- **reconnectInterval DEPRECATED, not necessary anymore** -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. +- **reconnectInterval DEPRECATED, not necessary anymore** +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. Think in hours when configuring (one hour = 3600) -- **timeout** +- **timeout** 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) -- **rfPort** +- **rfPort** The port number of the RF daemon (default = 2001) -- **wiredPort** +- **wiredPort** The port number of the HS485 daemon (default = 2000) -- **hmIpPort** +- **hmIpPort** The port number of the HMIP server (default = 2010) -- **cuxdPort** +- **cuxdPort** The port number of the CUxD daemon (default = 8701) The syntax for a bridge is: @@ -121,25 +126,25 @@ The syntax for a bridge is: homematic:bridge:NAME ``` -- **homematic** the binding id, fixed -- **bridge** the type, fixed -- **name** the name of the bridge +- **homematic** the binding id, fixed +- **bridge** the type, fixed +- **name** the name of the bridge #### Example -- minimum configuration +- minimum configuration ``` Bridge homematic:bridge:ccu [ gatewayAddress="..."] ``` -- with callback settings +- with callback settings ``` Bridge homematic:bridge:ccu [ gatewayAddress="...", callbackHost="...", callbackPort=... ] ``` -- multiple bridges +- multiple bridges ``` 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 ``` -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" ``` All channels have two configs: -* **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) +* **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) -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" { @@ -197,12 +208,12 @@ In the items file, you can map the datapoints, the syntax is: homematic:TYPE:BRIDGE:SERIAL:CHANNELNUMBER#DATAPOINTNAME ``` -* **homematic:** the binding id, fixed -* **type:** the type of the Homematic device -* **bridge:** the name of the bridge -* **serial:** the serial number of the Homematic device -* **channelnumber:** the channel number of the Homematic datapoint -* **datapointname:** the name of the Homematic datapoint +* **homematic:** the binding id, fixed +* **type:** the type of the Homematic device +* **bridge:** the name of the bridge +* **serial:** the serial number of the Homematic device +* **channelnumber:** the channel number 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" } @@ -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 - ## 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 -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 type is generated: GATEWAY-EXTRAS-[BRIDGE_ID]. Example: bridgeId=ccu, type=GATEWAY-EXTRAS-CCU +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 type is generated: GATEWAY-EXTRAS-[BRIDGE_ID]. +Example: bridgeId=ccu, type=GATEWAY-EXTRAS-CCU Address: fixed GWE00000000 #### RELOAD_ALL_FROM_GATEWAY @@ -249,32 +262,33 @@ A virtual datapoint (Switch) to remove the device from the gateway, available in #### DELETE_DEVICE_MODE 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 -* **RESET:** device is reset to factory settings before deleting -* **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 +* **LOCKED:** (default) device can not be deleted +* **RESET:** device is reset to factory settings before deleting +* **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 **Note:** if you change the value and don't delete the device, the virtual datapoints resets to LOCKED after 30 seconds #### 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 -This is usefull to automatically turn off the datapoint after the specified time +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. #### DISPLAY_OPTIONS 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. - + You have several additional options to control the display. -* BEEP _(TONE1, TONE2, TONE3)_ - let the remote control beep -* BACKLIGHT _(BACKLIGHT_ON, BLINK_SLOW, BLINK_FAST)_ - control the display backlight -* 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 - -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. - +* BEEP _(TONE1, TONE2, TONE3)_ - let the remote control beep +* BACKLIGHT _(BACKLIGHT_ON, BLINK_SLOW, BLINK_FAST)_ - control the display backlight +* 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 + +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:** 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" ``` - + 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 -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 -- Items +- Items ``` 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" } ``` -- Rule +- Rule ``` 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. 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" 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 ... end @@ -381,25 +395,37 @@ end **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** -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** -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. With [Homegear](https://www.homegear.eu) everything works as expected. **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** -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 In the console: @@ -415,7 +441,7 @@ import org.eclipse.smarthome.core.types.RefreshType 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 diff --git a/_addons_bindings/icloud/readme.md b/_addons_bindings/icloud/readme.md new file mode 100644 index 000000000..d1f683409 --- /dev/null +++ b/_addons_bindings/icloud/readme.md @@ -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 +--- + + + +{% 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 %%]" (iCloud_Group) {channel="icloud:device:myaccount:myiPhone8:batteryStatus"} +Number iPhone_BatteryLevel "Battery Level [%.0f]" (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. diff --git a/_addons_bindings/ipp/readme.md b/_addons_bindings/ipp/readme.md index 1e03edb1c..6a9d01164 100644 --- a/_addons_bindings/ipp/readme.md +++ b/_addons_bindings/ipp/readme.md @@ -19,28 +19,24 @@ The main purpose is to check if there are waiting print jobs on a printer, which ## Supported Things -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, +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, but there are many differencies on which parts of IPP are supported, is is not guaranteed, that every printer will work. ## 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. - ## Thing Configuration - - ## 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 | -|-----------------|------------------------|--------------|----------------- |------------- | -| 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 + diff --git a/_addons_bindings/jeelink/readme.md b/_addons_bindings/jeelink/readme.md index 3d983593a..22d026d39 100644 --- a/_addons_bindings/jeelink/readme.md +++ b/_addons_bindings/jeelink/readme.md @@ -14,7 +14,7 @@ install: auto # Jeelink Binding -This binding integrates JeeLink USB RF receivers. +This binding integrates JeeLink USB RF receivers. ## Introduction @@ -24,82 +24,85 @@ Binding should be compatible with JeeLink USB receivers and connected LaCrosse t This binding supports: -* JeeLink USB RF receivers (as bridge) -* JeeLink USB RF receivers connected over TCP (as bridge) -* LaCrosse Temperature Sensors connected to the bridge -* EC3000 Power Monitors connected to the bridge +* JeeLink USB RF receivers (as bridge) +* JeeLink USB RF receivers connected over TCP (as bridge) +* LaCrosse Temperature Sensors connected to the bridge +* EC3000 Power Monitors connected to the bridge ## Binding configuration -Configuration of the binding is not needed. +Configuration of the binding is not needed. ## 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. -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 #### JeeLink USB receivers -| 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 -| 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 +| 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 | +| 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 | + #### JeeLink receivers connected over TCP -| Parameter | Item Type | Description -|-------------------|--------------|------------ -| 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 -| 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 +| Parameter | Item Type | Description | +|---------------|-----------|-----------------------------------------------------------------------------------------------------------------| +| 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 | +| 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 -| Parameter | Item Type | Description -|-------------------|--------------|------------ -| 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 -| 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 -| 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 -| 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. +| Parameter | Item Type | Description | +|----------------------------|-----------|------------------------------------------------------------------------------------------------------------------------------------------------------| +| 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 | +| 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 | +| 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 | +| 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 -| Parameter | Item Type | Description -|-------------------|--------------|------------ -| 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 -| 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 - +| Parameter | Item Type | Description | +|-----------------|-----------|-------------------------------------------------------------------------------------------------------------------------| +| 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 | +| 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 | ## Channels #### LaCrosse temperature sensors -| Channel Type ID | Item Type | Description -|-------------------------|--------------|------------ -| temperature | Number | Temperature reading -| humidity | Number | Humidity reading -| batteryNew | Contact | Whether the battery is new (CLOSED) or not (OPEN) -| batteryLow | Contact | Whether the battery is low (CLOSED) or not (OPEN) +| Channel Type ID | Item Type | Description | +|-----------------|-----------|---------------------------------------------------| +| temperature | Number | Temperature reading | +| humidity | Number | Humidity reading | +| batteryNew | Contact | Whether the battery is new (CLOSED) or not (OPEN) | +| batteryLow | Contact | Whether the battery is low (CLOSED) or not (OPEN) | #### EC3000 power monitors -| Channel Type ID | Item Type | Description -|-------------------------|--------------|------------ -| currentWatt | Number | Instantaneous power in Watt -| maxWatt | Number | Maximum load power in Watt -| consumptionTotal | Number | Total energy consumption -| applianceTime | Number | Total electrical appliance operating time in hours -| sensorTime | Number | Total turn on time of power monitor in hours -| resets | Number | Number of resets +| Channel Type ID | Item Type | Description | +|------------------|-----------|----------------------------------------------------| +| currentWatt | Number | Instantaneous power in Watt | +| maxWatt | Number | Maximum load power in Watt | +| consumptionTotal | Number | Total energy consumption | +| applianceTime | Number | Total electrical appliance operating time in hours | +| sensorTime | Number | Total turn on time of power monitor in hours | +| resets | Number | Number of resets | ## Commands @@ -131,4 +134,3 @@ Number Temperature_LR "Living Room" {channel="jeelink:lacrosse:42: 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"} ``` - diff --git a/_addons_bindings/keba/readme.md b/_addons_bindings/keba/readme.md index 870883d19..ac32435d3 100644 --- a/_addons_bindings/keba/readme.md +++ b/_addons_bindings/keba/readme.md @@ -23,32 +23,34 @@ Currently the Keba KeContact P20 stations are supported by this binding. ## 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 -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 ``` 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 All devices support the following channels (non exhaustive): -| Channel Type ID | Item Type | Description | -|-----------------|------------------------|--------------|----------------- |------------- | -| 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 | -| 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 | -| U1/2/3 | Number | This channel indicates the voltage for the given phase | +| Channel Type ID | Item Type | Description | | | +|------------------|-----------|---------------------------------------------------------------------------------------------------|---|---| +| 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 | | | +| 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 | | | +| U1/2/3 | Number | This channel indicates the voltage for the given phase | | | -## Full Example +## Example demo.Things: @@ -59,10 +61,10 @@ Thing keba:kecontactp20:1 [ipAddress="192.168.0.64", refreshInterval=30] 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 KebaSystemCurrent {channel="keba:kecontactp20:1:maxsystemcurrent"} -Number KebaFailSafeCurrent {channel="keba:kecontactp20:1:failsafecurrent"} +Number KebaSystemCurrent {channel="keba:kecontactp20:1:maxsystemcurrent"} +Number KebaFailSafeCurrent {channel="keba:kecontactp20:1:failsafecurrent"} String KebaState {channel="keba:kecontactp20:1:state"} Switch KebaSwitch {channel="keba:kecontactp20:1:enabled", autoupdate="false"} 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=KebaFailSafeCurrent label="Failsafe supply current [%.0f mA]" 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]" } } ``` diff --git a/_addons_bindings/kodi/readme.md b/_addons_bindings/kodi/readme.md index 8e3c6641b..67b5d74a1 100644 --- a/_addons_bindings/kodi/readme.md +++ b/_addons_bindings/kodi/readme.md @@ -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. 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. -* Settings ➔ Services ➔ UPnP / DLNA ➔ Allow remote control via UPnP +* Settings ➔ Services ➔ UPnP / DLNA ➔ Allow remote control via UPnP ## 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 | - ### 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`). @@ -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 | | 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 | -| fanart | Image | The URL to the fanart of the current file | - +| fanart | Image | The URL to the fanart of the current file | | ### 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: diff --git a/_addons_bindings/kostalinverter/readme.md b/_addons_bindings/kostalinverter/readme.md index ea667b91d..827aa250d 100644 --- a/_addons_bindings/kostalinverter/readme.md +++ b/_addons_bindings/kostalinverter/readme.md @@ -29,10 +29,10 @@ None ## Channels -- acPower -- totalEnergy -- dayEnergy -- status +- acPower +- totalEnergy +- dayEnergy +- status ## Thing Configuration @@ -42,8 +42,8 @@ demo.things 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 -it is offline you should see an error message. +If the thing goes online then the connection to the web interface is successful. +In case it is offline you should see an error message. ## Items @@ -55,4 +55,3 @@ Number SolarEnergyDay "Solar day energy[%.2f kwh]" (gGF) { channel="ko Number SolarTotalEnergy "Solar total energy[%.2f kwh]" (gGF) { channel="kostalinverter:kostalinverter:inverter:totalEnergy" } String SolarStatus "Solar status [%s]" (gGF) { channel="kostalinverter:kostalinverter:inverter:status" } ``` - diff --git a/_addons_bindings/lgtvserial/readme.md b/_addons_bindings/lgtvserial/readme.md index 2bc137c8e..bf2e40b14 100644 --- a/_addons_bindings/lgtvserial/readme.md +++ b/_addons_bindings/lgtvserial/readme.md @@ -16,46 +16,45 @@ install: auto 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 -state from the TV, as this is not possible using the serial protocol. +See below for a list of supported channels. +The binding does not support querying the current state from the TV, as this is not possible using the serial protocol. ## Supported Things -Supports one TV or projector per thing, also corresponding to a unique serial port. The -protocol supports daisy-chaining of serial devices, but this seems unlikely for home +Supports one TV or projector per thing, also corresponding to a unique serial port. +The protocol supports daisy-chaining of serial devices, but this seems unlikely for home 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 -work on all models. Some TVs may have an alternative port type instead of a standard DB9 -connector, and may thus require an adapter. The serial port may be marked "Service only". +The LG serial command set [1] appears to be similar on many models, but not all commands will work on all models. +Some TVs may have an alternative port type instead of a standard DB9 connector, and may thus require an adapter. +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?)). - ## 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 -It is necessary to specify the serial port device used for communication. 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). On Windows it will be `COM1`, `COM2`, etc. +It is necessary to specify the serial port device used for communication. +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). +On Windows it will be `COM1`, `COM2`, etc. ## Channels - * On/off - * Input: Select video input: HDMI, Component, ect. - * Volume - * Mute - * Backlight brightness: Supports 100 levels of brightness for LCD panels. - * Color temperature: Choose among 3 color temperatures, Warm, Normal and Cool. - +* On/off +* Input: Select video input: HDMI, Component, ect. +* Volume +* Mute +* Backlight brightness: Supports 100 levels of brightness for LCD panels. +* Color temperature: Choose among 3 color temperatures, Warm, Normal and Cool. + ## LG protocol references -[1] https://www.lg.com/us/commercial/documents/m6503ccba-owner-manual.pdf +[1]  -[2] https://sites.google.com/site/brendanrobert/projects/bits-and-pieces/lg-tv-hacks +[2] -[3] https://code.google.com/archive/p/lg-tv-command/source/default/source +[3] diff --git a/_addons_bindings/lgwebos/readme.md b/_addons_bindings/lgwebos/readme.md index 25d31283e..469f4c1f6 100644 --- a/_addons_bindings/lgwebos/readme.md +++ b/_addons_bindings/lgwebos/readme.md @@ -3,7 +3,7 @@ id: lgwebos label: LG webOS title: LG webOS - Bindings 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 install: auto --- @@ -14,8 +14,8 @@ install: auto # 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 @@ -25,18 +25,21 @@ LG webOS based smart TVs are supported. #### 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. -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 -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 -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 @@ -52,7 +55,7 @@ WebOS TV has no configuration parameters. Please note that at least one channel | 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 | -## Full Example +## Example 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" { autoupdate="false", channel="lgwebos:WebOSTV:192_168_2_119:power" } 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" } -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_ChannelDummy "ChannelUpDown" +Number LG_TV0_ChannelDummy "ChannelUpDown" 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"} 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"} // 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 Switch item=LG_TV0_ChannelDown Switch item=LG_TV0_ChannelUp - Default item=LG_TV0_Player + Default item=LG_TV0_Player Text item=LG_TV0_Application Selection item=LG_TV0_Application mappings=[ "com.webos.app.livetv"="TV", @@ -116,10 +119,10 @@ demo.rules: ``` // this assumes you also have the wake on lan binding configured. rule "Power on TV via Wake on LAN" -when +when Item LG_TV0_Power received command ON then - sendCommand( LG_TV0_WOL, ON) + sendCommand( LG_TV0_WOL, ON) end // 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") ``` - diff --git a/_addons_bindings/loxone/readme.md b/_addons_bindings/loxone/readme.md index 37b75e77b..1fbda05dc 100644 --- a/_addons_bindings/loxone/readme.md +++ b/_addons_bindings/loxone/readme.md @@ -3,7 +3,7 @@ id: loxone label: Loxone title: Loxone - Bindings 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 logo: images/addons/loxone.png install: auto @@ -15,18 +15,19 @@ install: auto # 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 The following features are currently supported: - * [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/) - * 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 - * 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 +* [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/) +* 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 +* 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 ## Things @@ -38,101 +39,108 @@ The Thing UID of automatically discovered Miniservers is: `loxone:miniserver: [ user="", password="", host="", port=, ... ]` Where: - * `` is a unique ID for your Miniserver (you can but do not have to use Miniserver's MAC address here) - * `` and `` are the credentials used to log into the Miniserver - * `` is a host name or IP of the Miniserver - * `` 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 +* `` is a unique ID for your Miniserver (you can but do not have to use Miniserver's MAC address here) +* `` and `` are the credentials used to log into the Miniserver +* `` is a host name or IP of the Miniserver +* `` 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 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: - 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 There can be following reasons why Miniserver status is `OFFLINE`: -* __Configuration Error__ - * _Unknown host_ - * Miniserver host/ip address can't be resolved. No connection attempt will be made. - * _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. - * _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. - * _Internal error_ - * Probably a code defect, collect debug data and submit an issue. Binding will try to reconnect, but with unknown chance for success. - * _Other_ - * An exception occured and its details will be displayed -* __Communication Error__ - * _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: - * _"Text message size [XX] exceeds maximum size [YY]"_ - 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 - * _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. - * _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. - * _Other_ - * An exception occured and its details will be displayed - +* __Configuration Error__ + * _Unknown host_ + * Miniserver host/ip address can't be resolved. No connection attempt will be made. + * _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. + * _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. + * _Internal error_ + * Probably a code defect, collect debug data and submit an issue. Binding will try to reconnect, but with unknown chance for success. + * _Other_ + * An exception occured and its details will be displayed +* __Communication Error__ + * _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: + * _"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 &lsqbXX&rsqb exceeds maximum size &lsqbYY&rsqb"_ - adjust binary message size in advanced parameters to be above XX value + * _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. + * _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. + * _Other_ + * An exception occured and its details will be displayed ## 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| -|----|----|----|----| -|Dimmer|[Dimmer](https://www.loxone.com/enen/kb/dimmer/)|`Dimmer`|`OnOffType.*`
`Percent`| -|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)| -|Jalousie|Blinds, [Automatic Blinds](https://www.loxone.com/enen/kb/automatic-blinds/), Automatic Blinds Integrated|`Rollershutter`| `UpDown.*`
`StopMove.*`
`Percent`| -|LightController|[Lighting controller](https://www.loxone.com/enen/kb/lighting-controller/), [Hotel lighting controller](https://www.loxone.com/enen/kb/hotel-lighting-controller/)
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)
`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)| -|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)
`OnOffType.OFF` (all outputs off)| -|Switch | [Virtual inputs](https://www.loxone.com/enen/kb/virtual-inputs-outputs/) of switch type
[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`

`Number`|`OnOffType.*` (ON send pulse to Loxone)

Read-only countdown value to off| +| [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.*`
`Percent` | +| 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) | +| Jalousie | Blinds, [Automatic Blinds](https://www.loxone.com/enen/kb/automatic-blinds/), Automatic Blinds Integrated | `Rollershutter` | `UpDown.*`
`StopMove.*`
`Percent` | +| 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/)
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)
`UpDownType.*` (swipe through scenes)
`OnOffType.*` (select all off or all on scene) | +| LightControllerV2 | [Lighting controller](https://www.loxone.com/enen/kb/lighting-controller-v2/)
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)
`UpDownType.*` (swipe through moods) | +| 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) | +| Pushbutton | [Virtual inputs](https://www.loxone.com/enen/kb/virtual-inputs-outputs/) of pushbutton type | `Switch` | `OnOffType.ON` (generates Pulse command) | +| 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)
`OnOffType.OFF` (all outputs off) | +| Switch | [Virtual inputs](https://www.loxone.com/enen/kb/virtual-inputs-outputs/) of switch type
[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`

`Number` | `OnOffType.*` (ON send pulse to Loxone)

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::` +Channel ID is defined in the following way: + +* `loxone:miniserver::` Channel label is defined in the following way: - * For controls that belong to a room: ` / ` - * For controls without a room: `` +* For controls that belong to a room: ` / ` +* For controls without a room: `` ## 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: - keepAlivePeriod=120 + `keepAlivePeriod=120` ### 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.
-| 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. | | `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. | @@ -142,50 +150,54 @@ Timeout values control various parts of Websocket connection management. They ca ### 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. | | `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 - * 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 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. - * 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). - * 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. - * 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. - * 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. +* 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`. +* 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. +* 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. +* 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. ## 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). 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's user named "kryten" and password "jmc2017" - * Items for: - * 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) - * 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) - * Kitchen blinds - a Jalousie 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 - * A text displaying current alarm's state - a State functional block +* 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" +* Items for: + * 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) + * 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) + * Kitchen blinds - a Jalousie 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 + * A text displaying current alarm's state - a State functional block ### 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: @@ -201,6 +213,10 @@ Switch Reset_Lights "Switch all lights off" Rollershutter Kitchen_Blinds "Kitchen blinds" {channel="loxone:miniserver:504F2414780F:0F2E2123-014D-3232-FFEF204EB3C24B9E"} Dimmer Kitchen_Dimmer "Kitchen dimmer" ["lighting"] {channel="loxone:miniserver:504F2414780F:0F2E2123-014D-3232-FFEF207EB3C24B9E"} Number Light_Scene "Lighting scene" {channel="loxone:miniserver:504F2414780F:0FC4E0DF-0255-6ABD-FFFE403FB0C34B9E"} +Number Mood_Selector "Lighting mood" {channel="loxone:miniserver:504F2414780F:0FC4E0DF-0255-6ABD-FFFE203EA0C34B9E"} +Switch Mood_Enter_Home "Entering home" {channel="loxone:miniserver:504F2414780F:0FC4E0DF-0255-6ABD-FFFE203EA0C34B9E-M1"} +Switch Mood_Read_Book "Reading book" {channel="loxone:miniserver:504F2414780F:0FC4E0DF-0255-6ABD-FFFE203EA0C34B9E-M2"} +Switch Mood_Evening "Evening setup" {channel="loxone:miniserver:504F2414780F:0FC4E0DF-0255-6ABD-FFFE203EA0C34B9E-M3"} Number Garden_Valve "Garden watering section" {channel="loxone:miniserver:504F2414780F:0FC5E0DF-0355-6AAD-FFFE403FB0C34B9E"} String Alarm_State "Alarm state [%s]" {channel="loxone:miniserver:504F2414780F:0F2E2134-017D-3E82-FFFF433FB4A34B9E"} ``` @@ -220,6 +236,10 @@ sitemap loxone label="Loxone Example Menu" Switch item=Stairs_Light 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=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 Text item=Alarm_State } @@ -228,7 +248,7 @@ sitemap loxone label="Loxone Example Menu" ### transform/garagedoor.map: -``` +```java OFF=Closed ON=Open -=Unknown diff --git a/_addons_bindings/lutron/readme.md b/_addons_bindings/lutron/readme.md index 0645a6c0c..afef502e4 100644 --- a/_addons_bindings/lutron/readme.md +++ b/_addons_bindings/lutron/readme.md @@ -13,27 +13,26 @@ install: auto {% 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. +**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. ## Supported Things This binding currently supports the following thing types: -* dimmer -* switch -* keypad -* occupancysensor +* dimmer +* switch +* keypad +* occupancysensor ## Discovery -Discovery is supported for RadioRA 2. Discovered RadioRA 2 main repeaters will use the default lutron/integration -credentials. This can be changed in the main repeater thing configuration. +Discovery is supported for RadioRA 2. +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. @@ -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" ] ``` -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 ] @@ -59,31 +61,32 @@ Thing lutron:dimmer:livingroom (lutron:ipbridge:radiora2) [ integrationId=8, fad The following channels are supported: -| Thing Type | Channel Type ID | Item Type | Description | -|-----------------|-------------------|--------------|--------------------------------------------- | -| dimmer | lightlevel | Dimmer | Increase/decrease the light level | -| switch | switchstatus | Switch | On/off status of the switch | -| occupancysensor | occupancystatus | Switch | Occupancy status | -| keypad | button1 | 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 | button4 | 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 | button7 | 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 | buttonbottomraise | 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 | led2 | 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 | led5 | 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 | +| Thing Type | Channel Type ID | Item Type | Description | +|-----------------|-------------------|-----------|-----------------------------------------| +| dimmer | lightlevel | Dimmer | Increase/decrease the light level | +| switch | switchstatus | Switch | On/off status of the switch | +| occupancysensor | occupancystatus | Switch | Occupancy status | +| keypad | button1 | 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 | button4 | 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 | button7 | 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 | buttonbottomraise | 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 | led2 | 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 | led5 | 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 | -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 @@ -108,11 +111,73 @@ Switch TheaterScene1 { channel="lutron:keypad:theater:button1" } 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 -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 @@ -120,17 +185,22 @@ This lutron binding will also work with Grafik Eye 3x/4x systems in conjuction w ## 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 -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 ] ``` -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. ``` @@ -141,22 +211,23 @@ lutron:grafikeye:home (lutron:prgbridge:home) [ controlUnit=1, fade=10, polling= ### Bridge channels -| Channel Type ID | Readonly | Item Type | Description | -|-------------------|----------|--------------|--------------------------------------------------------------- | -| zonelowerstop | No | Switch | Stops zone lowering on all control units | -| zoneraisestop | No | Switch | Stops zone raising on all control units | -| timeclock | No | DateTime | Current time on the PRG | -| schedule | No | Number | Current Schedule (0=Disabled, 1=Weekday, 2=Weekend) | -| sunrise | Yes | DateTime | Time of Sunrise | -| sunset | Yes | DateTime | Time of Sunset | -| ssstart | No | Switch | Starts the Super Sequence | -| sspause | No | Switch | Pauses the Super Sequence | -| ssresume | No | Switch | Resumes the Super Sequence | -| ssstatus | Yes | String | Status of the Super Sequence (R=Running, S=Stopped) | -| ssnextstep | Yes | Number | Next sequence number 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 | -| buttonpress | Yes | String | Last keypad button pressed (see Appendix A) in protocol guide | +| Channel Type ID | Readonly | Item Type | Description | +|-----------------|----------|-----------|---------------------------------------------------------------| +| zonelowerstop | No | Switch | Stops zone lowering on all control units | +| zoneraisestop | No | Switch | Stops zone raising on all control units | +| timeclock | No | DateTime | Current time on the PRG | +| schedule | No | Number | Current Schedule (0=Disabled, 1=Weekday, 2=Weekend) | +| sunrise | Yes | DateTime | Time of Sunrise | +| sunset | Yes | DateTime | Time of Sunset | +| ssstart | No | Switch | Starts the Super Sequence | +| sspause | No | Switch | Pauses the Super Sequence | +| ssresume | No | Switch | Resumes the Super Sequence | +| ssstatus | Yes | String | Status of the Super Sequence (R=Running, S=Stopped) | +| ssnextstep | Yes | Number | Next sequence number 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 | +| buttonpress | Yes | String | Last keypad button pressed (see Appendix A) in protocol guide | + ### Grafik Eye channels @@ -175,23 +246,25 @@ lutron:grafikeye:home (lutron:prgbridge:home) [ controlUnit=1, fade=10, polling= ### 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. -* Sunset/sunrise will only be available if configured via the Liasion software -* scenelock, sceneseq, zonelock cannot be determined from the API and will default to OFF on startup -* 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). -* The zonefade value will only be used when zonelower/zonereaise/zoneintensity is issued. -* 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. - +* 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. +* Sunset/sunrise will only be available if configured via the Liasion software +* scenelock, sceneseq, zonelock cannot be determined from the API and will default to OFF on startup +* 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). +* The zonefade value will only be used when zonelower/zonereaise/zoneintensity is issued. +* 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: ``` 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: @@ -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_ZoneShade8 "Zone 8 Shade" { channel="lutron:grafikeye:home:zoneshade8" } ``` - diff --git a/_addons_bindings/max/readme.md b/_addons_bindings/max/readme.md index 7e8d1780d..49ecc3287 100644 --- a/_addons_bindings/max/readme.md +++ b/_addons_bindings/max/readme.md @@ -31,15 +31,18 @@ This binding support 6 different things types | ecoswitch | Thing | MAX! Ecoswitch. | | shuttercontact | Thing | MAX! Shuttercontact / Window Contact. | + 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. ## Discovery 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 @@ -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. 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 @@ -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 | | 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 -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: @@ -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"} 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"} - - ``` demo.sitemap: @@ -108,41 +112,49 @@ sitemap demo label="Main Menu" Text item=maxActual icon="temperature" Switch item=maxBattery } - + } ``` ## 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. -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. +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 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 -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 -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 -* _ntpServer2_ The hostname for NTP Server 2 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 ## 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 -* _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. \ No newline at end of file +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. diff --git a/_addons_bindings/meteostick/readme.md b/_addons_bindings/meteostick/readme.md index 438e90bd5..b3699c408 100644 --- a/_addons_bindings/meteostick/readme.md +++ b/_addons_bindings/meteostick/readme.md @@ -3,7 +3,7 @@ id: meteostick label: Meteostick title: Meteostick - Bindings 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 install: auto --- @@ -14,7 +14,8 @@ install: auto # 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 @@ -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: -| Mode | Device | Region |Frequency | +| Mode | Device | Region | Frequency | |-------|--------------|------------------|-----------| | 0 | Davis | North America | 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 -| Channel Type ID | Item Type | Description | -|------------------|------------------------|--------------| -| pressure | Number | Air pressure | -| indoor-temperature | Number | Indoor temperature | +| Channel Type ID | Item Type | Description | +|--------------------|-----------|--------------------| +| pressure | Number | Air pressure | +| indoor-temperature | Number | Indoor temperature | ### Davis ISS -| Channel Type ID | Item Type | Description | -|------------------|------------------------|--------------| -| outdoor-temperature | Number | Outside temperature | -| humidity | Number | Humidity | -| wind-direction | Number | Wind direction | -| wind-speed | Number | Wind speed | -| rain-raw | Number | Raw rain counter from the tipping bucket sensor | -| rain-currenthour | Number | The rainfall in the last 60 minutes | -| rain-lasthour | Number | The rainfall in the previous hour | -| solar-power | Number | Solar power from the sensor station | -| signal-strength | Number | Received signal strength | -| low-battery | Number | Low battery warning | +| Channel Type ID | Item Type | Description | +|---------------------|-----------|-------------------------------------------------| +| outdoor-temperature | Number | Outside temperature | +| humidity | Number | Humidity | +| wind-direction | Number | Wind direction | +| wind-speed | Number | Wind speed | +| rain-raw | Number | Raw rain counter from the tipping bucket sensor | +| rain-currenthour | Number | The rainfall in the last 60 minutes | +| rain-lasthour | Number | The rainfall in the previous hour | +| solar-power | Number | Solar power from the sensor station | +| signal-strength | Number | Received signal strength | +| low-battery | Number | Low battery warning | + #### Rainfall -There are three channels associated with 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. The rainfall -in the previous hour is the rainfall for each hour of the day and is updated on the hour. +There are three channels associated with 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. +The rainfall in the previous hour is the rainfall for each hour of the day and is updated on the hour. ## Full Example diff --git a/_addons_bindings/miele/readme.md b/_addons_bindings/miele/readme.md index c436e70da..1b0a04b66 100644 --- a/_addons_bindings/miele/readme.md +++ b/_addons_bindings/miele/readme.md @@ -3,7 +3,7 @@ id: miele label: Miele@home title: Miele@home - Bindings 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 logo: images/addons/miele.png install: auto @@ -15,7 +15,9 @@ install: auto # 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 @@ -32,14 +34,16 @@ Washingmachine ## 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 -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"] { @@ -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). - -## Full Example +## Example 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"} Switch MieleFridgeStart (gMiele,gMieleFridge) {channel="miele:fridge:dilbeek:fridge:start"} ``` - diff --git a/_addons_bindings/mihome/readme.md b/_addons_bindings/mihome/readme.md index ffbda8b11..84ac479c7 100644 --- a/_addons_bindings/mihome/readme.md +++ b/_addons_bindings/mihome/readme.md @@ -15,75 +15,75 @@ install: auto # 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). ## Supported devices -* Xiaomi Smart Gateway v2 (with radio support) -* Xiaomi Smart Temperature and Humidity Sensor (round one) -* Xiaomi Smart Door/Window Sensor (round one) -* Xiaomi Wireless Switch (round one) -* Xiaomi Motion Sensor / IR Human Body sensor -* Xiaomi Smart Plug -* Xiaomi Smart Magic Cube -* Xiaomi Aqara ZigBee Wired Wall Switch (1 and 2 buttons) -* Xiaomi Aqara ZigBee Wireless Wall Switch (1 and 2 buttons) -* Xiaomi Aqara Smart Curtain -* Xiaomi Aqara Water Leak Sensor -* Xiaomi Aqara Wireless Switch (square one) -* Xiaomi Aqara Temperature, Humidity and Pressure Sensor (square one) -* Xiaomi Aqara Door/Window Sensor (square one) -* Xiaomi Aqara Motion Sensor (with light intensity support) -* Xiaomi Mijia Honeywell Gas Alarm Detector -* Xiaomi Mijia Honeywell Fire Alarm Detector +* Xiaomi Smart Gateway v2 (with radio support) +* Xiaomi Smart Temperature and Humidity Sensor (round one) +* Xiaomi Smart Door/Window Sensor (round one) +* Xiaomi Wireless Switch (round one) +* Xiaomi Motion Sensor / IR Human Body sensor +* Xiaomi Smart Plug +* Xiaomi Smart Magic Cube +* Xiaomi Aqara ZigBee Wired Wall Switch (1 and 2 buttons) +* Xiaomi Aqara ZigBee Wireless Wall Switch (1 and 2 buttons) +* Xiaomi Aqara Smart Curtain +* Xiaomi Aqara Water Leak Sensor +* Xiaomi Aqara Wireless Switch (square one) +* Xiaomi Aqara Temperature, Humidity and Pressure Sensor (square one) +* Xiaomi Aqara Door/Window Sensor (square one) +* Xiaomi Aqara Motion Sensor (with light intensity support) +* Xiaomi Mijia Honeywell Gas Alarm Detector +* Xiaomi Mijia Honeywell Fire Alarm Detector (not yet confirmed) -* Xiaomi Aqara Neutral Wall Switch (1 and 2 buttons) +* Xiaomi Aqara Neutral Wall Switch (1 and 2 buttons) ## Setup -* Install the binding -* Setup Gateway to be discoverable +* Install the binding +* Setup Gateway to be discoverable - 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) - 1. 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) - 1. Enable developer mode: + 1. Add Gateway 2 or 3 to your WiFi Network + 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) + 3. Set your region to Mainland China under Settings -> Locale (seems to be required) + 4. Update gateway to the latest firmware (note that update window may pop up sequentially) + 5. Enable developer mode: - 1. Select your Gateway in the MiHome app - 1. 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 - 1. You should now have 2 extra options listed: `local area network communication protocol` and `gateway information` - 1. Choose `local area network communication protocol` - 1. 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 + 1. Select your Gateway in the MiHome app + 2. Go to the "..." menu on the top right corner and click "About" + 3. Tap the version number "Version : 2.XX" at the bottom of the screen repeatedly until you enable developer mode + 4. You should now have 2 extra options listed: `local area network communication protocol` and `gateway information` + 5. Choose `local area network communication protocol` + 6. Tap the toggle switch to enable LAN functions. Note down the developer key (something like: 91bg8zfkf9vd6uw7) + 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 -* 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 +* 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 +* 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) -* 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 There are two ways of connecting Xiaomi devices to the gateway: -* Online - within the MiHome App -* Offline - manual +* Online - within the MiHome App +* Offline - manual - 1. Click 3 times on the Gateway's button - 1. 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 - 1. You'll hear confirmation message in Chinese - 1. The device appears in openHAB thing Inbox + 1. Click 3 times on the Gateway's button + 2. Gateway will flash in blue and you will hear female voice in Chinese + 3. Place the needle into the sensor and hold it for at least 3 seconds + 4. You'll hear confirmation message in Chinese + 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) -* 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. +* 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 ## Important information @@ -322,7 +322,7 @@ end ``` sitemap xiaomi label="Xiaomi" { - + Frame { ... @@ -332,12 +332,12 @@ sitemap xiaomi label="Xiaomi" { Selection item=Gateway_Sound mappings=[ 0="police car 1", 1="police car 2", 2="accident", - 3="countdown", + 3="countdown", 4="ghost", 5="sniper rifle", 6="battle", 7="air raid", - 8="bark", + 8="bark", 10="doorbell", 11="knock at a door", 12="amuse", @@ -345,12 +345,12 @@ sitemap xiaomi label="Xiaomi" { 20="mimix", 21="enthusuastic", 22="guitar classic", - 23="ice world piano", - 24="leisure time", - 25="child hood", - 26="morning stream liet", - 27="music box", - 28="orange", + 23="ice world piano", + 24="leisure time", + 25="child hood", + 26="morning stream liet", + 27="music box", + 28="orange", 29="thinker"] } } diff --git a/_addons_bindings/milight/readme.md b/_addons_bindings/milight/readme.md index 88ba13ac3..53decf27a 100644 --- a/_addons_bindings/milight/readme.md +++ b/_addons_bindings/milight/readme.md @@ -20,7 +20,9 @@ This binding is for using your Milight, Easybulb or LimitlessLed bulbs and the i ## 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 | |--------------------|:--------------:|:-----:|:-----:| @@ -30,23 +32,25 @@ The binding supports Milight/Easybulb bridges from 2014+, iBox from 2016 and iBo | 2016 RGB/White | | ✓ | ✓ | | 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). ## Discovery -All supported bridges can be discovered by triggering a search in openHAB's Inbox. Found bridges -will show up and can easily be added as things. +All supported bridges can be discovered by triggering a search in openHAB's Inbox. +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 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. -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 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. 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 -* Bridge milight:bridgeV3: [ ADDR="", ID="" ] -* Bridge milight:bridgeV6: [ ADDR="", ID="" ] +* Bridge milight:bridgeV3: &lsqb ADDR="", ID="" &rsqb +* Bridge milight:bridgeV6: &lsqb ADDR="", ID="" &rsqb The Thing configuration for the bulbs uses the following syntax: -[Thing] +&lsqbThing&rsqb The following bulb types are valid for configuration: - * rgbv2Led: The very first available bulb. Not very common anymore. - * 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). - * 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. - * 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. +* rgbv2Led: The very first available bulb. Not very common anymore. +* 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). +* 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. +* 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 -a valid zone number (1-4 with bridges up to and including version 6). +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). Future bridges may support more zones. ## Features @@ -81,7 +84,7 @@ Future bridges may support more zones. For dual white bulbs these channels are supported: 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 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) ledbrightness Controls the brightness of your bulbs 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 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. @@ -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 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: -* 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 - .items + .items 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_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 - 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 # your items file. # 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: Dimmer AnimationMode {channel="milight:rgbLed:ACCF23A6C0B4:5:animation_mode_relative"} @@ -154,7 +157,6 @@ Limitations: Switch item=AnimationSpeed mappings=[DECREASE='-', INCREASE='+'] Switch item=Light_GroundfloorN mappings=[ON='Night Mode'] - ## Example for Scenes .items @@ -172,31 +174,30 @@ Limitations: rule "Light Scenes" when - Item Light_scene received command + Item Light_scene received command then - if (receivedCommand==0) { + if (receivedCommand==0) { 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))) } - if (receivedCommand==2) { + if (receivedCommand==2) { 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))) } - if (receivedCommand==4) { + if (receivedCommand==4) { 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))) } - if (receivedCommand==6) { + if (receivedCommand==6) { 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))) } end - diff --git a/_addons_bindings/minecraft/readme.md b/_addons_bindings/minecraft/readme.md index 9dcd9573b..a5b91f49b 100644 --- a/_addons_bindings/minecraft/readme.md +++ b/_addons_bindings/minecraft/readme.md @@ -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)). -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 @@ -27,7 +28,8 @@ The binding allows reading of server and player data. It furthermore keeps track ## 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 @@ -35,38 +37,40 @@ Depending on the thing type, different channels are provided: ### Server -| Channel Type ID | Item Type | Description | -|------------------|------------------------|--------------| -| name | String | Name of Minecraft server | -| online | Switch | Online status | -| bukkitVersion | String | The bukkit version running on server | -| version | String | The Minecraft version running on server | -| players | Number | The number of players on server | -| maxPlayers | Number | The maximum number of players on server | +| Channel Type ID | Item Type | Description | +|-----------------|-----------|-----------------------------------------| +| name | String | Name of Minecraft server | +| online | Switch | Online status | +| bukkitVersion | String | The bukkit version running on server | +| version | String | The Minecraft version running on server | +| players | Number | The number of players on server | +| maxPlayers | Number | The maximum number of players on server | + ### Player -| Channel Type ID | Item Type | Description | -|------------------|------------------------|--------------| -| playerName | String | The name of the player | -| playerOnline | Switch | Is the player connected to the server | -| playerLevel | Number | The current level of the player | -| playerTotalExperience | Number | The total experience of the player | -| playerExperiencePercentage | Number | The percentage of the experience bar filled for next level | -| playerHealth | Number | The health of the player | -| playerWalkSpeed | Number | The speed of the player | -| playerLocation | Location | The player location | -| playerGameMode | Number | The players game mode | +| Channel Type ID | Item Type | Description | +|----------------------------|-----------|------------------------------------------------------------| +| playerName | String | The name of the player | +| playerOnline | Switch | Is the player connected to the server | +| playerLevel | Number | The current level of the player | +| playerTotalExperience | Number | The total experience of the player | +| playerExperiencePercentage | Number | The percentage of the experience bar filled for next level | +| playerHealth | Number | The health of the player | +| playerWalkSpeed | Number | The speed of the player | +| playerLocation | Location | The player location | +| playerGameMode | Number | The players game mode | + ### Sign -| Channel Type ID | Item Type | Description | -|------------------|------------------------|--------------| -| signActive | Switch | Does the sign have powered redstone below it | +| Channel Type ID | Item Type | Description | +|-----------------|-----------|----------------------------------------------| +| signActive | Switch | Does the sign have powered redstone below it | + Active switch (Controllable from openHAB) Passive sensor - diff --git a/_addons_bindings/nest/readme.md b/_addons_bindings/nest/readme.md index 2aa09efc3..58e66a2a5 100644 --- a/_addons_bindings/nest/readme.md +++ b/_addons_bindings/nest/readme.md @@ -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: -| Things | Description | Thing Type | -| --------------------------------------- | ---------------------------------------- | -------------- | -| 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 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 | -| Nest Thermostat (E) | A Thermostat to control the various aspects of the house's HVAC system | thermostat | +| Things | Description | Thing Type | +|-----------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|----------------| +| 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 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 | +| Nest Thermostat (E) | A Thermostat to control the various aspects of the house's HVAC system | thermostat | ## Authorization @@ -62,67 +62,68 @@ The account Thing Type does not have any channels. ### Camera Channels - -| Channel Type ID | Item Type | Description | Read Write | -| --------------------- | --------- | ---------------------------------------- | :--------: | -| app_url | String | The app URL to see the camera | 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_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 | -| streaming | Switch | If the camera is currently streaming | R/W | -| video_history_enabled | Switch | If the video history is currently enabled | R | -| web_url | String | The web URL to see the camera | R | +| Channel Type ID | Item Type | Description | Read Write | +|-----------------------|-----------|---------------------------------------------------|:----------:| +| app_url | String | The app URL to see the camera | 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_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 | +| streaming | Switch | If the camera is currently streaming | R/W | +| video_history_enabled | Switch | If the video history is currently enabled | R | +| web_url | String | The web URL to see the camera | R | ### Smoke Detector Channels -| 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 | -| 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 | -| 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 | +| 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 | +| 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 | +| 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 | ### Structure Channels -| Channel Type ID | Item Type | Description | Read Write | -| ---------------------------- | --------- | ---------------------------------------- | :--------: | -| 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 | -| 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 | -| 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 | -| postal_code | String | Postal code of the structure | 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 | -| time_zone | String | The time zone for the structure ([IANA time zone format](http://www.iana.org/time-zones)) | R | +| Channel Type ID | Item Type | Description | Read Write | +|------------------------------|-----------|--------------------------------------------------------------------------------------------------------|:----------:| +| 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 | +| 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 | +| 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 | +| postal_code | String | Postal code of the structure | 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 | +| time_zone | String | The time zone for the structure ([IANA time zone format](http://www.iana.org/time-zones)) | R | ### Thermostat Channels -| Channel Type ID | Item Type | Description | Read Write | -| --------------------------- | --------- | ---------------------------------------- | :--------: | -| can_cool | Switch | If the thermostat can actually turn on cooling | 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_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 | -| has_leaf | Switch | If the thermostat is currently in a leaf mode | R | -| humidity | Number | Indicates the current relative humidity | R | -| locked | Switch | If the thermostat has the temperature locked to only be within a set range | R | -| locked_max_set_point | Number | The locked range max set point in degrees Celsius | R/W | -| locked_min_set_point | Number | The locked range min set point in degrees Celsius | R/W | -| max_set_point | Number | The max set point in degrees Celsius | R/W | -| min_set_point | Number | The min set point in degrees Celsius | R/W | -| mode | String | Current mode of the Nest thermostat (HEAT, COOL, HEAT_COOL, ECO, OFF) | R/W | -| previous_mode | String | The previous mode of the Nest thermostat (HEAT, COOL, HEAT_COOL, ECO, OFF) | R | -| temperature | Number | Current temperature in degrees Celsius | R | -| time_to_target_mins | Number | Time left to the target temperature (mins) approximately | R | -| set_point | Number | The set point in degrees Celsius | R/W | -| 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 | +| Channel Type ID | Item Type | Description | Read Write | +|-----------------------------|-----------|---------------------------------------------------------------------------------------------|:----------:| +| can_cool | Switch | If the thermostat can actually turn on cooling | 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_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_timeout | DateTime | Timestamp when the fan stops running | R | +| has_fan | Switch | If the thermostat can control the fan | R | +| has_leaf | Switch | If the thermostat is currently in a leaf mode | R | +| humidity | Number | Indicates the current relative humidity | R | +| locked | Switch | If the thermostat has the temperature locked to only be within a set range | R | +| locked_max_set_point | Number | The locked range max set point in degrees Celsius | R/W | +| locked_min_set_point | Number | The locked range min set point in degrees Celsius | R/W | +| max_set_point | Number | The max set point in degrees Celsius | R/W | +| min_set_point | Number | The min set point in degrees Celsius | R/W | +| mode | String | Current mode of the Nest thermostat (HEAT, COOL, HEAT_COOL, ECO, OFF) | R/W | +| previous_mode | String | The previous mode of the Nest thermostat (HEAT, COOL, HEAT_COOL, ECO, OFF) | R | +| state | String | The active state of the Nest thermostat (HEATING, COOLING, OFF) | R | +| temperature | Number | Current temperature in degrees Celsius | R | +| time_to_target_mins | Number | Time left to the target temperature (mins) approximately | R | +| set_point | Number | The set point in degrees Celsius | R/W | +| 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: @@ -171,6 +172,9 @@ String Smoke_UI_Color "UI Color [%s]" { channel="nest:smoke_detector:demo_ /* Thermostat */ 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_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_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" } @@ -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" } 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_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" } 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" } diff --git a/_addons_bindings/onkyo/readme.md b/_addons_bindings/onkyo/readme.md index 4118ddfd9..466cd90e9 100644 --- a/_addons_bindings/onkyo/readme.md +++ b/_addons_bindings/onkyo/readme.md @@ -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. - ## Discovery This binding can discover the supported Onkyo AV Receivers. At the moment only the following models are supported: -* TX-NR414 -* TX-NR509 -* TX-NR515 -* TX-NR525 -* TX-NR535 -* TX-NR555 -* TX-NR535 -* TX-NR616 -* TX-NR626 -* TX-NR636 -* TX-NR646 -* TX-NR656 -* TX-NR717 -* TX-NR727 -* TX-NR737 -* TX-NR747 -* TX-NR818 -* TX-NR828 -* TX-NR838 +- TX-NR414 +- TX-NR509 +- TX-NR515 +- TX-NR525 +- TX-NR535 +- TX-NR555 +- TX-NR535 +- TX-NR616 +- TX-NR626 +- TX-NR636 +- TX-NR646 +- TX-NR656 +- TX-NR717 +- TX-NR727 +- TX-NR737 +- TX-NR747 +- TX-NR818 +- TX-NR828 +- TX-NR838 ## 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: -``` +```text 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": -| Parameter | Name | Description | Required | -|-----------------|------------------------|--------------|------------ | -| callbackUrl | Callback URL | URL to use for playing notification sounds, e.g. http://192.168.0.2:8080 | no | +| Parameter | Name | Description | Required | +|-------------|--------------|--------------------------------------------------------------------------|----------| +| callbackUrl | Callback URL | URL to use for playing notification sounds, e.g. http://192.168.0.2:8080 | no | ## Thing Configuration 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 Model specific -``` -onkyo:TX-NR818:myOnkyo [ipAddress="192.168.1.100", port=60128] +```text +onkyo:TX-NR818:avr-livingroom [ipAddress="192.168.1.100", port=60128] ``` or Generic model -``` -onkyo:onkyoAVR:myOnkyo [ipAddress="192.168.1.100", port=60128] +```text +onkyo:onkyoAVR:avr-livingroom [ipAddress="192.168.1.100", port=60128] ``` Optionally you can specify the refresh interval by refreshInterval parameter. -``` -onkyo:onkyoAVR:myOnkyo [ipAddress="192.168.1.100", port=60128, refreshInterval=30] +```text +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. -``` -onkyo:onkyoAVR:myOnkyo [ipAddress="192.168.1.100", port=60128, volumeLimit=50] +```text +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%). @@ -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): -| Channel Type ID | Item Type | Description | -|-------------------------|--------------|--------------| -| zone1#power | Switch | Power on/off your device | -| zone1#mute | Switch | Mute/unmute zone 1 | -| zone1#input | Number | The input for zone 1 | -| zone1#volume | Dimmer | Volume of zone 1 | -| zone2#power | Switch | Power on/off zone 2 | -| zone2#mute | Switch | Mute/unmute zone 2 | -| zone2#input | Number | The input for zone 2 | -| zone2#volume | Dimmer | Volume of zone 2 | -| zone3#power | Switch | Power on/off zone 3 | -| zone3#mute | Switch | Mute/unmute zone 3 | -| zone3#input | Number | The input for 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#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#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#listenmode | Number | Current listening mode e.g. Stereo, 5.1ch Surround,..| -| player#playuri | String | Plays the URI provided to the channel | -| 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 | -| 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#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#item1 | String | The text of USB/Net Menu entry 1 -| netmenu#item2 | String | The text of USB/Net Menu entry 2 -| netmenu#item3 | String | The text of USB/Net Menu entry 3 -| netmenu#item4 | String | The text of USB/Net Menu entry 4 -| netmenu#item5 | String | The text of USB/Net Menu entry 5 -| netmenu#item6 | String | The text of USB/Net Menu entry 6 -| netmenu#item7 | String | The text of USB/Net Menu entry 7 -| netmenu#item8 | String | The text of USB/Net Menu entry 8 -| netmenu#item9 | String | The text of USB/Net Menu entry 9 +| Channel Type ID | Item Type | Description | +|---------------------------|-----------|------------------------------------------------------------------------------------------------------------------| +| zone1#power | Switch | Power on/off your device | +| zone1#mute | Switch | Mute/unmute zone 1 | +| zone1#input | Number | The input for zone 1 | +| zone1#volume | Dimmer | Volume of zone 1 | +| zone2#power | Switch | Power on/off zone 2 | +| zone2#mute | Switch | Mute/unmute zone 2 | +| zone2#input | Number | The input for zone 2 | +| zone2#volume | Dimmer | Volume of zone 2 | +| zone3#power | Switch | Power on/off zone 3 | +| zone3#mute | Switch | Mute/unmute zone 3 | +| zone3#input | Number | The input for 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#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#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#listenmode | Number | Current listening mode e.g. Stereo, 5.1ch Surround,.. | +| player#playuri | String | Plays the URI provided to the channel | +| 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 | +| 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#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#item1 | String | The text of USB/Net Menu entry 1 | +| netmenu#item2 | String | The text of USB/Net Menu entry 2 | +| netmenu#item3 | String | The text of USB/Net Menu entry 3 | +| netmenu#item4 | String | The text of USB/Net Menu entry 4 | +| netmenu#item5 | String | The text of USB/Net Menu entry 5 | +| netmenu#item6 | String | The text of USB/Net Menu entry 6 | +| netmenu#item7 | String | The text of USB/Net Menu entry 7 | +| netmenu#item8 | String | The text of USB/Net Menu entry 8 | +| netmenu#item9 | String | The text of USB/Net Menu entry 9 | ## Input Source Mapping Here after are the ID values of the input sources: -* 00: DVR/VCR -* 01: SATELLITE/CABLE -* 02: GAME -* 03: AUX -* 04: GAME -* 05: 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 +- 00: DVR/VCR +- 01: SATELLITE/CABLE +- 02: GAME +- 03: AUX +- 04: GAME +- 05: 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 ## Item Configuration demo.items -``` -Switch avr1Z1_Power "Power" { channel="onkyo:onkyoAVR:avr1:zone1#power" } -Switch avr1Z1_Mute "Mute" { channel="onkyo:onkyoAVR:avr1:zone1#mute" } -Number avr1Z1_Input "Input [%s]" { channel="onkyo:onkyoAVR:avr1:zone1#input" } -Dimmer avr1Z1_Volume "Volume [%d]" { channel="onkyo:onkyoAVR:avr1:zone1#volume" } +```java +Switch avrLrZ1_Power "Power" { channel="onkyo:onkyoAVR:avr-livingroom:zone1#power" } +Switch avrLrZ1_Mute "Mute" { channel="onkyo:onkyoAVR:avr-livingroom:zone1#mute" } +Number avrLrZ1_Input "Input [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:zone1#input" } +Dimmer avrLrZ1_Volume "Volume [%d]" { channel="onkyo:onkyoAVR:avr-livingroom:zone1#volume" } -Switch avr1Z2_Power "Power [%s]" { channel="onkyo:onkyoAVR:avr1:zone2#power" } -Switch avr1Z2_Mute "Mute [%s]" { channel="onkyo:onkyoAVR:avr1:zone2#mute" } -Number avr1Z2_Input "Input [%s]" { channel="onkyo:onkyoAVR:avr1:zone2#input" } -Dimmer avr1Z2_Volume "Volume [%s]" { channel="onkyo:onkyoAVR:avr1:zone2#volume" } +Switch avrLrZ2_Power "Power [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:zone2#power" } +Switch avrLrZ2_Mute "Mute [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:zone2#mute" } +Number avrLrZ2_Input "Input [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:zone2#input" } +Dimmer avrLrZ2_Volume "Volume [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:zone2#volume" } -Player avr1Player_Control "Control" { channel="onkyo:onkyoAVR:avr1:player#control" } -String avr1Player_Title "Title [%s]" { channel="onkyo:onkyoAVR:avr1:player#title" } -String avr1Player_Album "Album [%s]" { channel="onkyo:onkyoAVR:avr1:player#album" } -String avr1Player_Artist "Artist [%s]" { channel="onkyo:onkyoAVR:avr1:player#artist" } -String avr1Player_CurrentPlayingTime "CurrentPlayingTime [%s]" { channel="onkyo:onkyoAVR:avr1:player#currentPlayingTime" } -Number avr1Player_Listenmode "Listenmode [%d]" { channel="onkyo:onkyoAVR:avr1:player#listenmode" } -String avr1Player_PlayURI "PlayURI [%s]" { channel="onkyo:onkyoAVR:avr1:player#playuri" } -Image avr1Player_AlbumArt "AlbumArt [%s]" { channel="onkyo:onkyoAVR:avr1:player#albumArt" } -String avr1Player_AlbumArtUrl "AlbumArtUrl [%s]" { channel="onkyo:onkyoAVR:avr1:player#albumArtUrl" } +Player avrLrPlayer_Control "Control" { channel="onkyo:onkyoAVR:avr-livingroom:player#control" } +String avrLrPlayer_Title "Title [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:player#title" } +String avrLrPlayer_Album "Album [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:player#album" } +String avrLrPlayer_Artist "Artist [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:player#artist" } +String avrLrPlayer_CurrentPlayingTime "CurrentPlayingTime [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:player#currentPlayingTime" } +Number avrLrPlayer_Listenmode "Listenmode [%d]" { channel="onkyo:onkyoAVR:avr-livingroom:player#listenmode" } +String avrLrPlayer_PlayURI "PlayURI [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:player#playuri" } +Image avrLrPlayer_AlbumArt "AlbumArt [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:player#albumArt" } +String avrLrPlayer_AlbumArtUrl "AlbumArtUrl [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:player#albumArtUrl" } -String avr1Net_Title "Title [%s]" { channel="onkyo:onkyoAVR:avr1:netmenu#title" } -String avr1Net_Control "Control" { channel="onkyo:onkyoAVR:avr1:netmenu#control" } -Number avr1Net_Selection "Selection [%d]" { channel="onkyo:onkyoAVR:avr1:netmenu#selection" } -String avr1Net_Item0 "Item0 [%s]" { channel="onkyo:onkyoAVR:avr1:netmenu#item0" } -String avr1Net_Item1 "Item1 [%s]" { channel="onkyo:onkyoAVR:avr1:netmenu#item1" } -String avr1Net_Item2 "Item2 [%s]" { channel="onkyo:onkyoAVR:avr1:netmenu#item2" } -String avr1Net_Item3 "Item3 [%s]" { channel="onkyo:onkyoAVR:avr1:netmenu#item3" } -String avr1Net_Item4 "Item4 [%s]" { channel="onkyo:onkyoAVR:avr1:netmenu#item4" } -String avr1Net_Item5 "Item5 [%s]" { channel="onkyo:onkyoAVR:avr1:netmenu#item5" } -String avr1Net_Item6 "Item6 [%s]" { channel="onkyo:onkyoAVR:avr1:netmenu#item6" } -String avr1Net_Item7 "Item7 [%s]" { channel="onkyo:onkyoAVR:avr1:netmenu#item7" } -String avr1Net_Item8 "Item8 [%s]" { channel="onkyo:onkyoAVR:avr1:netmenu#item8" } -String avr1Net_Item9 "Item9 [%s]" { channel="onkyo:onkyoAVR:avr1:netmenu#item9" } +String avrLrNet_Title "Title [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#title" } +String avrLrNet_Control "Control" { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#control" } +Number avrLrNet_Selection "Selection [%d]" { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#selection" } +String avrLrNet_Item0 "Item0 [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item0" } +String avrLrNet_Item1 "Item1 [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item1" } +String avrLrNet_Item2 "Item2 [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item2" } +String avrLrNet_Item3 "Item3 [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item3" } +String avrLrNet_Item4 "Item4 [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item4" } +String avrLrNet_Item5 "Item5 [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item5" } +String avrLrNet_Item6 "Item6 [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item6" } +String avrLrNet_Item7 "Item7 [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item7" } +String avrLrNet_Item8 "Item8 [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item8" } +String avrLrNet_Item9 "Item9 [%s]" { channel="onkyo:onkyoAVR:avr-livingroom:netmenu#item9" } ``` ## Sitemap Configuration demo.sitemap -``` +```perl sitemap demo label="Onkyo AVR" { Frame label="Zone1" { - Switch item=avr1Z1_Power - Switch item=avr1Z1_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 -RNETRADIO', 41='USB', 42='USB_BACK', 43='NETWORK', 45='AIRPLAY', 48='MULTICH', 50='SIRIUS' ] - Slider item=avr1Z1_Volume + Switch item=avrLrZ1_Power + Switch item=avrLrZ1_Mute + 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' ] + Slider item=avrLrZ1_Volume } Frame label="Zone 2" { - Switch item=avr1Z2_Power - Switch item=avr1Z2_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 -RNETRADIO', 41='USB', 42='USB_BACK', 43='NETWORK', 45='AIRPLAY', 48='MULTICH', 50='SIRIUS' ] - Slider item=avr1Z2_Volume + Switch item=avrLrZ2_Power + Switch item=avrLrZ2_Mute + 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' ] + Slider item=avrLrZ2_Volume } Frame label="Player" { - Default item=avr1Player_Control - Text item=avr1Player_Title - Text item=avr1Player_Album - Text item=avr1Player_Artist - Text item=avr1Player_CurrentPlayingTime - Selection item=avr1Player_Listenmode mappings=[0=Stereo, 1=Direct, 2=Surround, 15=Mono, 31="Whole House", 66="THX Cinema"] + Default item=avrLrPlayer_Control + Text item=avrLrPlayer_Title + Text item=avrLrPlayer_Album + Text item=avrLrPlayer_Artist + Text item=avrLrPlayer_CurrentPlayingTime + Selection item=avrLrPlayer_Listenmode mappings=[0=Stereo, 1=Direct, 2=Surround, 15=Mono, 31="Whole House", 66="THX Cinema"] } Frame label="NetMenu" { - Text item=avr1Net_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 -elect5='Select5', Select6='Select6', Select7='Select7', Select8='Select8', Select9='Select9' ] - 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=avr1Net_Item0 - Text item=avr1Net_Item1 - Text item=avr1Net_Item2 - Text item=avr1Net_Item3 - Text item=avr1Net_Item4 - Text item=avr1Net_Item5 - Text item=avr1Net_Item6 - Text item=avr1Net_Item7 - Text item=avr1Net_Item8 - Text item=avr1Net_Item9 + Text item=avrLrNet_Title + 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' ] + 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' ] + Text item=avrLrNet_Item0 + Text item=avrLrNet_Item1 + Text item=avrLrNet_Item2 + Text item=avrLrNet_Item3 + Text item=avrLrNet_Item4 + Text item=avrLrNet_Item5 + Text item=avrLrNet_Item6 + Text item=avrLrNet_Item7 + Text item=avrLrNet_Item8 + Text item=avrLrNet_Item9 } } ``` ## Audio Support -+ All supported Onkyo AVRs are registered as an audio sink in the framework. -+ Audio streams are sent to the `playuri` channel. +All supported Onkyo AVRs are registered as an audio sink in the framework. +Audio streams are sent to the `playuri` channel. \ No newline at end of file diff --git a/_addons_bindings/silvercrestwifisocket/readme.md b/_addons_bindings/silvercrestwifisocket/readme.md index 4fc80bd79..449395349 100644 --- a/_addons_bindings/silvercrestwifisocket/readme.md +++ b/_addons_bindings/silvercrestwifisocket/readme.md @@ -3,7 +3,7 @@ id: silvercrestwifisocket label: Silvercrest Wifi Plug title: Silvercrest Wifi Plug - Bindings 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 logo: images/addons/silvercrestwifisocket.png install: auto @@ -15,11 +15,12 @@ install: auto # 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 - 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 @@ -32,21 +33,22 @@ The binding does not require any special configuration. The Wifi Socket should b ## 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: -| Parameter ID | Parameter Type | Mandatory | Description | Default | -|--------------|----------------|------|------------------|-----| -| macAddress | text | true | The socket MAC 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 | +| Parameter ID | Parameter Type | Mandatory | Description | Default | +|------------------|------------------|-------------|---------------------------------------------------------------------------------|-------------------| +| macAddress | text | true | The socket MAC 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 | +| vendor | option | true | The vendor of the system ("Aldi_EasyHome" or "Lidl_Silvercrest") | Lidl_Silvercrest | E.g. ``` -Thing silvercrestwifisocket:wifiSocket:lamp [ macAddress="ACCF23343C50" ] +Thing silvercrestwifisocket:wifiSocket:lamp [ macAddress="ACCF23343C50", vendor="Aldi_EasyHome" ] ``` ## Channels diff --git a/_addons_bindings/tankerkoenig/readme.md b/_addons_bindings/tankerkoenig/readme.md index b460e9ba8..c5a30c363 100644 --- a/_addons_bindings/tankerkoenig/readme.md +++ b/_addons_bindings/tankerkoenig/readme.md @@ -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: +-minimal Java Varsion is 1.8.0_101-b13 (otherwise the https request will not produce a usable return) + -a personal API-Key Demand free Tankerkönig API key from: https://creativecommons.tankerkoenig.de/ Select the tab "API-Key". diff --git a/_addons_bindings/tellstick/readme.md b/_addons_bindings/tellstick/readme.md index 487c29741..ef509799f 100644 --- a/_addons_bindings/tellstick/readme.md +++ b/_addons_bindings/tellstick/readme.md @@ -90,13 +90,13 @@ Depending on your Tellstick model different API methods is available: #### Telldus Core Bridge ``` -Bridge tellstick:telldus-core:1 "Tellstick Duo" [resendInterval="200"] +Bridge tellstick:telldus-core:1 "Tellstick Duo" [resendInterval=200] ``` Optional: - **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 @@ -116,7 +116,7 @@ Required: 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 @@ -173,8 +173,8 @@ end ### tellstick.things ``` -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-core:1 "Tellstick Duo" [resendInterval=200] +Bridge tellstick:telldus-live:2 "Tellstick ZWave" [refreshInterval=10000, publicKey="XXXXXXXX", privateKey="YYYYYY", token= "ZZZZZZZZ", tokenSecret="UUUUUUUUUU"] ``` Devices are preferable discovered automatically. @@ -185,8 +185,8 @@ Add them either with karaf: `inbox approve ` or in paperUI. The bridges List available devices in karaf with `things` or get the channels in paperUI. ``` -Slider living_room_ceiling "Living room ceiling" {channel="tellstick:dimmer:1:3:state"} -Switch living_room_table "Living room table" {channel="tellstick:switch:1:3:state"} -Number inside_temperature "Inside temperature [%.1f °C]" {channel="tellstick:sensor:1:47_temperaturehumidity_fineoffset:temperature"} -Number inside_humidity "Inside humidity [%.1f RH]" {channel="tellstick:sensor:1:47_temperaturehumidity_fineoffset:humidity"} +Slider living_room_ceiling "Living room ceiling" {channel="tellstick:dimmer:1:3:state"} +Switch living_room_table "Living room table" {channel="tellstick:switch:1:3:state"} +Number inside_temperature "Inside temperature [%.1f °C]" {channel="tellstick:sensor:1:47_temperaturehumidity_fineoffset:temperature"} +Number inside_humidity "Inside humidity [%.1f RH]" {channel="tellstick:sensor:1:47_temperaturehumidity_fineoffset:humidity"} ``` diff --git a/_addons_bindings/tinkerforge1/readme.md b/_addons_bindings/tinkerforge1/readme.md index ab38c6c52..a0eb34e7a 100644 --- a/_addons_bindings/tinkerforge1/readme.md +++ b/_addons_bindings/tinkerforge1/readme.md @@ -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. +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. diff --git a/_addons_bindings/tplinksmarthome/readme.md b/_addons_bindings/tplinksmarthome/readme.md new file mode 100644 index 000000000..dbc631235 --- /dev/null +++ b/_addons_bindings/tplinksmarthome/readme.md @@ -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 +--- + + + +{% 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" { channel="tplinksmarthome:hs100:home:rssi" } +Dimmer TP_LB_Bulb "Dimmer [%d %%]" { channel="tplinksmarthome:lb110:home:brightness" } +Dimmer TP_LB_ColorT "Color Temperature [%d] K" { channel="tplinksmarthome:lb130:home:color" } +Color TP_LB_Color "Color" { channel="tplinksmarthome:lb130:home:color" } +Switch TP_LB_ColorS "Switch" { channel="tplinksmarthome:lb130:home:color" } +``` diff --git a/_addons_bindings/zigbee/readme.md b/_addons_bindings/zigbee/readme.md index 82e67de92..6ee774d97 100644 --- a/_addons_bindings/zigbee/readme.md +++ b/_addons_bindings/zigbee/readme.md @@ -55,12 +55,17 @@ The thing type is ```coordinator_telegesis```. The following devices have been tested with the binding -| Device | Description | -|------------------|----------------| -| Hue Bulbs | Color LED Bulb | -| SmartThings Plug | Metered Plug | -| Tradfri Bulbs | | -| Osram Bulbs | | +| Device | Description | +|----------------------------|--------------------------------| +| Busch-Jaegar 6711 | Relay Insert | +| Hue Bulbs | Color LED Bulb | +| Hue Motion Sensor | Motion and Luminance sensor | +| Osram Bulbs | | +| SmartThings Plug | Metered Plug | +| SmartThings Motion Sensor | Motion and Temperature sensor | +| SmartThings Contact Sensor | Contact and Temperature sensor | +| Tradfri Bulbs | | + ## Discovery @@ -88,8 +93,12 @@ The following channels are supported -: | switch_onoff | ```ON_OFF``` (0x0006) | Switch | | color_color | ```COLOR_CONTROL``` (0x0300) | Color | | | color_temperature | ```COLOR_CONTROL``` (0x0300) | Dimmer | | -| sensor_occupancy | ```OCCUPANCY_SENSING``` (0x0406) | Switch | -| sensor_temperature | ```TEMPERATURE_MEASUREMENT``` (0x0402) | Number | | +| ias_contactportal1 | ```IAS_ZONE``` (0x0500) | Switch | | +| 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 | | diff --git a/_addons_bindings/zoneminder/readme.md b/_addons_bindings/zoneminder/readme.md index 795c27402..2cea500d0 100644 --- a/_addons_bindings/zoneminder/readme.md +++ b/_addons_bindings/zoneminder/readme.md @@ -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. -### Bridge ### +### Bridge Channel | Type | Description -------------- | --------- | ---------------------------------- @@ -40,7 +40,7 @@ online | Switch | Parameter indicating if the server is online CPU load | Text | Current CPU Load of server Disk Usage | text | Current Disk Usage on server -### Thing ### +### Thing Channel | Type | Description -------------- | --------- | ---------------------------------- @@ -56,9 +56,9 @@ capture-daemon | Switch | Run state of ZMC Daemon analysis-daemon| Switch | Run state of ZMA 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="", password="", telnet_port=6802, refresh_interval_disk_usage=1 ] @@ -68,7 +68,7 @@ Bridge zoneminder:server:ZoneMinderSample [ hostname="192.168.1.55", user=" {channel="zoneminde Switch zmMonitor1_Mode "Monitor active [%s]" ``` -###Sample Rule### +### Sample Rule ``` rule "Monitor1 Alarm State" @@ -143,7 +143,7 @@ end ``` -###Sitemap configuration### +### Sitemap configuration ``` sitemap zoneminder label="Zoneminder" @@ -179,7 +179,7 @@ sitemap zoneminder label="Zoneminder" } ``` -##Troubleshooting## +## Troubleshooting diff --git a/_addons_ios/mycroft-skill/readme.md b/_addons_ios/mycroft-skill/readme.md index f03a7c00a..57d580602 100644 --- a/_addons_ios/mycroft-skill/readme.md +++ b/_addons_ios/mycroft-skill/readme.md @@ -61,7 +61,7 @@ Restart mycroft for the changes to take effect. ### openHAB Item Configuration 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** @@ -110,34 +110,33 @@ Switch Kitchen_Light_A2 "Kitchen LEDs" ["Lighting"] {channel= Each item tag supports different command, here is the summary: - - | Tag | Key word | Commands | - |----------------------|---------------|-----------------------| - | Switchable | turn | on, off | - | | switch | on, off | - | | put | on, off | - | | what's | status | - | | | | - | Lighting | turn | on, off | - | | switch | on, off | - | | put | on, off | - | | dim | | - | | dim by | value in percentage | - | | brighten | | - | | brighten by | value in percentage | - | | | | - | Thermostat | adjust to | values in degrees | - | | regulate to | values in degrees | - | | tune to | values in degrees | - | | decrease by | values in degrees | - | | increase by | values in degrees | - | | what's | adjusted to | - | | what's | regulated to | - | | what's | tuned to | - | | | | - | CurrentHumidity | what's | humidity | - | | | | - | CurrentTemperature | what's | temperature | +| Tag | Key word | Commands | +|------------------------|-------------|---------------------| +| `Switchable` | turn | on, off | +| | switch | on, off | +| | put | on, off | +| | what's | status | +| | | | +| `Lighting` | turn | on, off | +| | switch | on, off | +| | put | on, off | +| | dim | | +| | dim by | value in percentage | +| | brighten | | +| | brighten by | value in percentage | +| | | | +| `Thermostat` | adjust to | values in degrees | +| | regulate to | values in degrees | +| | tune to | values in degrees | +| | decrease by | values in degrees | +| | increase by | values in degrees | +| | what's | adjusted to | +| | what's | regulated to | +| | what's | tuned to | +| | | | +| `CurrentHumidity` | what's | humidity | +| | | | +| `CurrentTemperature` | what's | temperature | With references to the above item definitions, here are an examples of working commands: diff --git a/concepts/guidelines.md b/concepts/guidelines.md index 1c798af5f..2d990c6e5 100644 --- a/concepts/guidelines.md +++ b/concepts/guidelines.md @@ -42,7 +42,7 @@ Test classes do not have to be annotated. ## 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 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. 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. @@ -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. 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. 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 diff --git a/installation/openhabian.md b/installation/openhabian.md index 34137bed6..8d904021f 100644 --- a/installation/openhabian.md +++ b/installation/openhabian.md @@ -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)) - 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, ...` -- 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 vim settings, including [openHAB syntax highlighting](https://github.com/cyberkov/openhab-vim) - 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. 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. 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
openHABian installation successful
-
openHABian installation failed warning and instructions
+
openHABian installation failed warning and instructions
##### What Next? diff --git a/update-code-checks.sh b/update-code-checks.sh old mode 100644 new mode 100755
ProblemSolution