Debian FHEM: Unterschied zwischen den Versionen

Aus Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(20 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Allgemein==
=Allgemein=
FHEM ist ein Hausautomatisierungssystem, das eine sehr große Vielzahl von Automatisierungssystemen unterstützt. Beispielsweise wird FS20, Homematic, USB Steckdosenleiste SIS-PM, 433MHz Funksteckdosen, AVR-Mikrocontrollerschaltungen basierend auf Ethersex und viele andere unterstützt.  
FHEM ist ein Hausautomatisierungssystem, das eine sehr große Vielzahl von Automatisierungssystemen unterstützt. Beispielsweise wird FS20, Homematic, USB Steckdosenleiste SIS-PM, 433MHz Funksteckdosen, AVR-Mikrocontrollerschaltungen basierend auf Ethersex und viele andere unterstützt.  


Zeile 8: Zeile 8:




==Installation==
=Installation=
  apt-get install perl-base perl-modules libdevice-serialport-perl
  apt-get install perl-base perl-modules libdevice-serialport-perl libwww-perl
  cd /usr/local/src
  cd /usr/local/src
  wget http://fhem.de/fhem-5.3.deb
  wget http://fhem.de/fhem-5.5.deb
  dpkg -i fhem-5.3.deb
  dpkg -i fhem-5.5.deb


Directory für Konfigfiles:
Directory für Konfigfiles:
Zeile 18: Zeile 18:
  ln -s /opt/fhem/fhem.cfg /etc/fhem/fhem.cfg
  ln -s /opt/fhem/fhem.cfg /etc/fhem/fhem.cfg


 
=Initialer Funktionstest=
==Initialer Funktionstest==
==Webinterface==
===Webinterface===
Webbrowser öffnen und Adresse:  
Webbrowser öffnen und Adresse:  
  http://'''''IP_des_Server''''':8083/fhem
  http://'''''IP_des_Server''''':8083/fhem
eingeben. Die Default Webpage sollte erscheinen.
eingeben. Die Default Webpage sollte erscheinen.
[[Datei:Fhem.png]]




===Telnet Interface===
==Telnet Interface==
FHEM bietet ein Telnet Interface mit dessen Hilfe Befehle direkt auf der Console eingegeben werden können, bzw. per Script gesteuert Aktionen ausgelöst werden können.  
FHEM bietet ein Telnet Interface mit dessen Hilfe Befehle direkt auf der Console eingegeben werden können, bzw. per Script gesteuert Aktionen ausgelöst werden können.  


Zeile 47: Zeile 48:




==Konfiguration==
=Update=
In regelmäßigen Intervallen werden neue Pakete (derzeit Version 5.3) herausgegeben. Um aktuellen Stand der Entwicklung teilnehmen zu können, kann FHEM sich selbst aktualisieren. Dies kann allerdings in Einzelfällen dazu führen, dass der aktuelle Code Fehler oder Bugs enthält. Andererseits bietet sich aber auch die Chance von neuen Möglichkeiten zu profitieren.
 
Telnet Session zu FHEM öffnen
telnet '''IP_des_Server''' 7072
Folgenden Behfehl eingeben:
update
 
 
=Konfiguration=
Nachdem FHEM eine Vielzahl von Sensoren und Aktuatoren unterstützt, können hier nur exemplarisch ein paar Beispiele aufgeführt werden. Generll sei auf die Dokumentationsseiten (http://fhem.de/fhem.html#Documentation) und das WIKI (http://fhemwiki.de/index.php/FHEM) von FHEM verwiesen, wo zahlreiche Konfigurationsbeispiele und HOWTO's aufgeführt sind.
Nachdem FHEM eine Vielzahl von Sensoren und Aktuatoren unterstützt, können hier nur exemplarisch ein paar Beispiele aufgeführt werden. Generll sei auf die Dokumentationsseiten (http://fhem.de/fhem.html#Documentation) und das WIKI (http://fhemwiki.de/index.php/FHEM) von FHEM verwiesen, wo zahlreiche Konfigurationsbeispiele und HOWTO's aufgeführt sind.


Zeile 54: Zeile 64:




===SIS-PM Steckdosenleiste===
==SIS-PM Steckdosenleiste==
FHEM kann SIS-PM Steckdosenleisten ansteuern. Dazu ist das sispmctl-Tool wie [[Debian_SisPM|hier beschrieben]] erforderlich.
FHEM kann SIS-PM Steckdosenleisten ansteuern. Dazu ist das sispmctl-Tool wie [[Debian_SisPM|hier beschrieben]] erforderlich.


Zeile 72: Zeile 82:
   
   
  define Steckdose1 SIS_PMS 01:25:78:e3:45 1
  define Steckdose1 SIS_PMS 01:25:78:e3:45 1
attr Steckdose1 room Steckdosen
  define Steckdose2 SIS_PMS 01:25:78:e3:45 2
  define Steckdose2 SIS_PMS 01:25:78:e3:45 2
attr Steckdose2 room Steckdosen
  define Steckdose3 SIS_PMS 01:25:78:e3:45 3
  define Steckdose3 SIS_PMS 01:25:78:e3:45 3
attr Steckdose3 room Steckdosen
  define Steckdose4 SIS_PMS 01:25:78:e3:45 4
  define Steckdose4 SIS_PMS 01:25:78:e3:45 4
attr Steckdose4 room Steckdosen
 
* Mit der ersten Zeile wird der Pfad zum sispmctl-Tool festgelegt, damit FHEM dieses verwenden kann.
* Mit der ersten Zeile wird der Pfad zum sispmctl-Tool festgelegt, damit FHEM dieses verwenden kann.
* In den folgenden 4 Blocks werden die vier einzeln ansteuerbaren Steckdosen definiert.  
* In den folgenden 4 Blocks werden die vier einzeln ansteuerbaren Steckdosen definiert.  
Zeile 106: Zeile 109:
  attr AVRNETIO classdefs RELAIS=/etc/fhem/relais.class:RFM12=/etc/fhem/tevion.class
  attr AVRNETIO classdefs RELAIS=/etc/fhem/relais.class:RFM12=/etc/fhem/tevion.class


===Schalten von Net-IO Relais===
===Schalten von Net-IO Ausgängen===
  define AVRNETIO ECMD telnet '''IP_NET-IO''':2701
  define AVRNETIO ECMD telnet '''IP_NET-IO''':2701
  attr AVRNETIO classdefs RELAIS=/etc/fhem/relais.class
  attr AVRNETIO classdefs RELAIS=/etc/fhem/relais.class
Zeile 117: Zeile 120:
Z.B.
Z.B.
  define Relais1 ECMDDevice RELAIS Relais1
  define Relais1 ECMDDevice RELAIS Relais1
attr Relais1 room NetIO
  define Relais2 ECMDDevice RELAIS Relais2
  define Relais2 ECMDDevice RELAIS Relais2
attr Relais2 room NetIO
  define Relais3 ECMDDevice RELAIS Relais3
  define Relais3 ECMDDevice RELAIS Relais3
attr Relais3 room NetIO
  define Relais4 ECMDDevice RELAIS Relais4
  define Relais4 ECMDDevice RELAIS Relais4
attr Relais4 room NetIO
Classdeffile:
Classdeffile:
  vi /etc/fhem/relais.class
  vi /etc/fhem/relais.class
Zeile 142: Zeile 141:


  define Funksteckdose1 ECMDDevice RFM12 77 42 170 86 86 85 85
  define Funksteckdose1 ECMDDevice RFM12 77 42 170 86 86 85 85
attr Funksteckdose1 room NetIO
  define Funksteckdose2 ECMDDevice RFM12 77 42 170 150 90 149 89
  define Funksteckdose2 ECMDDevice RFM12 77 42 170 150 90 149 89
attr Funksteckdose2 room NetIO
  define Funksteckdose3 ECMDDevice RFM12 77 42 170 166 89 165 90
  define Funksteckdose3 ECMDDevice RFM12 77 42 170 166 89 165 90
attr Funksteckdose3 room NetIO
  define Funksteckdose4 ECMDDevice RFM12 77 42 170 102 85 101 86
  define Funksteckdose4 ECMDDevice RFM12 77 42 170 102 85 101 86
attr Funksteckdose4 room NetIO


Classdeffile:
Classdeffile:
Zeile 161: Zeile 156:
  set off postproc {s/OK/success/; "$_" eq "success" ? "ok" : "error";}
  set off postproc {s/OK/success/; "$_" eq "success" ? "ok" : "error";}


==FS20==
TBD
==Organisation mit Rooms und Groups==
Um Ordnung in die definierten Sensoren und Aktoren, können diese in unterschiedliche Räume (rooms) und Grouppen (groups) organisiert werden.
*Rooms:
define '''Relais1''' ECMDDevice RELAIS Relais1
attr '''Relais1''' room Steckdose
*Groups
define '''Reed_1''' ECMDDevice RELAIS Relais1
attr '''Reed_1''' room Steckdose
attr '''Reed_1''' group ReedRelais
define '''Funksteckdose_1''' ECMDDevice RFM12 77 42 170 86 86 85 85
attr '''Funksteckdose_1''' room Steckdose
attr '''Funksteckdose_1''' group Funksteckdosen
[[Datei:Fhem group.png]]




===Uebernehmen von Konfigänderungen===
==Uebernehmen von Konfigänderungen==
Die Änderungen am Konfigfile können FHEM über folgende beiden Wege mitgeteilt werden:
Die Änderungen am Konfigfile können FHEM über folgende beiden Wege mitgeteilt werden:
* Stop/Neustart von FHEM
* Stop/Neustart von FHEM
Zeile 175: Zeile 189:




==Optional: FHEM via Apache Reverse Proxy==
=Optional: FHEM via Apache Reverse Proxy=
FHEM kann via Apache Reverse Proxy angesprochen werden. Im folgenden Beispiel wird ein Username/Passwort verwendet und die Übertragung der Userdaten via SSL geschützt.
FHEM kann via Apache Reverse Proxy ([[Debian_Apache_Virtualhost_und_Proxy#HTTPS_Reverse_Proxy_mit_Authorisierung|siehe auch hier]]) angesprochen werden. Im folgenden Beispiel wird ein Username/Passwort verwendet und die Übertragung der Userdaten via SSL geschützt.


Voraussetzung:
Voraussetzung:
Zeile 182: Zeile 196:


  vi /etc/apache2/sites-enabled/fhem_https.conf
  vi /etc/apache2/sites-enabled/fhem_https.conf
* Apache2.2:
Folgende Zeilen enfügen und die Einträge entsprechend den eigenen Bedürfnissen anpassen:
Folgende Zeilen enfügen und die Einträge entsprechend den eigenen Bedürfnissen anpassen:
  <VirtualHost *:443>
  <VirtualHost *:443>
Zeile 203: Zeile 219:
     AuthType Basic
     AuthType Basic
     AuthName "FHEM requires Authorization"
     AuthName "FHEM requires Authorization"
     AuthUserFile /etc/apache2/pwd/fhem.passwd
     AuthUserFile /var/apache_pwd/fhem.passwd
    Require valid-user
  </Location>
</VirtualHost>
Apache neu starten:
/etc/init.d/apache2 restart
 
* Apache2.4:
Folgende Zeilen enfügen und die Einträge entsprechend den eigenen Bedürfnissen anpassen:
<VirtualHost *:443>
  ServerName fhem.domain.org
 
  ProxyRequests Off
  <Proxy *>
    Require all granted
  </Proxy>
 
  SSLCertificateFile /etc/ssl/CA/certs/wildcard.pem
  SSLEngine on
  SSLProxyEngine On
  ProxyPass / http://'''''IP_des_Server''''':8083/
 
  <Location />
    ProxyPassReverse /
    ProxyHTMLURLMap / /hem/
    ProxyHTMLURLMap /fhem/ /hem/
    AuthType Basic
    AuthName "FHEM requires Authorization"
    AuthUserFile /var/apache_pwd/fhem.passwd
     Require valid-user
     Require valid-user
   </Location>
   </Location>
Zeile 209: Zeile 253:
Apache neu starten:
Apache neu starten:
  /etc/init.d/apache2 restart
  /etc/init.d/apache2 restart
Passwort-File anlegen und User fhem definieren
htpasswd -c /var/apache_pwd/fhem.passwd fhem
   
   


==Android Handy App==
=Android Handy App=
Neben der Weboberfläche, die auch über moderne Smartphone mit dem Webbrowser erreicht werden kann, existiert eine native Android APP namens andFHEM. Diese ist ganz normal via Google Appstore installierbar (kostenlos).
Neben der Weboberfläche, die auch über moderne Smartphone mit dem Webbrowser erreicht werden kann, existiert eine native Android APP namens andFHEM. Diese ist ganz normal via Google Appstore installierbar (kostenlos).
Konfiguration:
*Datenquelle: FHEMWEB
*URL:
fttp://IP_des_Server:8083/fhem
https://fhem.domain.org/fhem
Obwohl es im Webbrowser ausreichend ist, als Adresse https://fhem.domain.org zu verwenden, muss hier http://fhem.domain.org/fhem verwendet werden, damit die APP das Webinterface korrekt parsen kann.
*Benutzername: fhem, falls Apache Virtualhost mit Authorisierung eingerichtet wurde, ansonsten leer
*Passowort: Passwort, falls Apache Virtualhost mit Authorisierung eingerichtet wurde, ansonsten leer
* Aktualisierung beim Applikationsstart: Haken setzen
=Cul Firmware installieren=
Der CUL wird von Haus aus ohne Firmware ausgeliefert. Diese muss vor Benutzung erst installaiert werden. Es gibt zwei möglichkeitne die Firmware zu flashen. Über Linux oder über Windows
[[Datei:Cul.JPG|thumb]]
Specs
    ATMega32U4 processor 8MHz @ 3.3V
    CC1101 ISM transceiver tuned for 868MHz or 433MHz
    pinheader for SMA / SMA-RP socket
    green multi purpose led
    multi purpose micro switch
    USB type A male connector
    optional ISP connector (FPC6)
    optional HF-shield
==Linux==
tbd
==Windows==
Um die Firmware mittels Windows zu flashen wird das ATMEL Tool Flip benötigt. Die kann auf der Atmel Homepage downgeloaded werden.(http://www.atmel.com/Images/Flip%20Installer%20-%203.4.7.112.exe).
* Nach der Installation "FLIP" starten.
* CUL in an den PC anschließen, dabei den Resetknopf auf der Rückseite gedrückt halten.
  Sollte der Stick nicht erkannt werden, kann man der Treiber in der Systemsteuerung
  nachinstallieren. Er befindet sich im FLIP verzeichnis auf den C-Laufwerk
* Unter "Device" -> "Select" -> "ATmega32U4" auswählen.
* Unter "Settings" -> "Communication" -> "USB" auswählen
* Im "USB Port Connection" Fenster "Open" klicken
* Anschließend kann das HEX File geladen werden: "File" -> "Load HEX File..."
  Dir Firmware findet man auf der Homepage von "busware.de".
      http://culfw.svn.sourceforge.net/viewvc/culfw/trunk/culfw/Devices/CUL/
* CUL-V3 für den V3 CUL Stick
* Im Bereich "Operations Flow" "Blank Check" abwählen. "Erase", "Programm" und "Verify" bleiben aktiviert. Anschließend auf '''RUN''' klicken um das Flashen zu starten.
* Nach erfolgreichem Flashen sollten neben jedem angehakten Feld ein grüner Punkt sein
Nun auf "Start Application" klicken um die Firmware auf dem Stick zu starten.
=CUL benutzen=
Nun CUL Stick am Debian Rechner anstecken (LED leuchtet). Der Stick sollte nun unter " /dev/ttyACM0" auftauchen. (Siehe Logfile "/var/log/messages"
==Version prüfen==
Ein weiteren Putty Fenster öffnen
screen /dev/ttyACM0
" V " tippen
Als Ausgabe sollte die Version auftauchen z.B. '''V 1.52 CUL868'''
== CUL für FHEM definieren==
Um den CUL mit FHEM zu benutzen, muss er CUL definiert werden
define MyCUL CUL /dev/ttyACM0 1234

Aktuelle Version vom 15. Mai 2015, 13:00 Uhr

Allgemein

FHEM ist ein Hausautomatisierungssystem, das eine sehr große Vielzahl von Automatisierungssystemen unterstützt. Beispielsweise wird FS20, Homematic, USB Steckdosenleiste SIS-PM, 433MHz Funksteckdosen, AVR-Mikrocontrollerschaltungen basierend auf Ethersex und viele andere unterstützt.

Voraussetzungen:

  • Perl
  • Serialport Perl Modul
  • Zur Ansteuerung der Funksensoren und Aktoren ist ein entsprechendes Inerface wie z.B. CUL oder CUN von www.busware.de erforderlich.


Installation

apt-get install perl-base perl-modules libdevice-serialport-perl libwww-perl
cd /usr/local/src
wget http://fhem.de/fhem-5.5.deb
dpkg -i fhem-5.5.deb

Directory für Konfigfiles:

mkdir /etc/fhem
ln -s /opt/fhem/fhem.cfg /etc/fhem/fhem.cfg

Initialer Funktionstest

Webinterface

Webbrowser öffnen und Adresse:

http://IP_des_Server:8083/fhem

eingeben. Die Default Webpage sollte erscheinen.

Fhem.png


Telnet Interface

FHEM bietet ein Telnet Interface mit dessen Hilfe Befehle direkt auf der Console eingegeben werden können, bzw. per Script gesteuert Aktionen ausgelöst werden können.


Linux Betriebssystem enthalten normalerweise bereits einen Telnet Client (bzw. evtl. mit apt-get install telnet unter Debian/Ubuntu Linux erst installieren):

telnet IP_Des_Server 7072

Unter Windows kann z.B. Putty verwendet werden, um eine Telnet-Verbingund zum Telnet-Port 7072 von FHEM herzustellen.


Nach dem Herstellen der Telnet-Verbindung sollte folgende Ausgabe erscheinen:

Trying 192.168.0.207...
Connected to ldaptest.schiele.homelinux.org.
Escape character is '^]'.

Evtl. muss hier nun die ENTER-Taste betätigt werden, damit der FHEM-Prompt (fhem> ) erscheint .

help

eingeben, um eine Auflistung aller FHEM-Befehle anzuzeigen. Mit dem Befhel

quit

kann die Telnet Verbindung wieder beendet werden.


Update

In regelmäßigen Intervallen werden neue Pakete (derzeit Version 5.3) herausgegeben. Um aktuellen Stand der Entwicklung teilnehmen zu können, kann FHEM sich selbst aktualisieren. Dies kann allerdings in Einzelfällen dazu führen, dass der aktuelle Code Fehler oder Bugs enthält. Andererseits bietet sich aber auch die Chance von neuen Möglichkeiten zu profitieren.

Telnet Session zu FHEM öffnen

telnet IP_des_Server 7072

Folgenden Behfehl eingeben:

update


Konfiguration

Nachdem FHEM eine Vielzahl von Sensoren und Aktuatoren unterstützt, können hier nur exemplarisch ein paar Beispiele aufgeführt werden. Generll sei auf die Dokumentationsseiten (http://fhem.de/fhem.html#Documentation) und das WIKI (http://fhemwiki.de/index.php/FHEM) von FHEM verwiesen, wo zahlreiche Konfigurationsbeispiele und HOWTO's aufgeführt sind.

Das zentrale Konfigfile ist unter /etc/fhem/fhem.cfg bzw. /opt/fhem/fhem.cfg erreichbar. Beide Versionen wurden oben mittels Symbolic Link verknüpft, sodass beiede immer auf das identische File verweisen. Um Änderungen durchzuführen, folgenden Befehl eingeben:

vi /etc/fhem/fhem.cfg


SIS-PM Steckdosenleiste

FHEM kann SIS-PM Steckdosenleisten ansteuern. Dazu ist das sispmctl-Tool wie hier beschrieben erforderlich.

Damit FHEM auf die Steckdosenleiste zugreifen kann, muss dem User fhem, mit dessen Userrechten FHEM läuft, das Recht eingeräumt werden (siehe auch SIS-PM mit Userrechten):

addiser fhem sispm

Anschließend muss die Serialnummer der USB-Steckdosenleiste ermittelt werden:

sispmctl -s

Die Ausgabe könnte beispielhaft folgendermaßen aussehen:

Gembird #0
USB information:  bus 004, device 004
device type:      4-socket SiS-PM
serial number:    01:25:78:e3:45

FHEM-Konfig:

define sispm SISPM /usr/local/bin/sispmctl

define Steckdose1 SIS_PMS 01:25:78:e3:45 1
define Steckdose2 SIS_PMS 01:25:78:e3:45 2
define Steckdose3 SIS_PMS 01:25:78:e3:45 3
define Steckdose4 SIS_PMS 01:25:78:e3:45 4
  • Mit der ersten Zeile wird der Pfad zum sispmctl-Tool festgelegt, damit FHEM dieses verwenden kann.
  • In den folgenden 4 Blocks werden die vier einzeln ansteuerbaren Steckdosen definiert.
    • define Steckdose1 SIS_PMS 01:25:78:e3:45 1
      • Steckdose1: Beliebige Bezeichnung unter der die definierte Steckdose ansprechbar sein soll (dies könnte z.B. auch Drucker, Scanner, oder ähnliches sein), und auch entsprechend im Webinterface aufgeführt wird
      • SIS_PMS: Schlüsselwort für FHEM, damit dieses erfkennen kann, dass es sich bei Steckdose1 um eine einzelne Steckdose der USB-Steckdosenleiste SIS-PM handelt.
      • 01:25:78:e3:45: Serialnummer der Steckdosenleiste (siehe oben)
      • 1: Port 1 (Steckdose 1) der der USB Steckdosenleiste
    • attr Steckdose1 room Steckdosen: FHEM kann ganz allgemein jedes einzelene Device in Räumen organisieren, um die Übersichtlichkeit im Webinterface zu erhöhen. Mit dem Attribut room (attr device room roomname) wird das Device einem Raum zugeordnet. D.h. im Beispiel befindet sich Steckdose 1 im Raum Steckoden.


Nach dem Laden der Konfiguration (siehe auch hier), steht die USB-Leiste in der Weboberfläche und via TELNET zur Verfügung. Z.B. Steckdose3 via Telnet einschalten:

set Steckdose3 on


AVR NETIO

FHEM bietet die Möglichkeit, AVR NET-IO's direkt einzubinden. Dazu sind. sog. Classdef-Dateien erforderlich, die die nötigen NET-IO Befehle enthalten, umd diese FHEM bekannt zu geben. Prinzipiell erfolgt die Einbundung folgendermaßen:

define AVRNETIO ECMD telnet IP_NET-IO:2701
attr AVRNETIO classdefs RELAIS=/etc/fhem/relais.class

Es können auch mehrere verschiedene classdefs verwendet werden, z.B. um Relais und Funksteckdosen mit einem NET-IO anzusteuern:

attr AVRNETIO classdefs RELAIS=/etc/fhem/relais.class:RFM12=/etc/fhem/tevion.class

Schalten von Net-IO Ausgängen

define AVRNETIO ECMD telnet IP_NET-IO:2701
attr AVRNETIO classdefs RELAIS=/etc/fhem/relais.class

Ein Relais wird dabei folgendermaßen definiert:

define fhembez ECMDDEVICE RELAIS netiobez
  • fhembez: Bezeichnung des Ausgangs in FHEM
  • netiobez: Bezeichnung des Ausgangs im NET-IO

Z.B.

define Relais1 ECMDDevice RELAIS Relais1
define Relais2 ECMDDevice RELAIS Relais2
define Relais3 ECMDDevice RELAIS Relais3
define Relais4 ECMDDevice RELAIS Relais4

Classdeffile:

vi /etc/fhem/relais.class

Folgende Zeilen einfügen:

params NAM_PIN

set on  cmd {"pin set %NAM_PIN on"}
set on postproc {s/on/success/; "$_" eq "success" ? "ok" : "error";}
set off cmd {"pin set %NAM_PIN off"}
set off postproc {s/off/success/; "$_" eq "success" ? "ok" : "error";}


Schalten von Funksteckdosen via Net-IO

Das AVR-NETIO bietet die Möglichkeit, billige Funksteckdosen mit Hilfe eines sog. 433MHz- RFM12-Funkmoduls zu schalten. Die Ethersex Firmware bietet Support für eine ganze Zahl unterschiedlicher Funksteckdosen Typen. Exemplarisch wird im Folgenden das Schalten von Tevion (Aldi) Funksteckdosen beschrieben.

define AVRNETIO ECMD telnet IP_NET-IO:2701
attr AVRNETIO classdefs RFM12=/etc/fhem/tevion.class
define Funksteckdose1 ECMDDevice RFM12 77 42 170 86 86 85 85
define Funksteckdose2 ECMDDevice RFM12 77 42 170 150 90 149 89
define Funksteckdose3 ECMDDevice RFM12 77 42 170 166 89 165 90
define Funksteckdose4 ECMDDevice RFM12 77 42 170 102 85 101 86

Classdeffile:

vi /etc/fhem/tevion.class

Folgende Zeilen einfügen:

#Uebergabeparams
params code1 code2 code3 on1 on2 off1 off2

set on cmd {"rfm12 tevion %code1,%code2,%code3 %on1,%on2 70,6"}
set on postproc {s/OK/success/; "$_" eq "success" ? "ok" : "error";}
set off cmd {"rfm12 tevion %code1,%code2,%code3 %off1,%off2 70,6"}
set off postproc {s/OK/success/; "$_" eq "success" ? "ok" : "error";}


FS20

TBD


Organisation mit Rooms und Groups

Um Ordnung in die definierten Sensoren und Aktoren, können diese in unterschiedliche Räume (rooms) und Grouppen (groups) organisiert werden.

  • Rooms:
define Relais1 ECMDDevice RELAIS Relais1
attr Relais1 room Steckdose
  • Groups
define Reed_1 ECMDDevice RELAIS Relais1
attr Reed_1 room Steckdose
attr Reed_1 group ReedRelais
define Funksteckdose_1 ECMDDevice RFM12 77 42 170 86 86 85 85
attr Funksteckdose_1 room Steckdose
attr Funksteckdose_1 group Funksteckdosen

Fhem group.png


Uebernehmen von Konfigänderungen

Die Änderungen am Konfigfile können FHEM über folgende beiden Wege mitgeteilt werden:

  • Stop/Neustart von FHEM
/etc/init.d/fhem stop
/etc/init.d/fhem start
  • Telnet Befehl
telnet IP_Des_Server 7072

Am FHEM Prompt mit folgendem Befehl das Konfigfile neu einlesen lassen:

rereadcfg


Optional: FHEM via Apache Reverse Proxy

FHEM kann via Apache Reverse Proxy (siehe auch hier) angesprochen werden. Im folgenden Beispiel wird ein Username/Passwort verwendet und die Übertragung der Userdaten via SSL geschützt.

Voraussetzung:

vi /etc/apache2/sites-enabled/fhem_https.conf
  • Apache2.2:

Folgende Zeilen enfügen und die Einträge entsprechend den eigenen Bedürfnissen anpassen:

<VirtualHost *:443>
  ServerName fhem.domain.org
  
  ProxyRequests Off
  <Proxy *>
    Order allow,deny
    Allow from all
  </Proxy>
  
  SSLCertificateFile /etc/ssl/CA/certs/wildcard.pem
  SSLEngine on
  SSLProxyEngine On
  ProxyPass / http://IP_des_Server:8083/
  
  <Location />
   ProxyPassReverse /
   ProxyHTMLURLMap / /hem/
   ProxyHTMLURLMap /fhem/ /hem/
   AuthType Basic
   AuthName "FHEM requires Authorization"
   AuthUserFile /var/apache_pwd/fhem.passwd
   Require valid-user
  </Location>
</VirtualHost>

Apache neu starten:

/etc/init.d/apache2 restart
  • Apache2.4:

Folgende Zeilen enfügen und die Einträge entsprechend den eigenen Bedürfnissen anpassen:

<VirtualHost *:443>
  ServerName fhem.domain.org
  
  ProxyRequests Off
  <Proxy *>
    Require all granted
  </Proxy>
  
  SSLCertificateFile /etc/ssl/CA/certs/wildcard.pem
  SSLEngine on
  SSLProxyEngine On
  ProxyPass / http://IP_des_Server:8083/
  
  <Location />
   ProxyPassReverse /
   ProxyHTMLURLMap / /hem/
   ProxyHTMLURLMap /fhem/ /hem/
   AuthType Basic
   AuthName "FHEM requires Authorization"
   AuthUserFile /var/apache_pwd/fhem.passwd
   Require valid-user
  </Location>
</VirtualHost>

Apache neu starten:

/etc/init.d/apache2 restart


Passwort-File anlegen und User fhem definieren

htpasswd -c /var/apache_pwd/fhem.passwd fhem

Android Handy App

Neben der Weboberfläche, die auch über moderne Smartphone mit dem Webbrowser erreicht werden kann, existiert eine native Android APP namens andFHEM. Diese ist ganz normal via Google Appstore installierbar (kostenlos).

Konfiguration:

  • Datenquelle: FHEMWEB
  • URL:
fttp://IP_des_Server:8083/fhem
https://fhem.domain.org/fhem

Obwohl es im Webbrowser ausreichend ist, als Adresse https://fhem.domain.org zu verwenden, muss hier http://fhem.domain.org/fhem verwendet werden, damit die APP das Webinterface korrekt parsen kann.

  • Benutzername: fhem, falls Apache Virtualhost mit Authorisierung eingerichtet wurde, ansonsten leer
  • Passowort: Passwort, falls Apache Virtualhost mit Authorisierung eingerichtet wurde, ansonsten leer
  • Aktualisierung beim Applikationsstart: Haken setzen


Cul Firmware installieren

Der CUL wird von Haus aus ohne Firmware ausgeliefert. Diese muss vor Benutzung erst installaiert werden. Es gibt zwei möglichkeitne die Firmware zu flashen. Über Linux oder über Windows

Cul.JPG

Specs

   ATMega32U4 processor 8MHz @ 3.3V
   CC1101 ISM transceiver tuned for 868MHz or 433MHz
   pinheader for SMA / SMA-RP socket
   green multi purpose led
   multi purpose micro switch
   USB type A male connector
   optional ISP connector (FPC6)
   optional HF-shield 

Linux

tbd

Windows

Um die Firmware mittels Windows zu flashen wird das ATMEL Tool Flip benötigt. Die kann auf der Atmel Homepage downgeloaded werden.(http://www.atmel.com/Images/Flip%20Installer%20-%203.4.7.112.exe).

* Nach der Installation "FLIP" starten.
* CUL in an den PC anschließen, dabei den Resetknopf auf der Rückseite gedrückt halten.
  Sollte der Stick nicht erkannt werden, kann man der Treiber in der Systemsteuerung
  nachinstallieren. Er befindet sich im FLIP verzeichnis auf den C-Laufwerk
* Unter "Device" -> "Select" -> "ATmega32U4" auswählen.
* Unter "Settings" -> "Communication" -> "USB" auswählen
* Im "USB Port Connection" Fenster "Open" klicken
* Anschließend kann das HEX File geladen werden: "File" -> "Load HEX File..."
  Dir Firmware findet man auf der Homepage von "busware.de". 
     http://culfw.svn.sourceforge.net/viewvc/culfw/trunk/culfw/Devices/CUL/
* CUL-V3 für den V3 CUL Stick
* Im Bereich "Operations Flow" "Blank Check" abwählen. "Erase", "Programm" und "Verify" bleiben aktiviert. Anschließend auf RUN klicken um das Flashen zu starten.
* Nach erfolgreichem Flashen sollten neben jedem angehakten Feld ein grüner Punkt sein

Nun auf "Start Application" klicken um die Firmware auf dem Stick zu starten.

CUL benutzen

Nun CUL Stick am Debian Rechner anstecken (LED leuchtet). Der Stick sollte nun unter " /dev/ttyACM0" auftauchen. (Siehe Logfile "/var/log/messages"

Version prüfen

Ein weiteren Putty Fenster öffnen

screen /dev/ttyACM0
" V " tippen 

Als Ausgabe sollte die Version auftauchen z.B. V 1.52 CUL868

CUL für FHEM definieren

Um den CUL mit FHEM zu benutzen, muss er CUL definiert werden

define MyCUL CUL /dev/ttyACM0 1234