Robins Blog – Technik und Multimedia

Olympia Protect 9061 – mit WLAN Alarmanlage aus und einschalten

Update 29.05.2016 Blog-Beitrag erweitert: Screen-Shot Webinterface
Update 21.10.2015 Blog-Beitrag erweitert: Alarm aus- und einschalten mit Fhem und Telegram

wlan switchDie Alarmanlage mit dem Smartphone ein- und auszuschalten gehört schon zu den Features, die sich manche Hersteller gerne bezahlen lassen. Ich stelle Euch hier eine Möglichkeit vor, wie man per WLAN Eure Olympia Protect (-> Erfahrungsbericht Olympia Protect 9061, oder den Blogbeitrag) ein- und ausschalten könnt, quasi die mitgelieferte Fernbedienung emuliert.

Vorteil der ganzen Aktion: Ihr benötigt nur noch die mitgelieferte Fernbedienung, welche natürlich auseinander genommen werden muss (die Taster müssen mit Kabel herausgeführt werden). Gerade wenn man eine große Familie hat, kann man sich so Geld sparen: Man ruft eine feste IP auf, und derjenige, der zuletzt aus dem Haus geht, schaltet komfortabel die Alarmanlage an. Oder man hat im Büro vergessen, zuhause die Alarmanlage einzuschalten, kein Problem. Per VPN verbinden (bei Fritzbox geht das einfach), und schon kann man das aus der Ferne nachholen.

Die Zutaten:
NodeMCU bei amazon.de: NodeMCU

Relais mit Optokoppler: 2 Kanal 5V Relay Relais Module Modul für Arduino Special Sensor Shield V4.0
ggf. Netzteil 5V und Micro-USB-Kabel.

NodeMCU: Was kann das Teil? Einfach mal die Doku lesen (-> Doku). Hier fungiert der NodeMCU als Webserver mit WLAN-Funktionalität, welcher je nach Klick auf einer Schaltfläche (Alarmanlage ein, aus usw.) an dem digitalem Ausgang  D1, D2, D3 ein Signal zum Relais gegeben wird, welcher dann die „Taste“ der Fernbedienung drückt.

Einen Blog-Beitrag zu dieser Anlage habe ich geschrieben (Blog-Beitrag). Die Anlage kann man kaufen bei Amazon.de  OLYMPIA Protect Alarmanlagenset 9061 5943

Quelltext, als init.lua speichern:

wifi.setmode(wifi.STATION)
wifi.sta.config("SSID","DeinWLANPasswort")
print(wifi.sta.getip())
led0 = 1
led1 = 2
led2 = 3
gpio.mode(led0, gpio.OUTPUT)
gpio.mode(led1, gpio.OUTPUT)
gpio.mode(led2, gpio.OUTPUT)
srv=net.createServer(net.TCP)
srv:listen(80,function(conn)
conn:on("receive", function(client,request)
local buf = "";
local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP");
if(method == nil)then
_, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP");
end
local _GET = {}
if (vars ~= nil)then
for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do
_GET[k] = v
end
end
buf = buf.."<HTML><h1> Olympia Protect 9061 WLAN Alarm-Switch</h1>";
buf = buf.."<p>Alarm ausschalten <a href=\"?pin=ON0\"><button>&nbsp&nbsp OK&nbsp&nbsp </button></a></p>";
buf = buf.."<p>Haus-Alarm einschalten <a href=\"?pin=ON1\"><button>&nbsp;&nbspOK </button></a></p>";
buf = buf.."<p>Alarm einschalten <a href=\"?pin=ON2\"><button>&nbsp&nbsp OK&nbsp&nbsp </button></a></p>";
buf = buf.."<p>Lautlos-Alarm einschalten <a href=\"?pin=ON3\"><button>&nbsp&nbsp OK&nbsp&nbsp </button></a></p></HTML>";
local _on,_off = "",""
if(_GET.pin == "ON0")then
gpio.write(led1, gpio.LOW);
tmr.delay(1000000);
gpio.write(led1, gpio.HIGH);
elseif(_GET.pin == "ON1")then
gpio.write(led2, gpio.LOW);
tmr.delay(1000000);
gpio.write(led2, gpio.HIGH);
elseif(_GET.pin == "ON2")then
gpio.write(led0, gpio.LOW);
tmr.delay(1000000);
gpio.write(led0, gpio.HIGH);
elseif(_GET.pin == "ON3")then
gpio.write(led0, gpio.LOW);
gpio.write(led2, gpio.LOW);
tmr.delay(5000000);
gpio.write(led0, gpio.HIGH);
gpio.write(led2, gpio.HIGH);
end
client:send(buf);
client:close();
collectgarbage();
end)
end)

Den Programm-Code muss man mit dem Esplorer eingeben: http://esp8266.ru/esplorer

Die NodeMCU-Firmware und weitere Informationen bekommt ihr hier: https://github.com/nodemcu/nodemcu-firmware

Ich habe noch fertig geflashede NodeMCUs hier, falls jemand Interesse zum Nachbauen hat, kann sich per eMail oder unten in den Kommentaren bei mir melden.

Update: 21.10.2015 -> Aus- und Einschalten der Olympia Alarmanlage mit Fhem.
Hier eine kurzer Programm-Code, wie man per Fhem die Alarmanlage komfortabel ein- oder ausschalten kann.


Hier klickt man in Fhem auf an und schon fängt der Countdown der Olympia Alarmanlage herunterzuzählen.
define alarm dummy
attr alarm alias Olympia Alarmanlage ist
attr alarm devStateIcon an:message_attention@red aus:message_attention@green
attr alarm devStateStyle {($state eq "an")?'style="color:red"':'style="color:green"'}
attr alarm group Alarm-Einstellungen-Cameras
attr alarm room IP-Camera
attr alarm webCmd an:aus

define alarmAUS notify alarm:aus {\
Log 1, "OlympiaAlarmAUS";;\
{system("wget -q -O- 'http://EureWLANSwitchIP/?pin=ON0'");;}\
}\

define alarmAN notify alarm:an {\
Log 1, "OlympiaAlarmAN";;\
{system ("wget -q -O- 'http://EureWLANSwitchIP/?pin=ON3'");;}\
}\

Idealerweise könnt ihr auch per Telegram (-> siehe Blog-Beitrag) die Anlage von überall auf der Welt ohne Firewall ein- und ausschalten. So gebt ihr das Keyword ein und sendet per Telegram.

MeinKeyword set alarm on

oder

MeinKeyword set alarm off

Fhem bestätigt dann den erhaltenen Befehl mit:
XXX: cmd: set alarm aus: result OK

Aber auch ohne Fhem ist es möglich im eigenen WLAN die Anlage ein- und auszuschalten. Über eine spezielle (feste) IP wird ein Webinterface aufgerufen, bei welchem man die Anlage aus- und einschalten kann.

Und wie immer, bei Fragen, fragen.
[sgmb id=“1″]

Die mobile Version verlassen