mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-28 11:01:59 +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="#dumpdef">dumpdef</a>
|
||||||
<a href="#holiday">holiday</a>
|
<a href="#holiday">holiday</a>
|
||||||
<a href="#notify">notify</a>
|
<a href="#notify">notify</a>
|
||||||
|
<a href="#sequence">sequence</a>
|
||||||
|
<a href="#sequence">sequence</a>
|
||||||
<a href="#structure">structure</a>
|
<a href="#structure">structure</a>
|
||||||
<a href="#watchdog">watchdog</a>
|
<a href="#watchdog">watchdog</a>
|
||||||
<a href="#weblink">weblink</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>
|
<a name="room"></a>
|
||||||
<li>room<br>
|
<li>room<br>
|
||||||
Filter/group devices. Recognized by web-pgm2 and web-pgm3.
|
Filter/group devices. Recognized by web-pgm2 and web-pgm3. A device
|
||||||
Devices in the room hidden will not appear in the web output.</li>
|
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>
|
<a name="showtime"></a>
|
||||||
<li>showtime<br>
|
<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>
|
<b>Get</b> <ul>N/A</ul><br>
|
||||||
</ul>
|
</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>
|
<a name="WS2000"></a>
|
||||||
<h3>WS2000</h3>
|
<h3>WS2000</h3>
|
||||||
<ul>
|
<ul>
|
||||||
@ -6102,6 +6050,7 @@ href="http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=29870">U
|
|||||||
</ul></li>
|
</ul></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<a name="label"></a>
|
<a name="label"></a>
|
||||||
<li>label<br>
|
<li>label<br>
|
||||||
Double-Colon separated list of values. The values will be used to replace
|
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>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<a name="title"></a>
|
<a name="title"></a>
|
||||||
<li>title<br>
|
<li>title<br>
|
||||||
A special form of label (see above), which replaces the string <TL>
|
A special form of label (see above), which replaces the string <TL>
|
||||||
in the .gplot file. It defaults to the filename of the logfile.
|
in the .gplot file. It defaults to the filename of the logfile.
|
||||||
</li>
|
</li>
|
||||||
<a name="stylesheet"></a>
|
|
||||||
<li>stylesheet<br>
|
|
||||||
name of the alternative stylesheet file in the FHEM directory.
|
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
@ -6363,7 +6310,20 @@ href="http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=29870">U
|
|||||||
cd certs<br>
|
cd certs<br>
|
||||||
openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem
|
openssl req -new -x509 -nodes -out server-cert.pem -days 3650 -keyout server-key.pem
|
||||||
</ul>
|
</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>
|
</ul>
|
||||||
@ -6777,6 +6737,108 @@ href="http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=29870">U
|
|||||||
|
|
||||||
</ul>
|
</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>
|
<a name="watchdog"></a>
|
||||||
<h3>watchdog</h3>
|
<h3>watchdog</h3>
|
||||||
<ul>
|
<ul>
|
||||||
@ -7424,7 +7486,7 @@ isday</pre>
|
|||||||
<h3>Perl specials</h3>
|
<h3>Perl specials</h3>
|
||||||
If you want to automate some tasks via fhem, then you'll probably use <a
|
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
|
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>
|
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
|
<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 " .
|
$hash->{AttrList}= "loglevel:0,1,2,3,4,5,6 webname fwmodpath fwcompress " .
|
||||||
"plotmode:gnuplot,gnuplot-scroll,SVG plotsize refresh " .
|
"plotmode:gnuplot,gnuplot-scroll,SVG plotsize refresh " .
|
||||||
"touchpad smallscreen plotfork basicAuth basicAuthMsg ".
|
"touchpad smallscreen plotfork basicAuth basicAuthMsg ".
|
||||||
"stylesheet HTTPS";
|
"stylesheet hiddenroom HTTPS";
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Initialize internal structures
|
# Initialize internal structures
|
||||||
@ -641,6 +641,7 @@ FW_doDetail($)
|
|||||||
pO FW_hidden("detail", $d);
|
pO FW_hidden("detail", $d);
|
||||||
|
|
||||||
$FW_room = AttrVal($d, "room", undef);
|
$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};
|
my $t = $defs{$d}{TYPE};
|
||||||
|
|
||||||
pO "<div id=\"content\">";
|
pO "<div id=\"content\">";
|
||||||
@ -726,8 +727,13 @@ FW_roomOverview($)
|
|||||||
push(@list1, ""); push(@list2, "");
|
push(@list1, ""); push(@list2, "");
|
||||||
}
|
}
|
||||||
$FW_room = "" if(!$FW_room);
|
$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) {
|
foreach my $r (sort keys %FW_rooms) {
|
||||||
next if($r eq "hidden");
|
next if($r eq "hidden" || $hiddenroom{$r});
|
||||||
push @list1, $r;
|
push @list1, $r;
|
||||||
push @list2, "$FW_ME?room=$r";
|
push @list2, "$FW_ME?room=$r";
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user