Epson projector binding - vpjuslin/openhab GitHub Wiki
Documentation of the Epson projector binding Bundle
Binding should be compatible with Epson projectors which support ESC/VP21 protocol over serial port.
For installation of the binding, please see Wiki page Bindings.
First of all you need to introduce your Epson projector's in the openhab.cfg file (in the folder '${openhab_home}/configurations').
################################# Epson Projector Binding ######################################
# Serial port of the first Epson projector to control
# epsonprojector:<devId1>.serialPort=
# Serial port of the second Epson projector to control
# epsonprojector:<devId2>.serialPort=
The epsonprojector:<devId1>.serialPort
value is the identification of the serial port on the host system where projector is connected, e.g. "COM1" on Windows, "/dev/ttyS0" on Linux or "/dev/tty.PL2303-0000103D" on Mac.
Examples, how to configure your receiver device:
epsonprojector:hometheater.serialPort=/dev/tty.usbserial
In order to bind an item to the device, you need to provide configuration settings. The easiest way to do so is to add some binding information in your item file (in the folder configurations/items`). The syntax of the binding configuration strings accepted is the following:
epsonprojector="<direction><device-id>:<device-command>[:<update-interval>]"
where <direction>
is one of the following values:
- < - for inbound communication
-
- for outbound communication
-
*
- for either inbound or outbound communication, e.g bi-directional
The <device-id>
corresponds device which is introduced in openhab.cfg.
The <device-command>
corresponds Epson projector command. See complite list below.
The <update-interval>
corresponds update interval of the item. Update interval is only supported by the inbound and bi-directional items. Some of the commands, projector will only response when projector is running. This situation can be handle with special interval, where interval is started with "ON," prefix.
Examples, how to configure your items:
Switch Power { epsonprojector="hometheater:Power:60000" }
String Source { epsonprojector="hometheater:Source:ON,60000" }
Number LampTime { epsonprojector="<hometheater:LampTime:60000" }
Command | Item Type | Purpose | Note |
---|---|---|---|
Power | Switch | ||
PowerState | String | ||
LampTime | Number | ||
KeyCode | Number | ||
VerticalKeystone | Number | ||
HorizontalKeystone | Number | ||
AutoKeystone | Number | ||
AspectRatio | String | ||
Luminance | String | ||
Source | String | ||
DirectSource | Number | ||
Brightness | Number | ||
Contrast | Number | ||
Density | Number | ||
Tint | Number | ||
Sharpness | Number | ||
ColorTemperature | Number | ||
FleshTemperature | Number | ||
ColorMode | String | ||
HorizontalPosition | Number | ||
VerticalPosition | Number | ||
Tracking | Number | ||
Sync | Number | ||
OffsetRed | Number | ||
OffsetGreen | Number | ||
OffsetBlue | Number | ||
GainRed | Number | ||
GainGreen | Number | ||
GainBlue | Number | ||
Gamma | String | ||
GammaStep | Number | ||
Color | String | ||
Mute | Switch | ||
HorizontalReverse | Switch | ||
VerticalReverse | Switch | ||
Background | String | ||
ErrCode | Number | ||
ErrMessage | String |
All information (command list, supported devices, ..) about Epsons ESC/VP21-Protocol can be found here:
http://www.epson.com/cgi-bin/Store/support/supAdvice.jsp?type=highlights¬eoid=184485
and
ftp://download.epson-europe.com/pub/download/3756/epson375633eu.xlsx
epson.items
Switch epsonPower { epsonprojector="hometheater:Power:60000" }
String epsonSource "Source [%s]" { epsonprojector="hometheater:Source:ON,60000" }
Number epsonDirectSource "Direct Source" { epsonprojector="hometheater:DirectSource:ON,60000"}
Switch epsonMute { epsonprojector="hometheater:Mute:ON,60000" }
Switch epsonHorizontalReverse { epsonprojector="hometheater:HorizontalReverse:ON,60000" }
Switch epsonVerticalReverse { epsonprojector="hometheater:VerticalReverse:ON,60000" }
String epsonAspectRatio "AspectRatio [%s]" { epsonprojector="hometheater:AspectRatio:ON,60000" }
String epsonColorMode "ColorMode [%s]" { epsonprojector="hometheater:ColorMode:ON,60000" }
Number epsonColorTemperature "Color Temperature [%d]" <colorwheel> { epsonprojector="<hometheater:ColorTemperature:ON,60000" }
Number epsonLampTime "Lamp Time [%d h]" <switch> { epsonprojector="<hometheater:LampTime:60000" }
Number epsonErrCode "ErrCode [%d]" <"siren-on"> { epsonprojector="<hometheater:ErrCode:ON,60000" }
String epsonErrMessage "ErrMessage [%s]" <"siren-off"> { epsonprojector="<hometheater:ErrMessage:ON,60000" }
epson.sitemap
sitemap epson label="Epson Projector Demo"
{
Frame label="Controls" {
Switch item=epsonPower label="Power"
Text item=epsonSource
Selection item=epsonDirectSource label="DirectSource" mappings=[20="COMPONENT", 32="PC", 48=HDMI1, 160=HDMI2, 65=VIDEO, 66=SVIDEO]
Switch item=epsonMute label="Mute"
}
Frame label="Flip Projection" {
Switch item=epsonHorizontalReverse label="Horizontal Reverse"
Switch item=epsonVerticalReverse label="Vertical Reverse"
}
Frame label="Info" {
Text item=epsonAspectRatio
Text item=epsonColorMode
Text item=epsonColorTemperature
Text item=epsonLampTime
Text item=epsonErrCode
Text item=epsonErrMessage
}
}
###Screenshot: