diff --git a/FHEM/00_CUL.pm b/FHEM/00_CUL.pm
index 1842a1494..a12a624fd 100755
--- a/FHEM/00_CUL.pm
+++ b/FHEM/00_CUL.pm
@@ -46,8 +46,8 @@ my %sets = (
my @ampllist = (24, 27, 30, 33, 36, 38, 40, 42); # rAmpl(dB)
-my $clientsSlowRF = ":FS20:FHT:FHT8V:KS300:USF1000:BS:HMS" .
- ":CUL_EM:CUL_WS:CUL_FHTTK:CUL_RFR:CUL_HOERMANN" .
+my $clientsSlowRF = ":FS20:FHT:FHT8V:KS300:USF1000:BS:HMS: " .
+ ":CUL_EM:CUL_WS:CUL_FHTTK:CUL_RFR:CUL_HOERMANN: " .
":ESA2000:CUL_IR:";
my $clientsHomeMatic = ":CUL_HM:HMS:";
diff --git a/docs/commandref.html b/docs/commandref.html
index bc0b41c8b..b50fcc56e 100644
--- a/docs/commandref.html
+++ b/docs/commandref.html
@@ -2017,8 +2017,10 @@ A line ending with \ will be concatenated with the next one, so long lines
Set
raw
- Issue a CUL firmware command. See the CUL firmware README document for
- details on CUL commands.
+ Issue a CUL firmware command. See the this document
+ for details on CUL commands.
+
freq / bWidth / rAmpl / sens SlowRF mode only.
@@ -5739,15 +5741,18 @@ Readings and STATE of temperature/humidity sensors are compatible with the CUL_W
-
smallscreen
- Optimize for small screen size, e.g. smartphones.
+
+
smallscreen, touchpad
+ Optimize for small screen size (i.e. smartphones) or for touchpad
+ devices (i.e. tablets)
Note: The default configuration installed with make install-pgm2
installs 2 FHEMWEB instances: port 8083 for desktop browsers and
port 8084 for smallscreen browsers, both using SVG rendering. As
Android does not support SVG at the moment, change plotmode to
gnuplot-scroll.
- WebApp suppport: After viewing the site on the iPhone or iPad in
- Safari, add it to the home-screen to get full-screen support.
+ WebApp suppport if specifying one of the above options: After viewing
+ the site on the iPhone or iPad in Safari, add it to the home-screen to
+ get full-screen support.
diff --git a/webfrontend/pgm2/01_FHEMWEB.pm b/webfrontend/pgm2/01_FHEMWEB.pm
index 7dd8c0909..fe40882b4 100755
--- a/webfrontend/pgm2/01_FHEMWEB.pm
+++ b/webfrontend/pgm2/01_FHEMWEB.pm
@@ -36,6 +36,7 @@ sub FW_calcWeblink($$);
use vars qw($FW_dir); # moddir (./FHEM), needed by SVG
use vars qw($FW_ME); # webname (default is fhem), needed by 97_GROUP
use vars qw($FW_ss); # is smallscreen, needed by 97_GROUP/95_VIEW
+use vars qw($FW_tp); # is touchpad (iPad / etc)
use vars qw(%FW_types);# device types, for sorting, for 97_GROUP/95_VIEW
my $zlib_loaded;
@@ -75,7 +76,8 @@ FHEMWEB_Initialize($)
$hash->{UndefFn} = "FW_Undef";
$hash->{AttrList}= "loglevel:0,1,2,3,4,5,6 webname fwmodpath fwcompress " .
"plotmode:gnuplot,gnuplot-scroll,SVG plotsize refresh " .
- "smallscreen plotfork basicAuth basicAuthMsg HTTPS";
+ "touchpad smallscreen plotfork basicAuth basicAuthMsg ".
+ "HTTPS";
###############
# Initialize internal structures
@@ -255,7 +257,7 @@ FW_Read($)
my ($mode, $arg, $method) = split(" ", $lines[0]);
$hash->{BUF} = "";
- Log($ll, "HTTP $name GET $arg");
+ Log $ll, "HTTP $name GET $arg";
my $pid;
if(AttrVal($FW_wname, "plotfork", undef)) {
# Process SVG rendering as a parallel process
@@ -285,7 +287,7 @@ FW_Read($)
my $length = length($FW_RET);
my $expires = ($cacheable?
("Expires: ".localtime(time()+900)." GMT\r\n") : "");
- #Log 0, "$arg / RL: $length / $FW_RETTYPE / $compressed";
+ Log $ll, "$arg / RL: $length / $FW_RETTYPE / $compressed / $expires";
print $c "HTTP/1.1 200 OK\r\n",
"Content-Length: $length\r\n",
$expires, $compressed,
@@ -305,6 +307,7 @@ FW_AnswerCall($)
$FW_ME = "/" . AttrVal($FW_wname, "webname", "fhem");
$FW_dir = AttrVal($FW_wname, "fwmodpath", "$attr{global}{modpath}/FHEM");
$FW_ss = AttrVal($FW_wname, "smallscreen", 0);
+ $FW_tp = AttrVal($FW_wname, "touchpad", $FW_ss);
# Lets go:
if($arg =~ m,^${FW_ME}/(.*html)$, || $arg =~ m,^${FW_ME}/(example.*)$,) {
@@ -371,7 +374,8 @@ FW_AnswerCall($)
$cmd !~ /^edit/);
$FW_plotmode = AttrVal($FW_wname, "plotmode", "SVG");
- $FW_plotsize = AttrVal($FW_wname, "plotsize", $FW_ss ? "480,160" : "800,160");
+ $FW_plotsize = AttrVal($FW_wname, "plotsize", $FW_ss ? "480,160" :
+ $FW_tp ? "600,160" : "800,160");
$FW_reldoc = "$FW_ME/commandref.html";
$FW_cmdret = $docmd ? fC($cmd) : "";
@@ -402,7 +406,8 @@ FW_AnswerCall($)
pO '';
pO "\n$t";
- if($FW_ss) {
+ # Enable WebApp
+ if($FW_tp || $FW_ss) {
pO '';
pO '';
pO '';
@@ -410,7 +415,8 @@ FW_AnswerCall($)
my $rf = AttrVal($FW_wname, "refresh", "");
pO "" if($rf);
- my $stylecss = ($FW_ss ? "style_smallscreen.css" : "style.css");
+ my $stylecss = ($FW_ss ? "style_smallscreen.css" :
+ $FW_tp ? "style_touchpad.css" : "style.css");
pO "";
pO ""
if($FW_plotmode eq "SVG");
@@ -719,7 +725,7 @@ FW_roomOverview($)
push(@list1, ""); push(@list2, "");
pO "
";
- if($FW_ss) {
+ if($FW_ss) { # Make a selection sensitive dropdown list
foreach(my $idx = 0; $idx < @list1; $idx++) {
if(!$list1[$idx]) {
pO "" if($idx);
@@ -736,13 +742,20 @@ FW_roomOverview($)
pO "