mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
20b889c029
Signed-off-by: Leo Siepel <leosiepel@gmail.com>
173 lines
8.0 KiB
Markdown
173 lines
8.0 KiB
Markdown
# Hyperion Binding
|
|
|
|
This binding integrates openHAB with the Hyperion ambient lighting software.
|
|
Further details on the Hyperion project can be found [here.](https://hyperion-project.org/)
|
|
|
|
## Supported Things
|
|
|
|
- Hyperion Server (may be referred to as V1)
|
|
- Hyperion.ng Server
|
|
|
|
## Binding Configuration
|
|
|
|
The binding itself does not require any special configuration.
|
|
|
|
## Discovery
|
|
|
|
Automatic background discovery only works for Hyperion.ng servers as they advertise using mDNS. You must manually configure a Hyperion Server V1 either through a UI / REST or .things file.
|
|
|
|
## Thing Configuration
|
|
|
|
### Hyperion Server (V1)
|
|
|
|
In order to use a Hyperion Server it must be properly configured. You can do this either through a UI / REST or through static .thing files.
|
|
|
|
| Parameter | Data type | Required | Example |
|
|
|----------------|-----------|----------|----------------|
|
|
| host | String | Y | "192.168.0.10" |
|
|
| port | Integer | Y | 19444 |
|
|
| priority | Integer | Y | 50 |
|
|
| poll_frequency | Integer | Y | 15 |
|
|
|
|
To manually configure a Hyperion Server you must specify the following parameters: host, port, priority and polling frequency.
|
|
|
|
In the thing file, this looks for e.g. like
|
|
|
|
```java
|
|
Thing hyperion:serverV1:myServer [ host="192.168.0.10", port=19444, priority=50, poll_frequency=15]
|
|
```
|
|
|
|
### Hyperion.ng Server
|
|
|
|
In order to use a Hyperion.ng Server it must be properly configured. You can do this either through a UI / REST or through static .thing files.
|
|
|
|
| Parameter | Data type | Required | Example |
|
|
|----------------|-----------|----------|----------------|
|
|
| host | String | Y | "192.168.0.10" |
|
|
| port | Integer | Y | 19444 |
|
|
| priority | Integer | Y | 50 |
|
|
| poll_frequency | Integer | Y | 15 |
|
|
| origin | String | Y | "openHAB" |
|
|
|
|
To manually configure a Hyperion.ng Server you must specify the following parameters: host, port, priority, polling frequency and origin.
|
|
|
|
In the .things file, this looks for e.g. like
|
|
|
|
```java
|
|
Thing hyperion:serverNG:myServer [ host="192.168.0.10", port=19444, priority=50, poll_frequency=15, origin="openHAB"]
|
|
```
|
|
|
|
## Channels
|
|
|
|
### Hyperion Server (V1)
|
|
|
|
| Channel | Item | Description | Example |
|
|
|------------|--------|----------------------------------------------------|---------------------------------------|
|
|
| brightness | Dimmer | Sets/stores the current brightness | hyperion:serverV1:myServer:brightness |
|
|
| effect | String | Sets/stores the current effect | hyperion:serverV1:myServer:effect |
|
|
| color | Color | Sets/stores the current color | hyperion:serverV1:myServer:color |
|
|
| clear | String | Clears the priority of the given input (e.g. "50") | hyperion:serverV1:myServer:clear |
|
|
|
|
### Hyperion.ng Server
|
|
|
|
| Channel | Item | Description | Example |
|
|
|-----------------|--------|----------------------------------------------------|--------------------------------------------|
|
|
| brightness | Dimmer | Sets/stores the current brightness | hyperion:serverNG:myServer:brightness |
|
|
| effect | String | Sets/stores the current effect | hyperion:serverNG:myServer:effect |
|
|
| color | Color | Sets/stores the current color | hyperion:serverNG:myServer:color |
|
|
| clear | String | Clears the priority of the given input (e.g. "50") | hyperion:serverNG:myServer:clear |
|
|
| hyperionenabled | Switch | Enables or disables Hyperion | hyperion:serverNG:myServer:hyperionenabled |
|
|
| blackborder | Switch | Enables or disables the black border component | hyperion:serverNG:myServer:blackborder |
|
|
| smoothing | Switch | Enables or disables the smoothing component | hyperion:serverNG:myServer:smoothing |
|
|
| kodichecker | Switch | Enables or disables the kodi checker component | hyperion:serverNG:myServer:kodichecker |
|
|
| forwarder | Switch | Enables or disables the forwarder component | hyperion:serverNG:myServer:forwarder |
|
|
| udplistener | Switch | Enables or disables the udp listener component | hyperion:serverNG:myServer:udplistener |
|
|
| boblightserver | Switch | Enables or disables the boblight server component | hyperion:serverNG:myServer:boblightserver |
|
|
| grabber | Switch | Enables or disables the grabber component | hyperion:serverNG:myServer:grabber |
|
|
| v4l | Switch | Enables or disables the V4L component | hyperion:serverNG:myServer:v4l |
|
|
| leddevice | Switch | Enables or disables the led device component | hyperion:serverNG:myServer:leddevice |
|
|
|
|
## Items
|
|
|
|
### Hyperion Server (V1)
|
|
|
|
```java
|
|
Dimmer Brightness "Brightness [%s]" {channel="hyperion:serverV1:myServer:brightness"}
|
|
Color MyColor "Color" {channel="hyperion:serverV1:myServer:color"}
|
|
String Effect "Current effect [%s]" {channel="hyperion:serverV1:myServer:effect"}
|
|
String Clear "Clear priority" {channel="hyperion:serverV1:myServer:clear"}
|
|
```
|
|
|
|
### Hyperion.ng Server
|
|
|
|
```java
|
|
Dimmer Brightness "Brightness [%s]" {channel="hyperion:serverNG:myServer:brightness"}
|
|
Color MyColor "Color" {channel="hyperion:serverNG:myServer:color"}
|
|
String Effect "Current effect [%s]" {channel="hyperion:serverNG:myServer:effect"}
|
|
String Clear "Clear priority" {channel="hyperion:serverNG:myServer:clear"}
|
|
Switch HyperionEnabled "Hyperion Enabled" {channel="hyperion:serverNG:myServer:hyperionenabled"}
|
|
Switch BlackBorderEnabled "Black Border" {channel="hyperion:serverNG:myServer:blackborder"}
|
|
Switch SmoothingEnabled "Smooting" {channel="hyperion:serverNG:myServer:smoothing"}
|
|
Switch KodiCheckerEnabled "Kodi Checker" {channel="hyperion:serverNG:myServer:kodichecker"}
|
|
Switch ForwarderEnabled "Forwarder" {channel="hyperion:serverNG:myServer:forwarder"}
|
|
Switch UdpListenerEnabled "UDP Listener" {channel="hyperion:serverNG:myServer:udplistener"}
|
|
Switch BoblightEnabled "Boblight" {channel="hyperion:serverNG:myServer:boblightserver"}
|
|
Switch GrabberEnabled "Grabber" {channel="hyperion:serverNG:myServer:grabber"}
|
|
Switch V4lEnabled "V4L" {channel="hyperion:serverNG:myServer:v4l"}
|
|
Switch LedDeviceEnabled "LED Device" {channel="hyperion:serverNG:myServer:leddevice"}
|
|
```
|
|
|
|
## Example Sitemap
|
|
|
|
Using the above things channels and items
|
|
Sitemap:
|
|
|
|
```perl
|
|
sitemap demo label="Main Menu" {
|
|
Frame {
|
|
// serverV1 & serverNG
|
|
Slider item=Brightness
|
|
Colorpicker item=MyColor
|
|
Selection item=Effect mappings=[
|
|
'Cinema brighten lights'='Cinema brighten lights',
|
|
'Cinema dim lights'='Cinema dim lights',
|
|
'Knight rider'='Knight rider',
|
|
'Blue mood blobs'='Blue mood blobs',
|
|
'Cold mood blobs'='Cold mood blobs',
|
|
'Full color mood blobs'='Full color mood blobs',
|
|
'Green mood blobs'='Green mood blobs',
|
|
'Red mood blobs'='Red mood blobs',
|
|
'Warm mood blobs'='Warm mood blobs',
|
|
'Police Lights Single'='Police Lights Single',
|
|
'Police Lights Solid'='Police Lights Solid',
|
|
'Rainbow mood'='Rainbow mood',
|
|
'Rainbow swirl fast'='Rainbow swirl fast',
|
|
'Rainbow swirl'='Rainbow swirl',
|
|
'Running dots'='Running dots',
|
|
'System Shutdown'='System Shutdown',
|
|
'Snake'='Snake',
|
|
'Sparks Color'='Sparks Color',
|
|
'Sparks'='Sparks',
|
|
'Strobe blue'='Strobe blue',
|
|
'Strobe Raspbmc'='Strobe Raspbmc',
|
|
'Strobe white'='Strobe white',
|
|
'Color traces'='Color traces',
|
|
'X-Mas'='X-Mas'
|
|
]
|
|
Switch item=Clear mappings=[50="Clear"]
|
|
|
|
// only serverNG
|
|
Switch item=HyperionEnabled
|
|
Switch item=BlackBorderEnabled
|
|
Switch item=SmoothingEnabled
|
|
Switch item=KodiCheckerEnabled
|
|
Switch item=ForwarderEnabled
|
|
Switch item=UdpListenerEnabled
|
|
Switch item=BoblightEnabled
|
|
Switch item=GrabberEnabled
|
|
Switch item=V4lEnabled
|
|
Switch item=LedDeviceEnabled
|
|
}
|
|
}
|
|
```
|