diff --git a/docs/commandref.html b/docs/commandref.html
index 915d70b4e..234afd05a 100644
--- a/docs/commandref.html
+++ b/docs/commandref.html
@@ -151,6 +151,8 @@
dumpdef
holiday
notify
+ sequence
+ sequence
structure
watchdog
weblink
@@ -354,8 +356,13 @@ A line ending with \ will be concatenated with the next one, so long lines
room
- Filter/group devices. Recognized by web-pgm2 and web-pgm3.
- Devices in the room hidden will not appear in the web output.
+ Filter/group devices. Recognized by web-pgm2 and web-pgm3. A device
+ can appear in more than one room, in this case the rooms have to be
+ specified komma separated.
+ Devices in the room hidden will not appear in the web output, or set
+ the FHEMWEB attribute to selectively disable
+ rooms for certain FHEMWEB instances.
+
showtime
@@ -5319,65 +5326,6 @@ The one byte hex string is generated by the Oregon sensor when is it powered on.
Get
-
-structure
-
-
-
-
- Define
-
- define <name> structure <struct_type> <dev1> <dev2> ...
-
-
- The structure device is used to organize/structure a devices in order to
- set groups of them at once (e.g. switching everything off in a house).
-
- The list of attached devices can be modified through the addstruct /
- delstruct commands. Each attached device will get the attribute
- <struct_type>=<name>
when it is added to the list, and the
- attribute will be deleted if the device is deleted from the structure.
- The structure devices can also be added to a structure, e.g. you can have
- a building consisting of levels which consists of rooms of devices.
-
- Example:
-
- - define kitchen structure room lamp1 lamp2
- - addstruct kitchen TYPE=FS20
- - delstruct kitchen lamp1
- - define house structure building kitchen living
- - set house off
-
-
-
-
-
- Set
-
- Every set command is propagated to the attached devices. Exception: if an
- attached devices has an attribute structexcluse, and the attribute value
- matches (as a regexp) the name of the current structure.
-
-
-
-
- Get
-
- get is not supported through a structure device.
-
-
-
-
-
- Attributes
-
- - structexclude
- exclude the device from set operations, see the set command above.
-
-
-
-
-
WS2000
@@ -6102,6 +6050,7 @@ href="http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=29870">U
+
label
Double-Colon separated list of values. The values will be used to replace
@@ -6132,15 +6081,13 @@ href="http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=29870">U
+
title
A special form of label (see above), which replaces the string <TL>
in the .gplot file. It defaults to the filename of the logfile.
-
- stylesheet
- name of the alternative stylesheet file in the FHEM directory.
-
+
@@ -6363,7 +6310,20 @@ href="http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=29870">U
cd certs
openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem
-
+
+
+
+
+ stylesheet
+ name of the alternative stylesheet file in the FHEM directory.
+
+
+
+
+ hiddenroom
+ Komma separated list of rooms to "hide", i.e. not to show.
+
+
@@ -6777,6 +6737,108 @@ href="http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=29870">U
+
+sequence
+
+
+
+
+ Define
+
+ define <name> sequence <re1> <timeout1> <re2> [<timeout2> <re3> ...]
+
+
+ A sequence is used to allow to trigger events for a certain combination of
+ button presses on a remote. E.g. to switch on a lamp when pressing the
+ Btn1:on, then Btn2:off and at last Btn1:on one after the other you could
+ define the following:
+
+
+
+ define lampseq sequence Btn1:on 0.5 Btn2:off 0.5 Btn1 on
+ define lampon notify lampseq:trigger set lamp on
+
+
+
+
+
+
+ Set
+
+
+ Get
+
+
+ Attributes
+
+
+
+
+
+
+
+structure
+
+
+
+
+ Define
+
+ define <name> structure <struct_type> <dev1> <dev2> ...
+
+
+ The structure device is used to organize/structure a devices in order to
+ set groups of them at once (e.g. switching everything off in a house).
+
+ The list of attached devices can be modified through the addstruct /
+ delstruct commands. Each attached device will get the attribute
+ <struct_type>=<name>
when it is added to the list, and the
+ attribute will be deleted if the device is deleted from the structure.
+ The structure devices can also be added to a structure, e.g. you can have
+ a building consisting of levels which consists of rooms of devices.
+
+ Example:
+
+ - define kitchen structure room lamp1 lamp2
+ - addstruct kitchen TYPE=FS20
+ - delstruct kitchen lamp1
+ - define house structure building kitchen living
+ - set house off
+
+
+
+
+
+ Set
+
+ Every set command is propagated to the attached devices. Exception: if an
+ attached devices has an attribute structexcluse, and the attribute value
+ matches (as a regexp) the name of the current structure.
+
+
+
+
+ Get
+
+ get is not supported through a structure device.
+
+
+
+
+
+ Attributes
+
+ - structexclude
+ exclude the device from set operations, see the set command above.
+
+
+
+
+
+
watchdog
@@ -7424,7 +7486,7 @@ isday
Perl specials
If you want to automate some tasks via fhem, then you'll probably use at or notify. For more complex tasks
- you'll use either a shell-Skript or a perl "oneliner" as the at/notify
+ you'll use either a shell-script or a perl "oneliner" as the at/notify
argument. This chapter gives some tips in using the perl oneliners.
- To test perl oneliners, type them on the telnet prompt (or FHEMWEB text
diff --git a/webfrontend/pgm2/01_FHEMWEB.pm b/webfrontend/pgm2/01_FHEMWEB.pm
index d2c7e2e72..249d99f0a 100755
--- a/webfrontend/pgm2/01_FHEMWEB.pm
+++ b/webfrontend/pgm2/01_FHEMWEB.pm
@@ -80,7 +80,7 @@ FHEMWEB_Initialize($)
$hash->{AttrList}= "loglevel:0,1,2,3,4,5,6 webname fwmodpath fwcompress " .
"plotmode:gnuplot,gnuplot-scroll,SVG plotsize refresh " .
"touchpad smallscreen plotfork basicAuth basicAuthMsg ".
- "stylesheet HTTPS";
+ "stylesheet hiddenroom HTTPS";
###############
# Initialize internal structures
@@ -641,6 +641,7 @@ FW_doDetail($)
pO FW_hidden("detail", $d);
$FW_room = AttrVal($d, "room", undef);
+ $FW_room = $1 if($FW_room && $FW_room =~ m/^([^,]*),/); # Get first of a Multi-Room
my $t = $defs{$d}{TYPE};
pO "
";
@@ -726,8 +727,13 @@ FW_roomOverview($)
push(@list1, ""); push(@list2, "");
}
$FW_room = "" if(!$FW_room);
+
+ my %hiddenroom;
+ foreach my $r (split(",",AttrVal($FW_wname, "hiddenroom", ""))) {
+ $hiddenroom{$r} = 1;
+ }
foreach my $r (sort keys %FW_rooms) {
- next if($r eq "hidden");
+ next if($r eq "hidden" || $hiddenroom{$r});
push @list1, $r;
push @list2, "$FW_ME?room=$r";
}