2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-01-31 12:49:34 +00:00

Little rewording

git-svn-id: https://svn.fhem.de/fhem/trunk@287 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2008-12-12 11:07:36 +00:00
parent bf01617314
commit 6b5b8d8b20
2 changed files with 89 additions and 65 deletions

View File

@ -2365,9 +2365,9 @@ A line ending with \ will be concatenated with the next one, so long lines
Define a WS2000 series raw receiver device sold by ELV. Details see <a Define a WS2000 series raw receiver device sold by ELV. Details see <a
href="http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=6724">here</a>. href="http://www.elv.de/output/controller.aspx?cid=74&detail=10&detail2=6724">here</a>.
Unlike 86_FS10.pm it will handle the complete device communication itself and Unlike 86_FS10.pm it will handle the complete device communication itself
doesnt require an external program. and doesnt require an external program. For this reason you can now use
For this reason you can now use this also on windows. this also on windows.
<br> <br>
This Device will be usually connect to a serial port, but you can also This Device will be usually connect to a serial port, but you can also
define a raw network redirector like lantronix XPORT(TM). define a raw network redirector like lantronix XPORT(TM).
@ -3302,13 +3302,16 @@ isday, sunrise_coord</pre>
<a name="refresh"></a> <a name="refresh"></a>
<li>refresh<br/> <li>refresh<br/>
This defines the time-interval in which a new rendering of the defined WebLinks will be done. This defines the time-interval in which a new rendering of the defined
WebLinks will be done.
</li><br> </li><br>
<a name="tmpfile"></a> <a name="tmpfile"></a>
<li>tmpfile<br/> <li>tmpfile<br/>
This gives the path and a possible prefix for the rendered filenames.<br/> This gives the path and a possible prefix for the rendered
You can specify a path to which the files will be rendered. If you also specify a prefix, this will be used to build the resulting filename. filenames.<br/> You can specify a path to which the files will be
rendered. If you also specify a prefix, this will be used to build the
resulting filename.
</li><br> </li> </ul> </li><br> </li> </ul>
</ul> </ul>
@ -3320,32 +3323,46 @@ isday, sunrise_coord</pre>
<h3>Perl specials</h3> <h3>Perl specials</h3>
<ul> <ul>
<li>To use fhem commands from the perl expression, use the function "fhem", <li>To use fhem commands from the perl expression, use the function "fhem",
which takes a string argument, this string will be evaluated as an fhem which takes a string argument, this string will be evaluated as a fhem
command chain.<br> command chain.<br>
Example: Example:
<ul> <ul>
define n1 notify piri:on { fhem "set light on" } define n1 notify piri:on { fhem "set light on" }
</ul> </ul></li>
</li>
<li>
To make date and time handling easier, before evaluating a perl expression
the variables $sec, $min, $hour, $mday, $month, $year, $wday, $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:
<ul>
define n2 notify piri:on { if($hour &gt; 18 || $hour &lt; 5) { fhem "set light on" } }
</ul>
</li> <li>To make date and time handling easier, before evaluating a perl
expression the variables $sec, $min, $hour, $mday, $month, $year, $wday,
$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:
<ul>
define n2 notify piri:on { if($hour &gt; 18 || $hour &lt; 5) { fhem "set
light on" } }
</ul></li>
<li>
The following small helper functions are defined in 99_Util.pm (which will
be loaded automatically):
<ul>
<li>min(a,b), max(a,b)</li>
<li>time_str2num("YYYY-MM-DD HH:MM:SS") returns a numerical value,
which makes computation of time differences easier</li>
<li>abstime2rel("HH:MM:SS") converts an absolute time to a relative one,
to compare it with the sunrise commands in the following example:<br>
# Switch lamp1 on at sunrise, but not before 07:00<br>
define a13 at +*{max(abstime2rel("07:00"),sunrise_rel())} set lamp1
on
</li>
</ul>
</li>
<li> <li>
<b>Note</b>: do not forget to escape the semicolon (;) with two semicolons <b>Note</b>: do not forget to escape the semicolon (;) with two semicolons
(;;), else your perl code will be interpreted as an fhem command and you (;;), else your perl code will be interpreted as an fhem command and you
most certainly get syntax errors. most certainly get syntax errors.
</li> </li>
<li> <li>
The current value (the string you see in paranthesis in the output of the The current value (the string you see in paranthesis in the output of the
@ -3354,12 +3371,12 @@ isday, sunrise_coord</pre>
If you need the old value (and time) of the currently triggered device, If you need the old value (and time) of the currently triggered device,
then you can access it with <code>$oldvalue{$dev}{TIME}</code> and then you can access it with <code>$oldvalue{$dev}{TIME}</code> and
<code>$oldvalue{$dev}{VAL}</code>.<br> <code>$oldvalue{$dev}{VAL}</code>.<br>
</li> </li>
<li> <li>
To access the numerical value of an FS20 command (e.g. toggle), use the To access the numerical value of an FS20 command (e.g. toggle), use the
hash <code>fs20_c2b</code>. E.g. { Log 2, $fs20_c2b{"toggle"} } hash <code>fs20_c2b</code>. E.g. { Log 2, $fs20_c2b{"toggle"} }
</li> </li>
<li> <li>
By using the 99_SUNRISE_EL.pm module, you have access to the following By using the 99_SUNRISE_EL.pm module, you have access to the following
@ -3374,7 +3391,7 @@ isday, sunrise_coord</pre>
The _rel functions should be used as "at" spec, and the _abs functions as The _rel functions should be used as "at" spec, and the _abs functions as
argument to the on-till argument of the set command.<br> argument to the on-till argument of the set command.<br>
isday returns 1 if the sun is visible, and 0 else. isday returns 1 if the sun is visible, and 0 else.
</li> </li>
</ul> </ul>

View File

@ -10,8 +10,7 @@
<h1>FHEM</h1> <h1>FHEM</h1>
GPL'd server to access devices like FHZ1000/FHZ1300,EM1010PC,WS300,SCIVT,X10. GPL'd server for house automation. Formerly known as fhz1000.pl
Formerly known as fhz1000.pl
<br/><br/> <br/><br/>
Current Version: (as of =DATE=) is <a Current Version: (as of =DATE=) is <a
href="http://www.koeniglich.de/fhem/fhem-=VERS=.tar.gz">=VERS=</a> href="http://www.koeniglich.de/fhem/fhem-=VERS=.tar.gz">=VERS=</a>
@ -21,37 +20,40 @@ href="#webfrontends"/>webfrontends</a> section for screenshots.
<h2>Description</h2> <h2>Description</h2>
<ul> <ul>
This program makes the FHZ1000/FHZ1300/WS300 and other USB devices sold by ELV, <b>fhem</b> is used to automate some common tasks in the household like
Conrad and others as well as X10 devices sold by Marmitek, Powerhouse and switching lamps/shutters/heating/etc. and to log events like
others useable with Linux. In fact, there is nothing Linux special temperature/humidity/power consumption.<br><br>
in it, there are reports from OS X and Windows. You should be able to use it on
other platforms as long as you can access the hardware as a serial device.<br>
The program runs as a server, you can control it via telnet, command line The program runs as a server, you can control it via telnet, command line
program or TCP/IP directly, like the supplied web frontends do.<br> <br> program or TCP/IP directly, like the supplied web frontends do.<br> <br>
Currently implemented features:<br> Currently implemented features:<br>
<ul> <ul>
<li>Via the FHZ module (with access to one or more FHZ1000/FHZ1300 device): <li>Via the FHZ module (with access to one or more FHZ1000/FHZ1300 device):
<ul> <ul>
<li>reading and sending FS20 events (on/off/dimming, timer <li>reading and sending FS20 events (on/off/dimming, timer
commands)</li> commands)</li>
<li>support of FS20 address features function group, local and global <li>support of FS20 address features function group, local and global
master</li> master</li>
<li>reading and changing FHT80b parameters (temp, actuator, etc).<br> <li>reading and changing FHT80b parameters (temp, actuator, etc).<br>
The FHT8b seems to work too. Note: the FHT8 wont work.<br> The FHT8b seems to work too. Note: the FHT8 wont work.<br>
Internal software buffer to prevent lost commands.</li> Internal software buffer to prevent lost commands.</li>
<li>reading HMS data (HMS100-T,-TF,-WD,-MG,-TFK,-CO,-FIT and RM100-2)</li> <li>reading HMS data (HMS100-T,-TF,-WD,-MG,-TFK,-CO,-FIT and RM100-2)</li>
<li>reading KS300 data</li> <li>reading KS300 data</li>
</ul> </ul>
Note: The FHZ1350 WLAN is probably not working due to a prorietary Note: The FHZ1350 WLAN is probably not working due to a prorietary
encryption. encryption.
</li> </li>
<li>Via the CM11 module (with access to a X10 computer interface): <li>Via the CM11 module (with access to a X10 computer interface):
<ul> <ul>
<li>reading all X10 events</li> <li>reading all X10 events</li>
<li>sending X10 events (on/off/dimming)</li> <li>sending X10 events (on/off/dimming)</li>
<li>timed on/off switching support</li> <li>timed on/off switching support</li>
</ul> </ul>
</li>
<li>Via the CUL module (see <a href="http://www.busware.de">www.busware.de
</a>) access to the FS20/EM1000/FHT/S300 protocols. <b>Note:</b>due to
the incomplete firmware the access is read-only at the moment.
</li> </li>
<li>reading WS300 data, and up to 9 attached devices</li> <li>reading WS300 data, and up to 9 attached devices</li>
<li>reading EM1000WZ/EM1000EM/EM1000GZ data via an attached EM1010PC</li> <li>reading EM1000WZ/EM1000EM/EM1000GZ data via an attached EM1010PC</li>
@ -69,8 +71,8 @@ Currently implemented features:<br>
<li>different web frontends, choose your favorite</li> <li>different web frontends, choose your favorite</li>
<br> <br>
</ul> </ul>
See <a href="HOWTO.html">HOWTO.html</a>, <a href="commandref.html">commandref.html</a> See <a href="HOWTO.html">HOWTO.html</a>, <a href="commandref.html">
and <a href="faq.html">faq.html</a> for more documentation. commandref.html</a> and <a href="faq.html">faq.html</a> for more documentation, and <a href="README.contrib">contrib/README</a> for other extensions.
</ul> </ul>
<h2>Links:</h2> <h2>Links:</h2>
@ -85,14 +87,20 @@ and <a href="faq.html">faq.html</a> for more documentation.
http://groups.google.com/group/FHZ1000-users-on-unix</a><br> http://groups.google.com/group/FHZ1000-users-on-unix</a><br>
Martins Web frontend (webpgm3): <a href="http://www.martin-haas.de/fhz"> Martins Web frontend (webpgm3): <a href="http://www.martin-haas.de/fhz">
http://www.martin-haas.de/fhz</a><br> http://www.martin-haas.de/fhz</a><br>
Another Martins Web frontend (myHCE): <a href="http://www.fischer-net.de/projekte/haustechnik/myhce.html">http://www.fischer-net.de/projekte/haustechnik/myhce.html</a><br> Another Martins Web frontend (myHCE):
<a href="http://www.fischer-net.de/projekte/haustechnik/myhce.html">
http://www.fischer-net.de/projekte/haustechnik/myhce.html</a><br>
CVS@berlios: <a href="http://developer.berlios.de/projects/fhem"> CVS@berlios: <a href="http://developer.berlios.de/projects/fhem">
http://developer.berlios.de/projects/fhem</a><br> http://developer.berlios.de/projects/fhem</a><br>
LinViex (home automation frontend): LinViex (home automation frontend):
<a href="http://sourceforge.net/projects/linviex"> <a href="http://sourceforge.net/projects/linviex">
<a href=http://shop.busware.de/product_info.php?products_id=29">CUL</CUL> http://sourceforge.net/projects/linviex</a><br>
busware.de: <a href=http://shop.busware.de/product_info.php?products_id=29">
CUL</a>, <a href="http://groups.google.com/group/cul-fans">
CUL fans google group</a><br>
<br>
http://sourceforge.net/projects/linviex</a><br><br>
Device/OS Specific installation guides:<br> Device/OS Specific installation guides:<br>
<ul> <ul>
<li>Linux driver installation: <li>Linux driver installation:
@ -170,24 +178,23 @@ If you are using cygwin for your perl installation you can follow the guidelines
<ul> <ul>
<li>You don't have to install all of them, one is probably more than <li>You don't have to install all of them, one is probably more than
enough :-)</li> enough :-)</li>
<li>The web server and the fhem server must be on the same host</li>
<li><b>Important:</b> Make sure you add some protection (.htaccess, etc) <li><b>Important:</b> Make sure you add some protection (.htaccess, etc)
else everybody will be able to set your devices</li> else everybody will be able to set your devices</li>
<li>The list below contains the 2 actively maintained fronteds:</li>
</ul> </ul>
<h3>Web frontend 2 (webfrontend/pgm2)</h3> <h3>Web frontend 2 (webfrontend/pgm2)</h3>
<ul> <ul>
This frontend is a FHEM module implementing a HTTP server. It has support This frontend is a FHEM module implementing a HTTP server, no further
for grouping devices into rooms, manipulating devices, direct fhem commands, programs are needed. It has support for grouping devices into rooms,
displaying logfiles as text or plot (SVG builtin or PNG by gnuplot), manipulating devices, direct fhem commands, displaying logfiles as text or
navigating/zooming in the plots. <br/> plot (SVG builtin or PNG by gnuplot), navigating/zooming in the plots. <br/>
Screenshots: <a href="pgm2-1.png">overview</a>, <a Screenshots: <a href="pgm2-1.png">overview</a>, <a
href="pgm2-2.png">detail</a>, <a href="pgm2-3.png">SVG-plots</a>. href="pgm2-2.png">detail</a>, <a href="pgm2-3.png">SVG-plots</a>.
<br><br> <br><br>
Installation: make install-pgm2 &amp;&amp; perl fhem.pl <br> Installation: make install-pgm2 &amp;&amp; perl fhem.pl <br>
This will start fhem.pl with a minimalistic configuration.
Connect to fhem via <a Connect to fhem via <a
href="http://localhost:8083/fhem">http://localhost:8083/fhem</a>. See the href="http://localhost:8083/fhem">http://localhost:8083/fhem</a>. See the
Howto there on how to continue. Howto there on how to continue.