[epsonprojector] Add configurable volume channel (#10988)
Signed-off-by: Michael Lobstein <michael.lobstein@gmail.com>
This commit is contained in:
@@ -25,14 +25,16 @@ The `projector-serial` thing has the following configuration parameters:
|
||||
|-----------------|------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|
|
||||
| serialPort | Serial Port | Serial port device name that is connected to the Epson projector to control, e.g. COM1 on Windows, /dev/ttyS0 on Linux or /dev/tty.PL2303-0000103D on Mac. | yes |
|
||||
| pollingInterval | Polling Interval | Polling interval in seconds to update channel states, range 5-60 seconds; default 10 seconds. | no |
|
||||
| maxVolume | Max Volume Range | Set to the maximum volume level available in the projector's OSD to select the correct range for the volume control. e.g. 20 or 40; default 20 | no |
|
||||
|
||||
The `projector-tcp` thing has the following configuration parameters:
|
||||
|
||||
| Parameter | Name | Description | Required |
|
||||
|-----------------|------------------|-------------------------------------------------------------------------------------------------------------------------|----------|
|
||||
| host | Host Name | Host Name or IP address for the projector or serial over IP device. | yes |
|
||||
| port | Port | Port for the projector or serial over IP device; default 3629 for projectors with built-in ethernet connector or Wi-Fi. | yes |
|
||||
| pollingInterval | Polling Interval | Polling interval in seconds to update channel states, range 5-60 seconds; default 10 seconds. | no |
|
||||
| Parameter | Name | Description | Required |
|
||||
|-----------------|------------------|------------------------------------------------------------------------------------------------------------------------------------------------|----------|
|
||||
| host | Host Name | Host Name or IP address for the projector or serial over IP device. | yes |
|
||||
| port | Port | Port for the projector or serial over IP device; default 3629 for projectors with built-in ethernet connector or Wi-Fi. | yes |
|
||||
| pollingInterval | Polling Interval | Polling interval in seconds to update channel states, range 5-60 seconds; default 10 seconds. | no |
|
||||
| maxVolume | Max Volume Range | Set to the maximum volume level available in the projector's OSD to select the correct range for the volume control. e.g. 20 or 40; default 20 | no |
|
||||
|
||||
Some notes:
|
||||
|
||||
@@ -40,8 +42,9 @@ Some notes:
|
||||
* The _source_ channel includes a dropdown with the most common source inputs.
|
||||
* If your projector has a source input that is not in the dropdown, the two digit hex code to access that input will be displayed by the _source_ channel when that input is selected by the remote control.
|
||||
* By using the sitemap mapping or a rule to send the input's code back to the _source_ channel, any source on the projector can be accessed by the binding.
|
||||
* The following channels _aspectratio_, _colormode_, _luminance_, _gamma_ and _background_ are pre-populated with a full set of options and not every option will be useable on all projectors.
|
||||
* The following channels _aspectratio_, _colormode_, _luminance_, _gamma_ and _background_ are pre-populated with a full set of options but not every option will be useable on all projectors.
|
||||
* If your projector has an option in one of the above mentioned channels that is not recognized by the binding, the channel will display 'UNKNOWN' if that un-recognized option is selected by the remote control.
|
||||
* The volume channel is a dimmer (0-100%) that is scaled to the range on the projector, either 0-20 or 0-40 per the maxVolume configuration setting. If your projector uses a different range, then the volume channel will not work.
|
||||
* If the projector power is switched to off in the middle of a polling operation, some of the channel values may become undefined until the projector is switched on again.
|
||||
* If the binding fails to connect to the projector using the direct IP connection, ensure that no password is configured on the projctor.
|
||||
|
||||
@@ -56,36 +59,36 @@ Some notes:
|
||||
|
||||
## Channels
|
||||
|
||||
| Channel | Item Type | Purpose | Values |
|
||||
| ------------------ | --------- | ----------------------------------------------------------------- | --------- |
|
||||
| power | Switch | Powers the projector on or off. | |
|
||||
| powerstate | String | Retrieves the textual power state of the projector. | Read only |
|
||||
| source | String | Retrieve or set the input source. | See above |
|
||||
| aspectratio | String | Retrieve or set the aspect ratio. | See above |
|
||||
| colormode | String | Retrieve or set the color mode. | See above |
|
||||
| freeze | Switch | Turn the freeze screen mode on or off. | |
|
||||
| mute | Switch | Turn the AV mute on or off. | |
|
||||
| volume | Number | Retrieve or set the volume. | 0 - +20 |
|
||||
| luminance | String | Retrieve or set the lamp mode. | See above |
|
||||
| brightness | Number | Retrieve or set the brightness. | -24 - +24 |
|
||||
| contrast | Number | Retrieve or set the contrast. | -24 - +24 |
|
||||
| density | Number | Retrieve or set the density (color saturation). | -32 - +32 |
|
||||
| tint | Number | Retrieve or set the tint. | -32 - +32 |
|
||||
| colortemperature | Number | Retrieve or set the color temperature. | 0 - +9 |
|
||||
| fleshtemperature | Number | Retrieve or set the flesh temperature. | 0 - +6 |
|
||||
| gamma | String | Retrieve or set the gamma setting. | See above |
|
||||
| autokeystone | Switch | Turn the auto keystone mode on or off. | |
|
||||
| verticalkeystone | Number | Retrieve or set the vertical keystone. | -30 - +30 |
|
||||
| horizontalkeystone | Number | Retrieve or set the horizontal keystone. | -30 - +30 |
|
||||
| verticalposition | Number | Retrieve or set the vertical position. | -8 - +10 |
|
||||
| horizontalposition | Number | Retrieve or set the horizontal position. | -23 - +26 |
|
||||
| verticalreverse | Switch | Turn the vertical reverse mode on or off. | |
|
||||
| horizontalreverse | Switch | Turn the horizontal reverse mode on or off. | |
|
||||
| background | String | Retrieve or set the background color/logo. | See above |
|
||||
| keycode | String | Send a key operation command to the projector. (2 character code) | Send only |
|
||||
| lamptime | Number | Retrieves the lamp hours. | Read only |
|
||||
| errcode | Number | Retrieves the last error code. | Read only |
|
||||
| errmessage | String | Retrieves the description of the last error. | Read only |
|
||||
| Channel | Item Type | Purpose | Values |
|
||||
| ------------------ | --------- | ------------------------------------------------------------------------------------------ | --------- |
|
||||
| power | Switch | Powers the projector on or off. | |
|
||||
| powerstate | String | Retrieves the textual power state of the projector. | Read only |
|
||||
| source | String | Retrieve or set the input source. | See above |
|
||||
| aspectratio | String | Retrieve or set the aspect ratio. | See above |
|
||||
| colormode | String | Retrieve or set the color mode. | See above |
|
||||
| freeze | Switch | Turn the freeze screen mode on or off. | |
|
||||
| mute | Switch | Turn the AV mute on or off. | |
|
||||
| volume | Dimmer | Retrieve or set the volume. Scaled to 0-20 or 0-40 on the projector per maxVolume setting. | 0% - 100% |
|
||||
| luminance | String | Retrieve or set the lamp mode. | See above |
|
||||
| brightness | Number | Retrieve or set the brightness. | -24 - +24 |
|
||||
| contrast | Number | Retrieve or set the contrast. | -24 - +24 |
|
||||
| density | Number | Retrieve or set the density (color saturation). | -32 - +32 |
|
||||
| tint | Number | Retrieve or set the tint. | -32 - +32 |
|
||||
| colortemperature | Number | Retrieve or set the color temperature. | 0 - +9 |
|
||||
| fleshtemperature | Number | Retrieve or set the flesh temperature. | 0 - +6 |
|
||||
| gamma | String | Retrieve or set the gamma setting. | See above |
|
||||
| autokeystone | Switch | Turn the auto keystone mode on or off. | |
|
||||
| verticalkeystone | Number | Retrieve or set the vertical keystone. | -30 - +30 |
|
||||
| horizontalkeystone | Number | Retrieve or set the horizontal keystone. | -30 - +30 |
|
||||
| verticalposition | Number | Retrieve or set the vertical position. | -8 - +10 |
|
||||
| horizontalposition | Number | Retrieve or set the horizontal position. | -23 - +26 |
|
||||
| verticalreverse | Switch | Turn the vertical reverse mode on or off. | |
|
||||
| horizontalreverse | Switch | Turn the horizontal reverse mode on or off. | |
|
||||
| background | String | Retrieve or set the background color/logo. | See above |
|
||||
| keycode | String | Send a key operation command to the projector. (2 character code) | Send only |
|
||||
| lamptime | Number | Retrieves the lamp hours. | Read only |
|
||||
| errcode | Number | Retrieves the last error code. | Read only |
|
||||
| errmessage | String | Retrieves the description of the last error. | Read only |
|
||||
|
||||
## Full Example
|
||||
|
||||
@@ -93,10 +96,10 @@ things/epson.things:
|
||||
|
||||
```
|
||||
// serial port connection
|
||||
epsonprojector:projector-serial:hometheater "Projector" [ serialPort="COM5", pollingInterval=10 ]
|
||||
epsonprojector:projector-serial:hometheater "Projector" [ serialPort="COM5", pollingInterval=10, maxVolume=20 ]
|
||||
|
||||
// direct IP or serial over IP connection
|
||||
epsonprojector:projector-tcp:hometheater "Projector" [ host="192.168.0.10", port=3629, pollingInterval=10 ]
|
||||
epsonprojector:projector-tcp:hometheater "Projector" [ host="192.168.0.10", port=3629, pollingInterval=10, maxVolume=20 ]
|
||||
|
||||
```
|
||||
|
||||
@@ -109,7 +112,7 @@ String epsonAspectRatio "Aspect Ratio [%s]" { channel="epsonprojector
|
||||
String epsonColorMode "Color Mode [%s]" { channel="epsonprojector:projector-serial:hometheater:colormode" }
|
||||
Switch epsonFreeze { channel="epsonprojector:projector-serial:hometheater:freeze" }
|
||||
Switch epsonMute { channel="epsonprojector:projector-serial:hometheater:mute" }
|
||||
Number epsonVolume { channel="epsonprojector:projector-serial:hometheater:volume" }
|
||||
Dimmer epsonVolume { channel="epsonprojector:projector-serial:hometheater:volume" }
|
||||
String epsonLuminance "Lamp Mode [%s]" { channel="epsonprojector:projector-serial:hometheater:luminance" }
|
||||
|
||||
Number epsonBrightness { channel="epsonprojector:projector-serial:hometheater:brightness" }
|
||||
@@ -139,14 +142,15 @@ String epsonErrMessage "Error Message [%s]" <"siren-off"> { channel="epsonproj
|
||||
sitemaps/epson.sitemap
|
||||
|
||||
```
|
||||
sitemap epson label="Epson Projector Demo"
|
||||
sitemap epson label="Epson Projector"
|
||||
{
|
||||
Frame label="Controls" {
|
||||
Switch item=epsonPower label="Power"
|
||||
Selection item=epsonSource label="Source" mappings=["30"="HDMI1", "A0"="HDMI2", "14"="Component", "20"="PC DSUB", "41"="Video", "42"="S-Video"]
|
||||
Switch item=epsonFreeze label="Freeze"
|
||||
Switch item=epsonMute label="AV Mute"
|
||||
Setpoint item=epsonVolume label="Volume"
|
||||
// Volume can be a Setpoint also
|
||||
Slider item=epsonVolume label="Volume" minValue=0 maxValue=100 step=1 icon="soundvolume"
|
||||
Switch item=epsonKeyCode label="Navigation" icon="screen" mappings=["03"="Menu", "35"="˄", "36"="˅", "37"="<", "38"=">", "16"="Enter"]
|
||||
}
|
||||
Frame label="Adjust Image" {
|
||||
|
||||
Reference in New Issue
Block a user