mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-01-31 18:59:33 +00:00
8410288c1e
git-svn-id: https://svn.fhem.de/fhem/trunk@109 2b470e98-0d58-463d-a4d8-8e2adae1ed80
278 lines
9.6 KiB
HTML
278 lines
9.6 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
|
|
<head>
|
|
<title>FHEM FAQ</title>
|
|
</head>
|
|
|
|
<body style="background-color: white;">
|
|
|
|
<h2>FHEM FAQ</h2>
|
|
|
|
<a href="#faq1">1. I am using fhem.pl with an fhz1000.pl config file and fhem.pl
|
|
won't start</a><br><br>
|
|
|
|
<a href="#faq2">2. I get "undefined" messages in the log after upgrading
|
|
fhem.pl</a><br><br>
|
|
|
|
<a href="#faq3">3. I switched on a FS20 device directly (without the remote),
|
|
but the fhem.pl did not noticed it. Is it a bug?</a><br><br>
|
|
|
|
<a href="#faq4">4. I have some FS20/FHT/HMS devices. How do I know their
|
|
housecode?</a><br><br>
|
|
|
|
<a href="#faq5">5. I have the code for my devices in the ELV notation, which
|
|
contains 1,2,3 and 4, but you require a hex code. How should I convert
|
|
it?</a><br><br>
|
|
|
|
<a href="#faq6">6. I replaced my FHZ1X00PC, now the FHT80b's does not work
|
|
anymore. Help me!</a><br><br>
|
|
|
|
<a href="#faq7">7. I can specify an optional ml/raincounter for a KS300. Why
|
|
do you think that 255 should be the default?</a><br><br>
|
|
|
|
<a href="#faq8">8. The time specification of the builtin at command is not very
|
|
flexible. Please add day/month/weekday to it.</a><br><br>
|
|
|
|
<a href="#faq9">9. I defined my FS20STR as an FHT device, but I do not get
|
|
any data from it.</a><br><br>
|
|
|
|
<a href="#faq10">10. How to convert the FHT8b code seen in its display to the
|
|
hex code needed by fhem.pl?</a><br><br>
|
|
|
|
<a href="#faq11">11. I'd like to use this sunrise/sunset stuff, can you help
|
|
me?</a><br><br>
|
|
|
|
<a href="#faq12">12. I'd like to switch on the ventilator if the FHT tells me its too hot. How to tell fhem to do that?</a><br><br>
|
|
|
|
<br>
|
|
<br>
|
|
<br>
|
|
<br>
|
|
|
|
<a name="faq1"></a>
|
|
<b>1. I am using fhem.pl with an fhz1000.pl config file and fhem.pl won't
|
|
start</b>
|
|
|
|
<ul>
|
|
The syntax changed, you have to modify you config file:
|
|
<ul>
|
|
<li>logfile/modpath/pidfile/port/verbose "renamed" to "attr global xx</li>
|
|
<ul>
|
|
<li>change logfile <xxx> to attr global logfile <xxx></li>
|
|
<li>change modpath <xxx> to attr global modpath <xxx></li>
|
|
<li>change pidfile <xxx> to attr global pidfilename <xxx></li>
|
|
<li>change port <xxx> to attr global port <xxx></li>
|
|
<li>change verbose <xxx> to attr global verbose <xxx></li>
|
|
</ul>
|
|
<li>savefile renamed to "attr global statefile" (<b>not</b> savefile)</li>
|
|
<li>at/notify "renamed" to "define at/notify"<br>
|
|
This means you have to give a name to each of your at's or
|
|
notify commands. E.g.:
|
|
<ul>
|
|
<li><code>at *07:00 set lamp on</code><br>
|
|
becomes<br>
|
|
<code>define wake_me at *07:00 set lamp on</code></li>
|
|
<li><code>notify fire:on "send_sms"</code><br>
|
|
becomes<br>
|
|
<code>define fire_alarm notify fire:on "send_sms"</code><br>
|
|
</ul>
|
|
This seems to be tedious at the beginning but you get easy
|
|
deletion and attribute specification for these commands.
|
|
</ul>
|
|
</ul>
|
|
|
|
|
|
<a name="faq2"></a>
|
|
<b>2. I get "undefined" messages in the log after upgrading fhem.pl</b>
|
|
<ul>
|
|
Stop fhem.pl, delete the previous .save file and restart fhem.pl.
|
|
If the problem still exists, send a bugreport.
|
|
</ul>
|
|
|
|
|
|
<a name="faq3"></a>
|
|
<b>3. I switched on a FS20 device directly (without the remote), but
|
|
the fhem.pl did not noticed it.<br>Is it a bug?</b>
|
|
<ul>
|
|
The protocol used by the FS20 family is quite simple: it is </b>not</b>
|
|
encrypted in any way, and there is no feedback to the sender. So if you
|
|
push any buttons on a pure receiver, no radio waves will be sent out, and
|
|
the FHZ1000 won't notice anything. The FHZ1000PC does not even know if
|
|
somebody received its message, it simply sends it out 3 times and hopes
|
|
for good luck.<br>
|
|
To answer the question: it is not a bug :-)
|
|
</ul>
|
|
|
|
|
|
<a name="faq4"></a>
|
|
<b>4. I have some FS20/FHT/HMS devices.<br>
|
|
How do I know their housecode?</b><br>
|
|
<ul>
|
|
If you already programmed some devices, then just start fhem.pl with one
|
|
of the example configuration files, and watch the log. When activating a
|
|
device (e.g. with the remote) then it will be logged as an unknown device
|
|
with the housecode. Note: the verbose level must be 3 or higher. KS300
|
|
devices do not have a proper code, so you can use anything.
|
|
</ul>
|
|
|
|
|
|
<a name="faq5"></a>
|
|
<b>5. I have the code for my devices in the ELV notation, which contains 1,2,3
|
|
and 4, but you require a hex code.<br> How should I convert it?</b>
|
|
|
|
<ul>
|
|
The code used by ELV is in the "quaternal" (?) system plus one added to each
|
|
digit, so you can even use the 4 button remote for programming. To convert,
|
|
you have two choices: the program four2hex in the contrib directory, or the
|
|
good old unix program bc.
|
|
<ul>
|
|
<li>From quaternal (ELV Remote) to hex (fhem.pl):<br>
|
|
<pre>
|
|
% bc
|
|
obase=16
|
|
ibase=4
|
|
<elv number></pre>
|
|
where <elv number> is the number used on the remote, but 1
|
|
substracted from every digit (so each digit is between 0 and 3).</li>
|
|
|
|
<li>From hex (fhem.pl) to quaternal (ELV Remote):<br>
|
|
<pre>
|
|
% bc
|
|
ibase=16
|
|
obase=4
|
|
<hex number></pre>
|
|
Now add 1 to each digit of the result, and prepend it with 1's if
|
|
it has less than 4 digits.</li> </ul>
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
<a name="faq6"></a>
|
|
<b>6. I replaced my FHZ1X00PC, now the FHT80b's does not work anymore.<br>
|
|
Help me!</b>
|
|
<ul>
|
|
The FHT80b's are talking to a single FHZ1XXX device, which has a unique
|
|
"FHTcode". You have two choices: if you know the old FHTcode, then you can
|
|
set it, or you can tell the FHT80b to forget the old FHZ, and start talking
|
|
with the new one.
|
|
<ul>
|
|
<li>Set the FHTcode: The problem with this method is that I don't know how
|
|
to read out the value, we just can change it with<br>
|
|
<code>set FHZ FHTcode <hex-code></code></li>
|
|
<li>Resync the FHT80b: Press PROG until "Sond" appears, then select "CEnt"
|
|
with the wheel, press PROG again, Select "nA" with the wheel, press PROG
|
|
again.</li>
|
|
|
|
</ul>
|
|
</ul>
|
|
|
|
|
|
<a name="faq7"></a>
|
|
<b>7. I can specify an optional ml/raincounter for a KS300.<br>
|
|
Why do you think that 255 should be the default?</b>
|
|
<ul>
|
|
The manual talks about 0.3l resolution, but I wanted to calibrate my device.
|
|
So I filled a plastic bottle with 0.5 liter water from the measuring cup,
|
|
drilled a small hole in the bottom of the bottle, let the water flow slowly
|
|
in the KS300 rain-cup, and looked at the counter after the bottle was empty.<br>
|
|
|
|
The raincounter was incremented by 130 ticks. The diameter of my KS300
|
|
rain-cup is 13.9 cm, the area ca 151.75 cm<sup>2</sup>, which
|
|
is ca 1/65.9 m<sup>2</sup>.
|
|
The 0.5 liter corresponds to 32.95 liter per m<sup>2</sup>. 130 ticks
|
|
correspond to 32.95 l/m<sum>2</sup> -> 1 tick is ca 253 ml. I estimate
|
|
the error margin to +/- 2%<br>
|
|
|
|
You are welcome to do your own experiments, I am interested in the results.
|
|
</ul>
|
|
|
|
|
|
<a name="faq8"></a>
|
|
<b>8. The time specification of the builtin at command is not very
|
|
flexible.<br> Please add day/month/weekday to it.</b>
|
|
<ul>
|
|
I think the command is complex and flexible enough. Use a perl expression
|
|
for this functionality like (described in the commandref.html):
|
|
<pre>at *07:00:00 { fhz "set lamp on" if($we) }</pre>
|
|
</ul>
|
|
|
|
|
|
<a name="faq9"></a>
|
|
<b>9. I defined my FS20STR as an FHT device, but I do not get any data from
|
|
it.</b>
|
|
<ul>
|
|
The FS20STR is an FS20 device, even if it looks like an FHT80b.
|
|
You'll get "only" on-for-timer and off-for-timer events sent.
|
|
</ul>
|
|
|
|
|
|
<a name="faq10"></a>
|
|
<b>10. How to convert the FHT8b code seen in its display to the hex code needed
|
|
by fhem.pl?</b>
|
|
|
|
<ul>
|
|
Convert the first 2 digits first from decimal to hex, then the next two. Example:<br>
|
|
<pre>
|
|
% bc
|
|
obase=16
|
|
<first two digits>
|
|
<last two digits></pre>
|
|
E.g The FHT8b code 1121 is 0b15 for the fhem.pl
|
|
</ul>
|
|
|
|
|
|
<a name="faq11"></a>
|
|
<b>11. I'd like to use this sunrise/sunset stuff, can you help me?</b>
|
|
<ul>
|
|
Copy contrib/99_SUNRISE_EL.pm into your FHEM directory.
|
|
Next look for the geographic coordinates of your home, e.g with a GPS
|
|
receiver or with googleearth. Compute the latitude/longitude as needed, and
|
|
enter them in your lastinclude file with the command:
|
|
<pre>{sunrise_coord("<latitude>", "<longitude>", "") }</pre>
|
|
If everything is ok, typing
|
|
<pre>{ sunrise_abs() }</pre>
|
|
in the telnet prompt, will return the time of the sunrise today, in a
|
|
HH:MM:SS format.<br><br>
|
|
|
|
99_SUNRISE_EL.pm is the ExtraLight version of the original 99_SUNRISE.pm,
|
|
which needs the DateTime::Event::Sunrise perl module, which in turn is
|
|
usually difficult to install. If you still want to use the original module,
|
|
then the initialization string will be slightly different:
|
|
<pre>{sunrise_coord("<latitude>", "<longitude>", "Europe/Berlin") }</pre>
|
|
|
|
</ul>
|
|
|
|
<a name="faq12"></a>
|
|
<b>12. I'd like to switch on the ventilator if the FHT tells me its too hot. How to tell fhem to do that?</b>
|
|
<ul>
|
|
|
|
To get used to the methods, we do it step by step. Telnet to fhem, and type
|
|
the following:
|
|
|
|
<pre>
|
|
# Check simply the value. It is the same as seen in "list"
|
|
FHZ> {$value{myfht}}
|
|
measured-temp: 23.8 (Celsius)
|
|
|
|
# Get the second word, so we can compare it.
|
|
FHZ> { my @a = split(" ", $value{myfht});; $a[1] }
|
|
23.8
|
|
|
|
# Set the ventilator on now, if its too hot.
|
|
FHZ> { my @a = split(" ", $value{myfht});; fhem("set ventilator on") if($a[1] > 25.0) }
|
|
|
|
# Now do this regularly
|
|
FHZ> define chilldown at +*00:30:00 { my @a = split(" ", $value{myfht});; fhem("set ventilator on") if($a[1] > 25.0) }
|
|
|
|
# An alternative:
|
|
FHZ> define chilldown at +*00:30:00 { fhem("set ventilator on") if($value{myfht} gt "measured-temp: 25.0") }
|
|
</pre>
|
|
|
|
</ul>
|
|
|
|
</body>
|
|
</html>
|