Benachrichtigung bei Änderung von Homematic-Systemvariablen

HomeMaticNotification_SysVar-NotifyDie aktualisierte Version des Homematic-Benachrichtigungsdienstes ist online. Bislang informierte der Dienst stets nur über geänderte Zustände von Homematic-Sensoren bzw. -Aktoren.

Mit dem neuen Release (RC-Version 1.1.10 bzw. Version 1.2) kann man sich nun auch über geänderte Systemvariablen informieren lassen, was beispielsweise die Alarm-Benachrichtigung oder Informationen zu von Homematic-Programmen gesetzten Systemzuständen vereinfacht.
Die bislang verfügbaren Benachrichtigungsprovider (PushOver, Pushalot, E-Mail und Telegram) funktionieren natürlich auch für die neue Funktion wie gehabt.

Konfiguration

Um für eine Systemvariable Benachrichtigungen zu erhalten, muss diese mit ihrer Homematic-internen ID (IseId) in der Konfigurationsdatei als notifyVariable-Element angelegt werden:

<notifyVariable Name="Anwesenheit" IseId="1234" IsImportant="false" />

Weitere Details zur Konfiguration gibt es in der Beispielkonfiguration ConfigTemplate.xml

Die IseId kann man mit Hilfe des für den Service ohnehin benötigten Addons XML-API herausfinden, indem man die Seite sysvarlist.cgi aufruft. In der XML-Struktur kann man die IseId als Attribut der einzelnen Variablen finden, die auf der CCU2 definiert sind.

Den aktuellen Build findet man an der üblichen Stelle im OneDrive (MD5: 5820d546af62c43ada0eaa3b517ea4dd). Alternativ dazu ist der jeweils aktuelle Quellcode im GitHub-Repo HomeMatic-Notification-Service zu finden.

Viel Spaß beim Ausprobieren. Über Feedback, Anregungen und Ideen freue ich mich!

Advertisements

Push Notification via Telegram

Bis vor ca. zwei Wochen hatte ich mit dem Benachrichtigungsdienst Pushalot von Maciej Olesiński eine wirklich gute und verlässliche Plattform, um mir allerlei Statusmeldungen an zentraler Stelle zukommen zu lassen. Dann wurde es plötzlich ruhig auf meinen mobilen Endgeräten. Kein Server mehr, der mir seinem Gemütszustand mitteilte, keine Wohnungstür mehr, die mich über ihren Status informiert…
Inzwischen bin ich auch nicht mehr gänzlich allein mit dem Thema, wie man beispielsweise auf Reddit lesen kann. Das beruhigt ein wenig, da es nicht an mir zu liegen scheint, andererseits löst es aber auch das Problem nicht.

TelegramPushNotificationsWie dem auch sei – diesem Umstand geschuldet habe ich mich kurzerhand mit der API des Messenger-Dienstes Telegram befasst und entschieden, den Messenger für meine Zwecke und damit als Ersatz für die ausbleibenden Benachrichtigungen von Pushalot zu verwenden.
Die API ist überaus funktional, reich an Funktionen und durchgehend gut dokumentiert. Der Service lässt sich unkompliziert über die heute gängigen Wege ansprechen.
Spannend ist das Konzept der Telegram-Bots als unpersonalisierte Service-Accounts, mit denen man in seiner Rolle als Nutzer interagieren kann. Dabei können vorhandene genutzt oder individuelle, neue Bots angelegt werden. Telegram geht diesen Weg sehr konsequent, so dass ebenfalls die Bedienung der Plattform auf Ebene des Entwicklers über einen solchen Bot läuft. Will man einen Bot erstellen und konfigurieren, so chattet man mit dem @BotFather, dem man über definierte Kommandos die entsprechenden Einstellungen übergibt bis hin zum Profilfoto des eigenen Bots.

Mit relativ geringem Aufwand haben in den letzten Tagen die beiden im vergangenen Jahr veröffentlichten Tools – der Homematic Notification Service sowie das PushMonitoring – einen zusätzlichen Benachrichtigungskanal für die Nutzung von Telegram erhalten.

Das Setup…

…der beiden Tools für die Verwendung der Telegram-Bots funktioniert wie folgt:

  1. Telegram installieren
  2. Als Empfänger die eigene Chat-ID herausbekommen
    (z.B. dem Bot @get_id_bot eine Nachricht mit /my_id senden)
  3. Die Chat-ID in der Konfiguration des Service/Tools ( <notifyBy /> bzw. <sendTo />) hinterlegen
  4. Den jeweiligen Bot – „Homematic Alert“ bzw. „PushMonitoring“ – aufrufen und mit der Nachricht /start aktivieren

Homematic Notification Service

<notifyBy NotifyProvider="Telegram">123456789</notifyBy>

PushMonitoring

  <sendInterfaces>
    <sendTo Type="Telegram" ApiKey="123456789" />
  </sendInterfaces>

Alternativ können statt der eigenen Chat-ID noch Gruppen-IDs öffentlicher Gruppen verwendet werden, wenn der Bot in der Gruppe Mitglied ist.

Die Push-Messages, die über die beiden Tools versendet werden verhalten sich wie normale Chat-Nachrichten, die man vom Kontakt des jeweiligen Bots erhält:

TelegramPushWindowsPhone

Es ist ein wenig schade, dass Pushalot so ganz ohne weitere Informationen abgetaucht ist. An dieser Stelle vielen Dank an die Plattform und ihren Betreiber für die lange Zeit an Zuverlässigkeit sowie das kostenfreie Angebot!

Die beiden Tools (Homematic Notification Service + PushMonitoring) gibt es in aktualisierter Version an der üblichen Stelle im OneDrive oder den Quellcode unter GitHub.

Homematic Notification Service

Ganz heimlich, still und leise hatte ich hier an dieser Stelle zum vergangenen Weihnachtsfest ein Stückchen Software in die große, weite Welt entlassen und nicht viele Worte darüber verloren: den Benachrichtigungsdienst für die Homematic CCU2.

Wofür dieser Benachrichtigungsdienst gut ist, ist schnell erklärt. Wer ein Heimautomatisierungssystem aus der Produktion der eQ-3 AG sein Eigen nennt, hat oft mehr als nur zeitgesteuerte Beleuchtung oder Heizungsregelung im Sinn. Ist man nicht zu Hause, ist eine Alarmschaltung oder ein Monitoring der Rauchmelder nützlich. Leider ist die Einrichtung einer zeitgemäßen Benachrichtigung über Änderungen von Schaltzuständen, zum Beispiel beim Öffnen einer Tür oder Erkennung von Bewegung über einen Bewegungsmelder, mit Bordmitteln nicht ganz trivial zu realisieren und mündet gelegentlich in eine instabile oder hängengebliebene CCU2. Um hier Abhilfe zu schaffen, habe ich mir zum Thema ein paar Gedanken gemacht und eine einfache Dienstanwendung gebastelt.

Das eigentliche Highlight ist die Möglichkeit zu haben, sich bei wichtigen Ereignissen per Push-Message direkt auf das Handy benachrichtigen zu lassen – hier im Beispiel die App Pushalot unter Windows 10 sowie auf dem Handy unter Windows Phone 8.1:

Die Anwendung ist als Windows-Dienst implementiert, versendet Benachrichtigungen für Ereignisse der per Konfiguration angegebenen Homematic-Sensoren und protokolliert auftretende Fehler im Eventlog. Kurz gesagt: reine Backend-Logik. Um dennoch die Funktion der Anwendung sowie der erstellten Konfigurationsdatei testen zu können, gibt es zusätzlich eine Windows-Forms Applikation, die sowohl die aus der Konfiguration ausgelesenen Einstellungen und Benachrichtigungselemente darstellen kann, als auch auszuführende Benachrichtigungen versendet/simuliert und Fehler protokolliert.

HomeMaticNotification_TST

Die Basiskonfiguration (Pfad zur Konfigurationsdatei, Ausführungsintervalle, etc.) des Dienstes oder auch der Anwendung ist in der jeweiligen App-Config „SVC_HomeMaticNotification.exe.config“ zu finden. Die wesentlich wichtigere, inhaltliche Konfiguration wie Benachrichtigungsgruppen, Benachrichtigungsziele sowie die zu überwachenden Geräte sind in einer separaten XML-Konfigurationsdatei zu konfigurieren.

HMN_SampleConfig

Um nicht nur einen Empfänger von einer Dienst-Instanz zu benachrichtigen, können parallel mehrere Gruppen von Benachrichtigungen (notifyGroup) mit unterschiedlichem Umfang, Einstellungen und Empfänger hinterlegt werden. Pro Gruppe kann ein Benachrichtigungsziel (notifyBy) festgelegt werden, was entweder ein Key der Push-Dienste Pushalot (NotifyProvider=“Pushalot“) oder Pushover (NotifyProvider=“Pushover“) sein kann oder auch eine E-Mail-Adresse (NotifyProvider=“Email“).
Für ein Benachrichtigungselement (notifyItem), ein per Device-Serial adressiertes Gerät, können erweiterte Einstellungen konfiguriert werden, so dass beispielsweise zu festgelegten Tagen/Uhrzeiten (silenceTimes/silence) oder bei dem Zutreffen bestimmter Bedingungen (conditions), wie Schaltzuständen weiterer Geräte (devCondition) bzw. Systemvariablen der Homematic-Zentrale (varCondition), Benachrichtigungen nicht übermittelt werden dürfen.

Das Monitoring der Homematic-Komponenten erfolgt in der vorliegenden Version nicht wirklich ereignisgesteuert, sondern bedient sich einem design-technisch nicht allzu schönem Workaround, der dies lediglich so erscheinen lässt. Allem voran die in meinem letztjährigen Post zum Thema erwähnten Schwierigkeiten mit der Eventregistrierung über die native Schnittstelle der CCU2, XML-RPC, führten dazu, dass ich ein – in der Standardkonfiguration zwei-sekündlich – „pollendes“ Verfahren für die Überwachung der Komponenten verwende. Auch wenn ich inzwischen teilweise die ursprünglichen Probleme umgehen konnte, hatte ich dennoch mit erhöhtem Stromverbrauch der abgefragten Sensoren/Aktoren zu kämpfen. Hinzu kommt, dass ich zu Beginn der Entwicklungsarbeiten am Dienst auf die HomeMatic-XmlApi-Lib zurückgreifen musste, so dass ein Rückportieren auf XML-RPC aus heutiger Sicht nicht lohnenswert erscheint. Die sehr häufige Abfrage der XML-API (~40k Requests/Tag) scheint keine negative Auswirkung auf die CCU2 zu haben – der Service läuft bei mir ca. seit einem Jahr sehr stabil ohne auffällige Probleme oder Unzuverlässigkeit.

Im aktuellen Release (v1.1.9.3) sind inzwischen ein paar neue Funktionen enthalten sowie ein paar Bugs korrigiert. Für alle Interessierten steht die Software (inkl. Tester-Anwendung und Beispielkonfiguration) in meinem OneDrive zum Download bereit. Die jeweils neuste Version wird als Quellcode im dazugehörigen Repository auf Github zu finden sein.

HomeMaticNotification_TSTGitHub-Repo: github.com/roschinsky/HomeMatic-Notification-Service

MD5 Hash: ca29cbe561e53507db4feca121454af6


Feedback, Forks oder interessante Fragen – hier oder auf Github – sind stets willkommen.

Für die Zukunft ist geplant die Dienstanwendung auf den RaspberryPi zu portieren, so dass sie unter Windows 10 for IoT lauffähig ist.

Server-Monitoring via Pushover/Pushalot

„Wo nur bleibt die Mail, die ich mir vor 10 Minuten habe weiterleiten lassen? SPAM-Folder? Nein. Bei genauerem Hinsehen entdecke ich einen Fehler im Mail-Client, der beim Synchronisieren mit dem privaten Mailserver aufgetreten sei. Man möge es später nochmals versuchen oder sich an seinen Admin wenden orakeln die üblichen Beschwichtigungsversuche. Mist – ausgerechnet heute! Eine erste Prüfung ergibt wenig. DynDNS ist okay, Maschine lebt aber mehr ist von unterwegs vorerst nicht festzustellen. Am Abend dann die Gewissheit: Auf dem Mailserver ist die Platte voll. Mailbox-Database und Log-Files haben ihr Übriges dazu beigetragen – hätte man doch aber eigentlich rechtzeitig mitbekommen können…“

So oder ähnlich kommt man gelegentlich zu der Erkenntnis, dass auch die IT in den eigenen vier Wänden nicht gänzlich wartungsfrei vor sich hin säuselt. Sei es ein Dienst, der sich gerne mal verabschiedet, eine Netzwerk-Komponente die einen kleinen Tritt braucht oder gar der knapp gewordene Speicherplatz.

An denkbaren Lösungen mangelt es heute nicht mehr. So könnte man überlegen, ob ein Nagios, MOM, OpenNMS, WhatsUp, Zabbix, etc. die Mühe wert wäre. Im Funktionsumfang und auch in der Erweiterbarkeit ähneln sich die bekanntesten Vertreter des Server-/Netzwerk-Monitoring schon seit Jahren sehr. Bleibt noch die Qual der Wahl. Und natürlich müsste auch noch eine Datenbank her, eine brauchbare Erstkonfiguration und vielleicht ein Backup aber daran würde es sicher nicht scheitern.
Dennoch bin ich mir sicher, dass zumindest für meinen Hausgebrauch dieser Ansatz völlig am Ziel vorbeigehen würde. Ein Wort trifft es ganz gut: überdimensioniert. So möchte ich doch nur wissen, dass der Speicher nicht voll läuft, hier und dort ein paar für mich spannende Dienste laufen und zwei/drei Webinterfaces erreichbar sind. Theoretisch genügt es auch völlig im Falle eines Fehlers eine kurze Info zu erhalten – ich muss nicht ganz genau wissen seit wann das Problem besteht und Dashboards brauche ich auch nicht.

Die Anforderungen:

  • Keine Middleware: Clients und Server sollen direkt Bescheid sagen, wenn etwas nicht mehr so ist, wie erwartet
  • Kein Aufwand: Einfach und schnell zu konfigurieren
  • Kein SPAM: Statt auf Mails auf Push-Dienste setzen
  • Kein Overhead: „Small memory/resource footprint“

Die Idee zum „PushMonitoring“

Ein simples Kommandozeilen-Tool mit XML-Konfigurationsdatei, welches bei jeder Ausführung die per Konfiguration definierten Prüfungen einmalig ausführt, deren Ergebnisse zusammenfasst und bei Abweichungen vom SOLL per Pushalot oder Pushover informiert. Als Prüf-Typen sollten anfangs Ping, freier Speicher und HTTP-Requests genügen – später vielleicht noch Dienste, TCP, Up-time. Durch den minimalistischen Ansatz bleibt das Tool universell einsetzbar und flexibel. Per geplantem Task genügt beispielsweise eine stündliche oder je nach Aufgabe auch tägliche Ausführung.

Konfiguration

Neben den primären Konfigurationsbereichen wie <sendInterfaces> und <checksToRun> kann zusätzlich per <sendWithoutError> ein Zeitraum festgelegt werden, nachdem man auch ohne Fehlermeldung mal wieder ein Lebenszeichen vom System erhalten möchte. Diese Funktion kann jedoch nur verwendet werden, wenn die Anwendung irgendwo das Logfile (definiert in <logFile>) speichern kann.

Fertig ist das Monitoring für Puristen

Das Projekt

Die Quellen finden sich auf Github unter roschinsky/PushMonitoring. Wer sich berufen fühlt – das Portieren auf Mono- bzw. CLR Core steht noch aus… 😉

Für alle die gerade kein Visual Studio am Start haben oder nur die Binaries brauchen gibt es natürlich noch die Pre-Build Version, die ich im One-Drive hinterlegt habe:

„PushMonitoring.zip“

QUELLE: OneDrive

GRÖßE: 0,02 MByte

DATUM: 30.06.2015

HomeMatic mal ausprobiert – ein Erfahrungsbericht

HomeMatic APIDie Idee einer heimischen Steuerzentrale hat mich zugegebenermaßen schon einige Jahre lang fasziniert – selbst damals, als das „UI“ noch aus Tastern und Lämpchen bestand. Mit den heute verfügbaren, modularen und fertig aufgebauten Systemen ist die Einstiegshürde deutlich gesunken, hätte man sich früher alle Komponenten selbst löten müssen. Profan gesprochen sind es zwar nur ein paar fernsteuerbare Lichtschalter aber die Vorteile eines solchen Systems sowie die damit verbundenen Möglichkeiten lassen sich gewiss nicht nur dem Technikbegeisterten erklären.

Bei den Überlegungen zu Sinn und Unsinn einer Heimautomatisierung lief mir HomeMatic schon vor zwei/drei Jahren mal über den Weg. Die Entscheidung dem System der eQ-3 AG nun doch eine Chance zu geben, ging im Wesentlichen auf zwei Ereignisse zurück: Die Erkenntnis, dass HomeMatic einen Webservice zur umfangreichen Ansteuerung der Anlage mitbringt, zusammen mit einer guten Empfehlung, sowie einen kleinen „Sicherheitsvorfall“ an der Wohnungstür. Rein zufällig war es gerade draußen auch noch kalt und das zeitgesteuerte Heizungsthermostat im Bad hatte schon lange seine Programmierung vergessen… Zeit also für ein Starterpaket!

Einer der Vorteile des Systems sind die zahlreichen Geräte, mit denen man das System fortwährend ausbauen und erweitern kann. So gibt es vom Fensterkontakt über das Heizungsventil bis zum Wassersensor eigentlich nichts, was es nicht gibt. Einen guten Überblick über Sensoren und Aktoren kann man sich auf den Seiten des Anbieters verschaffen.

Die bidirektionale Kommunikation zwischen den Geräten und der Zentrale erfolgt per Funk auf 868 MHz über das proprietäre Funkprotokoll BidCoS.
Jedoch auch bei einem auf den ersten Blick recht stimmig umgesetzten Gesamtsystem, finden sich bei genauerem Hinsehen bereits einige konzeptionelle Schwächen. So zum Beispiel wird neben der bidirektionalen Kommunikation auf eine Absicherung der Übertragung per AES gesetzt – leider gilt dies offenbar nur für ein Challenge-Response-Verfahren, welches zur Authentifizierung des Senders gegenüber dem Empfänger bei Schaltvorgängen genutzt wird und nicht für die Absicherung der gesamten Übertragung.

Inbetriebnahme und Konfiguration

HomeMatic  - Installation Unterputz 2-Fach Aktor und AnsteuerungDie Steuereinheit/Zentrale (im HomeMatic-Slang CCU genannt) ist das Herzstück der Anlage. Das nicht besonders ansprechende und aus UX-Sicht an einigen Stellen mehr als fragwürdige Frontend der CCU ist inhaltlich durchdacht und mit umfangreichen Funktionen ausgestattet. So kann hier mit wenigen Klicks das Bekanntmachen (Anlernen) und Einrichten von Sensoren sowie Aktoren erfolgen. Neben einer Art Workflow-Engine, mit der sich kleine Skripte für individuelle Steuerungsabläufe entwerfen lassen, ist hier ebenfalls ein Ansteuern der eingerichteten Geräte möglich. Darüber hinaus lassen sich direkte Steuerungsverknüpfungen einrichten, was die autarke Kopplung von einzelnen Sensoren und Aktoren ermöglicht.

Die HomeMatic-Endgeräte sind meist ohne besonderen Aufwand zu montieren. So gibt es einfache Zwischensteckdosen, mit denen beispielsweise Schaltvorgänge und Strom(-verbrauchs-)messungen realisiert werden können. Bei manchen Sensoren sind minimale handwerkliche Skills von Nöten – jedoch jeder, der es vermag einen Schraubenzieher seiner Bestimmung gemäß zu verwenden, sollte ohne Probleme zurechtkommen.

Für die Installation einiger Geräte, wie beispielsweise die für die Unterputz-Montage konzipierten, sind Grundkenntnisse der Elektrotechnik sinnvoll. Auch hier jedoch kann man wenig falsch machen, da Beschriftungen und Anleitung keine Frage offen lassen. HomeMatic  - Installation Unterputz SchaltaktorFür die optimale Integration in die bestehende Haustechnik werden Unterputz-Schaltaktoren angeboten, welche mit Hilfe von Adaptern an die gängigen Systemblenden angepasst werden können – so kann man die ursprüngliche Wippe des alten Schalters verwenden, während hinter dem Schalter lediglich die funkende, neue Technik in der Wand versteckt wird.

Webservices und XML-RPC

Bereits mit der Inbetriebnahme der Steuereinheit gingen auch die ersten Überlegungen einher, wie man denn am besten programmatisch an das neue Spielzeug herankommen könnte. Mit einer ersten Google-Anfrage zum Thema gelangt man zielsicher zur HomeMatic-eigenen Webschnittstelle, basierend auf dem bereits etwas in die Jahre gekommenen XML-RPC-Protokoll.

Auf der Hersteller-Webseite im Download-Bereich findet man detaillierte und verständliche Informationen, wie die Spezifikation der HomeMatic XML-RPC-Schnittstelle. Darin werden das grundlegende Prinzip der Schnittstellenfunktion sowie eine Referenz der verfügbaren Methoden beschrieben.
Weitere Recherchen im Netz führen relativ schnell zu einer C# Bibliothek auf SourceForge mit Beispiel-Implementierung, welche neben der HomeMatic-Bibliothek selbst einen XML-RPC-Server für die Event-basierte Logik als auch einen Client zum Auslesen und Ansprechen des Systems enthält.

Mit dem Wissen aus der Referenz zur XML-RPC-Schnittstelle und der HMRemoting-Bibliothek ließ sich in kurzer Zeit eine für meinen Geschmack ansprechendere Webanwendung als die Systemeigene zusammenbasteln, mit welcher man sich die interessanten Geräte in einer Übersicht darstellen lassen und die schaltbaren Aktoren bedienen kann.

HMC_internal

Analog zum Home Access Center hatte ich im neuen „HomeMatic Center“ wieder eine Trennung zwischen externem Netz, DMZ und internem Netz implementiert, so dass per Konfiguration definiert werden kann, wer von wo was sehen und bedienen darf.

Da die Übersicht und Bedienung des Systems nur die halbe Miete ist, folgte unmittelbar darauf ein Benachrichtigungsdienst für den Service Pushalot, welcher bei Statusänderung Bescheid geben sollte. Hier fingen meine Probleme mit der XML-RPC Schnittstelle der HomeMatic an…

Bei der Logik-Schicht kann man sich mit Hilfe der init-Methode mit einem XML-RPC-Server registrieren und sich bei Statusänderungen direkt von der CCU auf dem Laufenden halten lassen. Die mitgelieferte Beispiel-Implementierung funktionierte auf den ersten Blick, so dass ich unmittelbar eine eigene Version umsetzte. Hier überraschte, dass kurz nach Start (zwischen 30 Sekunden und 2 Minuten) des Dienstes keine Events mehr registriert wurden. Nach einigen Versuchen und Grübeln konnte ich das Problem zu allem Unglück ebenfalls mit der eigentlich für gut befundenen Beispiel-Implementierung nachstellen.

HomeMatic - XmlRpc Transport Error

Nachdem ich verschiedenste Threads in einschlägigen HomeMatic-Foren inhalierte, wurde schnell klar, dass es hier wohl ein allgemeineres Problem gibt. Ein Blick in /var/log/messages direkt auf der CCU verschaffte nochmals Gewissheit: Sowohl mein Code als auch der Beispiel-Code verursachten fehlerhafte XML-RPC Aufrufe, die emsig vom System protokolliert wurden.

Mit der Hoffnung auf eine schnelle Lösung des Problems, reifte die fixe Idee, den Dienst auf ein aktives System umzubauen. Statt der Registrierung auf ein Event, sollte der Dienst nun als Client in geringem Versatz (alle 3 Sekunden) ausgewählte Statuszustände bei der CCU abfragen. Das bescherte mir zwar vorerst ein funktionierendes Benachrichtigungssystem – jedoch nur in Form eines wenig eleganten Workarounds, der sich leider ebenfalls als Sackgasse entpuppte. Nach einem Tag Betrieb des Dienstes fielen mir gehäuft temporäre Verbindungsstörungen der HomeMatic-Komponenten auf. Die Service-Meldungen waren permanent voll mit Störungswarnungen und am dritten Tag waren plötzlich die wenige Wochen zuvor eingesetzten Akkus des Rauchmelders leer, so dass ich den Dienst wieder deaktivierte und mich grundsätzlich nach einer anderen Art zum Abfragen des Systems umschaute…

Webservices und das XML-API Addon

Nach einem weiteren guten Tipp kam ich dazu mein erstes Addon auf der CCU zu installieren: XML-API, welches direkt auf der Zentrale XML-Dateien deutlich schneller und mit deutlich mehr Informationen generierte, als ich es von der XML-RPC Schnittstelle des Herstellers kannte. Zwar verfügt das Addon nicht über die Möglichkeit sich Ereignis-basiert zu registrieren – dafür aber stimmen Performance und Last-Verhalten der CCU auch bei schnell aufeinanderfolgenden Zugriffen.
Und damit nicht genug – der Zugriff auf das System-Log und System-Variablen ist problemfrei möglich, was mir zumindest bei der XML-RPC Schnittstelle nicht gelungen ist.

Getrieben von der Idee den Benachrichtigungsdienst sowie auch das HomeMatic Center auf XML-API umzustellen, habe ich begonnen einen kleinen .NET Wrapper für die Verwendung der XML-API zu schreiben. Das Projekt ist mit ersten, einfachen Funktionen bei GitHub unter dem Namen HomeMatic-XmlApi-Lib zu finden. Ich bemühe mich neuere Versionen von Zeit zu Zeit in das Repo zu synchronisieren. Über Anregungen, Forks und Pull Requests freue ich mich.

Fazit

HomeMatic ist vermutlich nicht die ultimative Lösung für alle Fragen und Probleme zum Thema Home Automation. Dennoch ist es ein insgesamt solides und durchdachtes System mit kleineren Macken, die man getrost ignorieren kann, wenn man nicht ein bis in die letzte Ecke professionelles oder absolut perfektes System erwartet, was mit Sicherheit ein Vielfaches der Ausgaben für eine HomeMatic in Anspruch nehmen würde.