| Version 1.0 | 22.01.2011 | Initialversion |
Hausautomation
Neubert & Volmar
| Unsere Hausautomation beruht auf den Systemen FS20 und X10. Die Steuerung erfolgt mittels eines Hausautomationsservers und der Software fhem. Ziel war es, die von der Firma Velux stammenden funkferngesteuerten Rolladen (Abbildung der Fernsteuerungen: rechts) für drei Dachflächenfenster in die Hausautomation zu integrieren. Da mit fhem ansprechbare Interfaces von der Firma Velux nicht angeboten werden, wurde das im folgenden beschriebene Interface selbst entwickelt. |
|
Dazu kommt das Board AVR-NET-IO von Pollin zum Einsatz. Der im Bausatz mitgelieferte Mikrocontroller wurde durch einen ATMega644 von Atmel ersetzt, um für künftige Erweiterungen gewappnet zu sein. Der Mikrocontroller wurde mit der Firmware Ethersex versehen. Aus dem Intranet heraus kann über telnet ein Dialog mit der Firmware geführt werden, wobei die Skriptsprache ECMD (Ethersex Command) verwendet wird.
Von den beiden Versorgungsspannungen des AVR-NET-IO werden 3,3 V abgegriffen, um die Fernbedienungen und die im folgenden beschriebene Schaltung zu versorgen.
Die Platinen der Fernbedienungen werden aus ihren Gehäusen genommen und die 3V-Knopfzellen entfernt. Die Anschlüsse für die Versorgungsspannung sowie die Anschlußleitungen der drei Taster werden paarweise herausgeführt. Mit den drei Tastern wird der Rolladen, der an die Fernbedienung angelernt wurde, hochgefahren, angehalten oder heruntergefahren.
Das Schalten der Taster übernehmen bilaterale Analogschalter, von denen jeweils vier in einem IC vom Typ SN74HC4066 stecken. Es werden insgesamt drei ICs benötigt, um alle 12 Taster zu betätigen.
Um I/O-Pins am AVR-NET-IO zu sparen und sicherzustellen, daß immer nur eine Taste gleichzeitig gedrückt werden kann, erfolgt die Ansteuerung der SN74HC4066 mit zwei 3-to-8-Line-Dekodern/Demultiplexern vom Typ 74HCT238. Insgesamt 9 der 16 Ausgangsleitungen werden mit den Steuereingängen der Analogschalter verbunden. Von Port 2 des ATMega, der auf der 25-poligen Sub-D-Buchse des AVR-NET-IO herausgeführt wird, werden dann vier Bits fü die Bestimmung des zu schaltenden Steuereingangs und ein Bit für das eigentliche Betätigen der Taste verwendet.
Das folgende Bild zeigt den Aufbau des aktuell verwendeten Prototyps mit einem Dekoder und einem Analogschalter auf einem Experimentierboard.
# Self-made interface for Velux Remote Control
# 2011-01-17bn
#
# these are the numbers of the buttons as hex chars from 0 to f;
params btnup btnstop btndown
# setter definitions for opening, stopping and closing the shutters
set up cmd {"io set ddr 2 ff\nio set port 2 1%btnup\nwait 1000\nio set port 2 00"}
set stop cmd {"io set ddr 2 ff\nio set port 2 1%btnstop\nwait 1000\nio set port 2 00"}
set down cmd {"io set ddr 2 ff\nio set port 2 1%btndown\nwait 1000\nio set port 2 00"}
Die Definition in der Konfigurationsdatei von fhem lautet wie folgt:
define AVRNETIO ECMD telnet 192.168...:2701 attr AVRNETIO room I-Interfaces set AVRNETIO classdef VeluxRC .../VeluxRC.classdef # Velux Rolladen define 3.kiz.roll ECMDDevice VeluxRC 1 0 2 attr 3.kiz.roll room 3-DG define 3.kiz.roll.log FileLog /data/Homeautomation/logs/cache/3.kiz.roll.log 3.kiz.roll:.* attr 3.kiz.roll.log room 3-DGUm die Rolladen dann abhängig vom Sonnenstand und Wochentag zu öffnen und zu schließen, werden diese Kommandos verwendet:
define at.sunrise.3.kiz.roll.wd at *{sunrise(1800,"06:20")} { fhem("set 3.kiz.roll up") if(!$we) }
define at.sunrise.3.kiz.roll.we at *{sunrise(1800,"08:00")} { fhem("set 3.kiz.roll up") if($we) }
define at.sunset.3.kiz.roll.1 at *{sunset(-1800,"00:00","19:30:00")} set 3.kiz.roll down