mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-01-31 06:39:11 +00:00
hiddenroom added, Multi-room documented
git-svn-id: https://svn.fhem.de/fhem/trunk@1002 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
74ca0fc47a
commit
e80abc7e1e
@ -151,6 +151,8 @@
|
||||
<a href="#dumpdef">dumpdef</a>
|
||||
<a href="#holiday">holiday</a>
|
||||
<a href="#notify">notify</a>
|
||||
<a href="#sequence">sequence</a>
|
||||
<a href="#sequence">sequence</a>
|
||||
<a href="#structure">structure</a>
|
||||
<a href="#watchdog">watchdog</a>
|
||||
<a href="#weblink">weblink</a>
|
||||
@ -354,8 +356,13 @@ A line ending with \ will be concatenated with the next one, so long lines
|
||||
|
||||
<a name="room"></a>
|
||||
<li>room<br>
|
||||
Filter/group devices. Recognized by web-pgm2 and web-pgm3.
|
||||
Devices in the room hidden will not appear in the web output.</li>
|
||||
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.<br>
|
||||
Devices in the room hidden will not appear in the web output, or set
|
||||
the <a href="#hiddenroom"> FHEMWEB attribute to selectively disable
|
||||
rooms for certain FHEMWEB instances.
|
||||
</li>
|
||||
|
||||
<a name="showtime"></a>
|
||||
<li>showtime<br>
|
||||
@ -5319,65 +5326,6 @@ The one byte hex string is generated by the Oregon sensor when is it powered on.
|
||||
<b>Get</b> <ul>N/A</ul><br>
|
||||
</ul>
|
||||
|
||||
<a name="structure"></a>
|
||||
<h3>structure</h3>
|
||||
<ul>
|
||||
<br>
|
||||
|
||||
<a name="structuredefine"></a>
|
||||
<b>Define</b>
|
||||
<ul>
|
||||
<code>define <name> structure <struct_type> <dev1> <dev2> ...</code>
|
||||
<br><br>
|
||||
|
||||
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).<br>
|
||||
|
||||
The list of attached devices can be modified through the addstruct /
|
||||
delstruct commands. Each attached device will get the attribute
|
||||
<struct_type>=<name><br> 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.
|
||||
<br>
|
||||
Example:<br>
|
||||
<ul>
|
||||
<li>define kitchen structure room lamp1 lamp2</li>
|
||||
<li>addstruct kitchen TYPE=FS20</li>
|
||||
<li>delstruct kitchen lamp1</li>
|
||||
<li>define house structure building kitchen living</li>
|
||||
<li>set house off</li>
|
||||
</ul>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<a name="structureset"></a>
|
||||
<b>Set</b>
|
||||
<ul>
|
||||
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.
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<a name="structureget"></a>
|
||||
<b>Get</b>
|
||||
<ul>
|
||||
get is not supported through a structure device.
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
|
||||
<a name="structureattr"></a>
|
||||
<b>Attributes</b>
|
||||
<ul>
|
||||
<li>structexclude<br>
|
||||
exclude the device from set operations, see the set command above.</li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
</ul>
|
||||
|
||||
<a name="WS2000"></a>
|
||||
<h3>WS2000</h3>
|
||||
<ul>
|
||||
@ -6102,6 +6050,7 @@ href="http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=29870">U
|
||||
</ul></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<a name="label"></a>
|
||||
<li>label<br>
|
||||
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
|
||||
</ul></li>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
<a name="title"></a>
|
||||
<li>title<br>
|
||||
A special form of label (see above), which replaces the string <TL>
|
||||
in the .gplot file. It defaults to the filename of the logfile.
|
||||
</li>
|
||||
<a name="stylesheet"></a>
|
||||
<li>stylesheet<br>
|
||||
name of the alternative stylesheet file in the FHEM directory.
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
@ -6363,7 +6310,20 @@ href="http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=29870">U
|
||||
cd certs<br>
|
||||
openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem
|
||||
</ul>
|
||||
</li><br>
|
||||
<br><br>
|
||||
</li>
|
||||
|
||||
<a name="stylesheet"></a>
|
||||
<li>stylesheet<br>
|
||||
name of the alternative stylesheet file in the FHEM directory.
|
||||
<br><br>
|
||||
</li>
|
||||
|
||||
<a name="hiddenroom"></a>
|
||||
<li>hiddenroom<br>
|
||||
Komma separated list of rooms to "hide", i.e. not to show.
|
||||
<br><br>
|
||||
</li>
|
||||
|
||||
|
||||
</ul>
|
||||
@ -6777,6 +6737,108 @@ href="http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=29870">U
|
||||
|
||||
</ul>
|
||||
|
||||
<a name="sequence"></a>
|
||||
<h3>sequence</h3>
|
||||
<ul>
|
||||
<br>
|
||||
|
||||
<a name="sequencedefine"></a>
|
||||
<b>Define</b>
|
||||
<ul>
|
||||
<code>define <name> sequence <re1> <timeout1> <re2> [<timeout2> <re3> ...]</code>
|
||||
<br><br>
|
||||
|
||||
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:<br>
|
||||
<br>
|
||||
<ul>
|
||||
<code>
|
||||
define lampseq sequence Btn1:on 0.5 Btn2:off 0.5 Btn1 on<br>
|
||||
define lampon notify lampseq:trigger set lamp on
|
||||
</code>
|
||||
</ul>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<a name="sequenceset"></a>
|
||||
<b>Set</b> <ul>N/A</ul><br>
|
||||
|
||||
<a name="sequenceget"></a>
|
||||
<b>Get</b> <ul>N/A</ul><br>
|
||||
|
||||
<a name="sequenceattr"></a>
|
||||
<b>Attributes</b>
|
||||
<ul>
|
||||
<li><a href="#disable">disable</a></li>
|
||||
<li><a href="#loglevel">loglevel</a></li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="structure"></a>
|
||||
<h3>structure</h3>
|
||||
<ul>
|
||||
<br>
|
||||
|
||||
<a name="structuredefine"></a>
|
||||
<b>Define</b>
|
||||
<ul>
|
||||
<code>define <name> structure <struct_type> <dev1> <dev2> ...</code>
|
||||
<br><br>
|
||||
|
||||
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).<br>
|
||||
|
||||
The list of attached devices can be modified through the addstruct /
|
||||
delstruct commands. Each attached device will get the attribute
|
||||
<struct_type>=<name><br> 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.
|
||||
<br>
|
||||
Example:<br>
|
||||
<ul>
|
||||
<li>define kitchen structure room lamp1 lamp2</li>
|
||||
<li>addstruct kitchen TYPE=FS20</li>
|
||||
<li>delstruct kitchen lamp1</li>
|
||||
<li>define house structure building kitchen living</li>
|
||||
<li>set house off</li>
|
||||
</ul>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<a name="structureset"></a>
|
||||
<b>Set</b>
|
||||
<ul>
|
||||
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.
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
<a name="structureget"></a>
|
||||
<b>Get</b>
|
||||
<ul>
|
||||
get is not supported through a structure device.
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
|
||||
<a name="structureattr"></a>
|
||||
<b>Attributes</b>
|
||||
<ul>
|
||||
<li>structexclude<br>
|
||||
exclude the device from set operations, see the set command above.</li>
|
||||
</ul>
|
||||
<br>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<a name="watchdog"></a>
|
||||
<h3>watchdog</h3>
|
||||
<ul>
|
||||
@ -7424,7 +7486,7 @@ isday</pre>
|
||||
<h3>Perl specials</h3>
|
||||
If you want to automate some tasks via fhem, then you'll probably use <a
|
||||
href="#at">at</a> or <a href="#notify">notify</a>. 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.<br><br>
|
||||
|
||||
<li>To test perl oneliners, type them on the telnet prompt (or FHEMWEB text
|
||||
|
@ -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 "<div id=\"content\">";
|
||||
@ -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";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user