diff --git a/fhem/FHEM/70_ESCVP21net.pm b/fhem/FHEM/70_ESCVP21net.pm
index 2a92faa52..319a41d9d 100755
--- a/fhem/FHEM/70_ESCVP21net.pm
+++ b/fhem/FHEM/70_ESCVP21net.pm
@@ -42,6 +42,7 @@
# 1.01.21 added HC2150
# 1.01.22 added "on" and "off" as direct set commands
# 1.01.23 adding some default attributes on Define (icon, webCmd, cmdIcon,stateFormat)
+# 1.01.24 optimize help text
#
################################################################################
#
@@ -75,7 +76,7 @@ use POSIX;
#use JSON::XS qw (encode_json decode_json);
-my $version = "1.01.23";
+my $version = "1.01.24";
my $missingModul = "";
eval "use JSON::XS qw (encode_json decode_json);1" or $missingModul .= "JSON::XS ";
@@ -100,7 +101,7 @@ my %ESCVP21net_defaultsets = (
"GetAll" => ":noArg",
"GetStatus" => ":noArg",
"ASPECT" => ":get,HDMI,PC",
- "KEY" => ":get,HDMI1,PC",
+ "KEY" => ":03,05,3C,3D",
"LAMP" => ":get",
"MUTE" => ":get,on,off,toggle",
"PWR" => ":get,on,off,toggle",
@@ -1847,7 +1848,7 @@ sub ESCVP21net_VP21init ($$) {
sub ESCVP21net_checkConnection ($) {
# checks each intervall if connection is still alive - DevIo recognizes a broken connection
# (like device switched completely off) only after TCP timeout of 60-90 minutes
- # check can be omitted by setting checkIntervall to "off"
+ # check can be omitted by setting checkInterval to "off"
my ($hash) = @_;
my $name = $hash->{NAME};
@@ -2204,41 +2205,279 @@ sub ESCVP21net_openDevice{
For the predefined commands, "nice" names will be shown in the readings, e.g. for PWR: Standby (Net on) instead of the boring PWR=04 (which is the device's answer if the projector is in Standby with LAN on).
Default set commands are
+
GetAll
This is a little bit special - it does not send just one command to the projector, but will select every command defined which has a get option, send it to the projector and update the corresponding reading. If a command gives no result or an error, this will be suppressed, the old value is silently kept.
The status of GetAll is shown in the GetAll reading. It will either show the read commands, or inform if an error was received.
+
GetStatus
Also special - also does not send just one command to the projector, but will select every command you defined in attr "statusCheckCmd" which has a get option, send it to the projector and update the corresponding reading. If a command gives no result or an error, this will be suppressed, the old value is silently kept.
The status of GetStatus is shown in the GetStatus reading. It will either show the read commands, or inform if an error was received.
+
LAMP
get to query lamp hours.
+
MUTE
on or off to mute video signal (i.e. blank screen), get to query current state.
+
KEY
sends the value you enter to the projector.
-
E.g.KEY 03 should open the OSD menu, KEY 05 should close it.
+
E.g.KEY 03 or KEY 3C should open the OSD menu, KEY 05 or or KEY 3D should close it.
+
Feel free to define your own KEY sets via the attribute "AdditionalSettings".
+
PWR
on or off to switch power, get to query current value.
+
on
Hm, what could that mean ... OK, shortcut to switch your projector on - give it a try!
+
off
Wohoo ... want to switch it off again? Then use this command.
+
+ ASPECT
+
set/get aspect ratio. Values depend on your model.
+
+
+
+ AUTOHOME
+
set/get auto display of home screen.
+
+
+
+ AUTOKEYSTONE
+
set/get auto keystone correction.
+
+
+
+ BRIGHT
+
get brightness value.
+
+
+
+ BRIGHTset
+
Set brightness value.
+
+
+
+ BTAUDIO
+
set/get bluetooth audio (on/off).
+
+
+
+ CMODE
+
set/get color mode.
+
+
+
+ CONTRAST
+
get contrast enhancement value.
+
+
+
+ CONTRASTset
+
set contrast enhancement value.
+
+
+
+ DENSITY
+
get density value.
+
+
+
+ DENSITYset
+
set density value.
+
+
+
+ ERASEMEM
+
Erase picture setting memory slot (1...10), related to PUSHMEM, POPMEM.
+
+
+
+ GAMMA
+
set/get gamma value (-2...2)
+
+
+
+ HREVERSE
+
set/get horizontal reverse setting.
+
+
+
+ ILLUM
+
set/get illumination setting of on-device control lights.
+
+
+
+ IMGPROC
+
undocumented setting for image processing (fine/fast). Might not be available on some devices.
+
+
+
+ IRIS
+
undocumented setting for iris setting. Might not be available on some devices.
+
+
+
+ LIRIS
+
undocumented setting for L-iris setting (whatever that means...). Might not be available on some devices.
+
+
+
+ LUMINANCE
+
set/get luminance setting (high/low).
+
+
+
+ MCFI
+
set/get frame interpolation setting.
+
+
+
+ MSEL
+
set/get background color for A/V mute screen.
+
+
+
+ OVSCAN
+
set/get overscan ratio.
+
+
+
+ POPMEM
+
restore image setting from memory slot (1...10), related to PUSHMEM, ERASEMEM.
+
+
+
+ PUSHMEM
+
save current image setting to memory slot (1...10), related to POPMEM, ERASEMEM.
+
+
+
+ PWSTATUS
+
undocumented. Gets pwer status (see PWR).
+
+
+
+ SHARP
+
get sharpness value.
+
+
+
+ SHARPset
+
set sharpness value.
+
+
+
+ SIGNAL
+
set/get signal state (e.g 2D/3D).
+
+
+
+ SNO
+
get serial number of device.
+
+
+
+ SOURCE
+
set/get current source of video input.
+
+
+
+ TINT
+
get tint value.
+
+
+
+ TINTset
+
set tint value.
+
+
+
+ VOL
+
get volume setting. Normally a multiple of 12 (whyever...).
+
+
+
+ VOLset
+
set volume. Range is 1...20, since epson wants a multiple of 12 to be set (whyever...).
+
+
+
+ VREVERSE
+
set/get vertical reverse setting.
+
+
+
The following commands are only available if debug is set to 1. They are not meant for normal operation.
+
Use at your own risk, might crash fhem if used in the "wrong" situation.
+
But stay calm - restart always helps (at least I hope so...)
+
+
+ cleanup
+
debug option. Deletes timers, closes connection, kills nonblocking function. Handle with care!
+
+
+
+ closeDevice
+
debug option. Closes connection to device.
+
+
+
+ connect
+
debug option. Closes active connection to device and forces reconnect.
+
+
+
+ decode
+
debug option. Decodes stored json values for set.
+
+
+
+ deleteNextOpen
+
debug option. Deletes timer for next device open command.
+
+
+
+ encode
+
debug option. Force new json encoding of set values.
+
+
+
+ isOpen
+
debug option. Query if connection to device is open and logs result in logfile (verbose 5 required).
+
+
+
+ openDevice
+
debug option. Force new connection to device. Handle with care.
+
+
+
+ reRead
+
debug option. Force update of set commands, useful if you changed e.g "AdditionalSettings".
+
+
+
+ removeTimer
+
debug option. Removes all timers for connection check.
+
+
@@ -2246,48 +2485,57 @@ sub ESCVP21net_openDevice{
Attributes
+
- Manufacturer
Epson|default - is not used currently.
+
- AdditionalSettings
cmd1:val_1,...,val_n cmd2:val_1,...,val_n
You can specify own set commands here, they will be added to the set list.
Multiple own sets can be specified, separated by a blank.
command and values are separated by ":", values are separated by ",".
Example: ASPECT:get,10,20,30 SN:noArg
-
Each command with get will we queried when unsing set <name> GetAll
+
Each command with get will we queried when unsing set <name> GetAll
+
Might need a restart to be recognized, or use "reRead" setting.
+
- connectionCheck
off|(value in seconds)
value defines the intervall in seconds to perform an connection check. This is useful, since the standard connection handling of fhem (DevIo) will not detect an broken TCP connection, so the state disconnected will only trigger after TCP timeout (60-90 minutes). If you are ok with this, just set it to off.
Default value is 60 seconds.
- - statusCheckIntervall
+
+
- statusCheckInterval
off|(value in seconds)
value defines the intervall in seconds to perform an status check. Each interval the projector is queried with the command defined by statusCheckCmd (default: PWR to get power status).
Default value is 60 seconds.
+
- statusCheckCmd
(any command(s) you set)
-
Defines the command(s) used by statusCheckIntervall. Multiple commands can specified, e.g. PWR LAMP. Default: PWR to get power status.
+
Defines the command(s) used by statusCheckInterval. Multiple commands can specified, e.g. PWR LAMP. Default: PWR to get power status.
Wrong commands or commands without a get will be ignored.
+
- statusOfflineMsg
(any message text you set)
-
Defines the message to set in the Reading related to statusCheckCmd when the device goes offline. Status of device will be checked after each statusCheckIntervall (default: 60s), querying the statusCheckCmd command (default: PWR), and if STATE is disconnected the Reading of statusCheckCmd will be set to this message. Default: offline.
+
Defines the message to set in the Reading related to statusCheckCmd when the device goes offline. Status of device will be checked after each statusCheckInterval (default: 60s), querying the statusCheckCmd command (default: PWR), and if STATE is disconnected the Reading of statusCheckCmd will be set to this message. Default: offline.
- - cyclicReconnectg
+
+
- cyclicConnect
off|(value in seconds)
value defines the intervall in seconds to perform an periodic reconnect. Each interval we try to re-open the TCP connectionto the projector. Implemented to work around DevIo not recognizing a server-side broken connection, which can lead to a unnecessary, however non-blocking, system load.
Default value is 3600 seconds.
+
- debug
You won't need it. But ok, if you insist...
debug will reveal some more set commands, namely encode, decode, reread. They will store the currents sets and results in json format to hidden readings (encode) or restore them (decode). reread will just restore the available set commands for your projector type in case they got "lost". Don't use the other debug commands - unnless you know what you do...