diff --git a/contrib/he.holiday b/contrib/he.holiday
new file mode 100644
index 000000000..90895833e
--- /dev/null
+++ b/contrib/he.holiday
@@ -0,0 +1,14 @@
+# Siehe auch
+# http://de.wikipedia.org/wiki/Feiertage_in_Deutschland
+
+1 01-01 Neujahr
+1 05-01 Tag der Arbeit
+1 10-03 Tag der deutschen Einheit
+1 12-25 1. Weihnachtstag
+1 12-26 2. Weihnachtstag
+
+2 -2 Karfreitag
+2 1 Ostermontag
+2 39 Christi Himmelfahrt
+2 50 Pfingsten
+2 60 Fronleichnam
diff --git a/docs/commandref.html b/docs/commandref.html
index 1e25cfede..cdb1a7d5c 100644
--- a/docs/commandref.html
+++ b/docs/commandref.html
@@ -70,10 +70,10 @@
M232Counter
M232Voltage
SCIVT
+ structure
WS2000
WS300
X10
- weblink
FHEMRENDERER
@@ -81,12 +81,14 @@
Helper modules
@@ -249,7 +251,9 @@ A line ending with \ will be concatenated with the next one, so long lines
if there is a device which exactly corresponds to the spec, then
no special processing is done.
the returned list can contain the same device more than once, so
- int tha last example the list will contain lamp3 twice.
+ "set lamp1-lamp3,lamp3 on" switches lamp3 twice.
+ for more complex structuring demands see the
+ structure device.
@@ -740,6 +744,12 @@ A line ending with \ will be concatenated with the next one, so long lines
Attributes
+
+ - allowfrom
+ Comma (,) separated list of ip-addresses or hostnames. If set,
+ only connections from these addresses are allowed.
+
+
- configfile
Contains the name of the fhem configuration file. If
+
+ - holday2we
+ If this attribute is set, then the $we variable
+ will be true, if the value of the holiday
+ variable referenced by this attribute is not none.
+ Example:
+
+ attr global holiday2we hessen
+
+
+
- lastinclude
If this attribute is set, then the last command of the generated
@@ -767,17 +788,6 @@ A line ending with \ will be concatenated with the next one, so long lines
see the FileLog section.
-
- - nofork
- If set and the logfile is not "-", do not try to background. Needed
- on some Fritzbox installations.
-
-
-
- - mseclog
- If set, the timestamp in the logfile will contain a millisecond part.
-
-
- modpath
Specify the path to the modules directory FHEM
. The path
@@ -792,6 +802,17 @@ A line ending with \ will be concatenated with the next one, so long lines
modpath attribute definition time).
+
+ - mseclog
+ If set, the timestamp in the logfile will contain a millisecond part.
+
+
+
+ - nofork
+ If set and the logfile is not "-", do not try to background. Needed
+ on some Fritzbox installations.
+
+
- pidfilename
Write the process id of the perl process to the specified file. The
@@ -809,12 +830,6 @@ A line ending with \ will be concatenated with the next one, so long lines
non-localhost connections too.
-
- - allowfrom
- Comma (,) separated list of ip-addresses or hostnames. If set,
- only connections from these addresses are allowed.
-
-
- statefile
@@ -847,7 +862,8 @@ A line ending with \ will be concatenated with the next one, so long lines
- 5 - debugging.
Recommended level is 3 for normal use.
-
+
+
@@ -2419,6 +2435,64 @@ A line ending with \ will be concatenated with the next one, so long lines
+
+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
@@ -2595,7 +2669,41 @@ A line ending with \ will be concatenated with the next one, so long lines
- fixedrange
- plotsize
- plotmode
- - label
+
+ - label
+ Colon separated list of values. The values will be used to replace
+ <L#> type of strings in the .gplot file, with # beginning at 1
+ (<L1>, <L2>, etc.). Each value will be evaluated as a perl
+ expression, so you have access e.g. to the $value hash.
+
+ If the plotmode is gnuplot-scroll or SVG, you can also use the min, max,
+ avg, cnt, lastv (last value) and lastd (last date) values of the
+ individual curves, by accessing the corresponding values from the data
+ hash, see the example below:
+
+
+ - Fixed text for the right and left axis:
+
+ - Fhem config:
+ attr wl_1 label "Temperature":"Humidity"
+ - .gplot file entry:
+ set ylabel <L1>
+ set y2label <L2>
+
+ - Title with maximum and current values of the 1st curve (FileLog)
+
+ - Fhem config:
+ attr wl_1 label "Max $data{max1}, Current $data{lastv1}"
+ - .gplot file entry:
+ set title <L1>
+
+
+
+
+ - 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.
+
@@ -2798,6 +2906,85 @@ A line ending with \ will be concatenated with the next one, so long lines
+
+holiday
+
+
+
+
+ Define
+
+ define <name> holiday
+
+ Define a set of holidays. The module will try to open the file
+ <name>.holiday in the modpath/FHEM directory.
+ If an entry in the holiday file matches the current day, then the STATE of
+ this holiday instance displayed in the list command
+ will be set to the holiday, else the state is set to the text none. Most
+ probably you'll want to query this value in some perl script: see $value in
+ the perl section or the global attribute holiday2we.
+ The file will be reread once every night, to compute the value for the
+ current day, and by each get command (see below).
+
+
+ Holiday file definition:
+ The file may contain comments (beginning with #) or empty lines.
+ Significant lines begin with a number (type) and contain some space
+ separated words, depending on the type. The different types are:
+
+ - 1
+ Exact date. Arguments: <MM-DD> <holiday-name>
+ Exampe: 1 12-24 Christmas
+
+ - 2
+ Easter-dependent date. Arguments: <day-offset>
+ <holiday-name>.
+ The offset is counted from Easter-Sunday. Note: the perl module
+ DateTime::Event::Easter must be installed to use this type of
+ holiday.
+ Exampe: 2 1 Easter-Monday
+
+ - 3
+ Month dependent date. Arguments: <nth> <weekday>
+ <month <holiday-name>.
+ Examples:
+
+ 3 1 Mon 05 First Monday In May
+ 3 2 Mon 05 Second Monday In May
+ 3 -1 Mon 05 Last Monday In May
+ 3 0 Mon 05 Each Monday In May
+
+
+ - 4
+ Interval. Arguments: <MM-DD> <MM-DD> <holiday-name>
+ .
+ Example:
+
+ 4 01-06 31-06 Summer holiday
+
+
+
+ See also he.holiday in the contrib directory for official holidays in the
+ german country of Hessen.
+
+
+
+ Set
+
+ Get
+
+ get <name> <MM-DD>
+
+ Return the holiday name of the specified date or the text none.
+
+
+
+
+ Attributes
+
+
+
notify
@@ -3402,7 +3589,10 @@ isday, sunrise_coord
$yday, $isdst are set (see perldoc -f localtime), with the exception that
$month is in the range of 1 to 12, and $year is also corrected by 1900 (as
one would normally expect). Additionally $we is 1 if it is weekend (i.e
- $wday == 0 || $wday == 6), and 0 otherwise. Example:
+ $wday == 0 || $wday == 6), and 0 otherwise. If the