Entries tagged as erfahrungsbericht

Homematic CCU2 - Viel Gefrickel

Ein wenig Hausautomation ist ja heutzutage in und HUE Lampen oder zeutgesteuerte Thermostate fast schon Steinzeit. Also wollte ich auch auf den fahrenden Zug der Hausautomation aufspringen und ein bisschen ausprobieren. Da ich in einer/unserer Wohnung wenig Sinn in viel Automation sah (mit Ausnahme der Lampensteuerung), beschfäftigte ich mich in der Praxis nicht weiter mit dem Thema, wollte es aber nicht ganz außen vor lassen. Naja, und so stöberte ich dann doch mal hier und da ein wenig und ließ mich schließlich von einem Bekannten überzeugen, der mir seine Homematic präsentierte.

Das sah alles ganz toll aus und funktionierte gut. Fenstersensoren? Heizungsthermostate? Rauchmelder? Alles Standardgeräte, die man kennt. Also verglich ich ein paar Preise und sah mir Alternativen an, bis ich letzten Endes zur Homematic CCU2 griff. Die Homematic IP Version kam für mich nicht in Frage, weil ich meine "Haussteuerung" nicht über eine Cloud betreiben will. An- und Abwesenheiten, "Internas" usw. will ich nicht bei irgendeinem Anbieter liegen haben; selbst wenn's der Hersteller ist.

Also bestellte ich mir die ganzen Brocken und fing an das ganze einzurichten. Schnell stellte sich Ernüchterung ein, weil von Komfort hier keine Spur zu erkennen ist. Vieles wirkt unübersichtlicht, technisch und ist tatsächlich - aus meiner Sicht - umständlich bis kompliziert einzurichten. Die Oberfläche ist hässlich und oft muss man anders denken, wenn man Regeln erstellen will. Und will man ein wenig mehr machen wie E-Mail-Versand oder Lampensteuerung, kommt man ohne (rudimentäre) Programmierkenntnisse nicht aus, weil man sich für gefühlt alles, was über die Basics hinausgeht, ein Script programmieren muss. Schnelle Alarmmeldungen unterwegs erhalten? Einfache Statusabfragen oder eine Überischt via Handy? Auch fast Fehlanzeige, denn der Hersteller bietet für die CCU2 keine App an und die Alternativen sind.....: naja.

Ihr lest schon: zufrieden bin ich nicht. Und vermutlich werden jetzt die Homematic Bastler auf mich eindreschen wollen, aber so ist es nun einmal.

Was machte und probierte ich jetzt in der Zwischenzeit?

Nun, zunächst einmal wollte ich, dass Fenstersensoren erkennen, wenn ein Fenster oder die Balkontür geöffnet wird. In Verbindung damit sollen alle Lampen auf volle Helligkeit und in weiß eingeschaltet werden. Und das ganze natürlich nur, wenn keiner da ist. Am besten soll auch gleich eine Meldung verschickt werden. Ach, und der Brandmelder in der Garage soll natürlich auch melden, wenn dicke Luft herrscht und mir am besten eine Meldung schicken.
Soweit so gut, aber dann begann das Gefrickel, das aktuell immerhin in den meisten Fällen wenigstens funktioniert.


- Zuerst lernte ich Fenstersensoren an der CCU2 an, was problemlos klappte
- Im nächsten Schritt lernte ich den Homematic IP Rauchmelder an, was anfangs nicht funktionierte, dann aber möglich war, nachdem ich einen Reset des Melders durchführte und ihn über "Homematic IP Gerät mit Internetzugang anlernen" anlernte

HUE-Lampen ansteuern

Danach frickelte ich mir ein Script zusammen, das die Hue Lampen einschaltet.
Dazu musste ich:

- Cux-Daemon runterladen und auf der CCU2 installieren
- Einen Benutzer auf der Hue Bridge generieren
- Lampen IDs auslesen
- Ein Script basteln

Hierbei halfen mir u.a. folgende Anleitungen:

https://www.technikkram.net/2017/04/philips-hue-per-homematic-steuern
http://homematic.simdorn.net/philips-hue-mit-homematic-steuern/
http://www.appproject.de/Hausautomatisierung/Hue/PhilipsHueHomematic.html
https://www.sgiersch.de/hue-leuchte-mit-einer-ccu-2-steuern/
http://www.schimpfen.de/wordpress/philips-hue-led-lampen-mit-homematic-steuern/

Also mit mal eben schnell und einfach war hier schonmal nix. Die Lightify Kopplung scheint da schon unkomplizierter zu sein, aber das sah ich mir nicht weiter an, weil ich keine Osram Leuchtmittel habe.
Also lud ich mir CuxD runter, installierte es und machte dann auf der Hue Bridge mit der Benutzeranlage weiter. Danach las ich die Lampen IDs aus und machte mich an das Script, in dem ich testweise erstmal nur eine handvoll Lampen einbaute:


!Mehrere Hue Lampen Einschalten
!------------------------------
!__IP Adresse der Hue Bridge
string ip_address = "192.168.x.x";

!__User ID in der Bridge
string api_key="EsT5lLmRPjp...";


!----Wohnzimmerregal---
string lamp ="4";
string reqdata="{\"on\":true, \"sat\":255, \"bri\":255,\"hue\":35000}";
string request="/usr/local/addons/cuxd/curl -X PUT -H \"Content-Type: application/json\" -d '" # reqdata # "' http://" # ip_address # "/api/" # api_key # "/lights/" # lamp # "/state/";
dom.GetObject("CUxD.CUX...:1.CMD_EXEC").State(request);

!----Couch---
string lamp ="2";
string reqdata="{\"on\":true, \"sat\":255, \"bri\":255,\"hue\":35000}";
string request="/usr/local/addons/cuxd/curl -X PUT -H \"Content-Type: application/json\" -d '" # reqdata # "' http://" # ip_address # "/api/" # api_key # "/lights/" # lamp # "/state/";
dom.GetObject("CUxD.CUX...:1.CMD_EXEC").State(request);

!----Stehlampe---
string lamp ="3";
string reqdata="{\"on\":true, \"sat\":255, \"bri\":255,\"hue\":35000}";
string request="/usr/local/addons/cuxd/curl -X PUT -H \"Content-Type: application/json\" -d '" # reqdata # "' http://" # ip_address # "/api/" # api_key # "/lights/" # lamp # "/state/";
dom.GetObject("CUxD.CUX...:1.CMD_EXEC").State(request);

!----Flurecke---
string lamp ="7";
string reqdata="{\"on\":true, \"sat\":255, \"bri\":255,\"hue\":35000}";
string request="/usr/local/addons/cuxd/curl -X PUT -H \"Content-Type: application/json\" -d '" # reqdata # "' http://" # ip_address # "/api/" # api_key # "/lights/" # lamp # "/state/";
dom.GetObject("CUxD.CUX...:1.CMD_EXEC").State(request);


Natürlich fragte ich mich erstmal, wo so ein Script hinterlegt wird und ob das auch mehrfach wiederverwendet werden kann. Nun, so wie es aussieht ist das nur in der jeweiligen Regel möglich und bedeuet immer Copy & Paste oder man macht aus der Regel/dem Programm ein neues, das quasi als Vorlage dient.

Abwesenheitsprüfung

Um die Lampen beim Öffnen eines Fensters in Abwesenheit einzuschalten, brauchte es aber noch eine Anwesenheitsprüfung. Also grübelte und rätselte ich, wie das umgesetzt werden kann und auch das war wieder nicht einfach zu machen, sondern an mehreren Stellen.

1. Zunächst musste ich also in die Systemvariablen und nahm dort die Variable "Anwesenheit". Für "wahr" und "falsch" gab ich als Wertebezeichnung "anwesend" und "nicht anwesend" an. Doch wie weiter? Wie sollte ich der CCU2 beibringen, dass sie merkt, dass keiner da ist? Jaaaa, wäre ja auch zu einfach, aber nein.

2. Man muss jetzt in die Geräteübersicht und sich einen Schaltaktor anlegen; in meinem Fall ein "Funk Wandtaster 2-fach", weil ich zwei Smartphones überwachen wollte. Was? "Funk Wandtaster"? "Schaltaktor"? Smartphones überwachen? Äh ja. Genau. Die An- oder Abwesenheit kann am einfachsten geprüft werden, wenn man ein ein Smartphone im WLAN anpingt und antwortet es, ist man eben anwesend und wenn nicht, dann nicht. ^^ Aber diesen Status bzw. die Abfrage muss man an ein Gerät koppeln. *seufz*

3. Damit die Smartphones auch über die jeweilige Funktion auf immer und ewig angepingt werden können, brauchen sie im Idealfall - besser: zwingend - eine feste IP. Und die muss man auf dem Heimrouter den Geräten erstmal verpassen.

4. Danach wählte ich auf der CCSU2 besagten "Funk Wandtaster 2-fach" und dessen Einstellungen. Darin legte ich fest:

- SWITCH|ACTIVE (Haken gesetzt)
- SWITCH|IP_DNS_ADS: 192.168.x.x (die feste IP Adresse des 1. Smartphones)
- SWITCH|Port: 0
- SWITCH|INTERVAL_ALIVE: 60
- SWITCH|INTERVAL_FAIL: 60
- SWITCH|MAX_RETRY: 0
- SWITCH|THRESHOLD: 1
- die letzten beiden Einträge ließ ich leer


Dieselben Einstellungen nahm ich auch für das zweite Smartphone vor, natürlich mit der entsprechenden festen IP des Geräts.

5. So, nun haben wir 'nen Schalter. Und jetzt? Großes Rätselraten. Weiter geht's mit den Programmen. Doch bevor wir zur eigentlichen Regel - oder hier "Programm"- kommen, müssen wir ein davor ein anderes Programm erstellen, damit die CCU2 auch in der Lage ist, den An- und Abwesenheitsstatus zu speichern ^^ Und das nannte ich: "Smartphones Anwesenheitssteuerung":


Bedingung: Wenn...
Geräteauswahl - Smartphone 1 bei Schaltzustand: ein bei Änderung auslösen
ODER
Geräteauswahl - Smartphone 2 bei Schaltzustand: ein bei Änderung auslösen

Aktivität: Dann... Vor dem Ausführen alle laufenden Verzögerungen für die Aktivitäten beenden (z.B. Retriggern) => Haken rein
Systemzustand Anwesenheit sofort anwesend

Bedingung: Sonst, wenn...
Geräteauswahl - Smartphone 1 bei Schaltzustand: aus bei Änderung auslösen
UND
Geräteauswahl - Smartphone 2 bei Schaltzustand: aus bei Änderung auslösen

Aktivität: Dann... Vor dem Ausführen alle laufenden Verzögerungen für die Aktivitäten beenden (z.B. Retriggern) => Haken rein
Systemzustand Anwesenheit sofort nicht anwesend


Soweit so gut. Soll also heißen: wenn eins der Smartphones auf anpingen nicht reagiert, weiß die CCU2, dass es nicht anwesend zu sein scheint
und setzt den Status für das Gerät, also die Variable oder was auch immer, auf: "nicht anwesend". Ist das Gerät (wieder) verfügbar, wird dessen
Status auf: "anwesend", gesetzt. Es reicht, wenn ein Gerät online ist, denn dann ist ja jemand daheim, aber sobal beide offline sind, ist eben keiner daheim.
Daher auch die Auswahl von ODER und UND.


Sensorstatus auslesen

6. Nach zig Vorbereitungen kam ich dann endlich zum eigentlichen Programm, das ich "Alle Sensoren und Hue Aktivierung" nannte:


Bedingung: Wenn...
Geräteauswahl Fenstersensor 1 bei offen bei Änderung auslösen
UND
Systemzustand Anwesenheit bei nicht anwesend nur prüen

ODER
Geräteauswahl Fenstersensor 2 bei offen bei Änderung auslösen
UND
Systemzustand Anwesenheit bei nicht anwesend nur prüen

ODER
Geräteauswahl Fenstersensor 3 bei offen bei Änderung auslösen
UND
Systemzustand Anwesenheit bei nicht anwesend nur prüen

Aktivität: Dann... Vor dem Ausführen alle laufenden Verzögerungen für die Aktivitäten beenden (z.B. Retriggern) => Haken rein
Skript: (Hier das oben genannte Script reinhauen) ... sofort
Systemzustand Alarmzone 1 sofort ausgelöst


Was macht das "Programm" jetzt? Nun, es überprüft den Status der Fenstersensoren auf Änderungen und hier fiel ich direkt auf die Nase, denn für mich wäre logisch gewesen: "Wenn geschlossen und der Status ändert sich, dann". In Homematic Sprache: "bei geschlossen bei Änderung auslösen". Aber das war falsch! Es muss genau umgekehrt lauten! Eben: "bei offen bei Änderung" auslösen. ^^ Nun gut.
Das Script, das ich eingangs erwähnte muss jetzt hier eingebaut werden. Und der Punkt mit der "Alarmzone 1"? Zu dem komme ich gleich.

Ok. Öffnet man jetzt ein Fenster und befindet sich keins der Smartphones mehr im Netzwerk, werden die jeweiligen Lampen eingeschaltet (weiß, 100% Heligkeit).

Alarmmeldung und (Android-)App

Klasse. Wie aber verhält es sich mit einer Alarmmeldung und wie kann ich prüfen, was sich daheim tut? Nun, auch das kann man ermöglichen, mit ein wenig Bastelarbeit.
Es gibt in den CCU2 Variablen eine sogenannte "Alarmzone 1", die man heranziehen kann und die die Werte "ausgelöst" und "nicht ausgelöst" bietet. Diese kann man dann in enem Programm wie in obigem verwenden.
Die Benachrichtigung unterwegs bzw. die schnelle Statusabfrage ist wieder mit Hürden verbunden.

Ich verwende die Android App "Home24" (es gibt auch noch die inzwischen umbenannte TinyMatic (vorher HomeDroid)) und deren Widgets sowie Alarmfunktion. Auf dem Handydesktop legte ich mir Widgets für die Anwesenheits Statusanzeige sowie für die Stati der Sensoren an, aaaaber es wäre nicht Homematic, wenn das mal eben schnell getan wäre. Nein, man muss zunächst Systemvariablen definieren, auf die man zurückgreift. Also vorher wieder zurück auf die CCU2 und unter "Systemvariablen" Variablen für die Sensoren anlegen.
Ich nannte meine Variablen: "Status Sensor 1" und "Status Sensor 2 und 3".

Beispiel für Sensor 1:


Name = Status Sensor 1
Beschreibung = Fenster X
Variablentyp = Logikwert
Werte = wahr = geschlossen; falsch = offen
Maßeinheit = leer
Kanalzuordnung = ohne


Weshalb die Werte bei mir für "wahr" "geschlossen" und für "falsch" "offen" lauten hat den Grund, dass ein geschlossenes Fenster für mich der korrekte, als "wahre" Zustand ist und ein offenes eben nicht.

Jetzt konnte ich jeweils ein Widget hinzufügen und darüber die jeweilige neu erstellte Variable auswählen. Ist ein Fenster geschlossen oder ein Smartphone anwesend wird dies über einen grünen Haken angezeigt. Ansonsten ist der grüne Haken raus.
AAAABER: Dies ist natürlich erst möglich, nachdem die die App konfiguriert wurde, sodass der Zugriff auf die CCU2 aus der Ferne möglich ist, was wiederum einen DynDNS Account erfordert. Zudem muss die XML API abgefragt werden, was bedeutuet, dass man auch hier im Vorfeld wieder vorbereitend tätig werden muss, indem man auf der CCU ein XML File hochläd, das man hier beziehen kann: https://www.homematic-inside.de/software/addons/item/xmlapi

Die Aktualisierungszeit sollte danach in den Einstellungen der App dann auf den niedrigst möglichen Wert, hier 2 Minuten, gesetzt werden und der Eintrag "Alarm aktivieren" unter "Anzeige und Alarmeinstellungen" aktiviert werden. Idealerweise legt man sich noch ein Widget für die manuelle Aktualisierung auf dem Desktop an, da die automatische Aktualisierung nach meiner Erfahrung oftmals fehlschlägt. ^^

So funktioniert das ganze schonmal ganz gut. Lästigerweise rappelt das Telefon allerdings zwischendurch wie oft und alarmiert mich über eine Änderung der Sensoren, obwohl keine stattfand. Das muss ich noch irgendwie ändern, denn ansonsten ist die Funktion unbrauchbar.

E-Mail-Benachrichtigung

Will man sich per E-Mail benachrichtigen lassen, hat man nochmal richtig Spaß, denn eine Standardfunktion bietet Homematic hierfür auch nicht an.
Man muss sich wieder ein kleines Paket installieren, das man hier beziehen kann: https://www.homematic-inside.de/software/email
Eine Anleitung zur Konfiguration findet sich hier: http://www.christian-luetgens.de/homematic/e-mail/einrichtung/Einrichtung.htm#chapter_3
Eine Anleitung zum Versand generell findet sich hier: http://www.christian-luetgens.de/homematic/e-mail/servicemeldungen/Servicemeldungen.htm

Leider ist auch hier wieder ein wenig Programmierwissen vonnöten, weshalb so manch einer direkt scheitern dürfte und wie der Ochs' vorm Berg steht. Mir war es eindeutig zuviel Gefrickel, weshalb ich von dieser Lösung erstmal absah und die Alarmmeldung der Home24 App verwende, sofern sie denn sauber funktioniert, wobei der Auslöser der Fehlalarme ein Sensor, ein Programm, die CCU2 oder weiß der Kuckuck was sein kann.
Zudem kann man beim Versand der Testmail in der Mailanwendung auf der CCU2 schnell verzweifeln, da der Test in den meisten Fällen fehlschlägt, was aber mit der Konfiguration zusammen hängen dürfte.
Die funktionierenden Einstellungen für den Versand über GMX seien zum Beispiel:

SMTP Server: mail.gmx.net
Absender: meine.mailadresse@gmx.de
Authentifikation: LOGIN
Port: 465
Verschlüsselte Verbindung (TLS): Haken rein
STARTTLS deaktivieren (bei Port 465): Haken rein
Benutzername: meine.mailadresse@gmx.de
Passwort

Im Zweifelsfall hilt einem die Hilfefunktion bei der Einrichtung weiter, wenn man einen anderen Anbieter verwendet und der Testversand partout nicht klappen will. Ansosten findet man hierzu auch unzählige Seiten im Internet.


So, und vielleicht verteht der eine oder andere jetzt, weshalb ich die Anlage für umständlich und für sicherlich einige Benutzer zu kompliziert im Umgang halte. Andere Anbieter lösten das sicherlich komfortabler.
Ich werde mal sehen wie ich weiter mit der Homematic agiere. Mir mühsam immer alles zusammensuchen zu müssen ist mir einfach zu lästig und an x Stellen etwas zu basteln zuviel. Jetzt läuft ja aber erstmal alles. Also schauen wir mal.

FireTV Stick: Lass mal seh'n !

Am Samstag erhielt ich die E-Mail über den Versand des neuen Fire TV Stick und gestern nachmittag holte ich ihn aus der Packstation.

Der Lieferumfang des kleinen Kartons besteht aus:

- FireTV Stick
- Fernbedienung
- USB-Kabel (ca. 1,50m)
- Netzteil mit USB-Anschluß
- WLAN Extender
- 2 AAA Batterien für die Fernbedienung

Den Stick verband ich schnell mit dem Extender und steckte ihn in einen freien HDMI Port meines Fernsehers und verband Stick und TV mit dem USB-Kabel, das ich einfach in einen freien USB-Port des Fernsehers steckte. Danach schaltete ich den TV ein, wählte den entsprechenden HDMI-Eingang als Bidlquelle aus und erlebte erstmal einen Boot-Loop, der auch immer wieder die Auflösung umschaltete. Offenbar reichte die Spannung des USB-Ports nicht aus und so verband ich den Stick mit einem anderen Port und die Schleife hörte auf. Im Menü angelangt meldete mir der FireTV Stick erstmal, dass ich ihn mit dem beiliegenden Netzteil betreiben soll, um alles nutzen zu können.
Das finde ich schon wieder nervig, denn zum einen baumelt der Stick schon an dem Extender und zum anderen hängt mir jetzt noch ein USB-Kabel hinter'm Fernseher herum, das zudem in einem dicken Netzteil steckt, für das ich auch noch einen Platz in der ohnehin schon ausgereizten Steckerleiste suchen muss.

Naja, nachdem also alles verkabelt und eingesteckt war, ging's an die Einrichtung. Der Stick suchte nach der Fernbedienung und fand sie nach kurzer Zeit, wonach es an die WLAN Verbindungseinstellungen ging. Auch das lief problemlos und FireTV begrüßte mich mit meinem Namen und ein Comic erklärte mir die Nutzung und die Funktionen.
Doch danach stellte sich erst einmal Ernüchterung ein. Die WLAN-Verbindung wurde permanent unterbrochen, sodass eine Navigation im Menü ebensowenig möglich war wie das Streamen von Inhalten. Der Systemstatus zeigt mir an, dass die Verbindung "Sehr gut" sei, aber davon merkte ich nichts. Also steckte ich kurzerhand meinen Repeater in eine nahegelegene Steckdose und wartete....und wartete.....und wartete. Denn während alle anderen Geräte ihre WLAN-Verbindung zur Fritz!Box kurz unterbrachen, um sich nach kurzer Zeit mit dem Repeater zu verbinden, blieb der FireTV Stick weiterhin offline, zeigte aber dennoch sehr gute Verbindung an. Aha !
Dies ließ sich erst beheben, als ich meine SSID und damit meine Verbindung in den Netzwerkeinstellungen des Sticks verwarf. Ich ließ ihn neu suchen, authentifizierte mich erneut und schon war der Stick mit dem Repeater verbunden, was mir ein Blick in die Verwaltung des Repeaters wie auch der Fritz!Box bestätigte.

Und jetzt konnte es endlich losgehen. Alles läuft flüssig und reibungslos. Die Wiedergabe von Medien (Audio und Video) klappt problemlos und Videos werden, je nach verfügbarer Bandbreite, in entsprechend (schlechterer) Qualität angezeigt. Die Fernbedienung lässt sich intuitiv benutzen und Sprünge zurück ins Menü oder die Navigation während der Wiedergabe klappt schnell blind.
Steuern lässt sich der Stick auch über die kostenlose App für Android und iPhone. Nervig ist bei dieser nur die erstmalige Einführung, die man nicht überspringen kann. Aber dann ist sie einfach und funktional und bietet auch die Steuerung von FireTV per Sprache, wie man es von der optionalen Fernbedienung (aufpreispflichtig) für die Amazon FireTV Box kennt.

Schade nur, dass man den Stick nicht ausschalten kann und er somit immer an ist, solange das Netzteil eingesteckt oder er mit einem ausreichend Strom liefernden USB-Port verbunden ist. Und auch die eine oder andere Status-LED hätte ihm gut getan, die die WLAN-Aktivität oder die Stromversorgung anzeigen.

Weshalb ich jedoch heute morgen eine E-Mail von Amazon erhielt, in der mir mitgeteilt wurde, dass auf mein FireTV ein Update aufgespielt wurde und ich nun "XRay" nutzen könne und die Möglichkeit zum Anschluss eines externen Datenträger zwecks Speichererweiterung hätte, erschließt sich mir nicht, denn ich habe Amazon Fire TV (als Box) nicht, sondern nur den Stick. Und der bietet keine Anschlussmöglichkeit für externe Datenträger und "XRay" ist auch nachwievor nicht verfügbar. :\

Als nächstes werde jedenfalls ich die Installation des kompletten Amazon App Stores sowie die Installation von Kodi per Sideload angehen. Sollte etwas schiefgehen, wäre es aufgrund des Kaufpreises von 19,- € nicht ganz so wild, sollte der Stick danach gebricked sein. :-)

Page 1 of 1, totaling 2 entries