Bestimmte Mobotix T25 Keypad Eingaben an IP-Symcon weiterleiten

In der letzten Zeit waren wir viel in unserem Garten unterwegs und haben den Pool wieder aufgestellt. Nun braucht dieser Pool fast tägliche Pflege (Chlor, Anti-Algenmittel etc.). Diese ganzen Chemikalien haben wir in unserer Garage gelagert, welche natürlich die meiste Zeit geschlossen ist. Oftmals merkt man das erst wenn man vor verschlossenem Tor steht, und da natürlich weder Handy noch Schlüssel am Mann / der Frau ist, kam mir die Idee das ich das Tor auch mit der Eingabe einer Zahlenkombination an der Klingel öffnen / schließen könnte.

Heute habe ich mich mit dieser Thematik etwas weiter befasst und möchte allen Interessierten gerne an einem Beispiel zeigen, wie ihr eure T25 samt Keypad mit IP-Symcon reden lassen könnt.

Dazu benötigt ihr als erstes das T24/T25 PHP Modul für IP-Symcon welches ich programmiert habe und Öffentlich zur Verfügung stelle. Alle weiteren Informationen und eine Anleitung dazu findet ihr hier:

Link zum Forumsbeitrag
Link zum Github Projekt

Nachdem ihr das PHP Modul installiert und konfiguriert habt geht es folgendermaßen weiter:

Als erstes muss man im Adminmenü unter dem Punkt ‚Nachrichtenkonfiguration der MxBus-Module‘ eine neue Nachricht anlegen, dies ist auch gleichzeitig der Eventname welcher später an IP-Symcon übermittelt wird. Wichtig ist die Gültigkeit dieser Nachricht auf ‚Lokal‘ oder ‚Intern‘ zu setzen, denn dann verlässt diese Nachricht nicht die Klingelanlage. In der Einstellung ‚Global‘ könnte diese Nachricht über das Netzwerk übermittelt und ggfs. mitgelesen werden. :
2016-08-02 18_06_29-T25 MxMessageSystem der MxBus-Module
Diese Nachricht steht dann innerhalb des Keypads zur Verfügung, dort muss als nächstes unter der Rubrik ‚Keypad‘ ein neuer Eintrag angelegt (1), die gewünschte Zahlenkombination eingetragen werden (2) und mit der Nachricht welche wir zuvor erstellt haben verheiratet werden (3). Zu guter letzt muss die Konfiguration noch auf die Bus-Module zurück geschrieben werden (4):
2016-08-02 18_09_55-T25 MxMessageSystem der MxBus-Module

 

Nun haben wir unsere Nachricht erfolgreich konfiguriert und müssen nun noch der Klingel beibringen diese auch an IP-Symcon zu melden. Dazu bewegen wir uns aus dem Adminmenü heraus in das Setupmenü. Dort rufen wir als erstes die ‚Ereignisübersicht‘ auf. Dort finden wir unter der Rubrik Nachrichtenereignisse, hier muss über den Button ‚Bearbeiten…‘ ein neues Nachrichtenereignis in folgender Form angelegt werden:2016-08-02 18_20_34-T25 Nachrichtenereignisse

Haben wir diese letzte Hürde genommen sind wir endlich in der Lage diese Nachricht an IP-Symcon weiter zu leiten indem wir im Setupmenü die ‚Aktionsgruppen-Übersicht‘ aufrufen und die (hoffentlich) bei der PHP Modulkonfiguration angelegte Aktionsgruppe ‚IPSymcon‘ um die Nachricht ‚Keypad_Garagentor‘ erweitern:
2016-08-02 18_25_52-T25 Aktionsgruppen-Details

Nach einem kurzen Test sollte nun eine neue Variable mit der Bezeichnung ‚Ereignis: Keypad_Garagentor‘ in eurer T25 Instanz innerhalb IP-Symcon auftauchen:
2016-08-02 18_27_38-IP-Symcon Management Console [ipsymcon.seitingen.lan]

Bedienung Haussteuerung

Um die Annehmlichkeiten einer Haussteuerung besser nutzen zu können stand für mich von Anfang an fest, dass es mindestens ein zentral gelegenes Gerät im Haus geben muss über das auf alle Funktionen der Haussteuerung zugegriffen werden kann.

In den vergangenen Jahren bin ich dabei über das Eine oder Andere gestolpert, habe viel ausprobiert und werde oft gefragt welche Endgeräte wir verwenden um so ein System im Alltag zu bedienen. Dazu möchte ich gerne in diesem Beitrag ein paar Worte verlieren.

Smartphones

Die Steuerung per Smartphone gestaltet sich im Allgemeinen immer schwierig, da auf Smartphones in der Regel viel weniger Bildschirmfläche zur Verfügung steht als auf Tablets oder gar Computerbildschirmen.

Viele Hersteller von Hausautomationslösungen haben neben einer Weboberfläche welche sich am Besten auf Tablets und Computern bedienen lassen, auch Apps für alle gängigen Smartphone Betriebssysteme im Programm. Das ist auch ein wichtiger Punkt, den man bei der Auswahl der richtigen Hausautomationslösung mit in Betracht ziehen sollte.

IP-Symcon bietet neben der Weboberfläche ebenfalls eine App für Android und iOS Geräte an. Diese App verwenden wir ausschließlich wenn wir unterwegs sind. Natürlich ist das Design dort nicht so schön wie auf der Weboberfläche, aber in diesem Fall ist das auch gar nicht wichtig. Denn in diesem Fall man möchte lieber Schnell als Schön zum Ziel gelangen. Und Schnell ist dabei nur eines der Argumente, Sicherheit wäre das andere.

Schnell kann die Smartphone App. Im Gegensatz dazu was ich unter Sicher verstehe allerdings leider nicht von Hause aus. Dafür habe ich eine Firewall im Einsatz die mir den externen Zugriff via VPN ermöglicht.

Als Arbeitserleichterung und um den WAF (Wife Acceptance Factor) zu heben, verbindet sich das Smartphone automatisch per VPN mit dem Netzwerk zuhause, bevor es die IP-Symcon App öffnet. Nadine merkt das oftmals gar nicht, erleichtert mir aber den Support der gesamten Lösung ungemein. Denn oft war die Fehlerursache wenn etwas nicht geht der einfachen Ursache geschuldet, dass zuvor einfach vergessen wurde die VPN Verbindung aufzubauen.

Androide Tablets

Meine erste Idee war Android Tablets im Haus zu verteilen. Diese Idee hat sich auch für insgesamt 2 Jahre gehalten, jedoch stellte ich innerhalb dieser Zeit einige Nachteile fest. Diese Nachteile basieren hauptsächlich auf der Android Plattform und dessen eigentlich andere Art der Verwendung. Ein Beispiel: Ich verwende das Webfrontend von IP-Symcon und den Browser Chrome im Kiosk-Modus. Um die Lebensdauer des Bildschirmes im Tablet etwas zu schonen, habe ich eine Zeitspanne eingestellt nach der sich der Bildschirm bei Nichtverwendung abstellt. Leider ist es so, dass dann auch alle laufenden Apps (Chrome) ebenfalls in einen Schlafmodus fallen und keine Updates mehr vom IP-Symcon Server erhalten. Möchte man die Steuerung wieder verwenden, muss die App zunächst erst wieder Aufwachen und sich mit dem Server synchronisieren, was eine weile dauert – unschön wenn man mal schnell das Garagentor öffnen will, das Wetter checken oder es an der Tür klingelt.

Was mir allerdings sehr gut gefallen hat, ist die Möglichkeit das Tablet mittels einer erkannten Bewegung vor der integrierten Webcam aufzuwecken. Das war zwar etwas fummelig zum Konfigurieren, funktionierte aber in der Praxis sehr gut.

So sah das Ganze eine lange Zeit aus:

IPS Android Tablet

 

Leider wirkte die Lösung mit den Tablets nie so wirklich „professionell“, weil sie einfach irgendwo hingestellt werden. Ich habe allerdings schon von anderen gelesen, dessen Tablets dann einfach von den Kindern oder der Frau für andere Dinge zweckentfremdet wurden – ein Grund mehr um mir über eine fest installierte Variante Gedanken zu machen.

Standard PC mit Touch

Die Grundanforderungen an ein System waren:

  • Standard x86 PC mit geringem Stromverbrauch
  • 24/7 Zulassung
  • Lüfterlos
  • Touch Bildschirm mit HD Auflösung (zu hohe Auflösung => schlechtere Bedienbarkeit)
  • Vesa Montagemöglichkeit
  • Preis: maximal 500€

Während ich im Internet anfing nach passenden Geräten zu recherchieren kam mir der Zufall zur Hilfe: Ich hatte in der Firma die Gelegenheit einige Shuttle X50V4 Geräte zur Installation und Konfiguration auf den Tisch zu bekommen. Diese Geräte sind dort zur Installation in Nischen einer Betonwand vorgesehen, und dienen dort als Terminal für das KNX System => „Perfekt, genau das was ich auch vor habe!“ dachte ich.

Nach der Prüfung des Stromverbrauches war ich überrascht: ca. 15Watt im Idle sind ein Wort. Ich recherchierte etwas auf eBay und nach einiger Zeit fand ich eine Auktion eines Vorgängermodells (X50V2 Plus) welche ich für wahnwitzige 81€ zzgl. Versand dann dann überraschenderweise auch gewann.

Die Hardwareausstattung vom X50V2 Plus ist wie folgt:

  • Intel Atom D525 DualCore 1.8GHz CPU
  • 2GB RAM
  • 30GB SSD
  • WLAN / 100MBit LAN
  • 15.6″ Bildschirm mit 1366×768 Pixel Auflösung

Kurz ein paar Worte zur Einrichtung des Systems in meinem Fall: Das System ist in meine Domäne integriert, loggt sich automatisch mit einem zuvor definierten Domänenbenutzer (mit eingeschränkten Rechten) an und startet Chrome im Kiosk Modus. Exact genau so wie bei der Lösung mit dem Android Tablet zuvor, nur das das System sofort reagiert nachdem der Bildschirm berührt wurde. Um das System über IP-Symcon zu steuern (WakeUp, Restart etc.) und um Daten der Hardwaresensoren in IP-Symcon übermittelt zu bekommen verwende ich EventGhost. Das System wurde mittels Veeam Endpoint Backup in meine bestehende Backupstrategie eingebunden. Die Einstellungen für das Terminal werden per GPO verteilt, so ist es einfacher weitere Geräte gleichen Typs einzuführen. Bei Nichtverwendung dient der Bildschirm eine kurze Zeit als digitaler Bilderrahmen.

Noch während ich das System eingerichtete, begann ich mir Gedanken über die Installation in der Wand zu machen. Als erstes musste ich mir eine Wand im Flur des Erdgeschosses aussuchen die nicht tragend ist. Dazu musste selbige natürlich geöffnet werden, eine passende Unterkonstruktion (kleine Bauanleitung folgt) gebaut werden und eine Wandhalterung gefunden werden mit derer das Display Bündig mit der Wandoberfläche abschließt. Rückblickend war jedoch die größte Herausforderung nachträglich ein paar weitere Netzwerkkabel vom Keller ins Erdgeschoss zu ziehen.

Falls jemand ebenfalls die (bescheuerte) Idee hat weitere Kabel innerhalb bereits geschlossener Trockenbauwänden (ob Holz oder Metall ist egal) über Stockwerke hinweg nachträglich zu verlegen, dem kann ich folgendes Werkzeug wärmstens empfehlen: Cable Tongue

Ein paar Bilder des Umbaus und Endergebnisses:

Abschließend kann ich sagen, dass auch Nadine nach anfänglicher Skepsis die Lösung gefällt und generell häufiger genutzt wird als die Lösung mit dem Tablet zuvor.

Ich konnte mir auf eBay ein weiteres identisches Gerät vom gleichen Verkäufer für nur 89€ sichern => die Augen offen zu halten lohnt sich also! Das Gerät wird dann im Flur im Obergeschoss eingebaut.

Next Step

Was kommt als nächstes ? Die Frage habe ich mir natürlich auch schon gestellt. Derzeit überlege ich, ob es Sinn macht in allen anderen Räumen kleinere Tablets basierend auf Windows 10 sukzessive in die Wände ein zu bauen. Ich denke da ein 10.1″ oder 12″ China Tablet von Chuwi. Dort würden dann nur die Funktionen für den jeweiligen Raum + Musik + Wetter abrufbar sein. Aber eventuell wird´s dann auch einfach zu viel des Guten…

Die Klingel

Nun zwei Jahre nach dem Bezug des Hauses haben wir endlich eine Klingel, nicht nur zur Freude unseres Postboten sondern auch zu unserer.

Warum hat das denn ganze zwei Jahre gedauert ? Die Klingel sollte zum einen im Idealfall mit einem Fingerabdruck Sensor oder RFID Transpondertechnologie funktionieren und eine gute Kamera haben. Natürlich möchte ich die Klingel auch in die Haussteuerung integrieren können. Entsprechend lange hat meine Suche und anschließende Recherche für die neue Klingel auch gedauert bis ich mich Anfang des Jahres für eine Mobotix T25 Türsprechanlage entschieden habe. Das tolle an der T25 ist, dass es mir eine Netzwerkintegration über die bereits bestehenden Klingeldrähte mittels dem Mobotix MX2Wire Bus ermöglicht, da ich es verpennt habe bei der Elektroplanung ein Netzwerkkabel zur Klingel ziehen zu lassen. Außerdem bietet die T25 eine 180° hemisphärische Kamera mit 6 Megapixeln Auflösung. Ich habe mich bei der Kamera für die Tages Variante entschieden, welche zwar bei Tag und auch noch bei Dämmerung gute Ergebnisse liefert, aber bei Nacht keine Infrarot Funktionalität bietet. Mit diesem Manko kann ich mich arrangieren, da unser Hauseingang ohnehin des Nachts beleuchtet ist. Ein weiteres interessantes Detail geht aus der Anleitung hervor, dort wird darauf hingewiesen, dass nur bei der Ausführungsvariante in Weiß ein Betrieb unter direkter Sonneneinstrahlung gewährleistet ist. Bei allen anderen Farbvarianten kann die Temperatur unter direkter Sonneneinstrahlung so hoch werden, dass ein Betrieb nicht mehr gewährleistet ist. Toll das man das erst liest wenn man sich ein Modell gekauft hat oder im Vorfeld die Bedienungsanleitung heruntergeladen und gelesen hat – nicht so schön finde ich, darauf könnte man besser Aufmerksam machen.

Lieferumfang

Der Lieferumfang des von mir bestellten SET2 besteht aus folgenden Komponenten:

  • 3-Fach Auf und Unterputzgehäuse samt Rahmen
  • Kameramodul
  • Keypadmodul mit RFID Funktion
  • Beschriftungsfeld (Beleuchtet)
  • MX2Wire LAN Modul
  • MX2Wire DoorMaster
  • Schlüssel zum lösen der Module aus dem Rahmen
  • Fünf User RFID Karten und eine Admin RFID Karte
  • Kleinkram wie Rahmen, Befestigungsmaterial, USB Stick, Quick Start Handbüchern und Stickern

Leider liegt dem Set kein Netzteil bei, warum geht aus der Anleitung hervor: Es gibt zum einen Unterschiedliche Arten der Spannungsversorgung: per Netzteil, per POE+ (Achtung POE ohne Plus reicht nicht aus!). Außerdem hängt diese Wahl auch davon ab ob man weitere Dinge neben einem Türsummer von der Türsprechanlage schalten lassen möchte. Falls das der Fall ist kommt man um ein Netzteil (48V) nicht herum. In meinem Fall reicht eine Spannungsversorgung mittels einem POE+ Injektors völlig aus, da ich lediglich den Türsummer und keine weiteren Dinge darüber betreiben möchte. Ich habe mich für einen POE+ Injektor von Level One entschieden, da dieser mit ca. 30 Euro in der Anschaffung einer der günstigeren Modelle war:

Montage und Inbetriebnahme

Die Montage der Türsprechanlage gestaltete sich im Grunde recht einfach, jedoch muss ich dazu sagen das ich eine Klingel zum ersten Mal eingebaut habe und mich generell im Laufe des Hausbaus erst an die handwerklichen Tätigkeiten herantasten musste. Für die Montage und die Basiseinrichtung habe ich ein Wochenende benötigt. Freitag Spätnachmittags habe ich den Aufputzrahmen befestigt und weitere Netzwerkkabel (zur Stromversorgung per POE+) vom Serverschrank zum Sicherungskasten verlegt. Am Samstag folgte die Verdrahtung vom Sicherungskasten zur Sprechanlage, den Gegenstellen im Haus und der finale Einbau der Module. Am Sonntag dann die Konfiguration und erste Versuche der Einbindung in IP-Symcon. Bis auf einen kleinen Dreher von einem Adernpaar hatte ich keine Probleme mit dem Einbau, jedoch sollte man sich zuvor ausreichend Zeit nehmen und den Schaltplan aus der Anleitung mit dem Ist-Zustand der eigenen Verkabelung überein bringen um am Ende genau zu wissen was man tut.

Für eine Montage basierend auf dem mitgelieferten Aufputzgehäuse habe ich mich aus mehreren Gründen entschieden:

  • Für die Unterputzmontage hätte ich einen größeren Teil der Außendämmung abnehmen müssen (und ggfs. wieder unterfüttern). Dabei hatte ich Bedenken ob es zum Einen eventuell Probleme bei der KFW Förderung geben könnte und zum Anderen wäre das eine endgültige Sache gewesen.
  • Falls man die Sprechanlage doch aus irgendeinem Grund später einmal austauschen möchte, habe ich kein großes Loch in der Dämmung.
  • Nadine war diese Lösung lieber.

Die Optik ist sicherlich Geschmackssache, jedoch wirken die verwendeten Materialien absolut hochwertig. Alles passt, nichts wackelt oder knarzt. Auch für den entsprechenden Feuchtigkeitsschutz ist ausreichend gesorgt worden.

Die Erstkonfiguration der T25 habe ich wie in der Anleitung beschrieben (jedoch ohne ein Verfügbares VoIP-Telefon) erledigt. Die weitere Konfiguration habe ich dann über das Webinterface der T25 vorgenommen. Als erstes bekommt die Sprechanlage eine IP-Adresse per DHCP zugewiesen, diese Adresse wird bei der erfolgreichen Erstkonfiguration über die Lautsprecher der Sprechanlage durchgesagt. Ich empfehle in der weiteren Konfiguration eine feste IP-Adresse zu vergeben. Die Einstellungsmöglichkeiten innerhalb des Webinterfaces sind mehr als ausreichend, leider ist jedoch vieles auf den ersten Blick nicht ganz ersichtlich. Man muss sich schon etwas „durchklicken“ bis man findet was man gerade braucht. Das kann man besser lösen.

Wirklich toll ist die Kamera. Die 180 Grad hemisphärisch ermöglichen ein komplettes Wand zu Wand und Himmel zu Boden Blickfeld, nichts bleibt verborgen. Auch die Auflösung der Kamera von 6MP ist mehr als ausreichend. Schön ist auch, dass man innerhalb des Webinterfaces unterschiedliche Kamera-Bilddarstellungen verwenden kann. Entweder als Fischauge, als Panorama oder Links,Rechts,Oben,Unten Ausschnitte – je nachdem was man gerade benötigt. Mir persönlich gefällt die Panorama Ansicht am besten.

Ebenfalls ist es möglich Bereiche der Kamera unkenntlich zu machen, entweder durch Farbig hinterlegte Objekte oder auch durch ein Mosaik. Hier sind einem keine Grenzen gesetzt, auch einzelne nicht zusammenhängende Objekte können erstellt werden.

Die Bewegungserkennung funktioniert tadellos, anhand dessen können vordefinierte Ereignisse ausgelöst werden wo beispielsweise automatisch Bilder oder ein Video per E-Mail verschickt werden. Lustig ist auch die Bildauswertung, dieser Modus ist beispielsweise in der Lage das Kamerabild anhand der vorhandenen Farben innerhalb des Bildes auszuwerten und daraufhin bestimmte Ereignisse bei Grenzwertüberschreitung ausführen, ein Beispiel: wenn innerhalb des Bildes mehr als 30% Gelb zu sehen ist, ist davon auszugehen das der Postbote samt Auto vor der Tür steht und das dann per E-Mail benachrichtigt wird. Ob ich das in der Praxis effektiv brauchen kann sei mal dahin gestellt, aber toll das man könnte wenn man denn wollte.

Als ganz besonders Praktisch hat sich sowohl der Zugang per RFID als auch per PIN erwiesen. In der letzten Zeit haben wir viel im Garten gearbeitet und haben maximal eine Schlüsselkarte dabei gehabt. Nicht lange mit dem Schlüssel zu hantieren hat uns dabei sehr gefallen:

Sicherheit

Gerade bei der Integration solch einer Türsprechanlage sollte man den Sicherheitsaspekt nicht außer acht lassen. Zwar bietet die T25 eine Sicherung gegen Diebstahl und Sabotage, auch die Module unterhalten sich untereinander über den Bus verschlüsselt, jedoch darf man dabei nicht vergessen das man mittels des Zweidraht Bussystems quasi direkt im Netzwerk des Hauses sitzt und einem Angreifer dies tatsächlich Tür und Tor öffnen könnte wenn er weiß wie. Deshalb ist es richtig und wichtig sich im Vorfeld darüber Gedanken zu machen wie dieses Problem elegant gelöst werden kann. In unserem Haus betreibe ich mehrere voneinander getrennte Netzwerke, welche mittels mehrerer Firewalls nur aus einer Richtung komplett uneingeschränkt erreichbar sind. Eines davon ist die Verbindung von der Fritzbox als „Internetmodem“ zur Firewall, dieses Netz bezeichne ich als „Transfernetz“.  Ideal also um die Türsprechanlage dort zu platzieren, aus folgenden Gründen:

  • Physikalische Trennung der Netze
  • Die Türsprechanlage soll die Fritzbox als SIP Gateway verwenden können, so entfällt nerviges weiterleiten von SIP/VoIP Multicasts zwischen den Netzen.
  • Ich erhalte ein Maximum an Sicherheit, da ein Angreifer als erstes die Hürde der Bus-Verkabelung nehmen muss und dann noch die sehr defensiv konfigurierte Firewall umgehen muss bevor er Zugriff auf das Netzwerk bekommt.
  • Ein direkter Zugriff aus dem Internet auf die Türsprechanlage ist ebenfalls unmöglich, da alle Ports von „Extern“ auf die Firewall weitergeleitet werden und keiner auf die Türsprechanlage selbst.

Generell gilt: Sobald man mit dem Thema Haus- Integration und Automation beginnt, sollte man sich auch Gedanken über die Sicherheit der Systeme machen. Denn das wird der erste Angriffspunkt einer Versicherung im Schadensfall sein um nicht zahlen zu müssen.

Integration Haussteuerung

Zum Thema Integration in meine bestehende Hausautomation mit IP-Symcon wird es einen separaten Post in der nächsten Zeit geben.

So sieht das Ganze dann in meiner IP-Symcon Visualisierung aus wenn geklingelt wurde:mobotix_ips

Abschließendes

Die Mobotix T25 ist eine Highend Türsprechanlage die keine Wünsche offen lässt. Für einen Setpreis von 1500 bis 2200 Euro sollte das auch der Fall sein. Die Qualität der Kamera ist hervorragend, nimmt allerdings bei zunehmender Dämmerung stark ab. Ebenfalls überzeugt hat mich die Haptik der Kunststoff Module, es fühlt sich in keiner Weise „billig“ an, es ist aber auch kein Edelstahl dem muss man sich vor dem Kauf bewusst sein. Der MX2Wire Bus verrichtet ebenfalls tadellos und zuverlässig seinen Dienst. Lediglich die Smartphone Apps welche Mobotix in die App Stores geworfen hat trüben das Bild leider etwas. Diese sind leider absolut unübersichtlich und funktionieren überhaupt nicht richtig. Hier täte sich Mobotix gut daran nachzubessern – ich bin nicht der Einzige der das anmerkt, einige Kritik diesbezüglich kursiert im Internet schon seit längerem jedoch scheint Mobotix auf diesem Ohr taub zu sein. Mein einziges Problem ist aktuell, dass sporadisch ein Klingeln an der T25 nicht an die konfigurierten Gegenstellen zur Signalisierung weitergegeben zu werden scheint, warum und unter welchen Voraussetzungen das passiert muss ich noch im Detail prüfen.

Auf unsere Anfrage bezüglich einer Unterstützung seitens Mobotix zu diesem Beitrag hat man uns leider nicht geantwortet – schade finden wir, denn wir hätten euch gerne mehr gezeigt!

Gaszähler BK-G4 an IP-Symcon anbinden

Wie schon im letzten Post zum Thema Hausautomatisierung angekündigt folgt nun der erste Basteltip. Nachdem ich bereits unseren intelligenten Stromzähler erfolgreich an IP-Symcon angebunden habe (Basteltip folgt) wollte ich mehr. Mehr Daten, mehr Transparenz. Wichtig zu erfassen sind meiner Meinung nach primär folgende drei Messwerte:

  • Energieverbrauch / Energie Einspeisung
  • Gasverbrauch
  • Wasserverbrauch

Entsprechend war der nächste Punkt klar, ich möchte meinen Gaszähler überwachen. Ich hatte zunächst angenommen, dass dies eine Aufgabe sein wird die durchaus komplizierter sein könnte. Doch ich hatte Glück, und unser Gaszähler vom Typ BK-G4 bietet im unteren Bereich des Zählers auf der rechten Seite eine Einbuchtung. An dieser Einbuchtung kann man einen Reed-Kontakt (Magnetschalter) platzieren. Charakterisierend für einen einfachen Reed-Kontakt ist es, dass dieser einen Kreislauf schließt sobald etwas Magnetisches in seine Nähe kommt. Bei dem Gaszähler ist das der Fall wenn sich die letzte Stelle des Zählers von 9 auf 0 ändert, also 0,01 cbm verbraucht wurde, weil genau an dieser Stelle des Segmentes ein Magnet innerhalb des Zählers eingebaut wurde, der genau für solche Einsatzzwecke gedacht ist. So ist es recht einfach Möglich den Verbrauch exakt zu speichern und später auszuwerten.

Was braucht man also ? Eine kleine Einkaufsliste:

Ihr fragt euch bestimmt, warum ein Raspberry Pi benötigt wird ? Nun der Gaszähler hat ja einen bestimmten Zählerstand (in der Regel wird dieser bei den wenigsten Lesern 0 betragen) und der Reed-Kontakt meldet uns nur einen Wechsel von 0 auf 1 (Kreislauf offen / geschlossen, low / high) nicht aber den Gesamtzählerstand welchen wir u.a. aber haben möchten. Um diese Daten im IP-Symcon halten zu können benötigen wir eine Schnittstelle, diese Schnittstelle stellt aus Hardware Sicht der Raspberry Pi dar.
Auf ihm läuft ein Bash Skript welches permanent auf den GPIO Pins lauscht und mitbekommt wenn der Kreislauf auf zwei vorher definierten Pins von low auf high wechselt und somit einen Stromkreis schließt. Wenn das der Fall ist, wird ein JSON Request an den IPSymcon Server abgesendet, diese Schnittstelle werden wir im weiteren Verlauf noch einrichten.

Das Skript für den Raspberry Pi sieht folgendermaßen aus:

[bash highlight=“4″]#!/bin/bash

# URL zur Ipsymcon JSON Schnittstelle
IPSURL=“http://<ipsymcon-server-ip-adresse>:9998″
# Identifier auf welchen dann die Ipsymvon JSON Schnittstelle reagiert
IDENTIFIER=“GAS_BKG4″
# GPIO Input Pin (auf welchen reagiert wird)
GPIO_PIN_IN=17
# Impulseinheit in Double (z.B. 1 Impuls entspricht 10.0 Einheiten oder 0.1 Einheiten)
UNIT=“0.01″
# DO NOT CHANGE
SCRIPTNAME=basename "$0"

if [[ ps aux | grep $SCRIPTNAME | wc -l -gt 4 ]]; then
exit 0
fi

if [[ ls -la /sys/class/gpio | grep gpio$GPIO_PIN_IN | wc -l -eq 0 ]]; then
echo „$GPIO_PIN_IN“ > /sys/class/gpio/export
sleep 0.5
echo „in“ > /sys/class/gpio/gpio$GPIO_PIN_IN/direction
sleep 0.5
fi
CURVAL=0
while true; do
PREVVAL=$CURVAL
CURVAL=cat /sys/class/gpio/gpio$GPIO_PIN_IN/value
if [[ $CURVAL -gt $PREVVAL ]]; then
JSON=“{\“Name\“:\““$IDENTIFIER“\“, \“Timestamp\“:\“date +%s\“, \“Values\“: [“
JSON=$JSON“{ \“Name\“:\“impulse\“, \“Value\“:\“1\“, \“Unit\“:\““$UNIT“\“}“
JSON=$JSON“] }“

curl -0 -i -X POST -d „json=$JSON“ $IPSURL &> /dev/null
echo $JSON
fi
sleep 0.1
done[/bash]

Das Skript setzt automatisch den definierten Eingangspin, sodass nichts weiter getan werden muss. Das Skript könnt ihr einfach jede Minute durch den Cron ausführen lassen:

[bash]# Gaszähler auslesen
*/1 * * * * root /opt/datacollector_bkg4.sh &> /dev/null[/bash]

Das Skript selbst gestattet nur eine Ausführung von sich selbst, somit ist der Aufruf über den Cron problemlos möglich.

Nun zur Verkabelung. Pin 1 dient hierbei als Stromversorgung mit 3V Ausgangsspannung, Pin 17 ist der Eingang wo bei Schließung des Stromkreises (wenn der Reed-Kontakt schließt) wieder die 3V Ausgangsspannung anliegen und somit ein Impuls erzeugt wird:

HM-GAS11

Pin 1 = 3V, Pin 17 = Eingang

Ein weiterer wichtiger Bestandteil der Lösung ist auf IP-Symcon Seite die vorhin angesprochene JSON Schnittstelle. JSON ist eine definierte Notation um Informationen zwischen verschiedensten Systemen auszutauschen. Es handelt sich hierbei konkret um ein PHP Skript welches mittels einer Register Variablen an einen Server Socket gebunden wird.

Doch zunächst erstellen wir das PHP Skript welches die eigentliche JSON Schnittstelle enthält und den JSON Request vom Raspberry Pi versteht und auch verarbeitet. Der Inhalt dieses Skriptes ist folgender:

[php collapse=“true“ highlight=“28″]
<?
// JSON Schnittstelle
// Schnittstellentyp: POST
// Schnittstelle nimmt POST Daten im JSON Format entgegen und speichert diese nach Definition in Variablen ab.
// Die Schnittstelle legt außerdem benötigte Variablen automatisch an.
//
// von: Daniel Schäfer (@gotteshand)
// Version: 1.1

if ($_IPS[‚SENDER‘] == „RegisterVariable“) {
$Handler = new IPSServerDataHandler($_IPS[‚INSTANCE‘], $_IPS[‚VALUE‘]);

$ok = $Handler->CheckData(function ($event) {
$data = ‚-1′;
$content = $event[‚content‘];

$result = null;
switch ($event[‚method‘]) {
case ‚GET':
break;
case ‚POST':
if (isset($content[‚json‘])) {
$json = json_decode($content[‚json‘]);

// Gaszähler
if (strtolower($json->Name) == „gas_bkg4″) {
foreach ($json->Values as $value) {
$variable_id = 4711; // !!!!!!!!!! ID ANPASSSEN !!!!!!!!!!

$ipsvalue = GetValue($variable_id);
$ipsvalue += ($value->Value*$value->Unit);
SetValue($variable_id, $ipsvalue);
}
}
}

break;
case ‚NOTIFY':
break;
case ‚CALL':
break;
}
return $data;
});
}

class IPSServerDataHandler
{
private $INSTANCE_ID = 0;
private $CALLBACKURL = “;
private $LAST_EVENT = null;
private $headLines = [];

function __construct($InstanceId, $value)
{
$this->INSTANCE_ID = $InstanceId;
$this->DATA = RegVar_GetBuffer($InstanceId).$value;
$this->DEBUG = $this->__read(‚DEBUG‘, 0);
if ($this->DEBUG) Debug(‚GET :‘.$this->DATA);
}

function CheckData($CallBack = null)
{
while ($ev = $this->__SplittEventData()) {
$sendData = ($CallBack) ? $CallBack($ev) : array(‚status‘ => ‚200 OK‘, ‚content‘ => “);
$this->__SendHttpResponse($sendData);
$this->LAST_EVENT = $ev;
}
$this->__write(‚LAST_REQUEST‘, „{$this->LAST_EVENT[‚method‘]}: „.ArrayToStr($this->LAST_EVENT[‚content‘]));
$this->__write(‚LAST_RESPONSE‘, ArrayToStr($sendData, 0, “));
RegVar_SetBuffer($this->INSTANCE_ID, $this->DATA);
return ($CallBack) ? (bool)$this->LAST_EVENT : $this->LAST_EVENT;
}

public function LastEvent()
{
return $this->LAST_EVENT;
}

private function __SplittEventData()
{
$methods = array(‚GET‘, ‚POST‘, ‚NOTIFY‘);
$content = $head = [];
$event = false;
$method = $mdata = “;
$dpos = $contlen = 0;
$lines = explode(„\n“, $this->DATA);
foreach ($lines as $lnum => $line) {
$dpos += strlen($line) + 1;
$line = trim($line);
if ($line) {
if (!$method) { // wenn noch keine methode gefunden wurde
foreach ($methods as $m) { // Zeile auf methoden prüfen
$find = preg_match(‚/‘.$m.‘ \/(.+)HTTP\//‘, $line, $matches);
if ($find) {
$method = $m;
$mdata = $matches[1];
break;
}
}
if ($method) {
$this->headLines = [];
continue;
}
}
$this->headLines[] = $line;
$m = explode(‚:‘, $line);
if (isSet($m[1])) {
$m[0] = strtoupper(trim($m[0]));
$head[$m[0]] = trim($m[1]);
if ($m[0] == ‚CONTENT-LENGTH‘) $contlen = (int)$m[1];
if ($m[0] == ‚CALLBACK‘) $this->CALLBACKURL = $m[1];
}
} else {
if ($contlen > 0) {
$content = substr($this->DATA, $dpos, $contlen);
$this->DATA = trim(substr($this->DATA, $dpos + $contlen));
} else {
$this->DATA = trim(substr($this->DATA, $dpos));
$content = $mdata;
}
break;
}
}
if ($method) {
$event[‚method‘] = $method;
$event[‚head‘] = $head;
$event[‚content‘] = ($content) ? $content : $mdata;
}
if ($event) $this->__prepareReadingData($event);
return $event;
}

// private function __prepareReadingData(&$Event){
public function __prepareReadingData(&$Event)
{
$data =& $Event[‚content‘];
$pa = null;
if (!$data || ($Event[‚method‘] == ‚NOTIFY‘)) return true;
if (($data[0] == ‚?‘) || ($data[0] == ‚&‘)) {
$pa = explode(‚&‘, substr($data, 1));
} else if ($Event[‚method‘] == ‚POST‘) {
$pa = explode(‚&‘, $data);
} else if ($Event[‚method‘] == ‚GET‘) {
if (preg_match(‚/(.*)\((.*)\)/‘, $data, $matches)) {
array_shift($matches);
$Event[‚method‘] = ‚CALL';
$da[‚name‘] = array_shift($matches);
$aa = array_shift($matches);
if ($aa != “) {
$da[‚arguments‘] = explode(‚,‘, $aa);
foreach ($da[‚arguments‘] as $k => $v) {
if (is_bool($v) === true)
$v = (bool)$v;
else if (is_numeric($v) === true) {
if (is_double($v) === true) $v = (double)$v;
else $v = (integer)$v;
}
$da[‚arguments‘][$k] = $v;
}
} else $da[‚arguments‘] = [];
$data = $da;
}
}
if (!$pa) return true;
$data = null;
foreach ($pa as $pl) {
$da = explode(‚=‘, $pl);
if (isSet($da[1])) {
$dn = array_shift($da);
if (strtoupper($dn) == ‚CALLBACK‘) {
$this->CALLBACKURL = implode(‚=‘, $da);
} else {
$data[$dn] = implode(‚=‘, $da);
}
}
}
return true;
}

private function __SendHttpResponse($Data = null)
{
$id = @IPS_GetInstance($this->INSTANCE_ID)[‚ConnectionID‘];
if (!$id) return false;
if (!$Data) $Data = array(‚status‘ => ‚200 OK‘);
if (!is_array($Data)) $Data = array(‚content‘ => $Data);
if (!isSet($Data[‚status‘])) $Data[‚status‘] = ‚200 OK';
if (!isSet($Data[‚content‘])) $Data[‚content‘] = “;
$res[] = „HTTP/1.1 {$Data[‚status‘]}“;
if ($Data[‚content‘]) {
if (!isSet($Data[‚size‘])) $Data[‚size‘] = strlen($Data[‚content‘]);
if (!isSet($Data[‚type‘])) $Data[‚type‘] = ‚text/plain';
$res[] = „CONTENT-TYPE: {$Data[‚type‘]}“;
$res[] = „CONTENT-LENGTH: {$Data[‚size‘]}“;
$res[] = „“;
$res[] = $Data[‚content‘];
}
$content = implode(„\r\n“, $res).PHP_EOL;
$this->__write(‚LAST_STATE‘, $Data[‚status‘]);
if ($this->DEBUG) Debug(‚SEND: ‚.$content);
return SSCK_SendText($id, $content);
}

private function __write($VarIdent, $VarData, $VarType = 3)
{
$id = @IPS_GetObjectIdByIdent($VarIdent, $this->INSTANCE_ID);
if (!$id) {
$id = IPS_CreateVariable($VarType);
IPS_SetParent($id, $this->INSTANCE_ID);
IPS_SetIdent($id, $VarIdent);
IPS_SetName($id, $VarIdent);
}
SetValue($id, $VarData);
}

private function __read($VarIdent, $VarType = 3)
{
$id = @IPS_GetObjectIdByIdent($VarIdent, $this->INSTANCE_ID);
if (!$id) {
$id = IPS_CreateVariable($VarType);
IPS_SetParent($id, $this->INSTANCE_ID);
IPS_SetIdent($id, $VarIdent);
IPS_SetName($id, $VarIdent);
}
return GetValue($id);
}

}

function ArrayToStr($a, $step = 0, $cr = „\n“)
{
if (!$a) return “; else if (!is_array($a)) return $a;
$r = “;
$sp = str_repeat(‚ ‚, $step);
foreach ($a as $k => $v) $r .= „$sp’$k’=“.(is_array($v) ? „[$cr{$sp}“.ArrayToStr($v, $step + 2).“$sp$sp]“ : „$v“).“$cr“;
return $r;
}

?>
[/php]

Der JSON Request enhält neben einigen Rumpfdaten immer auch einen Wert und dessen Multiplikator. Der Wert ist immer 1, der Multiplikator kann im Bash Skript angepasst werden – je nachdem an welcher Stelle der Reed-Kontakt ausgelöst wird.
Die Schnittstelle Multipliziert zunächst den Wert 1 mit dem Multiplikator und addiert dies dann zum eigentlichen Zählerstand hinzu. Der Zählerstand wird in einer Variablen gespeichert, welche manuell angelegt werden muss (als Typ Float). Dessen Variablen ID muss noch in Zeile 28 eingesetzt werden. Möchte man seinen aktuellen Zählerstand als Basiswert festlegen, ändert man einfach den Wert dieser Variablen ab.

Anschließend wollen wir einen neuen ‚Server Socket‘ unter dem Knoten IO-Instanzen erstellen (Insofern nicht schon vorhanden) und geben ihr den Namen ‚JSON Socket Listener':

2015-07-05 22_53_29-Instanz hinzufügen

Außerdem brauchen wir noch eine Register Variable welche wir unter dem PHP Skript anlegen welches wir vorhin erstellt und mit Leben gefüllt haben:

2015-07-05 22_54_27-Instanz hinzufügen

Als letztes müssen wir nur noch den Server Socket mit dem PHP Skript verbinden. Als Bindeglied dient uns die Register Variable. Hierzu öffnen wir die Eigenschaften der Register Variable und legen im folgenden Dialog im oberen Bereich die JSON Schnittstelle (PHP Skript) und im unteren Bereich den Server Socket fest:

2015-07-05 22_56_18-IP-Symcon Verwaltungskonsole

Nun haben wir Skript und Socket über die Register Variable miteinander verheiratet.
Zum Abschluss müssen wir die Schnittstelle noch aktivieren. Das tun wir indem wir die Eigenschaften vom Server Socket aufrufen:

2015-07-05 23_04_00-IP-Symcon Verwaltungskonsole

Eventuell müsst ihr den Port 9998 in eurer Umgebung anpassen und ggfs. auch in der Windows Firewall des Servers freigeben.

Zum Schluss noch ein paar Bilder die während der Installation geknipst wurden. Bei mir sitzt der Raspberry Pi direkt im Zählerschrank. Dorthin wurde auch über bestehende Leerrohre der Klingeldraht gezogen:

Wechsel von FHEM zu IP-Symcon

Lange ist der letzte Beitrag zum Thema Haussteuerung her, unterdessen hat das von mir entwickelte FHEM Frontend großen Anklang gefunden. Damit einhergehend stiegen natürlich auch die Ansprüche seitens der Community. Damit erhöhte sich der damit verbundene Aufwand meinerseits für die Entwicklung und die Tests, sodass ich mich gerne an die Community mit der Bitte um Unterstützung gewand habe. Leider war quasi niemand bereit sich an dem Projekt zu beteiligen, so dass ich mich am Ende dazu entschieden habe die Entwicklung am Frontend komplett einzustellen. Der Sourcecode liegt unterdessen auf Github und wartet darauf, dass sich jemand dessen annimmt. Eventuell Forke ich das Projekt auch und binde den Socket an die neue Automatisierung an – mal sehen.

Was kommt als nächstes ?
Die Frage habe ich mir selbst oft gestellt, habe viele Lösungen zur Hausautomatisierung unter die Lupe genommen. In der Endauswahl standen für mich Loxone oder IPSymcon.

Die Basisversion von IP-Symcon kostet 99,99 Euro dem entgegen stehen 493,85 Euro für einen Loxone Homeserver. Außerdem bietet IPSymcon an, dass System mittels der Programmiersprache PHP zu erweitern. Loxone verfolgt hier ein ganz anderes Konzept, welches sicher auch sehr interessant ist für Personen die sich eher in der Elektronik als in der Programmierung zuhause fühlen. Loxone Systeme werden mittels eines Logik Baukastensystems programmiert, d.h. man zieht sich innerhalb einer GUI beispielsweise UND, ODER Gatter oder Zählbausteine zur Hilfe und verbindet diese zu einer Gesamtschaltung die dann gewisse Dinge tun kann.

Ich habe zwar gelernt mittels Logikbausteinen Schaltungen aufzubauen, jedoch bin ich aus dem Thema seit über 18 Jahren raus und bewege mich deutlich sicherer auf der Seite der Programmiersprachen. Aus diesem Grund, und natürlich auch von den Anschaffungskosten, habe ich mich für IP-Symcon als Hausautomatisierungslösung unserer Wahl entschieden.

IP-Symcon ist nun seit gut einem halben Jahr bei uns im Einsatz und wird stetig erweitert und gewinnt zu meiner Freude immer mehr Akzeptanz bei meiner Frau die langsam aber sicher die Sinnhaftigkeit einer solchen Lösung erkennt :)

Klar ist auch, dass eine „fertige“ Lösung wie IP-Symcon weniger anpassungsfähig als ein selbst gebautes Frontend ist, aber es gibt die Möglichkeit das Frontend mittels einem eigenen Skin und CSS Techniken zu verschönern. Wem das nicht ausreicht, gibt es eine Software namens IPSView welche an IPSymcon andockt und mittels einem WYSIWYG Editor ganz schicke Gestaltungsmöglichkeiten für die Oberfläche bereitstellen. IPSView ist optional, allerdings habe ich diese kurz nach der Anschaffung gekauft und damit etwas herum experimentiert. Ich bin noch unsicher, ob ich lieber das mitgelieferte Webfrontend oder IPSView auf den Terminals im Haus einsetzen möchte.

Leider bietet IP-Symcon in der Basic Version nur die Möglichkeit ein Webfrontend zu haben, oftmals ist es ja so, dass man auf den unterschiedlichen Terminals ein auf der jeweiligen Auflösung angepasstes Frontend anzeigen möchte. Hier bietet IPSymcon eine Professional Version hat die dies neben einigen anderen coolen Features ermöglicht. In der Professional Version wird die maximale Variablenanzahl von 200 auf 1000 angehoben, was auch sehr praktisch ist. Leider ist die Anschaffung von 249,99 Euro nicht gerade günstig, ein Update von Basic auf Professional schlägt mit 179,99 Euro zu Buche.

Auf Kurz oder Lang war klar, die Professional muss her. Also erledigte ich das Upgrade kürzlich und bin nun auch mit den Webfrontend recht happy. Warum ? Nun in der Professional Version kommt auch ein Editor mit, mit dessen man nun auch die Seiten in Bereiche einteilen kann und so die Informationen übersichtlicher präsentieren kann.

Die Aktoranbindung (aufmerksame Leser wissen ja dass ich bisher nur Aktoren von Homematic einsetze) ging ebenfalls absolut unproblematisch über die Bühne. Es verrichtet bisher alles ohne großes Tamm Tamm seine Dienste sehr zuverlässig.

Aus diesem Grund wird es künftig wieder mehr zum Thema Hausautomatisierung von mir an dieser Stelle geben, nur eben nicht mehr mit dem Fokus auf FHEM sondern auf IP-Symcon.

Auch den einen oder anderen Basteltip möchte ich in naher Zukunft für euch bereitstellen, denn nicht immer muss man teure Sensoren oder Aktoren von der Stange kaufen. Nicht selten gibt es auch keine Komplettlösung am Markt, wo man am Ende einfach nicht drum herum kommt selbst etwas zu basteln.

Ihr dürft also gespannt sein!

 

Allgemeines zu Homematic, FHEM und co.

Ich dachte mir, ich versorge euch mal mit etwas Informationen zum Thema FHEM und Homematic, und speziell dem HMLAN von Homematic.

Homematic ist eine Produktlinie des Herstellers eq-3. Dieser wiederum ist eine Tochtergesellschaft der ELV Gruppe. Worüber man übrigens auch ganz einfach die Homematic Produkte beziehen kann.

FHEM ist ein OpenSource Projekt Initiiert durch Rudolf König. FHEM wird in meinem Fall eingesetzt als Ersatz zur Homematic Zentrale (CCU/CCU2 genannt). Durch FHEM ist es möglich Aktoren Herstellerübergreifend einzusetzen. Auch mit Eigenbau-Lösungen kann FHEM umgehen, falls nicht, könnte man sich das entsprechende Modul dazu selbst programmieren. FHEM ist weitestgehend in der Programmiersprache Perl geschrieben.

Die CCU/CCU2 von Homematic ist ebenfalls ein tolles Produkt und richtet sich an diejenigen welche ausschließlich Homematic Aktoren und Sensoren einsetzen möchten und natürlich an jenige die ohne Programmierkenntnisse auskommen können. Wenn dann Abhängigkeiten können auch hier gebildet werden.

Aktoren, Sensoren – was erzählt er da ? Nun, lasst mich das Thema ganz kurz oberflächig anreißen und erklären:
Aktoren sind Geräte die Dinge steuern können, wie z.B. ein Heizungsthermostat, Jalousien oder ganz trivial das Licht.
Sensoren hingegen sind Geräte die ihre Umwelt wahrnehmen können und in definierten Zuständen an die Zentralsteuerung (CCU/CCU2 oder FHEM) weitergeben.
Es gibt allerdings auch Aktoren die gleichzeitig Sensoren verbaut haben. Einer davon ist beispielsweise das Homematic Wandthermostat HM-TC-IT-WM-W-EU. Dieses kann weitere Aktoren ansteuern (Stellmotoren z.B.) und misst parallel die Temperatur, Luftfeuchtigkeit im Raum. Tolle Sache, in einem späteren Beitrag gibt es zu diesem Aktor mehr.

Da die Sensoren und Aktoren oftmals (so auch in meinem Fall) per Funk ihre Befehle bekommen oder die Zustände an die CCU oder FHEM melden, muss dazu eine Empfangseinheit her. Wenn man die CCU verwendet braucht man nichts weiter, diese hat eine sogenannte Bridge gleich eingebaut.
In meinem Fall benötige ich aber eine externe Bridge. Hier gibt es diverse Möglichkeiten sich auszustatten, wenn man so wie ich zunächst nur Homematic einsetzt kann man sich einen sogenannten Konfigurationsadapter zulegen, den HM-CFG-LAN oder HM-CFG-USB. Ich habe mich für den LAN Adapter entschieden, weil ich ohnehin fast überall Netzwerkdosen verbaut habe und zum anderen mein Rechner für die Haussteuerung im Serverrack im Keller steht => da würde der USB Adapter keinen Sinn machen.

So sieht der HM-CFG-LAN aus:

IMG_0975

IMG_0976

IMG_0978

Falls man Herstellerübergreifend Funkaktoren einbinden möchte z.B. FS20, Intertechno (Baumarkt) schaut im Onlineshop von Busware vorbei. Dort könnte der CUL433, CUL oder CUNO etwas für euch sein. Diese sprechen neben dem Homematic Funkprotokoll BidCoS auch weitere Funkprotokolle. Der CUL433 funkt außerdem auf der Frequenz von 433MHz sodass günstige Baumarkt Steckdosen angesteuert werden können. Homematic, FS20 und co. funken hingegen auf 868MHz.

Mittels dem Konfigurationsadapter HM-CFG-LAN ist es nun möglich, Homematic Aktoren und Sensoren zu paaren und über FHEM zu steuern.
Zunächst muss jedoch über die aktuelle Usersoftware für den LAN (oder auch USB Adapter) Adapter die AES Verschlüsselung deaktiviert werden und am Besten vergibt man in diesem Zuge auch gleich eine feste IP-Adresse.
Anschließend kann der Konfigurationsadapter in die FHEM Konfiguration aufgenommen werden:

Wichtig ist das bei der zweiten Zeile, wo im Beispiel ‚ABCDEF‘ steht ein Schlüssel eingetragen wird. Dieser Schlüssel sorgt dafür, dass kein anderer Konfigurationsadapter in der Nähe z.B. von eurem Nachbarn auf eure Homematic Geräte zugreifen kann. Dieser Schlüssel ist ein 3-Byte hexadezimaler Wert, also ein 6-Stelliger Code wo jede Ziffer Zahlen von 0 bis 9 oder einen Buchstaben von A bis F einnehmen kann.

Nun seid ihr Bereit eure Homematic Geräte mit dem Konfigurationsadapter und FHEM zu paaren.

Das Paaren geht ganz einfach:

  • In FHEM den Konfigurationsadapter in den Paarungsmodus versetzen eingeben.
  • Den Config Taster am Homematic Gerät kurz drücken.
  • Das Homematic Gerät wird nach einem Refresh der FHEM Seite angezeigt.

Ich hoffe ich konnte euch die Materie etwas näher bringen und euch eventuell auch etwas Appetit auf Homematic mit FHEM machen.

Daniel

Haussteuerung Smartphone und Tablet Version

Nachdem sich die Haussteuerung so langsam aber sicher einem Stand nähert den ich rausgeben könnte habe ich noch einen großen Punkt auf der ToDo Liste gehabt den es in den letzten Tagen galt abzuarbeiten.

Eine gute Steuerung macht nur dann Sinn wenn man diese nicht nur bedienen kann wenn man am Rechner sitzt sondern das ganze schön vom Sofa aus oder im vorbeigehen erledigen kann.
Sicherlich wollen viele, so wie ich auch, günstigere Tablets (z.B. iPad’s aus 2. oder 3. Hand) in die Wand einlassen oder zumindest per Halterung an der Wand befestigen um so die Haussteuerung angemessen nutzen zu können.

Unter dem Aspekt musste ich mir am Ende natürlich Gedanken um eine Tablet Version machen, die ich in den letzten Tagen nahezu fertiggestellt habe.

Wichtig ist, da die Tablets eigentlich ständig laufen und entsprechend das Display leuchtet, keine grelle Farbe als Hintergrund zu nehmen. Das kann des Abends im Dunkeln den Raum doch stark erhellen und am Ende eher störend sein.

Das ganze ist komplett Responsive und an den Websocket angedockt. Das bedeutet, dass Unwetterwarnungen und andere Erinnerungen (z.B. Müll rausstellen) ohne Neuladen der Seite direkt angezeigt werden.

So sieht die Oberfläche für die Tablets aktuell aus:

ÜbersichtsseiteErdgeschossWetter 1Wetter 2Wetter 3

 

Außerdem habe ich seit einiger Zeit eine Smartphone Version fertigstellt. Um diese nutzen zu können muss vorher ein sicherer VPN Tunnel via OpenVPN aufgebaut werden.

Auch hier der aktuelle Stand der Smartphone Version:

Foto 797 Foto 799 Foto 800 Foto 803 Foto 802 Foto 801 Foto 804 Foto 805 Foto 806

 

Weitere Informationen über die Haussteuerung  – wie z.B. welche Module implementiert sind – könnt ihr hier nachlesen: Die Haussteuerung

Update Haussteuerung – neue Funktionen

In Sachen Haussteuerung konnte ich einige neue Funktionen fertigstellen und habe eine unserer Webcams als Livestream in die Haussteuerung integrieren können. Das tolle dabei ist, ich kann die Kamera nun sogar Schwenken (Hoch, Runter, Links, Rechts, Patroullie).

Es kann generell jede Webcam angebunden werden, die Bilder auf einen FTP Server laden kann. Oder aber, so wir wir sie einsetzen, Kameras der Marke Instar (nicht teuer aber ganz passabel von der Qualität). Bei den Instar Cams kann sogar der Livestream abgefangen werden. Das sieht dann so aus:Screen Shot 2013-11-03 at 09.50.31

Es gibt ja diese tollen Netzwerkleuchten von Philips, welche ihre Farbe ändern können, genannt Hue. Hierzu habe ich eine Möglichkeit geschaffen diese Geräte anzusprechen und entsprechend die Helligkeit und Farbe der entsprechenden Leuchte zu ändern:Screen Shot 2013-11-03 at 10.06.56Screen Shot 2013-11-03 at 10.07.00

Um sich künftig Zeitschaltuhren sparen zu können, die ein Licht zu einer bestimmten Zeit ein oder ausschalten (ihr kennt die Dinger), kam einem Freund die Idee das man das ganze ebenfalls mit der Haussteuerung kombinieren könnte. Es können nun alle Geräte zu einem Tag und dessen Uhrzeit ihren Zustand ändern. Licht (an/aus), Heizung (Gradzahl ändern), Jalousie (hoch/runter), Steckdose (an/aus) und so weiter. Eingestellt wird das Ganze über eine globale Konfigurationsoberfläche:Screen Shot 2013-11-03 at 09.50.38

Wie war denn das Wetter im Verlauf des letzten Monats ? Das habe ich mich kürzlich gefragt, als der Termin für die Hausaufstellung immer näher rückte. Leider hatte ich bis dato noch keine Möglichkeit meine aufgezeichneten Wetterdaten in dieser Form auszuwerten, ich konnte nur ein paar Tage zurück schauen. Also habe ich diese Funktion integriert. Man kann nun bis zu 365 Tage zurück schauen, und sich den Wetterverlauf ansehen. Dabei dachte ich mir, es wäre doch cool, wenn ich das für alle Wertanzeigen machen könnte. D.h. überall dort wo irgendetwas mit Werten passiert, Licht ein/aus, Temperatur usw. werden diese Werte im Hintergrund mitgeschrieben und können ebenfalls auf die gleiche Art ausgewertet werden:Screen Shot 2013-11-03 at 09.51.18

Das Haus zu automatisieren und zu steuern ist der eine Teil, der andere Teil ist das ganze auch entsprechend zu visualisieren. Ihr könnt euch vorstellen, dass ist oftmals gar nicht so einfach. Derzeit bin ich dabei zu experimentieren wie ich alle wichtigen Informationen wie z.B. Stromverbrauch, Status der Fenster und Türen und Schalter (Alarm, An/Abwesenheit) auf eine Hauptseite integrieren kann. Zufrieden bin ich mit der Lösung derzeit noch nicht, aber es ist schonmal ein Anfang:Screen Shot 2013-11-03 at 09.50.51

Im Griechenlandurlaub kam Nadine die Idee, die Post it’s die man so schreibt zu digitalisieren. Gesagt, getan, ich habe mich am Pool dran gemacht das ganze umzusetzen, und innerhalb weniger Stunden war es dann soweit. Funktioniert ganz gut, man hat die Möglichkeit für sich selbst eine Zettelfarbe zu wählen die als Preset ausgewählt wird, man kann allerdings jederzeit die Farbe des Zettels ändern, falls man mal etwas Wichtiges mit zu teilen hat (dann z.B. in Rot). Außerdem können auch Bilder über diesen Weg veröffentlicht werden. Das ganze findet natürlich seinen Platz auf einer Pinnwand die jedem User im Intranet zur Verfügung steht.

Außerdem gibt es nun einen Bereich in dem jeder Benutzer seine Einstellungen personalisieren kann. Hintergrundbild, Farbe des Post it’s, Passwort ändern etc.

Soweit zu den Neuigkeiten die es zum Thema Haussteuerung zu berichten gibt. Ihr seht, auch hier geht es voran :)

Weitere Screenshots und Infos findet ihr auf der Haussteuerung Seite.