2008-05-10 21:09:10 +00:00
< !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 > Home of FHEM< / title >
< / head >
< body style = "background-color: white" >
< h1 > FHEM< / h1 >
2008-12-12 11:07:36 +00:00
GPL'd server for house automation. Formerly known as fhz1000.pl
2008-07-12 09:16:43 +00:00
< br / > < br / >
2008-07-28 12:33:29 +00:00
Current Version: (as of =DATE=) is < a
href="http://www.koeniglich.de/fhem/fhem-=VERS=.tar.gz">=VERS=< / a >
See the < a href = "CHANGED" > CHANGED< / a > file for current changes, or the < a
href="#webfrontends"/>webfrontends< / a > section for screenshots.
2008-05-10 21:09:10 +00:00
< h2 > Description< / h2 >
< ul >
2008-12-12 11:07:36 +00:00
< b > fhem< / b > is used to automate some common tasks in the household like
switching lamps/shutters/heating/etc. and to log events like
temperature/humidity/power consumption.< br > < br >
2008-07-12 09:16:43 +00:00
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 >
2008-05-10 21:09:10 +00:00
Currently implemented features:< br >
< ul >
< li > Via the FHZ module (with access to one or more FHZ1000/FHZ1300 device):
2008-12-12 11:07:36 +00:00
< ul >
< li > reading and sending FS20 events (on/off/dimming, timer
commands)< / li >
< li > support of FS20 address features function group, local and global
master< / li >
< li > reading and changing FHT80b parameters (temp, actuator, etc).< br >
The FHT8b seems to work too. Note: the FHT8 wont work.< br >
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 KS300 data< / li >
< / ul >
2008-11-02 18:04:33 +00:00
Note: The FHZ1350 WLAN is probably not working due to a prorietary
encryption.
2008-12-12 11:07:36 +00:00
< / li >
2008-11-02 18:04:33 +00:00
< li > Via the CM11 module (with access to a X10 computer interface):
2008-12-12 11:07:36 +00:00
< ul >
< li > reading all X10 events< / li >
< li > sending X10 events (on/off/dimming)< / li >
< li > timed on/off switching support< / li >
< / 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.
2008-05-10 21:09:10 +00:00
< / li >
< li > reading WS300 data, and up to 9 attached devices< / li >
2008-07-24 07:39:15 +00:00
< li > reading EM1000WZ/EM1000EM/EM1000GZ data via an attached EM1010PC< / li >
2008-05-10 21:09:10 +00:00
< li > reading attached SCIVT devices< / li >
< li > reading attached M232 devices< / li >
2008-07-28 12:33:29 +00:00
< li > reading attached WS2000/WS25000 devices, also via raw network
converters(xport)< / li >
2008-05-18 12:06:02 +00:00
< li > extract sensor data from IPWE networked weather data receiver< / li >
2008-05-10 21:09:10 +00:00
< li > logging events to files or databases, with regexp filters< / li >
< li > notifying external programs or internal modules when receiving certain
events< / li >
< li > timed commands (e.g. switching a lamp on from sunset till midnight)< / li >
2008-08-04 13:47:53 +00:00
< li > watchdog (e.g. trigger if the HMS100-FIT is inactive for HH:MM:SS)< / li >
2008-07-12 09:16:43 +00:00
< li > modular architecture, easy to add your special device< / li >
< li > different web frontends, choose your favorite< / li >
2008-05-10 21:09:10 +00:00
< br >
< / ul >
2008-12-12 11:07:36 +00:00
See < a href = "HOWTO.html" > HOWTO.html< / a > , < a href = "commandref.html" >
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.
2008-05-10 21:09:10 +00:00
< / ul >
< h2 > Links:< / h2 >
< ul >
Homepage: < a href = "http://www.koeniglich.de/fhem/fhem.html" >
http://www.koeniglich.de/fhem/fhem.html< / a > < br >
Download: < a href = "http://www.koeniglich.de/fhem/fhem-=VERS=.tar.gz" >
http://www.koeniglich.de/fhem/fhem-=VERS=.tar.gz< / a > < br >
FAQ: < a href = "http://www.koeniglich.de/fhem/faq.html" >
http://www.koeniglich.de/fhem/faq.html< / a > < br >
Google-Group: < a href = "http://groups.google.com/group/FHZ1000-users-on-unix" >
http://groups.google.com/group/FHZ1000-users-on-unix< / a > < br >
Martins Web frontend (webpgm3): < a href = "http://www.martin-haas.de/fhz" >
http://www.martin-haas.de/fhz< / a > < br >
2008-12-12 11:07:36 +00:00
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 >
2008-05-10 21:09:10 +00:00
CVS@berlios: < a href = "http://developer.berlios.de/projects/fhem" >
http://developer.berlios.de/projects/fhem< / a > < br >
LinViex (home automation frontend):
< a href = "http://sourceforge.net/projects/linviex" >
2008-12-12 11:07:36 +00:00
http://sourceforge.net/projects/linviex< / a > < br >
2008-12-23 10:18:46 +00:00
Protocol descriptions and other useful stuff: < a href = "http://fhz4linux.info/" > http://fhz4linux.info/< / a > < br >
2008-12-12 11:07:36 +00:00
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 >
2008-05-10 21:09:10 +00:00
Device/OS Specific installation guides:< br >
< ul >
2008-05-12 12:10:44 +00:00
< li > Linux driver installation:
2008-05-10 21:09:10 +00:00
< a href = "http://www.koeniglich.de/fhem/linux.html" >
2008-05-12 12:10:44 +00:00
http://www.koeniglich.de/fhem/linux.html< / a > < / li >
< li > Windows driver installation:
< a href = "http://fhz4linux.info/tiki-index.php?page=Driver%20installation" >
http://fhz4linux.info/tiki-index.php?page=Driver%20installation< / a > < br >
2008-07-12 09:16:43 +00:00
(use "Solution B", only COM1..COM9 is supported)< / li >
2008-05-12 12:10:44 +00:00
< li > Instructions for Nas/Routers (NSLU2):
2008-05-10 21:09:10 +00:00
< a href = "http://www.martin-haas.de/fhz/nslu2fhz" >
2008-05-12 12:10:44 +00:00
http://www.martin-haas.de/fhz/nslu2fhz< / a > < / li >
< li > Instructions for the Fritz!Box:
2008-05-10 21:09:10 +00:00
< a href = "fritzbox.html" >
2008-05-12 12:10:44 +00:00
http://www.koeniglich.de/fhem/fritzbox.html< / a > < / li >
< li > Instructions for the Allnet all6250:
2008-05-10 21:09:10 +00:00
< a href = "http://wiki.dungeon.de/all6250_opennas_mit_fhem" >
2008-05-12 12:10:44 +00:00
http://wiki.dungeon.de/all6250_opennas_mit_fhem< / a > < / li >
2008-05-10 21:09:10 +00:00
< / ul >
2008-11-05 13:49:08 +00:00
Commercial products:
< ul >
2008-12-05 14:59:05 +00:00
< li > Integration of FHZ and NAS running FHEM. Using an enhanced transmitter to achieve more distant transmission. Full integrated solution for Home-Control
and beyond (other service like UPS management, etc. are also available).
< br >
< a href = "http://www.dhs-computertechnik.de/" >
2008-11-05 13:49:08 +00:00
http://www.dhs-computertechnik.de/< / a > < / li >
< / ul >
2008-05-10 21:09:10 +00:00
< / ul >
2008-12-23 10:18:46 +00:00
2008-05-10 21:09:10 +00:00
< h2 > Installation< / h2 >
< ul >
< h3 > Perl modules< / h3 >
< ul >
2008-07-12 09:16:43 +00:00
You need perl > =5.6, on Unix with the Device::SerialPort (< a
2008-05-10 21:09:10 +00:00
href="http://search.cpan.org/dist/Device-SerialPort/">
http://search.cpan.org/dist/Device-SerialPort/< / a > ),
2008-07-12 09:16:43 +00:00
on Windows Win32::SerialPort (use ActiveState's ActivePerl)
module.
2008-05-10 21:09:10 +00:00
If this module reports < code > Can't call method "opened" on an undefined
value...< / code > when starting the server, then you either may ignore
this message, or replace the mentioned line with:< pre >
$self->{HANDLE}->close if (defined($self->{HANDLE}) & &
$self->{HANDLE}->opened);< / pre >
< / ul >
< h3 > Server installation on Unix< / h3 >
< ul >
2008-07-28 12:33:29 +00:00
< li > Check the Makefile for the installation path, then type make install.< / li >
2008-11-02 18:04:33 +00:00
< li > Create a configuration file (see the examples directory or
2008-07-28 12:33:29 +00:00
docs/commandref.html).< / li >
2008-05-10 21:09:10 +00:00
< li > Start the server with < code > fhem.pl < configfile> < / code > < / li >
< / ul >
< h3 > Server installation on Windows< / h3 >
2008-07-12 09:16:43 +00:00
If you are using cygwin for your perl installation you can follow the guidelines for Unix.
2008-05-10 21:09:10 +00:00
< ul >
2008-07-28 12:33:29 +00:00
< li > Be sure you have perl.exe in your path (%PATH%)< / li >
< li > Make sure that you can access the serial USB device via virtual COM-Port
or via socket(e.g. < code > COMX or xport:10001< / code > ).< / li >
2008-11-02 18:04:33 +00:00
< li > Create a configuration file (see the examples directory and
2008-07-28 12:33:29 +00:00
docs/commandref.html)< / li >
2008-05-10 21:09:10 +00:00
< li > Start the server with < code > fhem.pl < configfile> < / code > < / li >
< / ul >
2008-07-28 12:33:29 +00:00
< a name = "webfrontends" / >
2008-12-23 10:18:46 +00:00
< h3 > General notes for webfrontends:< / h3 >
2008-05-10 21:09:10 +00:00
< ul >
< li > You don't have to install all of them, one is probably more than
enough :-)< / li >
2008-12-23 10:18:46 +00:00
< li > The numbering has historical reasons: not actively maintained versions
are not described here< / li >
2008-05-10 21:09:10 +00:00
< li > < b > Important:< / b > Make sure you add some protection (.htaccess, etc)
else everybody will be able to set your devices< / li >
< / ul >
< h3 > Web frontend 2 (webfrontend/pgm2)< / h3 >
< ul >
2008-12-12 11:07:36 +00:00
This frontend is a FHEM module implementing a HTTP server, no further
programs are needed. It has support for grouping devices into rooms,
manipulating devices, direct fhem commands, displaying logfiles as text or
plot (SVG builtin or PNG by gnuplot), navigating/zooming in the plots. < br / >
2008-05-10 21:09:10 +00:00
2008-07-28 12:33:29 +00:00
Screenshots: < a href = "pgm2-1.png" > overview< / a > , < a
href="pgm2-2.png">detail< / a > , < a href = "pgm2-3.png" > SVG-plots< / a > .
2008-07-12 09:16:43 +00:00
< br > < br >
2008-07-28 12:33:29 +00:00
Installation: make install-pgm2 & & perl fhem.pl < br >
2008-12-12 11:07:36 +00:00
This will start fhem.pl with a minimalistic configuration.
2008-07-28 12:33:29 +00:00
Connect to fhem via < a
href="http://localhost:8083/fhem">http://localhost:8083/fhem< / a > . See the
Howto there on how to continue.
2008-07-12 09:16:43 +00:00
< / ul >
2008-05-10 21:09:10 +00:00
< h3 > Web frontend 3 (webfrontend/pgm3)< / h3 >
< ul >
This frontend is PHP based and was contributed by Martin Haas.
2008-11-02 18:04:33 +00:00
Look at the webfrontends/pgm3/docs for more documentation or at
2008-05-10 21:09:10 +00:00
< a href = "pgm3-0.5.1.png" > this screenshot< / a > . A lot more details can be
found on Martins page: < a href = "http://www.martin-haas.de/fhz" >
http://www.martin-haas.de/fhz< / a >
< br > < br >
< ul >
< li > Install PHP and enable it by commenting in the "LoadModule
phpX_module ..." directive in httpd.conf (perhaps it is already
done by your distro). Restart/reload httpd.< / li >
< li > Create a directory (e.g.: /home/httpd/html/pgm3) and copy all the
files from the webfrontend/pgm3 to this directory.< br > Make sure that this
directory is writeable by the webserver!< / li >
< li > Edit index.php (/home/httpd/html/pgm3/index.php), and check the
required settings section< / li >
< li > If you want to have access to the FHT temperature logs, then:
< ul >
< li > Make sure gnuplot is installed< / li >
< li > check the showgnuplot section in index.php< / li >
< li > For each FHT device copy the file docs/gnuplot/gnuplot.wz to
gnuplot.fhtdevicename (to the /home/httpd/html/pgm3 directory) and
replace fht.log in this file with the absolute name of the current
logfile.< / li >
< / ul >
< li > Call < your-site> /pgm3/index.php< / li >
< / ul >
< / ul >
2008-12-05 14:59:05 +00:00
< br >
< h3 > Web frontend 5 (webfrontend/pgm5)< / h3 >
< ul >
This frontend is CGI/CSS based. It has support for rooms, and FHT/KS300 logs.
This webfrontend is an update of the former know pgm2 (up to 4.2):
It resides in YOUR HTTP server, and doesn't provide an own, like the FHEMWEB module does.< br >
< br >
Why to use this:< br >
1) If you want to stick with your Web-Servers (due to restrictions,
ports or any other reason)< br >
2) If you have a NAS (Network attached storage) and limited CPU-Power.
This frontend can render the graphics in the background (in
intervals) and sends only the rendered graphics to the HTML-Page.< br >
3) If you need the FHEMRENDERER to render the images for other/own
pages.< br >
< br >
A lot more details can be
found on Olaf Droegehorns page: < a href = "http://www.droegehorn.de/fhz" >
http://www.droegehorn.de/fhz< / a >
< br > < br >
Installation:
< ul >
< li > Copy the file fhemweb.pl and *.css to your cgi-bin directory (/home/httpd/cgi-bin), the icons (*.gif) to your httpd icons (/home/httpd/icons), and commandref.html to the html directory (/home/httpd/html) (or also to cgi-bin directory).< br >
Note: The program looks for icons in the following order: < br >
'device-name.state', 'device-name', 'device-type.state', 'device-type'< / li >
2008-05-10 21:09:10 +00:00
2008-12-05 14:59:05 +00:00
< li > The *.gplot files should be reused from the built-in FHEMWEB and should reside in the installed FHEM directory. Here we don't provide specific *.gplot files as the mechanisms are exactly the same.< / li >
< li > If you want to have access to plotted logs, then make sure that gnuplot is installed and set the logtype for the FileLog device (see commandref.html and example/04_log).
Copy the file contrib/99_weblink.pm to the installed FHEM directory.< / li >
< li > Copy the file pgm5/02_FHEMRENDERER.pm to the installed FHEM directory.
This gives you a graphic rendering engine (gnuplot & gnuplot-scroll at the moment), which can be configured to renderer images in intervals.< / li >
< li > Call 'your-site'/cgi-bin/fhemweb.pl < / li >
< / ul >
< / ul >
2008-12-23 10:18:46 +00:00
< / ul >
2008-12-05 14:59:05 +00:00
2008-05-10 21:09:10 +00:00
< h2 > License:< / h2 >
< ul >
Copyright:< br >
< ul >
< li > Rudolf Koenig (r dot koenig at koeniglich dot de)< / li >
< li > Raoul Matthiessen (webfrontends/pgm1)< / li >
< li > Martin Haas (webfrontends/pgm3)< / li >
2008-12-05 14:59:05 +00:00
< li > Olaf Droegehorn (webfrontends/pgm5)< / li >
2008-05-10 21:09:10 +00:00
< / ul >
2008-12-23 10:18:46 +00:00
License: GPL (v2)< br >
Thanks to TOSTi for inspiration and numerous other people for help. < br >
2008-05-10 21:09:10 +00:00
< / body >
< / html >