Guten Abend,
ich verfolge dieses Forum hier schon einige Zeit und habe schon sehr viele sehr nützliche Tipps und Anleitungen hier gelesen.
Heute möchte ich Euch mal vorstellen, wie ich ein sehr komfortable Lösung gefunden habe, die Geräte die bei mir zu Hause für die Alarmanlage vorgesehen sind “scharf” zu schalten. Das Ziel war dabei über den Aufruf einer URL von dem Mobiltelefon die Alarmanlage scharf zu schalten und über die Pushfunktion ein Feedback zu erhalten, dass entweder alle Module scharf geschaltet wurden, oder eine Meldung zu erhalten, welche Module nicht scharf geschaltet werden konnten.
Die URL habe ich dann über ein Icon auf dem Mobiltelefon mit Hilfe eines Workflow Tools (https://my.workflow.is/) installiert und ohne Browser aufrufen lassen.
Hier also das Script für die Szene:
local alarmModules = {1,2,3,4,5}; -- Die IDs der Module die scharf geschaltet werden sollen
local Count = 0;
local err = "";
-- Durchlaufen der oben angegebenen Module
for Index, Value in pairs( alarmModules ) do
Count = Count + 1;
-- Prüfen, ob das Modul bereits schaft geschaltet ist.
if (fibaro:getValue(alarmModules[Count], "armed")=='0') then
-- wenn nicht, scharf schalten
fibaro:call(alarmModules[Count], 'setArmed', '1');
end
-- prüfen ob das Scharfschalten funktioniert hat
if (fibaro:getValue(alarmModules[Count], "armed")=='0') then
-- wenn nicht, erstellen einer Liste mit den Geräten die nicht scharf geschaltet werden konnten und beim ersten Modul noch eine Einleitung schreiben
if(err=="")then
err = "Folgende Geräte konnten nicht geschaltet werden: \n"..fibaro:getName(alarmModules[Count]);
else
-- Merken der Namen der Geräte um sie zu verschicken
err = err..",\n "..fibaro:getName(alarmModules[Count])
end
end
end
-- Wenn Geräte nicht scharf geschaltet werden konnten, dann senden der Liste mit den entsprechenden Modulen.
-- Wenn alle Module scharf geschaltet wurden, dann nur per push bestätigen.
if(err~="")then
fibaro:call(12, "sendPush", err);
else
fibaro:call(12, "sendPush", "Alarm eingeschaltet!");
end
Falls jemand das Script gebrauchen kann, einfach kopieren und oben die Liste mit den IDs der Module ersetzen die bei euch eingeschaltet werden sollen und die ID (12) in den unteren Zeilen mit der ID Eures Mobilgerätes ersetzen.
Abschließend noch die URL die zum Starten der Szene benutzt werden kann:
http://benutzer:passwort@IP-Adresse/api/sceneControl?id=ID_der_Szene&action=start
oder mit Beispieldaten:
http://user1:passwort1@192.168.7.23/api/sceneControl?id=12&action=start
Der Aufruf der URL setzt jedoch voraus, dass Ihr Euch entweder im lokalen Netz befindet, oder per VPN mit Eurem Haus verbunden seit.
Ich habe mich für VPN On-Demand entschieden. Dazu habe ich hier eine sehr gute Anleitung gefunden:
http://www.meintechblog.de/2015/02/vpn-on-demand-zwischen-iphone-und-fritzbox-einrichten/
Für mich sind jetzt bei dieser Szene noch zwei Punkte offen:
- Wie kann ich in der Szene erkennen, welcher Benutzer die Szene gestartet hat? Damit ich z.B. wenn meine Frau die Alarmanlage einschaltet Ihr eine Nachricht schicken lassen kann und nicht Ihr eine eigene Szene bereitstellen muss.
- Wo finde ich die Push Nachrichten, wenn diese nicht mehr auf dem Startbildschirm zu sehen ist? Kann ich die in der App von Fibaro irgendwo wiederfinden um noch mal zu sehen, welche Module nicht scharf geschaltet werden konnten?
Falls jemand eine der Fragen beantworten kann, bin ich für jeden Tipp dankbar.
Schönen Abend