+
+
+
Description
- - reading and sending FS20 events (on/off/dimming, timer
- commands)
- - support of FS20 address features function group, local and global
- master
- - reading and changing FHT80b parameters (temp, actuator, etc).
- The FHT8b seems to work too. Note: the FHT8 wont work.
- Internal software buffer to prevent lost commands.
- - reading HMS data (HMS100-T,-TF,-WD,-MG,-TFK,-CO,-FIT and RM100-2,3)
- - reading KS300 data
+ Fhem is a GPL'd perl server for house automation. It 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.
+
+ The program runs as a server, you can control it via web-frontends,
+ telnet, command line program or TCP/IP directly.
- Note: The FHZ1350 WLAN works with fhem if you replace the standard
- (AVISARIO) WLAN module with one that won't encrypt the data.
-
-
Via the CM11 module (with access to a X10 computer interface):
+
+
+
+ Download
-
-
Via the CUL module using the CUL/CUN or CUR (see www.busware.de
- ) access to the following protocols:
+
+
+
+ Frontend screenshots
+
+
+
+
+ Features
+
+ - support for a lot of protocols used in house automation like FS20,
+ FHT, HMS, OneWire, X10, S300, EM. See the Hardware section for more.
+
+ - autocreating devices/logs when receiving data from a new device
+ - logging events to files or databases, with regexp filters
+ - notifying external programs or internal modules when receiving certain
+ events
+ - timed commands (e.g. switching a lamp on from sunset till midnight)
+
+ - watchdog (e.g. trigger if the HMS100-FIT is inactive for HH:MM:SS)
+
+ - modular architecture, easy to add your special device
+ - different web frontends, choose your favorite
+
+
+
+ Supported hardware
+
+ - Via an attached CUL or CUN (see www.busware.de) access to the
+ following protocols: FS20 (Receive/Send, all devices), EM (EM1000EM,
+ EM1000GZ and EM1000WZ), FHT80b, HMS, S300 (KS300, S300TH, KS555,
+ S555TH, etc)
+
+
+ - Via an attached FHZ1000 or FHZ1300 access to the following protocols:
+ FS20 (all devices), FHT80b, HMS, KS300. Note: The FHZ1350 WLAN
+ works with fhem if you replace the standard (avisario) WLAN module with
+ one that won't encrypt the data.
+
+
+ - reading an sending X10 events via the CM11 module (with access
+ to a X10 computer interface)
+
+
+ - S300 devices via an attached WS300
+
+
+ - EM1010PC and attached EM1000WZ, EM1000EM or EM1000GZ
+
+
+ - reading attached SCIVT devices
+
+
+ - reading attached M232 devices
+
+
+ - reading attached WS2000/WS25000 devices, also via raw network
+ converters (xport)
+
+
+ - extract sensor data from IPWE networked weather data receiver
+
+
+
+
+ Documentation
+
+
+ HOWTO.html for a short
+ installation/configuration.
+
+
+
+
+
+
+
+
+
+ contrib/README describes
+ some loosely coupled useful modules / scripts which can be used with
+ fhem.
+
+
+
+
+
+
+ Links
+
-
reading WS300 data, and up to 9 attached devices
-
reading EM1000WZ/EM1000EM/EM1000GZ data via an attached EM1010PC
-
reading attached SCIVT devices
-
reading attached M232 devices
-
reading attached WS2000/WS25000 devices, also via raw network
- converters(xport)
-
extract sensor data from IPWE networked weather data receiver
-
logging events to files or databases, with regexp filters
-
notifying external programs or internal modules when receiving certain
- events
-
timed commands (e.g. switching a lamp on from sunset till midnight)
-
watchdog (e.g. trigger if the HMS100-FIT is inactive for HH:MM:SS)
-
modular architecture, easy to add your special device
-
different web frontends, choose your favorite
-
-
-See
HOWTO.html,
-commandref.html and
faq.html for more documentation, and
contrib/README for other extensions.
-
-
-
Links:
-
+
- Device/OS Specific installation guides:
-
- - Linux driver installation:
+ Device/OS Specific installation guides:
+
- Commercial products:
-
- - 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).
-
-
- http://www.dhs-computertechnik.de/
-
-
+ http://wiki.dungeon.de/all6250_opennas_mit_fhem
+
+
+
+ Commercial products:
+
+
-
Installation
-
-
-Perl modules
-
- You need perl >=5.6, on Unix with the Device::SerialPort (
- http://search.cpan.org/dist/Device-SerialPort/),
- on Windows Win32::SerialPort (use ActiveState's ActivePerl)
- module.
- If this module reports Can't call method "opened" on an undefined
- value...
when starting the server, then you either may ignore
- this message, or replace the mentioned line with:
- $self->{HANDLE}->close if (defined($self->{HANDLE}) &&
- $self->{HANDLE}->opened);
-
-
-
Server installation on Unix
-
- - Check the Makefile for the installation path, then type make install.
- - Create a configuration file (see the examples directory or
- docs/commandref.html).
- - Start the server with
fhem.pl <configfile>
-
-
-
Server installation on Windows
-If you are using cygwin for your perl installation you can follow the guidelines for Unix.
-
- - Be sure you have perl.exe in your path (%PATH%)
- - Make sure that you can access the serial USB device via virtual COM-Port
- or via socket(e.g.
COMX or xport:10001
).
- - Create a configuration file (see the examples directory and
- docs/commandref.html)
- - Start the server with
fhem.pl <configfile>
-
-
-
-
-
General notes for webfrontends:
-
- - You don't have to install all of them, one is probably more than
- enough :-)
- - The numbering has historical reasons: not actively maintained versions
- are not described here
- - Important: Make sure you add some protection (.htaccess, etc)
- else everybody will be able to set your devices
-
-
-
Web frontend 2 (webfrontend/pgm2)
-
- 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.
-
-
- Screenshots: overview, detail, SVG-plots.
-
- Installation: make install-pgm2 && perl fhem.pl
- This will start fhem.pl with a minimalistic configuration.
- Connect to fhem via http://localhost:8083/fhem. See the
- Howto there on how to continue.
-
-
-
-
Web frontend 3 (webfrontend/pgm3)
-
- This frontend is PHP based and was contributed by Martin Haas.
- Look at the webfrontends/pgm3/docs for more documentation.
- A lot more details and screenshots can be
- found on Martins page:
- http://www.martin-haas.de/fhz
-
pgm3 may run on an other machine than fhem.
- The Devices of 95% of the users are detected and configured automatically.
- Further 4% are adaptable by the function UserDef. See config.php for explanation.
-
-
-
- Installation:
+
+ Installation
- - Install PHP5, the php5-Apache-Modules, gnuplot and php5-gd. Every current
- distribution should do all the needed configuration without your input.
- - Create a directory in the Apache2 DocumentRoot
- (e.g.: /var/www/pgm3) and copy all the files from the
- webfrontend/pgm3 to this directory.
Make sure that this
- directory is writeable by the webserver (e.g. User www-data.www-data)!
-
- - Call <your-site>/pgm3/index.php and follow the instructions on screen
- - The official WIKI of pgm3 is now http://fhemwiki.de
- - Troubleshooting: right-click on the graphic then "show graphic".
-
-
-
-
-
Web frontend 5 (webfrontend/pgm5)
-
-This frontend is CGI/CSS based. It has support for rooms, and FHT/KS300 logs.
+ Unix
+
+ - Make sure you have perl. Install the module Device::SerialPort with
+ "cpan Device::SerialPort"
+ - Check the Makefile for the installation path, then type make
+ install-pgm2.
+ - Check the installed configuration file and start fhem as advised.
+
-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.
-
-Why to use this:
-1) If you want to stick with your Web-Servers (due to restrictions,
- ports or any other reason)
-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.
-3) If you need the FHEMRENDERER to render the images for other/own
- pages.
-
- A lot more details can be found on http://www.dhs-computertechnik.de/support.html
-
-
- Installation:
-
- - 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).
- Note: The program looks for icons in the following order:
- 'device-name.state', 'device-name', 'device-type.state', 'device-type'
+ Windows
+
+ Note:If you are using cygwin for your perl installation you can
+ follow the guidelines for Unix.
-
- - 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.
+ - Be sure you have perl.exe in your path (%PATH%), and the module
+ Win32::SerialPort is installed.
+ - Make sure that you can access the serial USB device via virtual
+ COM-Port or via socket(e.g.
COMX or xport:10001
).
+ - Create a configuration file (see the examples directory and
+ docs/commandref.html)
+ - Start the server with
fhem.pl <configfile>
+
+
+
+
+ General notes for webfrontends:
+ You don't have to install all of them, one is probably more than
+ enough :-).
+ The numbering has historical reasons: not actively maintained versions
+ are not described here.
+ Important: Make sure you add some protection (.htaccess, etc)
+ else everybody will be able to set your devices.
+
+
+ Web frontend 2 (webfrontend/pgm2)
+
+ 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.
+
+ Screenshots: overview, detail, SVG-plots.
+
+ Installation: make install-pgm2
+ Start fhem as advised in the make output.
+ This will start fhem.pl with a minimalistic configuration.
+ Connect to fhem via http://localhost:8083/fhem. See the
+ Howto there on how to continue.
+
+
+ Web frontend 3 (webfrontend/pgm3)
+
+ This frontend is PHP based and was contributed by Martin Haas.
+ Look at the webfrontends/pgm3/docs for more documentation.
+ A lot more details and screenshots
+ can be found on Martins page:
+ http://www.martin-haas.de/fhz
+ pgm3 may run on an other machine than fhem.
The Devices of 95% of the
+ users are detected and configured automatically. Further 4% are
+ adaptable by the function UserDef. See config.php for explanation.
+
+
+ Installation:
+
+ - Install PHP5, the php5-Apache-Modules, gnuplot and php5-gd. Every
+ current distribution should do all the needed configuration without
+ your input.
+
+ - Create a directory in the Apache2 DocumentRoot
+ (e.g.: /var/www/pgm3) and copy all the files from the
+ webfrontend/pgm3 to this directory.
Make sure that this directory
+ is writeable by the webserver (e.g. User www-data.www-data)!
+
+ - Call <your-site>/pgm3/index.php and follow the instructions
+ on screen
+ - The official WIKI of pgm3 is now http://fhemwiki.de
+
+ - Troubleshooting: right-click on the graphic then "show
+ graphic".
+
+
+
+ Web frontend 5 (webfrontend/pgm5)
+
+ This frontend is CGI/CSS based. It has support for rooms, and FHT/KS300
+ logs. This webfrontend is an update of the former pgm2 (up to 4.2): It
+ resides in YOUR HTTP server, and doesn't provide an own, like the FHEMWEB
+ module does.
+
+ Why to use this:
+ 1) If you want to stick with your Web-Servers (due to restrictions,
+ ports or any other reason)
+ 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.
+ 3) If you need the FHEMRENDERER to render the images for other/own
+ pages.
+
+ A lot more details can be found on http://www.dhs-computertechnik.de/support.html
+
+
+ Installation:
+
+ - 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).
+
+ Note: The program looks for icons in the following order:
+ 'device-name.state', 'device-name', 'device-type.state',
+ 'device-type'
+
+ - 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.
+
+ - 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.
+
+ - 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.
+
+ - Call 'your-site'/cgi-bin/fhemweb.pl
+
+
+
+
+
+
+ License:
+
+ Copyright:
+
+ - Rudolf Koenig (r dot koenig at koeniglich dot de)
+ - Raoul Matthiessen (webfrontends/pgm1)
+ - Martin Haas (webfrontends/pgm3)
+ - Olaf Droegehorn (webfrontends/pgm5)
+
+ License: GPL (v2)
+ Thanks to TOSTi for inspiration and numerous other people for help.
+
- - 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.
- - 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.
+
- - Call 'your-site'/cgi-bin/fhemweb.pl
-
-
-
-
-
-
License:
-
- Copyright:
-
- - Rudolf Koenig (r dot koenig at koeniglich dot de)
- - Raoul Matthiessen (webfrontends/pgm1)
- - Martin Haas (webfrontends/pgm3)
- - Olaf Droegehorn (webfrontends/pgm5)
-
- License: GPL (v2)
- Thanks to TOSTi for inspiration and numerous other people for help.
-
-
-
-
+
diff --git a/fhem/docs/fhem.png b/fhem/docs/fhem.png
index 91c1e4949..f864b6c57 100644
Binary files a/fhem/docs/fhem.png and b/fhem/docs/fhem.png differ
diff --git a/fhem/docs/pgm2-3.png b/fhem/docs/pgm2-3.png
index 85b9885b0..2945cab79 100644
Binary files a/fhem/docs/pgm2-3.png and b/fhem/docs/pgm2-3.png differ