Wie es manchmal so ist, kann ein einziges Ereignis das ganze Leben verändern. So auch die Geburt meines ersten Kindes. Das ist mit der Grund dafür, warum das basteln aktuell eine etwas niedrigere Priorität bekommen hat.

Aber natürlich gibt das Kind hin und wieder auch Anlass etwas am Haus zu verbessern. Denn aktuell ist Schlaftrainig angesagt und immer wenn abrupt das Nachttischlicht ausgeschaltet wird, ist erstmal “alarm“.

Daher war die Überlegung, das Nachtlicht nicht plötzlich auszuschalten sondern langsam auszudimmen – ähnlich wie bei einem Sonnenuntergang. In der Hoffnung, dass das Kind dadurch nicht erschrickt und das einschlafen leichter fällt.

Natürlich war schon eine kleine Lampe mit LED Leuchtmittel, welches man sogar dimmen könnte, vorhanden und an einer Steckdose angeschlossen. Und tatsächlich sind an meinem Dimmaktor noch zwei Anschlüsse frei. Jedoch hätte ich dazu diese eine schaltbare Steckdose so umverdrahten müssen, das sie eben nicht mehr über einen Schaltaktor läuft sondern über den Dimmaktor. Es wäre die einzige im Haus und irgendwie fühlte sich das nicht richtig an. Zumal ich auch alle anderen Steckdosen im Zimmer auf eine andere Phase (des 5×1.5 welches die Steckdosen speist) hätte umverdrahten müssen – das war mir zu aufwändig.

Stattdessen wollte ich die gleiche Technik nutzen, die auch schon im Garten eingesetzt wird: Zigbee.

Dann habe ich eine Wippe am Lichtschalter so programmiert das die 2-Kanal-Bedienung aktiviert wird, so dass ich einmal einen kurzen und einen langen Tastendruck auslösen kann. Die Idee:
– Der kurze Tastendruck fährt überall im Obergeschoss die Rollos runter, schaltet diverse Lichter aus und bereitet alles zum “Ins Bett gehen” vor.
– Der lange Tastendruck startet dann den Dimmvorgang. Es soll innerhalb von 5 Minuten von der maximalen Helligkeit auf “aus” gedimmt werden.

Meinem Programmierprinzip folgend habe ich in der ETS “nur” Kommunikationsobjekte für die beiden Tastenaktionen gemacht und den Rest mache ich dann im Homeserver durch eine kleine Logik:

Logik im Gira Homeserver zur Steuerung des Sonnenuntergangslichts
Logik zur Steuerung des Sonnenuntergangslichts

Bei der Ausgangsbox “geht ins Bett” werden wie beschrieben Rollos herunter gefahren und die Lichter im Flur ausgeschaltet.

Bei der Ausgangsbox “licht dimmen” bzw “licht reset” wird über “Web-Seiten abfragen” eine URL aufgerufen. Denn schon alleine aus Entwicklungs- und Testgründen (den Homeserver muss man ja bei jeder Änderung neu starten) wollte ich den ganzen Dimmvorgang nicht über Sequenzen oder ähnliches steuern, sondern einfach nur der deCONZ-API mit einem Aufruf mitteilen “stelle das Licht so und so ein und nimm dir dafür 300 Sekunden Zeit”. Das habe ich dann als PHP-Script gelöst, welches einfach auf meinem NAS liegt und auf Knopfdruck vom Homeserver aufgerufen wird.

Aufruf einer Webseite im Gira Homeserver 2
Aufruf einer Webseite im Homeserver 1
Aufruf einer Webseite im Gira Homeserver 2
Aufruf einer Webseite im Homeserver 2

Ich werte im Script noch einen GET-Paramter aus, um die Lampe auch vom gedimmten Zustand wieder auf “ungedimmt” wechseln zu können. Hier mein Script.

<?php
	header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
	header("Cache-Control: post-check=0, pre-check=0", false);
	header("Pragma: no-cache");

	class ApiLightStateSet {
		public $bri = 0;
		public $ct = 0;
		public $on = true;
		public $colormode = "ct";
		public $transitiontime = 0;
	}
	
	$apiPath = "http://IP-DES-DECONS-GATEWAYS:8080/api";
	$apiKey = "APIKEY";
	$uid = "LAMPEN-UID";
	
	$apiPath .= "/" . $apiKey . "/lights/" . $uid . "/state";
		
	$action = $_GET["a"];
	if ($action == "dim")
	{		
		setBrightness(254, 362, 0);
		sleep(2);
		setBrightness(0, 362, 0);
		sleep(2);
		setBrightness(254, 362, 0);
		sleep(2);
		setBrightness(0, 500, 3000);
	}
	else if ($action == "res")
	{
		setBrightness(254, 362, 0);
	}
	
	function setBrightness($bri, $ct, $transitiontime)
	{
		$data = new ApiLightStateSet();
		$data->on = ($bri > 0);
		$data->bri = (int)$bri;
		$data->ct = $ct;
		$data->transitiontime = (int)$transitiontime;
		sendApiData($data);
	}
	
	function sendApiData($data)
	{
		global $apiPath;
		if ($data)
			$jsonData = json_encode($data);
		
		$curl = curl_init();
		curl_setopt($curl, CURLOPT_URL, $apiPath);
		curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'PUT');
		curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonData);
		curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: ' . strlen($jsonData)));
		$response = curl_exec($curl);		
		if ($response)
		{
			$json = json_decode($response);
			var_dump($json);
		}
		curl_close($curl);
	}
?>

Wie man erkennen kann wird beim starten des Dimmens zuerst die Lampe einmal kurz ein- und ausgeschaltet. Das ist die optische Rückmeldung, dass das Dimmen gestartet wurde.

Ergebnis: Das Licht geht nun auf Knopfdruck von hellweiß auf ein ganz dunkles warmweiß und schließlich aus. Das ganze in einer Zeit von ca. 5 Minuten.
Und so wie es aussieht, hilft es dem Kind beim einschlafen.

Wie in den anderen Beträgen schon erwähnt, möchte ich die Ambiente-Beleuchtung meines Gartens mit Zigbee umsetzen, damit ich das Licht (Farbe, Helligkeit, usw) vom Smartphone oder natürlich auch automatisch steuern kann.

Hier habe ich die Installation den Gateways beschrieben und hier die Ambiente-Licht des Grill Pavillons.

In diesem Beitrag soll es jetzt um die Beleuchtung des Teiches gehen.
Für diesen habe ich mir 4 Zigbee GU10 Leuchmittel und 4 Erdspießleuchten (ohne Leuchtmittel) besorgt.
Diese haben blöderweise ein fest eingschweistes (und damit Wasserfestes) Anschlusskabel – was natürlich immer zu kurz ist. Doch dazu gleich.

Erstmal die cleveren Leuchtmitteln in die Lampen einbauen:

Wegen der immer zu kurzen Anschlusskabel muss ich die Kabel irgendwie Wasserfest verlängern. Bei meiner Suche nach einer Lösung vielen mir dann diese IP68 Muffen von Pollin in die Hände, wovon ich umgehend ein paar bestellt habe. Gibt es nicht nur als T-Stück, sondern auch als Verlängerung. Die Fotos sind schon bei der Montage am Teich entstanden.

Damit konnte ich dann mein Anschlusskabel mit den Lampen verbinden. Über KNX schalte ich also jetzt “nur noch” den Strom der Ambientebeleuchtung (per Szene gehen alle Leuchten auf einmal an), die Farbe und Helligkeit steuere ich dann über Zigbee. Auch dafür habe ich mir noch etwas ausgedacht, aber das ist ein anderes Projekt… 😉

So, sieht der fertige Teich jetzt aus.

Teich mit Beleuchtung und Wasserfall
Teich mit Beleuchtung und Wasserfall

(Handy-Foto im dunkeln. Entschuldigt das Bildrauschen und auch die Lichtstimmung kommt nicht richtig rüber)

Wie schon bei Version 1.0 des Grillpavillons angekündigt, möchte ich auch wenn ich nicht grille den Pavillon mit etwas Ambiete-Beleuchtung erhellen, so wie auch den ganzen restlichen Garten.

Natürlich habe ich direkt an RGB LED Streifen gedacht, die ich aber auch über KNX steuern möchte. Doch nun erstmal die Hardware, zur Steuerung kommen wir später.

Ich habe mir also 2x 5m LED Streifen bestellt, mit der typischen infrarot Fernbedienung. Das Ganze ist natürlich Wasserfest (IP68). Und da ich möglichst viel Licht haben möchte, habe ich RGBW Streifen gewählt. Also sitzt dort alle paar cm auch eine weiße LED und der Streifen hat 4 Kanäle die ich separat steuern kann (rot, grün, blau und weiß).

Trotzdem lassen sich die Streifen alle paar cm mit einer normalen Schere zerschneiden. Mit einem Messer kann man an den vorgesehenen Stellen einfach die Schutzschicht abschneiden und dann an den vorhandenen Lötpads Kabel anlöten um z.B. zwei Streifen “um die Ecke” mit einander zu verbinden. Danach wieder Schrumpfschlauch drauf (wegen Wasserfest) und fertig.

Und, damit das Licht etwas mehr gestreut wird, habe ich mir Aluminium Profile mit einem entsprechenden Aufsatz besorgt.

Aluminiumprofil mit diffuser Abdeckung
Aluminiumprofil mit diffuser Abdeckung

Zuerst habe ich mir überlegt wie ich das Aluminiumprofil am Pavillon befestigen soll. Denn das vorhandene Gestänge ist rund, das Profil aber gerade, bzw. eckig. Ich brauche also einen Adapter. Endlich mal wieder ein (sinnvoller) Fall für den 3D-Drucker.

Ich habe also einen Adapter entworfen und unter jeder 2m Schiene Profil 4 Adapter befestigt. Die runde Seite kommt auf das Pavillon Gestänge. Die Kerben sind für Kabelbinder – so muss ich nicht Bohren. Das Profil klebe ich einfach mit üblichen Konstruktionskleber auf meine Adapter – fertig.

Hier gibt es natürlich auch wieder die STL-Datei für den Adapter.

Und so sieht das ganze dann fertig montiert aus. Schon sehr schön, aber eben nur mit der dusseligen Fernbedienung zu steuern.
Das darf so natürlich nicht bleiben und da ich alles an Ambiente-Beleuchtung im Garten ja mit Zigbee lösen möchte, habe ich mir für den LED Streifen einen entsprechenden RGBW-Zigbee-Controller besorgt.

Verkabelung Zigbee RGBW Controller

Ich habe die 5 Adern des Strips mit einem 8-Adrigen Kabel bis in meine kleine Verteilerbox geführt. Die Stecker des mitgelieferten Netzteiles habe ich gekürzt und direkt an die schon gelegte Verkabelung angeschlossen.

Zigbee Controller am RGBW Stripe

Sieht etwas wild aus, aber wenn man in der Kiste dann etwas auräumt, dann ist es ok und der Deckel passt super drauf.

Zigbee Controller im Verteilerkasten

Warum es jetzt gerade Zigbee geworden ist, könnt Ihr hier nachlesen.

Nachdem ich bei den letzten Versuchen Probleme mit der mechanischen Stabilität der Platine/MOSFET/Kupferschicht hatte, habe ich mir für die Außenbeleuchtung nun etwas anderes überlegt: Zigbee!

Stein des Anstoßes war mein neuer Teich, den ich schön beleuchten wollte. Erdspießlampen gibt es genug aber wenn man das RGBW steuerbar haben möchte, dann wirds teuer.
Also dachte ich mir ich kaufe günstige Lampen ohne Leuchtmittel und setze eine GU10 RGBW Birne rein, die ich dann über den Bus steuern kann. Sowas selbst zu bauen ist sicher möglich, aber aufgrund des geringen Platzes bestimmt fummelig, so dass ich hier auf fertige Technik setzen werde.
Und das, was im Moment scheinbar am weitesten verbreitet ist, ist Zigbee.
Ich habe mir also 4 Erdspieß-Lampen und 4 RGBW Zigbee GU10 Leuchtmittel bestellt.

Als Basis möchte ich einen Raspberry mit dem Conbee 2 einsetzen. Das ist ein USB Stick, mit dem man den für Zigbee nötigen Controller erzeugen kann. Und es gibt eine REST-API um andere Systeme anzubinden.

Neben den Teichlampen werde ich die ganze Ambiente-Beleuchtung des Gartens mit Zigbee lösen, also auch die Beleuchtung des Grillpavillons mit einem Zigbee Controller umsetzen. Diese gibt es fertig und erschwinglich zu kaufen und sie passen in meine Unterverteilung beim Pavillon.

Installation Conbee

Ich habe also einen rumliegenden Raspberry 3 genommen und erstmal raspian installiert. Danach die grafische Benutzeroberfläche deaktiviert (raspi-config) und lt. Anleitung den Stick bzw. die Software “deCONZ” installiert.

Danach die Software mittels

deCONZ -platform minimal --http-port=8080

gestartet und schon konnte ich mit einem Browser darauf zugreifen, meine Lampen anlernen und danach auch sofort bedienen.

deCONZ Lampensteuerung

Ich habe den Start der Software so umgesetzt, das es bei Systemstart automatisch passiert. Dafür nutze ich das Tool “screen”.

nano /etc/rc.local

#Start Deconz
screen -d -m deCONZ -platform minimal --http-port=8080

Ein paar wichtige Hinweise:
Die sqlite Datenbank für deCONZ liegt im Homeverzeichniss des Benutzers, der die Anwendung startet (bei mir root). Also kann sie mit sqlite3 /root/.local/share/dresden-elektronik/deCONZ/zl1.db editiert werden. Ein Passwort für die Datenbank wird nicht benötigt.
Dort werden z.B. die Lampen, aber auch authentifizierte Dritthersteller-Apps gespeichert. (Wichtig, wenn man so eine App mal wieder löschen will. Das geht über das Frontend aktuell nicht).

Anbindung an KNX

Leider ist es so, das KNX nicht so viel von Zigbee kennt. Selbst RGB(w) Leuchtmittel sind scheinbar “nicht mal eben” eingerichtet. Eigentlich sehr schade.
Aber ich möchte natürlich in meinem Garten auch etwas “besonderes” machen und stelle mir tatsächlich “animiertes” Licht vor. Also vielleicht kleine Effekte, aber zumindest nicht immer die gleiche Farbe, sondern leicht variierende Farbtöne, schön sanft über geblendet.
Bei meinen Recherche nach entsprechender Technik bin ich über dieses Produktvideo bei Youtube gestolpert:

Nicht ganz “so fett”, aber schon so ähnlich möchte ich es haben.

Wegen der oben genannten Punkte scheint mir also eine Steuerung über KNX bzw. den Gira Quadclient nicht (sinnvoll) möglich zu sein. Ich werde also selbst etwas entwickeln müssen, aber bis dahin kann ich zumindest über “deCONZ” die Lampen über Funk/Zigbee steuern.