From 8ddd07ab224266439b9bf1b27ba05ae212ad84b0 Mon Sep 17 00:00:00 2001
From: rudolfkoenig <>
Date: Sat, 5 Dec 2009 09:00:12 +0000
Subject: [PATCH] Documentation changes

git-svn-id: https://svn.fhem.de/fhem/trunk@495 2b470e98-0d58-463d-a4d8-8e2adae1ed80
---
 fhem/CHANGED              |   1 +
 fhem/Makefile             |  16 +++--
 fhem/docs/HOWTO.html      | 144 ++++++++++++++++++++++----------------
 fhem/docs/commandref.html |   2 +-
 fhem/docs/raw-codes       |  22 ------
 fhem/docs/rm100           |  28 --------
 fhem/docs/snippet_1.txt   |  74 --------------------
 fhem/docs/snippet_2.txt   | 102 ---------------------------
 fhem/docs/snippet_3.txt   |  60 ----------------
 fhem/docs/snippet_4.txt   |  39 -----------
 fhem/docs/snippet_5.txt   |  60 ----------------
 fhem/docs/snippet_6.txt   | 127 ---------------------------------
 fhem/docs/snippet_7.txt   |  14 ----
 fhem/examples/01_fs20     |   2 +-
 fhem/examples/02_fs20     |   2 +-
 fhem/examples/03_fht      |  13 ++--
 fhem/examples/04_log      |   6 +-
 17 files changed, 106 insertions(+), 606 deletions(-)
 delete mode 100644 fhem/docs/raw-codes
 delete mode 100644 fhem/docs/rm100
 delete mode 100644 fhem/docs/snippet_1.txt
 delete mode 100644 fhem/docs/snippet_2.txt
 delete mode 100644 fhem/docs/snippet_3.txt
 delete mode 100644 fhem/docs/snippet_4.txt
 delete mode 100644 fhem/docs/snippet_5.txt
 delete mode 100644 fhem/docs/snippet_6.txt
 delete mode 100644 fhem/docs/snippet_7.txt

diff --git a/fhem/CHANGED b/fhem/CHANGED
index e2a17eaea..f13ed666e 100644
--- a/fhem/CHANGED
+++ b/fhem/CHANGED
@@ -551,3 +551,4 @@
   - bugfix:  CUL_RFR fixes (chaining RFR's should work)
   - bugfix:  Path in the examples fixed (got corrupted)
   - bugfix:  PachLog fixes from Axel
+  - bugfix:  HOWTO/Examples revisited for correctness
diff --git a/fhem/Makefile b/fhem/Makefile
index 5819c48d7..057e83157 100644
--- a/fhem/Makefile
+++ b/fhem/Makefile
@@ -12,29 +12,31 @@ all:
 
 install:install-base
 	-mv $(VARDIR)/fhem.cfg $(VARDIR)/fhem.cfg.`date "+%Y-%m-%d_%H:%M:%S"`
-	cp examples/sample_fhem $(VARDIR)/fhem.cfg
+	cp examples_changed/sample_fhem $(VARDIR)/fhem.cfg
 	@echo
 	@echo
-	@echo Edit $(VARDIR)/fhem.cfg then type
+	@echo Start fhem with
 	@echo perl $(BINDIR)/fhem.pl $(VARDIR)/fhem.cfg
 
 install-pgm2:install-base
 	cp -r webfrontend/pgm2/* $(MODDIR)/FHEM
 	cp docs/commandref.html docs/faq.html docs/HOWTO.html $(MODDIR)/FHEM
 	-mv $(VARDIR)/fhem.cfg $(VARDIR)/fhem.cfg.`date "+%Y-%m-%d_%H:%M:%S"`
-	cp examples/sample_pgm2 $(VARDIR)/fhem.cfg
-	cd examples; for i in *; do cp -r $$i $(MODDIR)/FHEM/example.$$i; done
+	cp examples_changed/sample_pgm2 $(VARDIR)/fhem.cfg
+	cd examples_changed; for i in *; do cp -r $$i $(MODDIR)/FHEM/example.$$i; done
 	@echo
 	@echo
-	@echo Edit $(VARDIR)/fhem.cfg then type
+	@echo Start fhem with
 	@echo perl $(BINDIR)/fhem.pl $(VARDIR)/fhem.cfg
 
 install-base:
 	mkdir -p $(BINDIR) $(MODDIR) $(VARDIR)
 	cp fhem.pl $(BINDIR)
 	cp -r FHEM $(MODDIR)
-	perl -pi -e 's,modpath \.,modpath $(MODDIR),' examples/[a-z]*
-	perl -pi -e 's,/tmp,$(VARDIR),' examples/[a-z]*
+	rm -rf examples_changed
+	cp -r examples examples_changed
+	perl -pi -e 's,modpath \.,modpath $(MODDIR),' examples_changed/[a-z]*
+	perl -pi -e 's,([^h]) /tmp,$$1 $(VARDIR),' examples_changed/[a-z]*
 
 dist:
 	@echo Version is $(VERS), Date is $(DATE)
diff --git a/fhem/docs/HOWTO.html b/fhem/docs/HOWTO.html
index 3dd1e8830..45d539c6e 100644
--- a/fhem/docs/HOWTO.html
+++ b/fhem/docs/HOWTO.html
@@ -5,10 +5,6 @@
   <body style="background-color: white;">
     <h2>FHEMWEB Howto</h2>
 
-    <b>Note:</b> Don't forget to type "save" in the FHEMWEB/pgm2 "Fhem cmd"
-    input field after defining a device or setting its attribute. Otherwise the
-    changes will disappear after the next start.</br><br>
-
     <a href="#starting">Starting</a><br/>
     <a href="#FHZ">Attaching an FHZ device</a><br/>
     <a href="#FS20rx">Configuring FS20 receivers</a><br/>
@@ -25,11 +21,17 @@
     <a name="starting"/>
     <h3>Starting</h3>
       <ul>
-      Install & start fhem with the command:<pre>
+      First install the Device::SerialPort (or Win32::SerialPort)  perl module
+      with the command <code>"cpan -i Device::Serial"</code></br>
+      The default configuration will install fhem into /usr/local/bin,
+      /usr/local/lib/FHEM and /var/log/fhem. Edit the Makefile to change
+      this. 
+
+      To install & start fhem type:<pre>
       make install-pgm2
       perl /usr/local/bin/fhem.pl /var/log/fhem/fhem.cfg</pre>
 
-      The logfile should look like:<pre>
+      After starting, the logfile should look like:<pre>
       2008.06.15 16:17:03 2: FHEMWEB port 8083 opened
       2008.06.15 16:17:03 0: Server started (version ...)
       </pre>
@@ -44,57 +46,77 @@
       Attach the FHZ1000 or FHZ1300 to your computer, and look for a file named
       /dev/ttyUSB0 or /dev/tts/USB0 (or /var/elv on the Fritz!Box).
       Define it for fhem (by typing it in the
-      "Fhem cmd" input widget):<pre>
+      "Fhem cmd" input field in the browser):<pre>
       define FHZ1 FHZ /dev/ttyUSB0</pre>
-      Look <a href="commandref.html#define">here</a> for more.
+      You can find details <a href="commandref.html#define">here</a> and
+      <a href="commandref.html#FHZ">here</a>. Instead of an FHZ you can also
+      use a <a href="commandref.html#CUL">CUL</a> with slightly different
+      parameters.
 
-      </ul>
+      <br><br>
+      <b>Note:</b> Don't forget to type "save" in the "Fhem cmd" input field of
+      the browser after defining a device or setting its attribute.  Otherwise
+      the changes will disappear after the next start.</br><br> </ul>
 
 
     <a name="FS20rx"/>
     <h3>Configuring FS20 receivers</h3>
       <ul>
-      Configure the device in fhem first e.g. with:<pre>
+      Configure the <a href="commandref.html#FS20">FS20</a> device in
+      fhem first with:<pre>
       define lamp1 FS20 1234 56</pre>
+
       Now press the button on the device for a while until its LED starts to
       blink. Click on the "on" link in the fhem window to send a command. The
-      LED should terminate blinking, the device is programmed.<br/>
-      Set the model attribute of the device:<pre>
+      LED should terminate blinking, the device is programmed to housecode
+      1234, device code 56. You can also use the 4-base ELV notation.
+      Now set the model attribute of the device:<pre>
       attr lamp1 model fs20st</pre>
+
       to get only the commands available for this device.
       <a href="commandref.html#model">Here</a> is a complete list of models.<br>
       </ul>
 
     <a name="FS20tx"/>
-    <h3>Configuring FS20 transmitters</h3>
+    <h3>Misc. RF transmitters (FS20/EM/S300 etc.)</h3>
       <ul>
-      Make sure the global loglevel is at least 3 (attr global verbose 3, check
-      the fhem.cfg file in the Edit files section).<br>
-      Now make sure that the transmitter is sending a signal. In the logfile
-      (FHEMWEB: "All together" ->  Logs -> Logfile -> text) a line should
-      appear:<pre> FS20 Unknown device HOUSECODE, Button BTN Code CDE, please
-      define it</pre>
+      Wait a while, until the transmitter sent some data. In the logfile
+      (Browser window: "All together" ->  Logs:Logfile:text) a line
+      will  appear:<pre>
+      FS20 Unknown device &lt;HOUSECODE, Button &lt;BTN&gt; Code &lt;CDE&gt;, please define it</pre>
 
       Now define a device:<pre>
-      define piri1 FS20 HOUSECODE BTN</pre>
+      define piri1 FS20 &lt;HOUSECODE&gt; &lt;BTN&gt;</pre>
+
       Set the model attribute of the device:<pre>
       attr lamp1 model fs20piri</pre>
+
       to get only the commands available for this device.
-      <a href="commandref.html#model">Here</a> is a complete list of models.<br>
+      <a href="commandref.html#model">Here</a> is a complete list of FS20
+      models.<br> For other device-types similar messages should appear.
+      </ul>
       </ul>
 
     <a name="FHT"/>
     <h3>Configuring FHT devices</h3>
       <ul>
-      Make sure the global loglevel is at least 3 (attr global verbose 3, check
-      the fhem.cfg file in the Edit files section).<br>
-      Now wait for a while, till the FHT is sending some signals. In the
-      logfile (FHEMWEB: "All together" ->  Logs -> LogFile -> text) a line
-      should appear:<pre> FHT Unknown device HOUSECODE, please define it</pre>
+      Wait for a while (2-5 mins) till the FHT is sending some signals. In the
+      logfile ("All together" -> Logs:LogFile:text) a line should
+      appear:<br><pre>
+      FHZ1: Unknown FHT device detected, define one to get detailed information</pre>
 
-      Now define a device:<pre>
-      define livingroom FHT HOUSECODE</pre>
-      If there is no signal for a while, the check <a href="faq.html#faq6">
+      Define your FHT device with an arbitrary code in order to load the FHT
+      module, see <a href="commandref.html#FHT">this</a> link for details:<pre>
+      define MyFHT FHT  1111</pre>
+
+      The next message in the log will contain more details:<pre>
+      FHT Unknown device &lt;HOUSECODE&gt;, please define it</pre>
+
+      Delete and create your device again:<pre>
+      delete MyFHT
+      define MyFHT FHT &lt;HOUSECODE&gt;</pre>
+
+      If there is no signal for a while, then check <a href="faq.html#faq6">
       this</a> FAQ entry.
       </ul>
 
@@ -103,11 +125,22 @@
       <ul>
       To execute commands at a given time / periodically, you have to define
       devices of the type at. See the definition <a href="commandref.html#at">
-      here</a> or examples <a href="example.06_at">here</a>.<br/><br/>
+      here</a> and the examples  <a href="example.06_at">here</a> The last link
+      only works if you are reading this HOWTO from your fhem Web.<br/><br/>
 
-      To execute commands if a device sent a message, then you have to define
-      devices of the type notify. See the definition
-      <a href="commandref.html#notify">here</a>.
+      To execute commands if a device sent a message you have to define
+      devices of the type <a href="commandref.html#notify">notify</a> or
+      <a href="commandref.html#watchdog">watchdog</a>. In order to understand
+      the fhem events better you can open a telnet session to your fhem<pre>
+      telnet localhost 7072</pre>
+
+      and type <pre>
+      inform timer</pre>
+
+      Now you will receive in this telnet session all events, just like the
+      notifies/watchdogs do. You can even simulate events by using the 
+      <a href="commandref.html#trigger">trigger</a> command:<pre>
+      trigger lamp1 on</pre>
       </ul>
 
     <a name="rooms"/>
@@ -141,11 +174,12 @@
       FHEMWEB has builtin support for displaying FileLog type logs as plots,
       see the <a href="#plot">plot</a> section below.<br/><br/>
 
-      See the attributes
-      <a href="commandref.html#archivedir">archivedir</a>,
-      <a href="commandref.html#archivecmd">archivecmd</a>,
-      <a href="commandref.html#nrarchive">nrarchive</a>
-      attributes for archiving the logs.
+      The size of each logfile will be determined by its wildcard characters
+      (year/month/week/day), look at the <a href="commandref.html#FileLog">
+      FileLog</a> definition.
+      Don't forget to enable archiving with the <a
+      href="commandref.html#nrarchive">nrarchive</a> or <a
+      href="commandref.html#archivedir">archivecmd</a> attributes.
       </ul>
 
     <a name="plot"/>
@@ -160,33 +194,22 @@
       When displaying the plot, you can convert it into a "weblink", which can
       in turn have a room attribute, to group more than one Plot together. If
       the weblink refers to the current logfile, then it will be stored as a
-      CURRENT weblink, and it will always display the most recent log.
+      CURRENT weblink, and it will always display the most recent log (you do
+      not have to redefine it if the logfile changes due to year/month/date
+      parameters in its name).
+
       <br/><br/>
 
       The logs can be converted to a plot either with gnuplot (which must be
       installed and in your PATH), or via the builtin SVG module, in this case
-      your internet browser must support SVG. Firefox and opera support SVG
-      out of the box, Internet Explorer does it via the Adobe "SVG viewer"
-      plugin. To use SVG graphics, set the <a
+      your internet browser must support SVG. Firefox, opera and the
+      iPhone/Android borwser support SVG out of the box, Internet Explorer does
+      it via the Adobe "SVG viewer" plugin. To use SVG graphics, set the <a
       href="commandref.html#plotmode">plotmode</a> attribute to SVG.<br><br>
 
-      In order to look at historic data, you can either convert at the archive
-      entries to weblink in "plotmode=gnuplot" mode, or use the
-      "plotmode=gnuplot-scroll" or "plotmode=SVG" modes. In the latter case
-      you'll get the possibility to zoom or scroll in the plot. Note: the
+      To zoom in the log you have to set plotmode to gnuplot-scroll or SVG. The
       gnuplot files must have #FileLog entries in order to be useable with
-      scrolling, as the filtering happens with the FileLog
-      <a href="commandref.html#FileLogget">get</a> function, see the supplied
-      gnuplot files for an example.<br><br>
-
-      It make sense to build large logfiles for scrolling in them (year
-      resolution), or smaller ones if you do not want to use the zoom/scroll
-      feature. The size of the logfiles will be determined by its wildcard
-      characters (year/month/week/day), look at the
-      <a href="commandref.html#FileLog">FileLog</a> definition. Don't forget to
-      enable archiving with the
-      <a href="commandref.html#archivedir">archivedir</a> or
-      <a href="commandref.html#archivedir">archivecmd</a> attributes.
+      scrolling, see the supplied gnuplot files for an example.<br><br>
 
       </ul>
 
@@ -231,10 +254,9 @@
       To display "foreign" (non fhem) files as a plot or a just as plain text,
       configure a fake logfile with the correct filename and an unused regexp,
       e.g.<br><pre>
-      define messages FileLog /var/log/messages fakelog
-      </pre>
-      <br/><br/>
+      define messages FileLog /var/log/messages fakelog</pre>
       </ul>
+      <br>
 
     <a name="structure"/>
     <h3>Complex structures</h3>
diff --git a/fhem/docs/commandref.html b/fhem/docs/commandref.html
index 259fb5336..41d5d1fb5 100644
--- a/fhem/docs/commandref.html
+++ b/fhem/docs/commandref.html
@@ -3403,7 +3403,7 @@ A line ending with \ will be concatenated with the next one, so long lines
 
   <b>Attributes</b>
   <ul>
-    <a name="webname="></a>
+    <a name="webname"></a>
     <li>webname<br/>
         Path after the http://hostname:port/ specification. Defaults to fhem,
         i.e the default http address is http://localhost:8083/fhem
diff --git a/fhem/docs/raw-codes b/fhem/docs/raw-codes
deleted file mode 100644
index e0bd46f9d..000000000
--- a/fhem/docs/raw-codes
+++ /dev/null
@@ -1,22 +0,0 @@
-On the telnet prompt do: 
-  {FS20_Parse(undef, "<code>");}
-e.g.
-  {FS20_Parse(undef, "81xx04xx0101a0011234030011")}
-
-where <code> is one of:
-
-81xx04xx0101a0011234030011	FS20 dev: 1234  button: 03 on  (11)
-81xx04xx0101a0011234030000	FS20 dev: 1234  button: 03 off (00)
-
-810d04xx4027a001de53187654321f	KS300: Raincounter hex:123 (ca 75l/m2),
-				Wind 45.6 km/h Humidity: 78%, Temp: 13.5
-				Unknown fields: d,e,f
-{FhzDecode("810d04xx4027a001de53187654321f")}
-
-810e04d70213a001b16d000003000000  RM100-2 smoke on
-810e04d70213a001b16d000000000000  RM100-2 smoke off
-
-81xx04xx0101a0011234030011	FS20 dev: 1234  button: 03 on  (11)
-
-To send it:
-set FHZ raw 04 0101a0011234030011
diff --git a/fhem/docs/rm100 b/fhem/docs/rm100
deleted file mode 100644
index 23d1e9ef8..000000000
--- a/fhem/docs/rm100
+++ /dev/null
@@ -1,28 +0,0 @@
-
-810e041f0213a001d396000000000000
-
-// Reset:
-810e04ea0293a001ae06000000000000
-// Normal:
-810e046a0213a001ae06000000000000
-
-==========
-810e04ba0293a001b1d3000000000000
-810e04a90293a0016a09000000000000
-
-By andikt:
-// Batteries are inserted into the smoke detector
-810e04540293a001b16d000000000000
-[the same comes 10 times]
-
-// No smoke applied, status messages each 30min
-810e04d40213a001b16d000000000000
-
-// Smoke applied, detector beeps loud
-810e04d70213a001b16d000003000000
-
-// no more smoke, detector stops beeping, red LED flashes for some more
-// seconds
-810e04d40213a001b16d000000000000
-
-
diff --git a/fhem/docs/snippet_1.txt b/fhem/docs/snippet_1.txt
deleted file mode 100644
index 96afe8696..000000000
--- a/fhem/docs/snippet_1.txt
+++ /dev/null
@@ -1,74 +0,0 @@
-Startup
--------
-1a
-  PUT C9 - 02 01 1F 64
-  1.st fhz1000: C9 - 01 02 1F 02 78 05 5C 24 FF 
-  2.nd fhz1000: C9 - 01 02 1F 02 78 05 5C 24 FF
-  3.rd fhz1000: C9 - 01 02 1F 02 78 05 5C 0A FF
-1b
-  PUT C9 - 02 01 1F 0A
-  4.th fhz1000: C9 - 01 02 1F 02 78 07 B6 22 80 
-1c
-  PUT C9 - 02 01 1F 60
-                C9 - 01 02 1F 02 78 07 1C 22 80
-
-2
-  PUT 04 - C9 01 84 57 02 08
-  1.st fhz1000: C9 - 01 02 84 01 08 05 FF 13 6E 21 BC 4B 1B  #  Serial no: 136E21BC (?)
-  3.rd fhz1000: C9 - 01 02 84 01 08 05 FF 13 6E 29 0E 51 18  #  Serial no: 136E290E (?)
-
-3
-  PUT: 04 - C9 01 86
-  PUT: 04 - C9 01 96
-  PUT: C9 - 02 01 61 04 0C 10 12 0A                 # Set Date to 2004-12-16 14:10
-
-
-Switching FS20 device on / off
-------------------------------
-
-  PUT: 04 - 020101 - HHHH BT VL 
-
-  HHHH: Transmitter (Hauscode)
-  BT:   Button
-  VL:   Values:
-    00 => off,
-    01 => dim06%,
-    02 => dim12%,
-    03 => dim18%,
-    04 => dim25%,
-    05 => dim31%,
-    06 => dim37%,
-    07 => dim43%,
-    08 => dim50%,
-    09 => dim56%,
-    0A => dim62%,
-    0B => dim68%,
-    0C => dim75%,
-    0D => dim81%,
-    0E => dim87%,
-    0F => dim93%,
-    10 => dim100%,
-    11 => on,         # Set to previous dim value (before switching it off)
-    12 => toggle,     # between off and previous dim val
-    13 => dimup,
-    14 => dimdown,
-    15 => dimupdown,
-    16 => timer,
-    17 => sendstate,
-    18 => off-for-timer,
-    19 => on-for-timer,
-    1a => on-old-for-timer,
-    1b => reset,
-
-  The FSST20 switches on for dim*.
-
-  When setting bit 6 (counted from 1) in the value, you can also
-  send a further byte, the time as suggested in snippet_6.
-
-  The FS20ST only respects this for the values
-	 timer, off-for-timer, on-for-timer
-  If the timer is set, then it works for dim*, on, *-for-timer
-
-  sendstate does not work for the FS20ST
-
-=================================
diff --git a/fhem/docs/snippet_2.txt b/fhem/docs/snippet_2.txt
deleted file mode 100644
index 98008e04b..000000000
--- a/fhem/docs/snippet_2.txt
+++ /dev/null
@@ -1,102 +0,0 @@
-// Init FHZ1000PC (Studio) mit FHT80b und HMS
-<- 81 06 c9 2c 02 01 1f 0a 
--> 81 0b c9 fb 01 02 1f 02 78 07 b6 22 80 
-<- 81 08 04 ba c9 01 84 5e 0b 03 
--> 81 0a c9 ea 01 02 84 01 03 01 5b 03 
-<- 81 05 04 50 c9 01 86
-<- 81 0b 04 __ 02 01 83 HH HH 65 ff 66 ff // FHT80b 1
-<- 81 0b 04 __ 02 01 83 HH HH 65 ff 66 ff // FHT80b 2
-<- 81 06 04 62 c9 01 96 02 
-<- 81 0a c9 af 02 01 61 05 0a 0e 16 18 // Datum Uhrzeit
-
-// Init FHZ1000PC (Standard) mit FHT80b und HMS
-<- 81 06 c9 82 02 01 1f 60
--> 81 0b c9 61 01 02 1f 02 78 07 1c 22 80
-<- 81 08 04 af c9 01 84 57 02 08
--> 81 0f c9 __ 01 02 84 01 08 07 80 xx xx xx xx 51 0f // Seriennummer
-<- 81 05 04 50 c9 01 86
-<- 81 0b 04 __ 02 01 83 HH HH 65 ff 66 ff // FHT80b 1
-<- 81 05 04 60 c9 01 96
-<- 81 0a c9 __ 02 01 61 jj mm tt ss mm // Datum Uhrzeit
-<- 81 05 04 4f c9 01 85 // Speicherabfrage
--> 81 07 c9 ac 01 02 85 01 23 // 23 ?bytes? frei
-<- 81 0b 04 __ 02 01 83 HH HH 65 ff 66 ff // FHT80b 2
-<- 81 05 04 4f c9 01 85 // Speicherabfrage
--> 81 07 c9 a5 01 02 85 01 1c // 1c ?bytes? frei
-
-// FHZ1000PC
-<- 81 0a c9 __ 02 01 61 jj mm tt ss mm // Uhrzeit 50 mal am Anfang einer Minute
-
-<- 81 05 04 4f c9 01 85 // Speicherabfrage
--> 81 07 c9 __ 01 02 85 01 xx // xx = ?bytes? frei 
-
-// FHT80b
-// SB=StartByte LL=Laenge TT=TelegrammType BC=BlockCheck ST=Status
-// HH=Hauscode
-// SB LL TT BC             CODE  FUNKT ST Param
--> 81 0c 04 __ 09 09 a0 01 HH HH 00 00 _6 xx // Istwert Stellantrieb
--> 81 0c 04 __ 09 09 a0 01 HH HH 00 00 2c xx // Synczeit
--> 81 0c 04 __ 09 09 a0 01 HH HH 14 00 69 xx // Montag von1  in 1/6 Stunde (10 Min.)
--> 81 0c 04 __ 09 09 a0 01 HH HH 15 00 69 xx // Montag bis1
--> 81 0c 04 __ 09 09 a0 01 HH HH 16 00 69 xx // Montag von2 (90 = frei)
--> 81 0c 04 __ 09 09 a0 01 HH HH 17 00 69 xx // Montag bis2
--> 81 0c 04 __ 09 09 a0 01 HH HH 18 00 69 xx // Dienstag von1
--> 81 0c 04 __ 09 09 a0 01 HH HH 19 00 69 xx // bis 1
--> 81 0c 04 __ 09 09 a0 01 HH HH 1a 00 69 xx // von2
--> 81 0c 04 __ 09 09 a0 01 HH HH 1b 00 69 xx // bis2
--> 81 0c 04 __ 09 09 a0 01 HH HH 1c 00 69 xx //Mittwoch von1
--> 81 0c 04 __ 09 09 a0 01 HH HH 1d 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 1e 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 1f 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 20 00 69 xx // Donnerstag
--> 81 0c 04 __ 09 09 a0 01 HH HH 21 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 22 00 69 xx
--> 81 0c 04 __ 09 09 a0 01 HH HH 23 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 24 00 69 xx // Freitag
--> 81 0c 04 __ 09 09 a0 01 HH HH 25 00 69 xx
--> 81 0c 04 __ 09 09 a0 01 HH HH 26 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 27 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 28 00 69 xx // Samstag
--> 81 0c 04 __ 09 09 a0 01 HH HH 29 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 2a 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 2b 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 2c 00 69 xx // Sonntag
--> 81 0c 04 __ 09 09 a0 01 HH HH 2d 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 2e 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 2f 00 69 xx
--> 81 0c 04 __ 09 09 a0 01 HH HH 3e 00 69 xx // 0=auto 1=manuell 2=Urlaub
--> 81 0c 04 __ 09 09 a0 01 HH HH 3f 00 69 xx // Urlaub Endeuhrzeit oder Endetag
--> 81 0c 04 __ 09 09 a0 01 HH HH 40 00 69 xx // Urlaub Endetag 10=heute 11=morgen 0x=Endemonat
--> 81 0c 04 __ 09 09 a0 01 HH HH 41 00 69 xx // aktuelle Solltemperatur (x*0.5)
--> 81 0c 04 __ 09 09 a0 01 HH HH 42 00 69 xx // ist Temperatur (x/10)
--> 81 0c 04 __ 09 09 a0 01 HH HH 43 00 69 xx // ?????
--> 81 0c 04 __ 09 09 a0 01 HH HH 44 00 69 xx // bit0=Batterie 0=OK 1=leer bit5=Fenster 0=zu 1=offen
--> 81 0c 04 __ 09 09 a0 01 HH HH 4b 00 67 xx // ?????
--> 81 0c 04 __ 09 09 a0 01 HH HH 82 00 69 xx // Tag Temperatur (x*0.5)
--> 81 0c 04 __ 09 09 a0 01 HH HH 84 00 69 xx // Nacht Temperatur (x*0.5)
--> 81 0c 04 __ 09 09 a0 01 HH HH 85 00 69 04 // ????? 
--> 81 0c 04 __ 09 09 a0 01 HH HH 8a 00 69 xx // Fenster offen Temperatur (x*0.5)
--> 81 0c 04 __ 09 09 a0 01 HH HH 7e 00 67 xx // ?????
-
-<- 81 09 04 __ 02 01 83 HH HH 3e xx  // Modus setzen 00=auto 01=manu 02=Urlaub
--> 81 0b 04 __ 84 09 83 01 HH HH 3e xx yy // Übernahmequittung yy=Speicherstelle 
-<- 81 09 04 __ 02 01 83 HH HH 41 xx  // Solltemp setzen (x=soll/0.5)
-Die anderen Register können genauso verändert werden.
-
-//HMS100TF
--> 81 0e 04 __ 05 10 a0 01 HH HH 00 00 ss tt gu ff  // Temp = (utt*0.04) Feuchte = (ffg*100/4096)
- 
-						    // Status bit7=Negative Temp.  bit6=Batterie
-
-//ST-2
-<- 81 09 04 __ 02 01 01 a0 01 HH HH xx yy // xx=Taste yy=Funktion
-//Funktionen
-00	Aus
-01-10	Dimmen direkt
-11	Ein
-12	Dimmen Eintastenmodus
-13	Dimmen runter
-14	Dimmen rauf
-15	Umschalten
-16	Timerprogrammierung start/stop
-1b	Auslieferungszustand
diff --git a/fhem/docs/snippet_3.txt b/fhem/docs/snippet_3.txt
deleted file mode 100644
index d8544c88c..000000000
--- a/fhem/docs/snippet_3.txt
+++ /dev/null
@@ -1,60 +0,0 @@
-// FHT80b
-// SB=StartByte LL=Laenge TT=TelegrammType CC=CRC ST=Status HH=Hauscode
-
-// SB LL TT CC             CODE  FUNKT ST Param
--> 81 0c 04 __ 09 09 a0 01 HH HH 00 00 _6 xx // Istwert Stellantrieb 
--> 81 0c 04 __ 09 09 a0 01 HH HH 00 00 2c xx // Synczeit ???
--> 81 0c 04 __ 09 09 a0 01 HH HH 14 00 69 xx // Montag von1  in 1/6
-Stunde (10 Min.)
--> 81 0c 04 __ 09 09 a0 01 HH HH 15 00 69 xx // Montag bis1
--> 81 0c 04 __ 09 09 a0 01 HH HH 16 00 69 xx // Montag von2 (90 = frei)
--> 81 0c 04 __ 09 09 a0 01 HH HH 17 00 69 xx // Montag bis2
--> 81 0c 04 __ 09 09 a0 01 HH HH 18 00 69 xx // Dienstag von1
--> 81 0c 04 __ 09 09 a0 01 HH HH 19 00 69 xx // bis 1
--> 81 0c 04 __ 09 09 a0 01 HH HH 1a 00 69 xx // von2
--> 81 0c 04 __ 09 09 a0 01 HH HH 1b 00 69 xx // bis2
--> 81 0c 04 __ 09 09 a0 01 HH HH 1c 00 69 xx // Mittwoch von1
--> 81 0c 04 __ 09 09 a0 01 HH HH 1d 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 1e 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 1f 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 20 00 69 xx // Donnerstag
--> 81 0c 04 __ 09 09 a0 01 HH HH 21 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 22 00 69 xx
--> 81 0c 04 __ 09 09 a0 01 HH HH 23 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 24 00 69 xx // Freitag
--> 81 0c 04 __ 09 09 a0 01 HH HH 25 00 69 xx
--> 81 0c 04 __ 09 09 a0 01 HH HH 26 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 27 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 28 00 69 xx // Samstag
--> 81 0c 04 __ 09 09 a0 01 HH HH 29 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 2a 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 2b 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 2c 00 69 xx // Sonntag
--> 81 0c 04 __ 09 09 a0 01 HH HH 2d 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 2e 00 69 xx 
--> 81 0c 04 __ 09 09 a0 01 HH HH 2f 00 69 xx
--> 81 0c 04 __ 09 09 a0 01 HH HH 3e 00 69 xx // 0=auto 1=manuell
-2=Urlaub lang, 3=Urlaub kurz
--> 81 0c 04 __ 09 09 a0 01 HH HH 3f 00 69 xx // f�r Mode3 Uhrzeit, f�r
-Mode2 Endtag des Monats
--> 81 0c 04 __ 09 09 a0 01 HH HH 40 00 69 xx // f�r Mode3 Resttage ab
-aktuellem Datum, f�r Mode2 Endmonat
--> 81 0c 04 __ 09 09 a0 01 HH HH 41 00 69 xx // aktuelle Solltemperatur
-(x*0.5)
--> 81 0c 04 __ 09 09 a0 01 HH HH 42 00 69 xx // ist Temperatur (Teil 1)
--> 81 0c 04 __ 09 09 a0 01 HH HH 43 00 69 xx // Ist-Temperatur (Teil 2)
-(Die Ermittlung der Temperatur erfolgt nach der Formel Ist-Temp = (Teil2
-* 255 +Teil1) / 10)
--> 81 0c 04 __ 09 09 a0 01 HH HH 44 00 69 xx // Status (Bit0=LowBatt,
-Bit1=Untertemperatur, Bit4=St�rung Fenterkontakt, Bit5=Fenster auf)
--> 81 0c 04 __ 09 09 a0 01 HH HH 45 00 69 xx // Manuelle Temperatur ??
-        
--> 81 0c 04 __ 09 09 a0 01 HH HH 4b 00 67 xx // ?????
--> 81 0c 04 __ 09 09 a0 01 HH HH 7e 00 67 xx // ?????
--> 81 0c 04 __ 09 09 a0 01 HH HH 82 00 69 xx // Komfort-Temperatur
-(x*0.5)
--> 81 0c 04 __ 09 09 a0 01 HH HH 84 00 69 xx // Absenk-Temperatur
-(x*0.5)
--> 81 0c 04 __ 09 09 a0 01 HH HH 85 00 69 04 // Alarm-Temp.-Differenz
--> 81 0c 04 __ 09 09 a0 01 HH HH 8a 00 69 xx // Fenster offen Temperatur
-(x*0.5)
diff --git a/fhem/docs/snippet_4.txt b/fhem/docs/snippet_4.txt
deleted file mode 100644
index a59776588..000000000
--- a/fhem/docs/snippet_4.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-  fs20:
-  Modulation: 100% Amplitude, also pulse und spaces
-
-  Keine festen Bitraster, ein Bit besteht immer aus pulse UND space
-
-  Bit 0: pulse+space insgesamt ca 800us,
-  Bit 1: ca. 1200us
-
-  Beginn einer Uebertragung: ca 20 Startbits 0, zum Start eine 1
-
-  dann Uebertragung der Datenbytes jeweils 8 Bit + Pruefbit:
-  msb
-  ...
-  lsb
-  pruefbit = xor-Verknuepfung der Datenbits.
-
-  Die Uebertragung hat folgenden Aufbau:
-  1. hausadr1
-  2. hausadr0
-  3. adr
-  4. cmd
-  5. arg1
-  ...
-  n-1. argn optional
-  n. pruefbyte
-
-  pruefbyte = unterste 8 Bit aus summe aller bytes 1..n-1 +6
-
-  Hauscode=hausadr1*256 + hausadr
-
-  Dass ein hauscode 11111111 tatsaechlich fuer 0 steht, ist wohl klar.
-
-  cmd 0..31: Keine Argumente
-  cmd 32..63: Ein Argumentbyte
-  Jede Uebertragung wird 3* ausgesendet.
-
-
-  Grue�e,
-  automat
diff --git a/fhem/docs/snippet_5.txt b/fhem/docs/snippet_5.txt
deleted file mode 100644
index 10f7c2605..000000000
--- a/fhem/docs/snippet_5.txt
+++ /dev/null
@@ -1,60 +0,0 @@
-Fs20-Codes
-  0 Aus
-  1..15 setze auf Helligkeit
-  16 An auf max
-  17 An alter wert
-  18 Toggel
-  19 Dim UP
-  20 Dim Down
-  21 DIM up/down
-  22 Prog.Modus/Zeit-Messung
-  23 Adressmeldung / Nix
-  24 Sofort Aus - Timer, sofort wieder an, evtl slow off
-  25 Sofort Max - timer, sofort aus
-  26 Sofort An alter Wert - timer, sofort aus
-  27 ?? AUS - RESET?
-  28 ?
-  29 ?
-  30 sofort Max, timer, dann sofort alter wert
-  31 sofort An alter Wert, nach Timer - sofort Aus
-
-  32-47 S auf Helligkeit mit Speed S
-  48 S An auf max,
-  49 S An alter wert
-  50 T Toggel fuer T, dann alter Wert
-  51 T Dim up, T ?
-  52 T Dim down, T ?
-  53 T Dim up/down, T ?
-  54 T Programmiere Einschaltzeit
-  55 ?
-  56 T Aus fuer EinT
-  57 T Ein Max fuer T, dann alter Wert
-  58 T Ein alter Wert fuer T, dann AUS
-  59 ??? RESET
-  60 T Progr. Einschalt-Speed mit T
-  61 T Progr. Ausschalt-Speed mit T
-  62 T Ein Max fuer T, dann alter Wert
-  63 T Alter Wert fuer T, dann wieder aktueller Wert
-
-  S und T Argumente 2. Byte. Zeit T=0: endlos
-
-�brigens ein paar Anf�nge zum HMS-Protokoll:
-adr1 adr2 typ arg1 arg2/seqnr arg3
-
-  typ:
-  0 temp/feucht hms100tf
-  1 temp hms100t
-  2 Wasser hms100w/wd
-  3 Rauch hms100rm
-  4 TuerFenster hms100tfk
-  5 TuerFenster hms100tfk
-  6 Gas hms100 MG/PG/CO
-  7 Gas hms100 MG/PG/CO
-  8 Gas hms100 MG/PG/CO
-  9-13 unbekannt
-  14 hms100 FI
-  15 ?
-  +16 ??
-  +32 Batteriewarnung
-  +64 neue Batterie
-  +128 Vorzeichen
diff --git a/fhem/docs/snippet_6.txt b/fhem/docs/snippet_6.txt
deleted file mode 100644
index d98c90a91..000000000
--- a/fhem/docs/snippet_6.txt
+++ /dev/null
@@ -1,127 +0,0 @@
-S20-Funkschaltsystem
-
-1. Protokoll
-
-1.1. Datenrahmen:
-
-  Hauscode 16 bit
-  Adresse 8 bit
-  Befehl 8 bit (16bit, wenn im ersten Befehlsbyte das Erweiterungsbit gesetzt
-  ist.)
-  Quersumme 8 bit
-
-1.1.1. Hauscode:
-  0-65535
-  Hauscode1: 8bit (High-Byte)
-  Hauscode2: 8bit (Low-Byte)
-   
-1.1.2. Adresse:
-  High-Nibble (4bit): Adre�-Gruppe (Bank / Raum)
-  15 = Master- / Funktionsgruppen-Bereich
-  0-14 = Adre�raum f�r Einzeladressen
-  Low-Nibble (4bit): Unter-Adresse
-  15 = alle der Adre�-Gruppe (lokal Master)
-  0-14 = Einzel-Adresse / Adresse der Funktionsgruppe
-
-  Das High-Nibble w�hlt die Adre�-Gruppe aus. Es stehen 15 Adre�-Gruppen zur
-  Verf�gung.  Die Adre�-Gruppe 15 w�hlt den Master- bzw.
-  Funktionsgruppen-Adre�bereich aus.  Das Low-Nibble bestimmt innerhalb der
-  gew�hlten Adre�-Gruppe die anzusprechende Unter-Adresse.  Zum Ausf�hren einer
-  globalen Master-Funktion m�ssen High- und Low-Nibble der Adresse 15 sein!
-
-
-  Reihenfolge der Eingabe und Speicherung von Hauscode und Adresse beim Setup
-  von Sendern:
-  1. HC1: [A1|A0|B1|B0|C1|C0|D1|D0]
-  2. HC2: [E1|E0|F1|F0|G1|G0|H1|H0]
-  3. Adr: [I1|I0|J1|J0|K1|K0|L1|L0]
-
-1.1.3. Befehl:
-  Unteren 5 bit:
-  0 00h aus
-  1 01h an, 6,25% Einschalten auf Helligkeitsstufe 1 (min.)
-  2 02h an, 12,5%
-  ...
-  15 0fh an, 93,75%
-  16 10h an, 100% Einschalten auf Helligkeitsstufe 16 (max.)
-
-  17 11h an, alter Wert Auf letztem Helligkeitswert einschalten
-  18 12h toggle Wechsel zwischen aus und an, alter Wert
-  19 13h dim up Eine Helligkeitsstufe heller
-  20 14h dim down Eine Helligkeitsstufe dunkler
-  21 15h dim up and down ..., + bis max, kurz warten, - bis min, kurz warten, 
-  22 16h timeset Timerprogrammierung (Start, Ende)
-  23 17h send status Nur bei bidirektionalen Komponenten!
-  24 18h aus, f�r Timerzeit
-  25 19h an, 100%, f�r Timerzeit
-  26 1ah an, alter Wert, f�r Timerzeit
-  27 1bh reset (auf Auslieferzustand)
-  28 1ch frei
-  29 1dh frei
-  30 1eh frei
-  31 1fh frei
-
-  Bit 5: Erweiterungsbit (0 = ohne, 1 = Erweiterungsbyte zwischen Befehl und
-  Quersumme)
-  Bit 6: bidirektionaler Befehl (normal = 0)
-  Bit 7: Antwort eines Empf�ngers (normal = 0)
-
-  Erweiterungsbyte bei gesetztem Erweiterungsbit:
-  Ist im ersten Befehlsbyte das Erweiterungsbit gesetzt, wird ein
-  Erweiterungsbyte eingeschoben.
-
-  F�r die Befehle 0 bis 18  und 24 bis 26 gilt folgende Codierung des
-  Erweiterungsbytes:
-  Das Byte gibt die einmalige Zeitdauer f�r den Timer in Schritten von 0,25s an.
-
-  Bei Befehl 22 wird der Timer des Empf�ngers fest auf den �bertragenen
-  Timerwert gestellt.
-  Das Low-Nibble gibt den Zahlenwert an. Ist es Null (= 0), wird die
-  Timerfunktion ignoriert und der Verbraucher dauerhaft/sofort geschaltet.
-
-  Das High-Nibble dient als Multiplikator mit dem Faktor 2^x. Es sind nur Werte
-  kleiner oder gleich 12 sinnvoll. Gr��ere Werte werden auf 12 begrenzt!
-
-  Zeit = 2^(High-Nibble) * Low-Nibble * 0,25s
-  Die maximale Zeitdauer betr�gt damit ca. 4,25Std, die minimale 0,25s, sofern
-  dies jeweils von den Empf�ngern bis zu den angegebenen Grenzen unterst�tzt
-  wird.
-
-1.1.4. Quersumme
-
-  8bit-Summe aus 6, Hauscode, Adresse und Befehl (und Erweiterungsbyte) bilden
-  Werden Repeater verwendet, so treten auch um 1 oder 2 erh�hte Quersummen auf,
-  die von den Empf�ngern im Normalfall akzeptiert werden sollten. Wurde von
-  einem Empf�nger bis 1,6s vor einem Repeater-Befehl ein normaler Befehl
-  empfangen, so wird der Repeater-Befehl ignoriert.
-
-
-1.1.5. Komplette �bertragung:
-  Synchr, HC1, Parity, HC2, Parity, Adresse, Parity, Befehl, Parity, Quersumme, Parity, EOT
-  13 bit    8 bit   1 bit    8 bit   1 bit      8 bit      1 bit     8 bit     1 bit         8 bit          1 bit    1 bit
-
-  oder:
-  Synchr, HC1, Parity, HC2, Parity, Adr, Parity, Bef1, Parity, Bef2, Par, Quersumme, Par, EOT
-  13 bit     8 bit  1 bit    8 bit   1 bit   8 bit   1 bit   8 bit    1 bit   8 bit  1 bit        8 bit      1 bit  1 bit
-
-  �bertragung beginnt mit MSB.
-
-  Die �bertragung f�r ein komplettes Datenpaket mit 1 Befehl dauert 47,6ms bis
-  65,6ms.
-
-  Wird an der Hand-FB eine Taste < 400ms gedr�ckt, so wird beim Loslassen
-  folgendes gesendet: DAT, 10msPAUSE, DAT, 10msPAUSE, DAT, 110msPAUSE
-
-  Wird eine Taste an der Hand-FB l�nger als 400ms gedr�ckt, so wird alle 250ms
-  folgendes gesendet: DAT, 10msPAUSE, DAT
-
-
-  Im AUS-Zustand schaltet ein Dimmer bei EIN mit alter Helligkeit ein.
-  Im AUS-Zustand schaltet ein Dimmer bei DIMUP mit voller Helligkeit ein.
-  Im EIN-Zustand wird bei DIMUP eine Stufe aufgedimmt.
-
-  Alle Befehle d�rfen von Empf�ngern immer nur 1x ausgewertet werden. Gesendet
-wird der Befehl 3x mit einer Pause von 10ms. Dim-Befehle werden nur 2x mit
-einer Pause von ca. 10ms und 130ms gesendet. Nach einem erkannten Befehl
-ignorieren die Empf�nger f�r 120ms weitere Befehle. Befehle von Repeatern
-werden f�r 1,6s ignoriert.
diff --git a/fhem/docs/snippet_7.txt b/fhem/docs/snippet_7.txt
deleted file mode 100644
index d31b5f01d..000000000
--- a/fhem/docs/snippet_7.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-Get 81 0c c9 78 0102 1f04a0ffb6ffffff
-Get 81 0c c9 da 0102 1f04a0ffb661ffff
-Set 81 05 04 61 c90197
-Set 81 05 04 63 c90199
-Get 81 0d 04 ac 4027a0017100215000b30f          KS300 msg
-Set 81 05 04 50 c90186                          initHMS
-Set 81 06 04 62 c9019602                        InitFS20 (+02?)
-Set 81 06 c9 2c 02011f0a                        Init3 string
-Set 81 09 04 46 020101xxxx0000                  Set FS20 device off
-Set 81 09 04 4e c901839e010161                  Set fhtcode 97 (0x61)
-Set 81 09 04 57 020101xxxx0011                  Set FS20 device on
-Set 81 0a c9 93 02016106050f1500                Time: 2006-05-15 21:00
-Set 81 0a c9 a4 02016106050f1511                Time: 2006-05-15 21:17
-Set 81 0b 04 8f 020183xxxx65ff66ff              Request FHT refreshvalues
diff --git a/fhem/examples/01_fs20 b/fhem/examples/01_fs20
index 5e833bd24..e351365de 100644
--- a/fhem/examples/01_fs20
+++ b/fhem/examples/01_fs20
@@ -2,7 +2,7 @@
 # fhem.pl configfile
 # 
 # Define a lamp (which is plugged in via an FS20ST).
-# To program the FS20ST, start the server, plug the FS20ST in pressing its
+# To program the FS20ST, start the server, plug the FS20ST while pressing its
 # button (it starts blinking), and then execute   fhem.pl 7072 "set lamp on" 
 #
 
diff --git a/fhem/examples/02_fs20 b/fhem/examples/02_fs20
index 7962d1f76..ad5e69ec2 100644
--- a/fhem/examples/02_fs20
+++ b/fhem/examples/02_fs20
@@ -1,7 +1,7 @@
 #
 # fhem.pl configfile
 # 
-# The challange: We have 2 rollades (which are connected via the FS20MS).
+# The challenge: We have 2 rollades (which are connected via the FS20MS).
 # Button 3 on the FS20S20 should activate both rollades. There are three
 # solutions:
 # 1. Builtin commands
diff --git a/fhem/examples/03_fht b/fhem/examples/03_fht
index ccb1c5137..7b3af1f76 100644
--- a/fhem/examples/03_fht
+++ b/fhem/examples/03_fht
@@ -24,14 +24,15 @@ define wz FHT 3232          # type FHT, transmitter code 3232 (default value)
 define fhz_timer at *03:30:00 set FHZ time
 
 #########################
-# If you wish to have up-to date information on certain strange parameters
-# then comment out the line below. My devices send a message when a value
-# changes, and send measured-temp, actuator and state messages regularly.
-# Be patient: the reply comes in 5-10 minutes.
-define wz_refresh at *04:00:00 set wz report1 255 report2 255
+# If you wish to have up-to date information on certain parameters which can be
+# modified on the FHT80b itself, then enable the line below. My device sends a
+# message when a value changes, and sends measured-temp, actuator and state
+# messages regularly, so I do not use this command.
+# Be patient: the reply comes after 5-10 minutes.
+#define wz_refresh at *04:00:00 set wz report1 255 report2 255
 
 # alias for the above
-define wz_refresh at *04:00:00 set wz refreshvalues
+#define wz_refresh at *04:00:00 set wz refreshvalues
 
 
 ###################
diff --git a/fhem/examples/04_log b/fhem/examples/04_log
index 77c76ae24..204e81d6a 100644
--- a/fhem/examples/04_log
+++ b/fhem/examples/04_log
@@ -21,8 +21,6 @@ define ks1 KS300 1234 250   # type KS300, with 250ml rain / counter
 define wzlog FileLog /var/log/fhem/wz-%Y-%U.log wz:.*(temp|actuator).*
 
 # Make it accessible from 01_FHEMWEB.pm (webpgm2)
-# Note: for FHEMWEB large logfiles (one per year) are recommended to be able to
-# navigate
 attr wzlog logtype fht:Temp
 
 # ks300 log
@@ -36,8 +34,10 @@ attr kslog logtype ks300_1:Temp/Hum,ks300_2:Rain/Wind
 # paranthesis, and your shell will probably bark.
 define tmplog notifyon wz:temp.* "/usr/local/bin/log.sh @ "@ %""
 
+quit
+
 #########################
-And here is /usr/local/bin/log.sh, don't forget chmod +x
+#And here is /usr/local/bin/log.sh, don't forget chmod +x
 
 #!/bin/sh
 fname=$1