Home.

Technik-Blog

Willkommen auf meinem
Notiz - Blog
Blog

Kmoser's Tech-Blog

Montag
25
Januar 2016
Klaus Moser
Klaus Moser

Fhem - Begriffserklärung

Eine Sache welche mir beim Einlernen in Fhem ganz große Probleme gemacht hat waren die vielen neuen Begriffe von denen man zunächst mal keine Ahnung hat was sie bedeuten, für das Verständnis der Wiki-Artikel und Diskussionen im Forum aber unerlässlich sind.

Hier ein paar Begriffe und deren Erklärung über die man früher oder später stolpern wird:

Peering

Bezeichnet das Verbinden der Homematic Geräte untereinander. Eine solche Verbindung wird auch als Link bezeichnet. Beim Leeren werden genaugenommen nicht die Geräte verbunden sondern einzelne Kanäle der Geräte. Also z.B. der Kanal für den Fensterkontakt mit dem entsprechenden Kanal im Thermostat.

Peer

Ein Peer ist entsprechend der jeweilige Endpunkt eines Links, also einer Verbindung zweier Kanäle.

Pairing

Bezeichnet das Verbinden eines Gerätes mit einer Zentrale

IO-Device

Bezeichnet den Funkempfänger über den Fhem kommuniziert.

Devices und Kanäle

Homematic Geräte werden als Devices mit einem oder mehreren Kanälen in Fhem eingebunden. Geräte die nur einen Kanal haben werden ein Device kombiniert mit dem Kanal angelegt.

Readings

Als Readings bezeichnet man Werte die aus einem Gerät gelesen werden und dort üblicherweise in Registern hinterlegt sind. Siehe auch Wiki.

Donnerstag
21
Januar 2016
Klaus Moser
Klaus Moser

Ubuntu 14.04 - FHEM und Apache Reverse Proxy

Hat man einen von außen erreichbaren Apache-Webserver im Heimnetz stehen und FHEM am laufen kann man die Weboberfläche von FHEM über einen Reverse Proxy über den Webserver nach außen zu leiten. Das hat den Vorteil dass die Angabe des Ports hinter dem Servernamen in der URL wegfällt und man auch keine neuen Portfreigaben im Router einrichten muss. Wie das geht zeige ich euch hier.

Unter Ubuntu wird das Proxy-Modul direkt mit der Installation des Apaches mit installiert. Verwendet man eine andere Distribution muss dieses ggf. nachinstalliert werden.

Die Proxy-Module im Apache aktiviert man mit

sudo a2enmod proxy proxy_http

Falls noch nicht vorhanden legt man eine default-Konfigurationen für das Proxy Modul an:

sudo nano /etc/apache2/conf-available/proxy_default.conf

Die Datei bekommt folgenden Inhalt:

<IfModule mod_proxy.c>
  ProxyRequests Off
  <Proxy *>
    Order deny,allow
    Allow from all
  </Proxy>
</IfModule>

Diese Konfiguration wird jetzt aktiviert mit

sudo a2enconf proxy_default

Überprüfen ob die Konfig aktiviert ist. Ist dies der Fall gibt es einen Symlink unter /etc/apache2/conf-enabled/

ll /etc/apache2/conf-enabled/proxy_default.conf

Jetzt eine neue Konfigurationsdatei /etc/apache2/conf-available/fhem.conf anlegen:

sudo nano /etc/apache2/conf-available/fhem.conf

Die Datei halt folgenden Inhalt:

<IfModule mod_proxy.c>
  <Location /fhem>
    ProxyPass http://localhost:8083/fhem
    ProxyPassReverse http://localhost:8083/fhem
  </Location>
</IfModule>

Anschließend diese Konfiguration aktivieren

sudo a2enconf fhem

Abschließend noch den Apache neu starten mit

sudo service apache2 restart

Möchte man auch die anderen Ansichten wie die für das Tablet und das Handy, so muss man vermutlich weitere vhosts anlegen, da die Weboberfläche immer auf /fhem weiterleitet. Da aber /fhem für die normale Weboberfläche reserviert ist, wird man die anderen Ansichten nicht in einen Unterordner wie /fhem-tablet packen können.

Mittwoch
20
Januar 2016
Klaus Moser
Klaus Moser

CUNX in FHEM einrichten

In der Kommandozeile von FHEM folgende Zeile eingeben um den CUNX in FHEM bekannt zu machen:

define CUN1 CUL <zutreffende IP Adresse eintragen>:2323 1234

Die 1234 am Schluss ist eine vierstellige Hexadezimalzahl für FHT80b Thermostate. Hier kann man auch 0000 eintragen wenn man keine FHTs einsetzt. Bei mir kommen z.B. nur Homematic Thermostate zum Einsatz, daher brauche ich diesen Wert nicht.

Hat man in dem CUNX das optionale Pigator Modul installiert bindet man dieses über den Port 2324 der selben IP-Adresse ein.

define CUN2 CUL <zutreffende IP Adresse eintragen>:2324

Folgende Zeile verwenden um den CUNx für HomeMatic zu konfigurieren:

attr CUN1 rfmode HomeMatic
attr CUN1 hmId CED68B
attr CUN1 icon cul_868

Außerdem das automatische Anlegen aktivieren

define autocreate autocreate
attr autocreate autosave

Ist der CUNX richtig eingerichtet muss er unter Everything > CUL > CUN1 mit dem State Initialized stehen.

VCCU einrichten

Wenn man Homematic Komponenten steuern will sollte man nach den Einrichtung der CULs eine oder mehrere VCCUs einrichten. Für den Anfang sollte aber erst mal eine reichen.

Homematic scheint den Nachteil zu haben dass sich Geräte immer nur mit einer Funkstation koppeln lassen. Die VCCU ist eine virtuelle Funkstation die über verschiedene physikalische Funkstationen senden kann. So kann man, wenn man mehrere Funkstationen hat, immer die am besten passende auswählen. Das ist insbesondere bei Fernbedienungen interessant, mit denen man sich durch das Haus bewegen kann.

Die VCCU wird eingerichtet mit

define VCCU CUL_HM <hmId>
attr vccu model CCU-FHEM
attr vccu IOList CUN1[,CUN2,...]
attr VCCU subType virtual
attr VCCU webCmd virtual:update

Wobei <hmId> die im Netzwerk verwendete Homematic Id ist. Werden mehrere VCCUs verwendet ist diese ID vermutlich unterschiedlich.

Folgende Zeilen wurden bei mir in der fhem.cfg beim Anlegen der VCCU erzeugt:

define VCCU CUL_HM <hmId>
attr VCCU IODev CUN1
attr VCCU IOList CUN1
attr VCCU expert 2_raw
attr VCCU model CCU-FHEM
attr VCCU subType virtual
attr VCCU webCmd virtual:update

define VCCU_Btn1 CUL_HM <hmId>
attr VCCU_Btn1 model CCU-FHEM
attr VCCU_Btn1 peerIDs
attr VCCU_Btn1 webCmd press short:press long

Was es mit diesem Button auf sich hat habe ich noch nicht verstanden.

Detailierte Informationen zu VCCU findet man im FHEM Wiki.

Blog

Kmoser's Tech-Blog