updated generated content

Signed-off-by: Kai Kreuzer <kai@openhab.org>
pull/149/merge
Kai Kreuzer 2016-12-10 23:52:50 +01:00
parent 5264c7ac8f
commit 277a6bb232
No known key found for this signature in database
GPG Key ID: 5110767B6248D3C0
12 changed files with 233 additions and 30 deletions

View File

@ -2,7 +2,7 @@ id,label,description
digitalstrom,digitalSTROM,"This binding integrates the [digitalSTROM-System](http://www.digitalstrom.de/)."
fsinternetradio,FS Internet Radio,"This binding integrates internet radios based on the [Frontier Silicon chipset](http://www.frontier-silicon.com/)."
hue,Philips Hue,"This binding integrates the [Philips Hue Lighting system](http://www.meethue.com)."
lifx,LIFX,"This binding integrates the [LIFX LED Bulb](http://www.lifx.com/). All LIFX bulbs are directly connected to the WLAN and the binding communicates with them over a UDP protocol."
lifx,LIFX,"This binding integrates the [LIFX LED Lights](http://www.lifx.com/). All LIFX lights are directly connected to the WLAN and the binding communicates with them over a UDP protocol."
ntp,NTP,"The NTP binding is used for displaying the local date and time based update from an NTP server."
sonos,Sonos,"This binding integrates the [Sonos Multi-Room Audio system](http://www.sonos.com)."
wemo,Belkin Wemo,"This binding integrates the [Belkin WeMo Family](http://www.belkin.com/us/Products/c/home-automation/)."

1 id label description
2 digitalstrom digitalSTROM This binding integrates the [digitalSTROM-System](http://www.digitalstrom.de/).
3 fsinternetradio FS Internet Radio This binding integrates internet radios based on the [Frontier Silicon chipset](http://www.frontier-silicon.com/).
4 hue Philips Hue This binding integrates the [Philips Hue Lighting system](http://www.meethue.com).
5 lifx LIFX This binding integrates the [LIFX LED Bulb](http://www.lifx.com/). All LIFX bulbs are directly connected to the WLAN and the binding communicates with them over a UDP protocol. This binding integrates the [LIFX LED Lights](http://www.lifx.com/). All LIFX lights are directly connected to the WLAN and the binding communicates with them over a UDP protocol.
6 ntp NTP The NTP binding is used for displaying the local date and time based update from an NTP server.
7 sonos Sonos This binding integrates the [Sonos Multi-Room Audio system](http://www.sonos.com).
8 wemo Belkin Wemo This binding integrates the [Belkin WeMo Family](http://www.belkin.com/us/Products/c/home-automation/).

View File

@ -27,8 +27,11 @@ binding,Energenie Binding
binding,EnOcean Binding
binding,Enphase Energy Binding
binding,Epson Projector Binding
binding,Expire Binding
binding,Fatek PLC Binding
binding,Freeswitch Binding
binding,Fritzbox Binding
binding,Fritzbox TR064 Binding
binding,FS20 Binding
binding,Garadget Binding
binding,GC100IR Binding

1 category label
27 binding EnOcean Binding
28 binding Enphase Energy Binding
29 binding Epson Projector Binding
30 binding Expire Binding
31 binding Fatek PLC Binding
32 binding Freeswitch Binding
33 binding Fritzbox Binding
34 binding Fritzbox TR064 Binding
35 binding FS20 Binding
36 binding Garadget Binding
37 binding GC100IR Binding

View File

@ -10,26 +10,34 @@ This binding integrates the possibility to execute arbitrary shell commands.
## Supported Things
Currently, the binding supports a single Thing, being the 'command' thing.
Currently, the binding supports a single type of Thing, being the ```command``` Thing.
## Binding Configuration
The binding does not require any specific configuration
Note that the commands are executed in the context and with the privileges of the process running the java virtual machine. It is not advised to run the virtual machine as superuser/root
## Thing Configuration
The command Thing requires the command to execute on the shell, and optionally one can specify a transformation to apply on the execution result, an interval, in seconds, the command will be repeatedly executed and lastly a time-out, in seconds, the execution of the command will time out
The command Thing requires the command to execute on the shell, and 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. For each command a separate Thing has to be defined
```
Thing exec:command:apc [ command="/usr/local/bin/apcaccess status", interval=15, timeout=5]
Thing exec:command:apc [command="/usr/local/bin/apcaccess status", interval=15, timeout=5, autorun=false]
```
```command``` itseld 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)
## Channels
All devices support the following 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 |
@ -40,15 +48,15 @@ All devices support the following channels:
demo.Things:
```
Thing exec:command:apc [ command="/usr/local/bin/apcaccess status", interval=15, timeout=5]
Thing exec:command:apc [command="/usr/local/bin/apcaccess status", interval=15, timeout=5]
Thing exec:command:myscript [command="php ./configurations/scripts/script.php %2$s", transform="REGEX((.*?))"]
```
demo.items:
```
String APCRaw "[%s]" (All) {channel="exec:command:apc:output"}
Switch APCRunning { channel="exec:command:apc:running"}
Switch APCRunning { channel="exec:command:apc:run"}
Number APCExitValue {channel="exec:command:apc:exit"}
Switch APCExecute {channel="exec:command:apc:execute"}
DateTime APCLastExecution {channel="exec:command:apc:lastexecution"}
```

View File

@ -82,4 +82,5 @@ sitemap demo label="Main Menu" {
Switch item=HarmonyGreatRoomDenon mappings=["Volume Up"="Volume Up","Volume Down"="Volume Down"]
}
}
```
```
Possible values for the "buttonPress" channel can be determined via the REST API for channel-types, http://YourServer/rest/channel-types. Search the JSON for "harmonyhub:device".

View File

@ -6,60 +6,143 @@ layout: documentation
# LIFX Binding
This binding integrates the [LIFX LED Bulb](http://www.lifx.com/). All LIFX bulbs are directly connected to the WLAN and the binding communicates with them over a UDP protocol.
This binding integrates the [LIFX LED Lights](http://www.lifx.com/). All LIFX lights are directly connected to the WLAN and the binding communicates with them over a UDP protocol.
![LIFX E27](doc/lifx_e27.jpg)
## Supported Things
The binding was mainly developed for the E27 original LIFX bulb. Other bulbs like the GU10 model are not tested, but should also be supported.
The following table lists the thing types of the supported LIFX devices:
| Device Type | Thing Type |
|------------------------------|--------------|
| Original 1000 | colorlight |
| Color 650 | colorlight |
| Color 1000 | colorlight |
| Color 1000 BR30 | colorlight |
| LIFX A19 | colorlight |
| LIFX BR30 | colorlight |
| LIFX Z | colorlight |
| |
| LIFX+ A19 | colorirlight |
| LIFX+ BR30 | colorirlight |
| | |
| White 800 (Low Voltage) | whitelight |
| White 800 (High Voltage) | whitelight |
| White 900 BR30 (Low Voltage) | whitelight |
The thing type determines the capability of a device and with that the possible ways of interacting with it. The following matrix lists the capabilities (channels) for each type:
| Thing Type | On/Off | Brightness | Color | Color Temperature | Infrared |
|--------------|:------:|:----------:|:-----:|:-----------------:|:--------:|
| colorlight | X | | X | X | |
| colorirlight | X | | X | X | X |
| whitelight | X | X | | X | |
## Discovery
The binding is able to auto-discover all bulbs in a network over the LIFX UDP protocol. Therefore all bulbs must be turned on.
The binding is able to auto-discover all lights in a network over the LIFX UDP protocol. Therefore all lights must be turned on.
*Note:* To get the binding working, all bulbs must be added to the WLAN network first with the help of the [LIFX smart phone applications](http://www.lifx.com/pages/go). The binding is NOT able to add or detect bulbs outside the network.
*Note:* To get the binding working, all lights must be added to the WLAN network first with the help of the [LIFX smart phone applications](http://www.lifx.com/pages/go). The binding is NOT able to add or detect lights outside the network.
## Thing Configuration
Each bulb needs the device ID as a configuration parameter. The device ID is printed as a serial number on the bulb and can also be found within the native LIFX Android or iOS application. But usually the discovery works quite reliably, so that a manual configuration is not needed.
Each light needs the device ID as a configuration parameter. The device ID is printed as a serial number on the light and can also be found within the native LIFX Android or iOS application. But usually the discovery works quite reliably, so that a manual configuration is not needed.
However, in the thing file, a manual configuration looks e.g. like
```
Thing lifx:light:light1 [ deviceId="D073D5010E20" ]
Thing lifx:colorlight:living [ deviceId="D073D5A1A1A1", fadetime=200 ]
```
The *fadetime* is an optional thing configuration parameter which configures the time to fade to a new color value (in ms). When the *fadetime* is not configured, the binding uses 300ms as default.
## Channels
The bulb only supports the color channel:
All devices support some of the following channels:
| Channel Type ID | Item Type | Description |
|-----------------|------------------------|--------------|----------------- |------------- |
| color | Color | This channel supports full color control with hue, saturation and brightness values. |
| Channel Type ID | Item Type | Description | Thing Types |
|-----------------|-----------|--------------------------------------------------------------------------------------|--------------------------------------|
| brightness | Dimmer | This channel supports adjusting the brightness value. | whitelight |
| color | Color | This channel supports full color control with hue, saturation and brightness values. | colorlight, colorirlight |
| infrared | Dimmer | This channel supports adjusting the infrared value. *Note:* IR capable lights only activate their infrared LEDs when the brightness drops below a certain level. | colorirlight |
| temperature | Dimmer | This channel supports adjusting the color temperature from cold (0%) to warm (100%). | colorlight, colorirlight, whitelight |
The *color* and *brightness* channels have a "Power on brightness" configuration option that is used to determine the brightness when a light is switched on. When it is left empty, the brightness of a light remains unchanged when a light is switched on or off.
## Full Example
demo.things:
In this example **living** is a Color 1000 light that has a *colorlight* thing type which supports *color* and *temperature* channels.
The **porch** light is a LIFX+ BR30 that has a *colorirlight* thing type which supports *color*, *temperature* and *infrared* channels.
Finally, **kitchen** is a White 800 (Low Voltage) light that has a *whitelight* thing type which supports *brightness* and *temperature* channels.
### demo.things:
```
Thing lifx:light:light1 [ deviceId="D073D5010E20" ]
```
Thing lifx:colorlight:living [ deviceId="D073D5A1A1A1" ] {
Channels:
Type color : color [ powerOnBrightness= ]
}
demo.items:
Thing lifx:colorirlight:porch [ deviceId="D073D5B2B2B2", fadetime=0 ] {
Channels:
Type color : color [ powerOnBrightness=75 ]
}
Thing lifx:whitelight:kitchen [ deviceId="D073D5C3C3C3", fadetime=150 ]
```
Color Light { channel="lifx:light:light1:color" }
### demo.items:
```
// Living
Switch Living_Toggle { channel="lifx:colorlight:living:color" }
Dimmer Living_Dimmer { channel="lifx:colorlight:living:color" }
Color Living_Color { channel="lifx:colorlight:living:color" }
Dimmer Living_Temperature { channel="lifx:colorlight:living:temperature" }
// Porch
Switch Porch_Toggle { channel="lifx:colorirlight:porch:color" }
Dimmer Porch_Dimmer { channel="lifx:colorirlight:porch:color" }
Color Porch_Color { channel="lifx:colorirlight:porch:color" }
Dimmer Porch_Temperature { channel="lifx:colorirlight:porch:temperature" }
Dimmer Porch_Infrared { channel="lifx:colorirlight:porch:infrared" }
// Kitchen
Switch Kitchen_Toggle { channel="lifx:whitelight:kichen:brightness" }
Dimmer Kitchen_Brightness { channel="lifx:whitelight:kitchen:brightness" }
Dimmer Kitchen_Temperature { channel="lifx:whitelight:kitchen:temperature" }
```
demo.sitemap:
### demo.sitemap:
```
sitemap demo label="Main Menu"
{
Frame {
Colorpicker item=Light
Frame label="Living" {
Switch item=Living_Toggle
Slider item=Living_Dimmer
Colorpicker item=Living_Color
Slider item=Living_Temperature
}
Frame label="Porch" {
Switch item=Porch_Toggle
Slider item=Porch_Dimmer
Colorpicker item=Porch_Color
Slider item=Porch_Temperature
Slider item=Porch_Infrared
}
Frame label="Kitchen" {
Switch item=Kitchen_Toggle
Slider item=Kitchen_Brightness
Slider item=Kitchen_Temperature
}
}
```

View File

@ -90,7 +90,7 @@ Here after are the ID values of the input sources:
* 37: AM
* 38: TUNER
* 39: MUSICSERVER
* 40: INTERETRADIO
* 40: INTERNETRADIO
* 41: USB
* 42: USB_BACK
* 43: NETWORK

View File

@ -82,6 +82,14 @@ Bridge rfxcom:bridge:usb0 [ serialPort="/dev/tty.usbserial-06VVEG1Y" ] {
}
```
A TCP bridge, for use with socat on a remote host, can be configured like this:
```
Bridge rfxcom:tcpbridge:sunflower [ host="sunflower", port=10001 ] {
Thing lighting2 100001_1 [deviceId="100001.1", subType="AC"]
}
```
## Channels
This binding currently supports following channels:

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

View File

@ -0,0 +1,60 @@
---
layout: documentation
---
{% include base.html %}
# openHAB Cloud Connector
The openHAB Cloud Connector allows connecting the local openHAB runtime to a remote [openHAB Cloud](https://github.com/openhab/openhab-cloud/blob/master/README.md) instance, such as [myopenHAB.org](https://www.myopenHAB.org), which is an instance of the
openHAB Cloud service hosted by the [openHAB Foundation](http://www.openhabfoundation.org/).
## Features
The openHAB Cloud service (and thus the connector to it) is useful for different use cases:
* It allows remote access to local openHAB instances without having to expose ports to the Internet or to require a complex VPN setup.
* It serves as a connector to Google Cloud Messaging (GCM) and Apple Push Notifications (APN) for pushing notifications to mobile phone apps.
* It brings integration possibilities with services that require an OAuth2 authentication against a web server, such as IFTTT or Amazon Alexa Skills.
## UUID and Secret
To authenticate with the openHAB Cloud your local openHAB runtime generates two values, which need to be entered in your account settings of the openHAB Cloud service. The first one is a unique identifier, which allows to identify your runtime. One can think of it as something similar like a username for the cloud authentication. The second one is a random secret key which serves as a password. Both values are written to the local file system. If you loose these files for some reason, openHAB will automatically generates new ones. You will then have to reconfigure UUID and secret in the openHAB Cloud service under the _My account_ section.
Location of UUID and Secret:
|File | regular Installation | APT Installation |
|-----|----------------------|------------------|
|UUID | userdata/uuid | /var/lib/openhab2/uuid |
|Secret | userdata/openhabcloud/secret | /var/lib/openhab2/openhabcloud/secret |
## Configuration
After installing this add-on, you will find configuration options in the Paper UI under _Configuration->Services->IO->openHAB Cloud_:
![Configuration](doc/cfg.png)
Alternatively, you can configure the settings in the file `conf/services/openhabcloud.cfg`:
```
############################## openHAB Cloud Connector #############################
# The URL of the openHAB Cloud service to connect to.
# Optional, default is set to the service offered by the openHAB Foundation
# (https://myopenhab.org/)
#baseURL=
# Defines the mode in which you want to operate the connector.
# Possible values are:
# - notification: Only push notifications are enabled, no remote access is allowed.
# - remote: Push notifications and remote access are enabled.
# Optional, default is 'remote'.
#mode=
# A comma-separated list of items to be exposed to external services like IFTTT.
# Events of those items are pushed to the openHAB Cloud and commands received for
# these items from the openHAB Cloud service are accepted and sent to the local bus.
# Optional, default is an empty list.
#expose=
```

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@ -31,3 +31,41 @@ Group Items can derive their own state depending on their member items.
- AVG displays the average of the item states in the group.
- OR displays an OR of the group, typically used to display whether any item in a group has been set.
- other aggregations: AND, SUM, MIN, MAX, NAND, NOR
## State and Command Type Formatting
### DateTime
DateTime objects are parsed using Java's `SimpleDateFormat.parse()` using the first matching pattern:
1. `yyyy-MM-dd'T'HH:mm:ss.SSSZ`
2. `yyyy-MM-dd'T'HH:mm:ss.SSSX`
3. `yyyy-MM-dd'T'HH:mm:ssz`
4. `yyyy-MM-dd'T'HH:mm:ss`
### DecimalType, PercentType
`DecimalType` and `PercentType` objects use Java's `BigDecimal` constructor for conversion. `PercentType` values range from 0 to 100.
### HSBType
HSB string values consist of three comma-separated values for hue (0-360°), saturation (0-100%), and value (0-100%) respectively, e.g. `240,100,100` for blue.
### PointType
`PointType` strings consist of three `DecimalType`s separated by commas, indicating latitude and longitude in degrees, and altitude in meters respectively.
### Enum Types
| Type | Supported Values |
| --- | --- |
| IncreaseDecreaseType | `INCREASE`, `DECREASE` |
| NextPreviousType | `NEXT`, `PREVIOUS` |
| OnOffType | `ON`, `OFF` |
| OpenClosedType | `OPEN`, `CLOSED` |
| PlayPauseType | `PLAY`, `PAUSE` |
| RewindFastforwardType | `REWIND`, `FASTFORWARD` |
| StopMoveType | `STOP`, `MOVE` |
| UpDownType | `UP`, `DOWN` |

View File

@ -24,12 +24,13 @@ Each thing has a status object, which helps to identify possible problems with t
|---------------|-------------|
| UNINITIALIZED | This is the initial status of a thing, when it is added or the framework is being started. This status is also assigned, if the initializing process failed or the binding is not available. Commands, which are sent to channels will not be processed.
| INITIALIZING | This state is assigned while the binding initializes the thing. It depends on the binding how long the initializing process takes. Commands, which are sent to channels will not be processed.
| UNKNOWN | The handler is fully initialized but due to the nature of the represented device/service it cannot really tell yet whether the thing is ONLINE or OFFLINE. Therefore the thing potentially might be working correctly already and may or may not process commands. But the framework is allowed to send commands, because some radio-based devices may go ONLINE if a command is sent to them. The handler should take care to switch the thing to ONLINE or OFFLINE as soon as possible and then must not switch back to UNKNOWN. |
| ONLINE | The device/service represented by a thing is assumed to be working correctly and can process commands.
| OFFLINE | The device/service represented by a thing is assumed to be not working correctly and may not process commands. But the framework is allowed to send commands, because some radio-based devices may go back to ONLINE, if a command is sent to them.
| REMOVING | The device/service represented by a thing should be removed, but the binding did not confirm the deletion yet. Some bindings need to communicate with the device to unpair it from the system. Thing is probably not working and commands can not be processed.
| REMOVED | This status indicates, that the device/service represented by a thing was removed from the external system. Usually this status is an intermediate status, because the thing is removed from the database after this status is assigned.
The statuses UNINITIALIZED, INITIALIZING and REMOVING are set by the framework, where as the statuses ONLINE, OFFLINE and REMOVED is assigned from a binding.
The statuses UNINITIALIZED, INITIALIZING and REMOVING are set by the framework, where as the statuses UNKNOWN, ONLINE, OFFLINE and REMOVED are assigned from a binding.
### Status Transitions
@ -37,7 +38,7 @@ The following diagram shows the allowed status transitions:
![Status Transitions](diagrams/status_transitions.png)
The initial state of a thing is UNINITIALIZED. From UNINITIALIZED the thing goes into INITIALIZING. If the initialization fails, the thing goes back to UNINITIALIZED. If the initialization succeeds, the binding sets the status of the thing to ONLINE or OFFLINE, which both means, that the thing is INITIALIZED. From one of this states the thing can go back into UNINITIALIZED, REMOVING or REMOVED. The statuses REMOVING and REMOVED can also be reached from any other state.
The initial state of a thing is UNINITIALIZED. From UNINITIALIZED the thing goes into INITIALIZING. If the initialization fails, the thing goes back to UNINITIALIZED. If the initialization succeeds, the binding sets the status of the thing to UNKNOWN, ONLINE or OFFLINE, which all mean that the thing handler is fully initialized. From one of this states the thing can go back into UNINITIALIZED, REMOVING or REMOVED. The statuses REMOVING and REMOVED can also be reached from any of the other states.
## Status Details
@ -50,6 +51,7 @@ A status is detailed further with a status detail object. The following table li
<tr valign="top"> <td>HANDLER_CONFIGURATION_PENDING</td><td>The handler is registered but can not be initialized caused by missing configuration parameters.</td></tr>
<tr valign="top"> <td>HANDLER_INITIALIZING_ERROR</td><td>The handler failed in the initialization phase.</td></tr>
<tr valign="top"><td>INITIALIZING</td> <td>NONE</td><td>No further status details available.</td></tr>
<tr valign="top"><td rowspan="2">UNKNOWN</td> <td>NONE</td><td>No further status details available.</td></tr>
<tr valign="top"><td rowspan="2">ONLINE</td> <td>NONE</td><td>No further status details available.</td></tr>
<tr valign="top"> <td>CONFIGURATION_PENDING</td><td>The thing is waiting to transfer configuration information to a device. Some bindings need to communicate with the device to make sure the configuration is accepted.</td></tr>
<tr valign="top"><td rowspan="6">OFFLINE</td> <td>NONE</td><td>No further status details available.</td></tr>