Dank einer neuen Partnerschaft von siio.de mit der Webseite smsflatrate.net ist es nun möglich, mit dem Fibaro HomeCenter, SMS Nachrichten auf euer Handy zu versenden oder euch mit Text-to-Speech-Anrufen über neuste Ereignisse im Smarthome zu informieren.
Warum soll ich mir eine SMS senden, wenn das Fibaro HomeCenter doch Push-Mitteilungen von Haus aus unterstützt? Gute Frage... Es gibt aber einen wesentlichen Vorteil von SMS (Short Message Service) gegenüber von Push-Mitteilungen. SMS funktioniert auch ohne vorhandenes Internet am Handy. So könnt Ihr euch also auch über Ereignisse in eurem Haus informieren lassen, wenn Ihr in Gegenden unterwegs seid, in denen das Mobilfunknetz noch nicht so gut ausgebaut ist, oder Ihr eventuell im Ausland unterwegs seid. Allein das ist schon ein großer Vorteil. Wir gehen aber mit diesem Skript noch einen Schritt weiter:
Neben SMS können auch "Text-to-Speech"-Calls durchgeführt werden. Dabei erhaltet Ihr einen Anruf und ein durch euch vorgegebener Text wird nach Annahme des Telefonates durchgesagt. Wie bereits im Eingangspost erwähnt, setzen wir diesen Service zusammen mit unserem neuen Partner smsflatrate.net um. Hier fällt keine Grundgebühr, keine langfristigen Vertragslaufzeiten, oder ähnliches an und es werden nur die tatsächlichen verschickten Nachrichten abgerechnet.
Dieser Service kann leider nicht umsonst betrieben und aufrecht erhalten werden. Deshalb fallen beim Betreiber des Service Nutzungsgebühren an. Diese werden pro versendeter Nachricht, beziehungsweise pro versuchtem TTS-Call (unabhängig ob der Anruf entgegengenommen werden kann, oder nicht) berechnet. Die Nutzungsgebühren (Preisliste) belaufen sich auf:
- 11 Cent pro versendete SMS
- 13 Cent pro TTS-Call (Festnetz)
- 25 Cent pro TTS-Call (Mobilfunknetz)
Wenn Ihr euch die oben verlinkte Preisliste anschaut, dann ist euch sicherlich aufgefallen, dass wir für den SMS-Versand die Gateways 10 und 11 nutzen. Dies hat den Hintergrund, dass diese beiden Gateways zu den schnellsten Gateways gehören. Unserer Einschätzung nach, ist dies in einem Alarmfall extrem wichtig, weshalb wir uns dazu entschieden haben, diese beiden Gateways zu nutzen.
Anmeldung bei smsflatrate.net
Um den Service nutzen zu können, benötigt Ihr ein Kundenkonto bei dem Anbieter. Dieses Konto könnt Ihr euch über die Seite smsflatrate.net erstellen. Dort habt Ihr die Möglichkeit, mit einer speziellen Lizenznummer zusätzliches Guthaben zu sichern. Wenn Ihr euch als siio-User dort anmeldet, dann erhaltet Ihr 2 € Bonusguthaben.
Es müssen dazu ein paar Steps durchgeführt werden: Ruft als erstes die Seite auf. Hier findet Ihr rechts oben den Link zur Anmeldung. Hier bedarf es einiger persönliche Daten. Pflichtfelder (einem * (Sternchen) gekennzeichnet), müssen ausgefüllt werden.
Nun müsst Ihr euch noch mit dem siio-Lizenzschlüssel 215100100 (alternativ über das Pull-Down-Menü) einen AppKey generieren. Dieser App Key, welcher die Nutzung des Services erlauft, muss später in dem Skript eingetragen werden.
In dem Bilderkarussel haben wir euch für jeden einzelnen Step Screenshots gemacht und die wichtigen Stellen rot markiert. In der jeweiligen Bildbeschreibung findet Ihr noch weitere Details.
WICHTIG: Um das hier gepostete Skript zu nutzen, benötigt Ihr den generierten AppKey. Mit einem anderen Key funktioniert das Skript nicht.
[carousel arrows="display" buttons="display"] [panel] [/panel] [panel] [/panel] [panel] [/panel] [panel] [/panel] [panel] [/panel] [panel] [/panel] [panel] [/panel] [/carousel]Damit habt Ihr alle möglichen Schritte der Registration durchgeführt. Als nächstes kommen wir dann zu der Konfiguration des Skriptes für das Fibaro HomeCenter 2.
Notwendige Konfigurationen am SMS Skript
Es müssen ein paar kleine Optionen an dem Skript angepasst werden. Auf diese Optionen gehen wir im folgenden ein. Am Anfang des Skriptes findet Ihr den "Options-Header". Hier können alle wesentlichen Dinge an einer Stelle festgelegt werden. Dies sieht folgendermaßen aus:
1 2 3 4 5 |
local numbers = {HANDYNUMMER} local app_key = 'APP-KEY' local sender = 'HomeCenter' -- Keine Umlaute, Leerzeichen oder Sonderzeichen local action = 'sms' -- sms/tts-call/both local sms_type = 'sms' -- sms/flashsms |
Wir gehen die fünf Optionen einfach mal einzeln durch, damit am Ende keine Missverständnisse auftreten:
1 |
local numbers = {HANDYNUMMER} |
In die lokale Variable "numbers" könnt Ihr eure Handynummer eintragen. Wir haben das Skript so programmiert, dass hier an dieser Stelle auch mehrere Nummern eingetragen werden können, welche dann in einer Schleife durchlaufen werden. Beachtet bitte, dass die Nummer immer mit 0049XXXXXX, also im internationalen Format, eingetragen werden muss. Ansonsten könnte es zu Problemen kommen. Wenn Ihr mehrere Nummer eintragen möchtet, dann müssen diese mit einem Semikolon (;) getrennt werden. Dies würde dann im Skript so aussehen:
1 |
local numbers = {00491751234567; 00491721234567} |
WICHTIG: Jede Nummer, welche an dieser Stelle eingetragen ist, bekommt auch eine SMS, bzw. einen TTS-Call. Ergo fallen bei zwei eingetragenen Nummern auch Gebühren für zwei SMS an.
Weitere Optionen
1 |
local app_key = 'APPKEY' |
1 |
local sender = 'HomeCenter' |
1 |
local action = 'sms' -- sms/tts-call/both |
1 |
local sms_type = 'sms' -- sms/flashsms |
WICHTIG: Bei Flash-SMS sind die Nachrichten auf 160 Zeichen begrenzt. Sollten mehr als 160 Zeichen versendet werden, dann könnte es zu Fehlern beim Empfang kommen. Wir empfehlen die Nutzung von normalen Nachrichten. In iOS kann ja die Vorschau der Nachrichten aktiviert werden, wodurch die Nachricht schon auf dem entsprechenden Sperrbildschirm gelesen werden kann.
[icons icon="icon-folder-open" color="#dd3333" size="18"] smsflatrate.net 1.1 - Deutsch - DOWNLOAD ZIP
So versendet Ihr jetzt SMS!
Euch ist sicherlich aufgefallen, dass Ihr in der Szene gar keinen Text, der entweder per SMS verschickt oder automatisch gesprochen wird, setzen könnt. Dies hat auch einen einfachen Grund. Der Text wird bei jedem Start aus einer globalen Variable ausgelesen. Wenn Ihr das Skript das erste Mal ausführt, dann wird euch im Debug angezeigt, dass diese Variable noch angelegt werden muss und die Szene bricht diesen Durchlauf ab.
Um die Variable anzulegen, müsst Ihr die Variablen-Steuerung eures HomeCenters öffnen (Steuerung -> Variablen-Steuerung) und könnt dort dann eine normale Variable (keine vordefinierte) mit dem Namen sms_text anlegen. Wenn Ihr nach dem Anlegen die Szene ein zweites Mal ausführt, wird der Inhalt der Variablen vom Skript geprüft und ein Test-Text ("Dies+ist+ein+Test") gesetzt und die Szene wiederum abgebrochen. Nach diesen zwei manuellen Starts ist die Szene dann abschließend konfiguriert und beim nächsten Durchlauf wird dann die SMS versendet. Wenn nun eine SMS auf euren konfigurierten Handys angekommen ist, dann ist die Einrichtung vollständig abgeschlossen. Der finale Test wurde demnach bestanden.
Wie Ihr in dem Screenshot erkennen könnt, prüft das Skript nach jedem Durchlauf, wie viel Guthaben noch auf eurem Account bei smsflatrate.net noch vorhanden ist. Sollte weniger als 1 € noch auf dem Account vorhanden sein, dann wird der Text rot debuggt und Ihr erhaltet eine Warnung.
Wie kann ich die Szene jetzt überhaupt nutzen...
...werdet Ihr euch sicherlich Fragen. Würden wir auch, hätten wir den Artikel bis hierhin gelesen. Wir haben uns über die Konstellation ein paar Gedanken gemacht und sind zu dieser Lösung gekommen. Die Szene zum Versenden von SMS ist hier wie eine Funktion ausgelagert. So habt Ihr die Möglichkeit die Szene einmalig anzulegen und aus anderen Skripten, welche SMS versenden sollen, zu starten. Dazu setzt Ihr in dem anderen Skript die bereits erwähnte Variable auf den Text, welchen Ihr versenden wollt und startet die Szene über LUA. Dies würde dann so aussehen:
1 2 |
fibaro:setGlobal('sms_text', 'siio+neuer+artikel') fibaro:startScene(50) |
Wie Ihr an den Code-Zeilen erkennen könnt, wird hier der Wert der Variablen auf "Wasseralarm+Sensor+hat+Wasser+erkannt" geändert. Wenn jetzt über die zweite Code-Zeile die Szene gestartet wird, dann liest das SMS-Skript den Wert aus und übergibt diesen an die API von smsflatrate.net. Beachtet bitte, dass Leerzeichen im Text immer als "+"-Zeichen gesetzt werden müssen. Dies ist bei SMS genauso wie bei dem TTS-Call. Solltet Ihr fälschlicherweise Leerzeichen in der globalen Variable setzen, dann erkennt die API diese Zeichen nicht korrekt und es wird keine SMS verschickt. Mit dem nächsten Befehl wird dann die Szene gestartet. Hier muss die ID entsprechend eurer Szene geändert werden.
WICHTIG: Es können auch SMS mit mehr als 160 Zeichen versendet werden. Dies wird dann in mehreren SMS durchgeführt. Hier müssen dann auch die Kosten für den Versand von mehreren SMS einkalkuliert werden. Beachtet dazu bitte folgende Liste. Ein TTS-Call kann 1000 Zeichen lang sein, dies entspricht einer Ansage von circa 360 Sekunden.
SMS-Zeichen
- bis 160 Zeichen // up to 160 characters = 1
- 2 x 153 Zeichen // characters = 306 Zeichen // characters = 2
- 3 x 153 Zeichen // characters = 459 Zeichen // characters = 3
- 4 x 153 Zeichen // characters = 612 Zeichen // characters = 4
- 5 x 153 Zeichen // characters = 735 Zeichen // characters = 5
- 6 x 153 Zeichen // characters = 918 Zeichen // characters = 6
- 7 x 153 Zeichen // characters = 1071 Zeichen // characters = 7
Solltet Ihr jetzt noch ein iPhone und ein Mac OS besitzen, dann können diese SMS auch an euren Mac über die Nachrichten-App weitergeleitet werden. Wer sich dafür interessiert, der findet ein gutes Tutorial bei macnotes. So habt Ihr in eurer MacOS-Benachrichtigungszentrale immer alle Neuigkeiten in der Übersicht.
WICHTIG: Beim Testen der Szene solltet Ihr immer den Text ein wenig variieren. Ansonsten erkennt das System, dass es sich möglicherweise SPAM handelt und blockiert die Zustellung. Ist bei uns bisher aber noch nicht passiert.
Weitere Features in der Zukunft
In der nächsten Zeit wird es auf siio immer mal wieder Szenen geben, welche das Thema hier aufgreifen. Die Entwicklung bei smsflatrate.net steht auch nicht still und auch hier wird es in Zukunft neue Funktionen geben, über die wir natürlich berichten werden. Das Thema bleibt also immer aktuell auf siio. In dem nächsten Teil werden wir euch zeigen, wie Ihr eine SMS mit dem HCL versenden könnt, denn dafür gibt es bei unserem Partner auch eine Möglichkeit.
Wir könnten uns zum Beispiel auch eine feste Integration des Skriptes in das Rauchmelderskript oder in das Skript für das Alarmpanel vorstellen. So könntet Ihr im Notfall immer auf eine Nachricht, welche unabhängig vom Internetempfang vom Handy ist, erhalten. Wie sieht es bei euch aus? Habt Ihr noch Ideen, welche wir unbedingt realisieren sollten, beziehungsweise müssten? Wir würden uns über eure Kommentare freuen.
Wir möchten uns an dieser Stelle auch ganz herzlich bei dem Geschäftsführer von smsflatrate.net, Michael Koppe, für die gute und vertrauensvolle Zusammenarbeit bedanken.
SUPER! Vielen Dank. Wir sind in der Schweiz und hatten unser Alarmsystem von Swisscom, namens "SmartLife" https://www.swisscom-smartlife.ch/ bezogen. "Hatten" sage ich deswegen, weil SmartLife ihren Betrieb und damit auch deren Support per Ende Januar 2017 vollständig einstellt, da sie, gemäss Press-Release, zuwenig Kunden hatten.
Alle (wenigen?) SmartLife-Kunden waren sich genau diese Funktion gewohnt, dass man bei Alarm auch einen Anruf (oder SMS) auf eine x-beliebige Nummer generieren konnte. Dementsprechend vermissten wir genau diese Anruf-Funktion bei Fibaro (und sind zumindest in der Schweiz sicher nicht die Einzigen, welche das bei Fibaro vermissten). Jetzt nicht mehr. Toll. Bravo! Auch von uns ein grosses MERCI.
Gruss
Hi,
freue mich über den Kommentar. :) Schön, dass wir dir damit helfen konnten.
Gruß
Moin,
ich finde die SMS-Info auch echt klasse. Nur was ist, wenn keine Internetverbindung besteht? Gibt es eine Möglichkeit, irgend ein externes SMS-"Gatway" anzuschließen das dann per normalen Mobilfunknetz eine SMS verschickt?
Hi,
da ist mir keine Lösung für bekannt, deshalb funktioniert das leider wohl eher nicht.
Gruß
Hallo! Wann lässt sich über das hcl die SMS Funktion nutzen? Grüße
Hi,
du kannst an smsflatrate eine Mail über das HCL senden. Damit wird dann eine SMS ausgelöst. Leider ist dies nicht sehr zuverlässig, weshalb wir uns mit der Funktion bisher nicht weiter beschäftigt haben.
Gruß
Hallo! Ich bräuchte echt einmal Unterstützung. Irgendwas läuft bei mir schief. Ich habe die Anleitung 10x durchgespielt - bei smsflatrate.net erfolgreich einen APP-
Key generiert und alles wie oben beschrieben eingetragen .... Leider kommt es nur überhaupt nicht zu einem Debug. Ich drücke auf "start" und nichts passiert. Ich arbeite mit einer Fibaro HC2, 4.120. Kannst Du mir helfen?
Hi,
poste am Besten mal im Forum in einem neuen Thread deine Szene. So kann ich da leider nichts zu sagen.
Gruß
Gibt übrigens auch eine neue Version:
https://www.siio.de/sms-und-anrufe-mit-dem-fibaro-homecenter-2-update/
;)