HomeMatic

Das HomeMatic bidirektionale Funksystem beinhaltet eine große Produktpalette aus den Bereichen:
Heizung,  Klima, Wetter,  Umwelt,  Sicherheit, Komfort und zuletzt die meist verwendete: die Beleuchtungssteuerung.

Alle Sensoren und Aktoren (Schalter) können untereinander kommunizieren.
Sie besitzen je einen Sender und Empfänger, was sich leider auch im Preis wiederspiegelt. Ein Schaltbefehl der nicht ausgeführt wird, kann eine entsprechende Fehlermeldung generieren. Dies ist ein Sicherheitsmerkmal, das  ausschlaggebend war, warum sich viele HomeMatic Kunden für dieses Produkt entschieden haben.

Das Herzstück des Systems ist die Zentrale (CCU). In ihr arbeitet ein kleiner Linux PC, der selbstständig kleine Steuerungsaufgaben übernimmt - auch bei ausgeschaltetem Windows PC. Die CCU besitzt eine eigene Weboberfläche, die Funktionen dem Bediener zur Verfügung stellt. Die Anbindung an IP-Symcon erfolgt über die LAN-Schnittstelle der 'CCU' oder des preiswerteren 'LAN Konfigurations-Adapter'.

HomeMatic gibt es auch als "Wired-System" - also kabelgebunden
Hierfür sind Schalt- u. Dimm-Aktoren sowie Ein- u. Ausgabemodule erhältlich.

Liste der unterstützten Geräte:

IP-Symcon unterstützt alle Funk- u. kabelgebundenen Komponenten

Gateway (Zentrale)

Damit Sie HomeMatic Komponenten mit IP-Symcon ansprechen können, ist ein so genanntes Gateway notwendig.
Zur Auswahl kommen die 'HomeMatic CCU' und der preiswertere 'HomeMatic LAN Konfigurations-Adapter'.

Vorteile der CCU:
- HomeMatic Wired RS485 Komponenten werden unterstützt
- Programme können in der CCU ausgeführt werden
- Status der Aktoren können per Skript abgefragt werden

Konfiguration / Hinzufügen von Komponenten

Falls Sie Ihr Gerät nicht nicht eingerichtet haben, folgen sie bitte den Schritten auf dieser Seite: Geräte einbinden

Bevor Sie die Suche starten zu können, müssen Sie noch die Übergeordnete Instanz konfigurieren.
Standardmäßig ist die CCU ausgewählt.
Weitere Hinweise finden Sie unter: CCU sowie LAN

Der Suchdialog zeigt ein Gerät erst an, wenn Daten empfangen wurden. Bei einer Fernbedienung können Sie die Tasten drücken, um einen Sendevorgang aufzurufen. Bei Temperatursensoren/Wetterstationen müssen Sie das nächste Intervall abwarten oder die ID manuell angeben.

Durch die Option "Emuliere Status" wird der Wert der verknüpften Status-Variable sofort nach Absenden des Befehls aktualisiert ohne das eigentlich Feedback vom Gerät abzuwarten.

Sobald Sie eine ID angegeben haben, müssen Sie die Konfiguration übernehmen. Beim nächsten Sendevorgang erstellt das Modul nun die passenden Status Variablen automatisch.

Um einen Schaltvorgang auszulösen, können Sie die folgende 4 Funktionen verweden. Dabei müssen Sie die passende Funktion zum Typ der Status Variable nehmen und im 2. Parameter den Namen der StatusVariablen (z.B. STATE) angeben. Der 3. Paramter ist der neu zu setzende Wert.

Konfigurator nutzen

Seit IP-Symcon 2.3 #1776 haben Sie die Möglichkeit Ihre HomeMatic Geräte über einen Konfigurator einzurichten, der automatisch alle Ihre Geräte aus der CCU/LAN Adapter Konfiguration ausliest. Es ist leider nicht möglich die Namen aus der Konfiguration auszulesen.

Der Konfigurator gibt Ihnen einen guten Überblick über die bereits eingerichteten, doppelten oder fehlerhaft eingerichteten Geräte sowie Geräte, die Sie neu anlegen können.

http://www.ip-symcon.de/fileadmin/user_upload/images/documentation/hm_config.png

Tipps & Tricks

$id_bar = 54392 /*[EG\Tisch  Bar]*/;
$id_ecken = 24601 /*[EG\Strahler Ecken]*/;
$id_tisch = 38758 /*[EG\Tischlamampe]*/;

$ramp = 2;
 HM_WriteValueFloat($id_bar, "ON_TIME",  60*10);    // x Minuten AN
HM_WriteValueFloat($id_bar, "RAMP_TIME", $ramp);          // X Sekunden Rampe
HM_WriteValueFloat($id_bar , "LEVEL" , .4);             // und ausführen auf X%

HM_WriteValueFloat($id_ecken , "RAMP_TIME", $ramp);           // X Sekunden Rampe
HM_WriteValueFloat($id_ecken  , "LEVEL" , .4);            // und ausführen auf X%

HM_WriteValueFloat($id_tisch , "RAMP_TIME", $ramp);         // X Sekunden Rampe
HM_WriteValueFloat($id_tisch  , "LEVEL" , .4);            // und ausführen auf x%
 

Beispiel-Skript WinMatic 60 Minuten Belüften:

$id_aktor = 49712 /*[OG\Schlafzimmer\HM WinMatic]*/;
 HM_WriteValueFloat($id_aktor, "SPEED" , 1.0); // Maximum Speed ;)
HM_WriteValueFloat($id_aktor, "RELOCK_DELAY" , 60*60);  // Fenster nach XX Minuten wieder zu
 HM_WriteValueFloat($id_aktor, "LEVEL" , 0.7); // Fenster Auf  

Beispiel-Skript um eine Rückmeldung zu erhalten, ob einen Aktor den Schaltbefehl korrekt ausgeführt hat:

$id_aktor = 12345;
$err = HM_WriteValueBoolean($id_aktor, "STATE" , False);
//echo "Err: " .(int) $err . "\n";
if ($err === False){
  echo "Fehler: Schaltaktor > Befehl wurde nicht ausgeführt\n";
  SetValue($id_done, False);
} else {
  SetValue($id_done, True);
  echo "OK: Schaltaktor > Befehl wurde  ausgeführt\n";
}

 Beispiel-Skript um einen Aktor (Lampe) zu toggeln (ein- und ausschalten):

$id_aktor = 25404 /*[Hof Garten\Lampe]*/;
$id_state = 55194 /*[Hof Garten\Lampe\STATE]*/;
HM_WriteValueBoolean($id_aktor, "STATE" , !GetValue($id_state));