Hyperion Binding

This binding integrates openHAB with the Hyperion ambient lighting software. Further details on the Hyperion project can be found here.

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.

ParameterData typeRequiredExample
hostStringY"192.168.0.10"
portIntegerY19444
priorityIntegerY50
poll_frequencyIntegerY15

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

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.

ParameterData typeRequiredExample
hostStringY"192.168.0.10"
portIntegerY19444
priorityIntegerY50
poll_frequencyIntegerY15
originStringY"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

Thing hyperion:serverNG:myServer [ host="192.168.0.10", port=19444, priority=50, poll_frequency=15, origin="openHAB"]

Channels

Hyperion Server:

ChannelItemDescriptionExample
brightnessDimmerSets/stores the current brightnesshyperion:serverV1:myServer:brightness
effectStringSets/stores the current effecthyperion:serverV1:myServer:effect
colorColorSets/stores the current colorhyperion:serverV1:myServer:color
clearSwitchClears the priority specified in the Thing confighyperion:serverV1:myServer:clear
clear_allSwitchClears all prioritieshyperion:serverV1:myServer:clear_all

Hyperion.ng Server

ChannelItemDescriptionExample
brightnessDimmerSets/stores the current brightnesshyperion:serverNG:myServer:brightness
effectStringSets/stores the current effecthyperion:serverNG:myServer:effect
colorColorSets/stores the current colorhyperion:serverNG:myServer:color
clearSwitchClears the priority specified in the Thing confighyperion:serverNG:myServer:clear
clear_allSwitchClears all prioritieshyperion:serverNG:myServer:clear_all
hyperionenabledSwitchEnables or disables Hyperionhyperion:serverNG:myServer:hyperionenabled
blackborderSwitchEnables or disables the black border componenthyperion:serverNG:myServer:blackborder
smoothingSwitchEnables or disables the smoothing componenthyperion:serverNG:myServer:smoothing
kodicheckerSwitchEnables or disables the kodi checker componenthyperion:serverNG:myServer:kodichecker
forwarderSwitchEnables or disables the forwarder componenthyperion:serverNG:myServer:forwarder
udplistenerSwitchEnables or disables the udp listener componenthyperion:serverNG:myServer:udplistener
boblightserverSwitchEnables or disables the boblight server componenthyperion:serverNG:myServer:boblightserver
grabberSwitchEnables or disables the grabber componenthyperion:serverNG:myServer:grabber
v4lSwitchEnables or disables the V4L componenthyperion:serverNG:myServer:v4l
leddeviceSwitchEnables or disables the led device componenthyperion:serverNG:myServer:leddevice

Items:

Dimmer Brightness 			"Brightness [%s]" 	{ channel="hyperion:serverV1:myServer:brightness"}
String Effect				"Current effect [%s]" 	{ channel="hyperion:serverV1:myServer:effect"}
Color MyColor				"Color"	 { channel="hyperion:serverV1:myServer:color"}
String Clear          "Clear priority"  { channel="hyperion:serverV1:myServer:clear"}
Switch HyperionEnabled {channel="hyperion:serverNG:myServer:hyperionenabled"}
Switch BlackBorderEnabled {channel="hyperion:serverNG:myServer:blackborder"}
Switch SmoothingEnabled {channel="hyperion:serverNG:myServer:smoothing"}
Switch KodiCheckerEnabled {channel="hyperion:serverNG:myServer:kodichecker"}
Switch ForwarderEnabled {channel="hyperion:serverNG:myServer:forwarder"}
Switch UdpListenerEnabled {channel="hyperion:serverNG:myServer:udplistener"}
Switch BoblightEnabled {channel="hyperion:serverNG:myServer:boblightserver"}
Switch GrabberEnabled {channel="hyperion:serverNG:myServer:grabber"}
Switch V4lEnabled {channel="hyperion:serverNG:myServer:v4l"}
Switch LedDeviceEnabled {channel="hyperion:serverNG:myServer:leddevice"}

Example Sitemap

Using the above things channels and items Sitemap:

sitemap demo label="Main Menu" {
        Frame  {
               	Slider item=Brightness
				Selection item=Effect mappings=['Knight rider' = 'Knight rider', 'Red mood blobs'='Red mood blobs']
				Text item=Clear
				Colorpicker item=MyColor
				
				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
        }
}