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-11-02 18:04:33 +00:00
GPL'd server to access devices like FHZ1000/FHZ1300,EM1010PC,WS300,SCIVT,X10.
2008-05-10 21:09:10 +00:00
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 >
This program makes the FHZ1000/FHZ1300/WS300 and other USB devices sold by ELV,
2008-11-02 18:04:33 +00:00
Conrad and others as well as X10 devices sold by Marmitek, Powerhouse and
others useable with Linux. In fact, there is nothing Linux special
2008-07-12 09:16:43 +00:00
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
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):
< ul >
2008-11-02 18:04:33 +00:00
< 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 >
2008-05-10 21:09:10 +00:00
< li > reading and changing FHT80b parameters (temp, actuator, etc).< br >
2008-11-02 18:04:33 +00:00
The FHT8b seems to work too. Note: the FHT8 wont work.< br >
Internal software buffer to prevent lost commands.< / li >
2008-08-04 13:47:53 +00:00
< li > reading HMS data (HMS100-T,-TF,-WD,-MG,-TFK,-CO,-FIT and RM100-2)< / li >
2008-05-10 21:09:10 +00:00
< 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.
< / li >
< li > Via the CM11 module (with access to a X10 computer interface):
< ul >
< li > reading all X10 events< / li >
< li > sending X10 events (on/off/dimming)< / li >
2008-12-04 19:56:13 +00:00
< li > timed on/off switching support< / li >
2008-11-02 18:04:33 +00:00
< / ul >
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-07-28 12:33:29 +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.
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 >
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" >
http://developer.berlios.de/projects/fhem< / a > < br >
LinViex (home automation frontend):
< a href = "http://sourceforge.net/projects/linviex" >
2008-09-06 08:33:55 +00:00
< a href = http://shop.busware.de/product_info.php?products_id=29" > CUL< / CUL >
2008-05-10 21:09:10 +00:00
http://sourceforge.net/projects/linviex< / a > < br > < br >
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 >
< h2 > Related projects:< / h2 >
< ul >
< a href = "http://fhz4linux.info/" > http://fhz4linux.info/< / a > < br >
< / ul >
< 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-05-10 21:09:10 +00:00
< h3 > General Notes for Webfrontends:< / h3 >
< ul >
< li > You don't have to install all of them, one is probably more than
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)
else everybody will be able to set your devices< / li >
2008-07-12 09:16:43 +00:00
< li > The list below contains the 2 actively maintained fronteds:< / li >
2008-05-10 21:09:10 +00:00
< / ul >
< h3 > Web frontend 2 (webfrontend/pgm2)< / h3 >
< ul >
2008-07-12 09:16:43 +00:00
This frontend is a FHEM module implementing a HTTP server. 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 >
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-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-07-12 09:16:43 +00:00
License: GPL (v2)
2008-05-10 21:09:10 +00:00
< / ul >
< / ul >
< h2 > Misc:< / h2 >
< ul >
Thanks for Tosti for inspiration and numerous other people for help. < br >
< / ul >
< / body >
< / html >