From 277a6bb23281b88292cbd0ff6ab430623af28169 Mon Sep 17 00:00:00 2001 From: Kai Kreuzer Date: Sat, 10 Dec 2016 23:52:50 +0100 Subject: [PATCH] updated generated content Signed-off-by: Kai Kreuzer --- _data/bindings.csv | 2 +- _data/oh1addons.csv | 3 + addons/bindings/exec/readme.md | 22 +++-- addons/bindings/harmonyhub/readme.md | 3 +- addons/bindings/lifx/readme.md | 119 +++++++++++++++++++---- addons/bindings/onkyo/readme.md | 2 +- addons/bindings/rfxcom/readme.md | 8 ++ addons/io/openhabcloud/doc/cfg.png | Bin 0 -> 85698 bytes addons/io/openhabcloud/readme.md | 60 ++++++++++++ concepts/diagrams/status_transitions.png | Bin 20905 -> 26332 bytes concepts/items.md | 38 ++++++++ concepts/things.md | 6 +- 12 files changed, 233 insertions(+), 30 deletions(-) create mode 100644 addons/io/openhabcloud/doc/cfg.png create mode 100644 addons/io/openhabcloud/readme.md diff --git a/_data/bindings.csv b/_data/bindings.csv index b09821d87..ad095ddae 100644 --- a/_data/bindings.csv +++ b/_data/bindings.csv @@ -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/)." diff --git a/_data/oh1addons.csv b/_data/oh1addons.csv index e2c4934ba..2bf545370 100644 --- a/_data/oh1addons.csv +++ b/_data/oh1addons.csv @@ -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 diff --git a/addons/bindings/exec/readme.md b/addons/bindings/exec/readme.md index 139c06f6d..e1972a17d 100644 --- a/addons/bindings/exec/readme.md +++ b/addons/bindings/exec/readme.md @@ -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"} ``` \ No newline at end of file diff --git a/addons/bindings/harmonyhub/readme.md b/addons/bindings/harmonyhub/readme.md index c94245063..099b0077a 100644 --- a/addons/bindings/harmonyhub/readme.md +++ b/addons/bindings/harmonyhub/readme.md @@ -82,4 +82,5 @@ sitemap demo label="Main Menu" { Switch item=HarmonyGreatRoomDenon mappings=["Volume Up"="Volume Up","Volume Down"="Volume Down"] } } -``` \ No newline at end of file +``` +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". diff --git a/addons/bindings/lifx/readme.md b/addons/bindings/lifx/readme.md index 8e2951efe..f7eb62928 100644 --- a/addons/bindings/lifx/readme.md +++ b/addons/bindings/lifx/readme.md @@ -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 } } ``` diff --git a/addons/bindings/onkyo/readme.md b/addons/bindings/onkyo/readme.md index 285663bf4..ec2dbffb4 100644 --- a/addons/bindings/onkyo/readme.md +++ b/addons/bindings/onkyo/readme.md @@ -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 diff --git a/addons/bindings/rfxcom/readme.md b/addons/bindings/rfxcom/readme.md index 96a702a1d..38aa8ce67 100644 --- a/addons/bindings/rfxcom/readme.md +++ b/addons/bindings/rfxcom/readme.md @@ -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: diff --git a/addons/io/openhabcloud/doc/cfg.png b/addons/io/openhabcloud/doc/cfg.png new file mode 100644 index 0000000000000000000000000000000000000000..9720dd4ffb6be66d2384ba23d02f162baf6aaee9 GIT binary patch literal 85698 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%0A!GI(1qYAmNm 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 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= +``` + diff --git a/concepts/diagrams/status_transitions.png b/concepts/diagrams/status_transitions.png index b5a9968a57c0a7d8c4423fc04f5d349a0d2da14b..645231547c257ac13515a992dc2fce4fdce5479a 100644 GIT binary patch literal 26332 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 ZI&5av;-c~a_;)oFmsPGRXDebK{ujUm+I|24 literal 20905 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 diff --git a/concepts/items.md b/concepts/items.md index 1104cebb0..f7e4c342a 100644 --- a/concepts/items.md +++ b/concepts/items.md @@ -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` | + diff --git a/concepts/things.md b/concepts/things.md index f24f02d0a..b9b413c75 100644 --- a/concepts/things.md +++ b/concepts/things.md @@ -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 HANDLER_CONFIGURATION_PENDINGThe handler is registered but can not be initialized caused by missing configuration parameters. HANDLER_INITIALIZING_ERRORThe handler failed in the initialization phase. INITIALIZING NONENo further status details available. +UNKNOWN NONENo further status details available. ONLINE NONENo further status details available. CONFIGURATION_PENDINGThe 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. OFFLINE NONENo further status details available.