Homematic-Steuerung per SMS-Kommandos und Benachrichtigung per SMS ohne Cloud-Anbieter!
Verfasst: 12.10.2017, 23:23
Seit 04.09.2018 in der Version 2.0 mit SMS-Empfang zwecks Ausführung von Homematic-Befehlen auf Basis von SMS-Textnachrichten
Bitte beachten: Die aktuelle Softwareversion und Anleitung ist ausschließlich in diesem ersten Posting enthalten!
Hallo an alle Interessierten,
anbei mein Projekt zum Versand von SMS-Nachrichten an Mobile-Devices direkt von der CCU3/CCU2/Raspberrymatic per GSM-Modem ohne Nutzung eines Internetanbieters. Hinweis: Die CCU1 wird von mir mangels Testmöglichkeit nicht mehr unterstützt.
Es gibt hier im Forum zwar diverse Lösungen zum Versand von Benachrichtungen auf ein Handy wie bspw. Pushover oder Prowl oder auch ein SMS-Versand über einen entsprechende Internetanbieter, allerdings hat das ganze den Nachteil, dass man immer auf ein funktionierendes LAN, eine Internetverbindung und eine Cloudlösung eines Drittanbieters angewiesen ist.
Gerade im Alarmfall benötigt es aber eine möglichst autarke, sichere und von wenigen Beteiligten abhängige Lösung. Genau dieses bietet mein hier vorgestelltes Projekt bestehend aus einem AddOn, welches sich in die Homematic-Welt integriert, wenigen einfach zu beschaffenden Hardwarekomponenten (1 x GSM-Modul zzgl. Netzteil und 1x USB-Seriell-Adapterkabel). Mit Hilfe dieses Projektes ist es möglich direkt von der CCU2/CCU3/Raspberrymatic aus an verschiedene Mobilfunkempfänger SMS-Nachrichten zu versenden. So kann im Alarmfall auch dann noch benachrichtigt werden, wenn das lokale Netzwerk, die Internetverbindung oder der SMS-Cloudversender nicht mehr zur Verfügung steht.
Natürlich wird für das GSM-Modul noch eine SIM-Karte benötigt. Hier ist es am Besten eine PrePaid-Karte zu nutzen bei der keine monatlichen Gebühren anfallen. Ich selbst habe eine SIM-Card von Congstar genommen, die es manchmal schon für 6-8€ inklusive 9,99€ Startguthaben gibt. Da eine einzelne SMS 0,09€ kostet, kann man mit dem Startguthaben sicherlich eine ganze Weile Nachrichten versenden Letztendlich funktioniert aber natürlich auch jede andere SIM-Karte.
Im beigefügten PDF befinden sich alle notwendigen Infos zur Umsetzung des Projektes: Welche Komponenten genau benötigt werden (inklusive Bestell-Links, was auf der CCU eingerichtet werden muss und diverse sonstige Hinweise)
Wie immer gilt natürlich: Umsetzung auf eigene Gefahr!
Sollten Fragen bestehen, dann einfach in diesem Thread stellen.
Änderungshistorie:
12.10.2017: Messenger-Daemon V1.0 / Anleitung V1.0
=> Erstes öffentliches Release
24.10.2017: Messenger-Daemon V1.1 / Anleitung V1.1
=> Daemon: Heruntersetzen der Retries bei der PIN-Abfrage & Entfernen der Option für den TC35-Wakeup per Raspberry (Parameter #5 wird immer mit einer 0 überschrieben)
=> Anleitung: Hinweise zum zu verwendenden GSM-Modem-Modul ergänzt & TC35Wakeup-Option entfernt mit Kompatibilitätshinweis bei der Parameterübergabe (Parameter #5) & Hinweise zur Konfiguration von CUxD ergänzt
06.11.2017: Messenger-Daemon V1.2
=> Daemon: Wiederherstellung der Kompatibilität zur CCU2 (CuxD wird somit als Workaround nicht mehr benötigt)
10.11.2017: Messenger-Daemon V1.5
=> Daemon:
- Sollte die Modem-Initalisierung beim ersten Versuch fehlschlagen, wird ein Reset des GSM-Modems durchgeführt und nach 10 Sekunden ein zweiter Versuch der Modem-Initalisierung gestartet
- Bugfix: fälschlicherweise erschien die Fehlermeldung "SIM-Pin needed but not provided"
- Überarbeitung Fehlerhandling im Zusammenhang mit SIM-Fehlern
- Setzen der SIM-Pin auf 2 Versuche reduziert, um einen Lock zu vermeiden
- Automatisierte Erzeugung/Update der benötigten HM-Systemvariablen
- HM-Systemvariablen Mehrsprachigkeit (Deutsch & Englisch)
- Kleinere Bugfixes
11.11.2017: Messenger-Daemon V1.5.1
=> Daemon:
- Bugfix: Prüfung des Übergabeparameters SIMPin
- Fehlertoleranz Groß-Kleinschreibung der Parameter SIMPin und Sprache
11.11.2017: Messenger-Daemon V1.5.2 / Manuel V1.5.2
=> Daemon:
- Bugfix: Multilanguage
=> Manual:
- Angepasst auf Messenger-Daemon V1.5.2
12.11.2017: Messenger-Daemon V1.6 / Manuel V1.6
=> Daemon:
- Entfernen des obsoleten Parameter 5 (TC35WakeUp)
- Entfernen des Parameter 2 (Frequenz der Nachrichtenprüfung) => Standdardprüffrequenz auf neue Nachrichten nun fix auf sekündlich eingestellt
=> Manual:
- Angepasst auf Messenger-Daemon V1.6
18.01.2018: Messenger-Daemon V1.7
- Kompatibilität zu Roaming-Tarifen
21.01.2018: Messenger-Daemon V1.7.1
- Bugfix bei der Auswertung der Signalstärke
04.09.2018: Messenger-Daemon V2.0
- Inklusive SMS-Empfang!
=> Manual:
- Ergänzung um Beschreibung zum SMS-Empfang V2.0
09.09.2018: Messenger-Daemon V2.1
- Bugfix: Verhindern des Überschreibens der SMS-Befehlsvariable nach Neustart des Daemon
10.09.2018: Messenger-Daemon V2.2
- Möglichkeit zur Angabe berechtigter Empfangsnummern ("Mini-Firewall")
Hierzu wurde ein neuer optionaler Parameter 9 eingeführt: Erlaubte SMS-Absendernummern (mehrere Nummern müssen mit : getrennt werden). Wird dieser Parameter nicht angegeben, so gelten alle Absendernummern als berechtigt.
13.10.2018: Messenger-Daemon V2.3
- Bugfix: Angabe von 0 (kein Check) bei Parameter 8 (Frequenz des Checks auf neue SMS-Befehle) war nicht möglich
23.10.2018: Messenger-Daemon V2.4
- Optimierung: Bei fehlerhaftem SMS-Lesen InitModem auslösen
21.12.2018: Messenger-Daemon V2.5
- Optimierung Fehlerhandling bei fehlerhafter serieller Kommunikation (konnte bisher zur Beendigung des Prozesses führen)
06.01.2019: Messenger-Daemon V2.6 (Achtung: Benutzer von V2.5 bitte unbedingt auf die V2.6 updaten)
- Bugfix V2.5: Modemspeed korrekt setzen & Robusteres Auslesen des SMS-Textes beim Empfang
27.01.2019: Messenger-Daemon V2.7 / Manual V2.7
- Weitere Systemvariable hinzugefügt (Messenger_SMSEmfangText / Messenger_SMSReceiveText). Hierin wird der Text der zuletzte empfangenen SMS hinterlegt
- Manual aktualisiert
07.04.2021: Messenger-Daemon V2.8 / Manual V2.8
- Ablage der bei SMS-Empfang eingehenden Absenderkennung in neuer Homematic-Systemvariable (Englisch= Messenger_SMSReceiveSenderID / Deutsch= Messenger_SMSEmfangAbsenderID)
- Codeoptimierungen in Bezug auf die Kommunikation mit dem SMS-Modul
- Manual aktualisiert
09.04.2021: Messenger-Daemon V2.8.1 / Manual V2.8.1
(ACHTUNG! Aufgrund eines Fehlers beim Erstellen des Addon-File wurde am 15.04. eine korrigierte Version hochgeladen. Bitte somit die V2.8.1 ggf. erneut herunterladen. Die alte Version ist nicht lauffähig!)
- Bugfix: Beim Empfang einer SMS mit mehreren Zeilen wurde xder Empfangstext nach der ersten Zeile abgeschnitten
- Manual: Korrektur des Beispiel-Startscript und Variablenname
12.01.2024: Messenger-Daemon V2.8.2
- Bugfix: PID-File Handling
- Install-Script: Kompatibilität zu aktuelleren RaspberryMatic-Versionen & Docker-Containern
Bitte beachten: Die aktuelle Softwareversion und Anleitung ist ausschließlich in diesem ersten Posting enthalten!
Hallo an alle Interessierten,
anbei mein Projekt zum Versand von SMS-Nachrichten an Mobile-Devices direkt von der CCU3/CCU2/Raspberrymatic per GSM-Modem ohne Nutzung eines Internetanbieters. Hinweis: Die CCU1 wird von mir mangels Testmöglichkeit nicht mehr unterstützt.
Es gibt hier im Forum zwar diverse Lösungen zum Versand von Benachrichtungen auf ein Handy wie bspw. Pushover oder Prowl oder auch ein SMS-Versand über einen entsprechende Internetanbieter, allerdings hat das ganze den Nachteil, dass man immer auf ein funktionierendes LAN, eine Internetverbindung und eine Cloudlösung eines Drittanbieters angewiesen ist.
Gerade im Alarmfall benötigt es aber eine möglichst autarke, sichere und von wenigen Beteiligten abhängige Lösung. Genau dieses bietet mein hier vorgestelltes Projekt bestehend aus einem AddOn, welches sich in die Homematic-Welt integriert, wenigen einfach zu beschaffenden Hardwarekomponenten (1 x GSM-Modul zzgl. Netzteil und 1x USB-Seriell-Adapterkabel). Mit Hilfe dieses Projektes ist es möglich direkt von der CCU2/CCU3/Raspberrymatic aus an verschiedene Mobilfunkempfänger SMS-Nachrichten zu versenden. So kann im Alarmfall auch dann noch benachrichtigt werden, wenn das lokale Netzwerk, die Internetverbindung oder der SMS-Cloudversender nicht mehr zur Verfügung steht.
Natürlich wird für das GSM-Modul noch eine SIM-Karte benötigt. Hier ist es am Besten eine PrePaid-Karte zu nutzen bei der keine monatlichen Gebühren anfallen. Ich selbst habe eine SIM-Card von Congstar genommen, die es manchmal schon für 6-8€ inklusive 9,99€ Startguthaben gibt. Da eine einzelne SMS 0,09€ kostet, kann man mit dem Startguthaben sicherlich eine ganze Weile Nachrichten versenden Letztendlich funktioniert aber natürlich auch jede andere SIM-Karte.
Im beigefügten PDF befinden sich alle notwendigen Infos zur Umsetzung des Projektes: Welche Komponenten genau benötigt werden (inklusive Bestell-Links, was auf der CCU eingerichtet werden muss und diverse sonstige Hinweise)
Wie immer gilt natürlich: Umsetzung auf eigene Gefahr!
Sollten Fragen bestehen, dann einfach in diesem Thread stellen.
Änderungshistorie:
12.10.2017: Messenger-Daemon V1.0 / Anleitung V1.0
=> Erstes öffentliches Release
24.10.2017: Messenger-Daemon V1.1 / Anleitung V1.1
=> Daemon: Heruntersetzen der Retries bei der PIN-Abfrage & Entfernen der Option für den TC35-Wakeup per Raspberry (Parameter #5 wird immer mit einer 0 überschrieben)
=> Anleitung: Hinweise zum zu verwendenden GSM-Modem-Modul ergänzt & TC35Wakeup-Option entfernt mit Kompatibilitätshinweis bei der Parameterübergabe (Parameter #5) & Hinweise zur Konfiguration von CUxD ergänzt
06.11.2017: Messenger-Daemon V1.2
=> Daemon: Wiederherstellung der Kompatibilität zur CCU2 (CuxD wird somit als Workaround nicht mehr benötigt)
10.11.2017: Messenger-Daemon V1.5
=> Daemon:
- Sollte die Modem-Initalisierung beim ersten Versuch fehlschlagen, wird ein Reset des GSM-Modems durchgeführt und nach 10 Sekunden ein zweiter Versuch der Modem-Initalisierung gestartet
- Bugfix: fälschlicherweise erschien die Fehlermeldung "SIM-Pin needed but not provided"
- Überarbeitung Fehlerhandling im Zusammenhang mit SIM-Fehlern
- Setzen der SIM-Pin auf 2 Versuche reduziert, um einen Lock zu vermeiden
- Automatisierte Erzeugung/Update der benötigten HM-Systemvariablen
- HM-Systemvariablen Mehrsprachigkeit (Deutsch & Englisch)
- Kleinere Bugfixes
11.11.2017: Messenger-Daemon V1.5.1
=> Daemon:
- Bugfix: Prüfung des Übergabeparameters SIMPin
- Fehlertoleranz Groß-Kleinschreibung der Parameter SIMPin und Sprache
11.11.2017: Messenger-Daemon V1.5.2 / Manuel V1.5.2
=> Daemon:
- Bugfix: Multilanguage
=> Manual:
- Angepasst auf Messenger-Daemon V1.5.2
12.11.2017: Messenger-Daemon V1.6 / Manuel V1.6
=> Daemon:
- Entfernen des obsoleten Parameter 5 (TC35WakeUp)
- Entfernen des Parameter 2 (Frequenz der Nachrichtenprüfung) => Standdardprüffrequenz auf neue Nachrichten nun fix auf sekündlich eingestellt
=> Manual:
- Angepasst auf Messenger-Daemon V1.6
18.01.2018: Messenger-Daemon V1.7
- Kompatibilität zu Roaming-Tarifen
21.01.2018: Messenger-Daemon V1.7.1
- Bugfix bei der Auswertung der Signalstärke
04.09.2018: Messenger-Daemon V2.0
- Inklusive SMS-Empfang!
=> Manual:
- Ergänzung um Beschreibung zum SMS-Empfang V2.0
09.09.2018: Messenger-Daemon V2.1
- Bugfix: Verhindern des Überschreibens der SMS-Befehlsvariable nach Neustart des Daemon
10.09.2018: Messenger-Daemon V2.2
- Möglichkeit zur Angabe berechtigter Empfangsnummern ("Mini-Firewall")
Hierzu wurde ein neuer optionaler Parameter 9 eingeführt: Erlaubte SMS-Absendernummern (mehrere Nummern müssen mit : getrennt werden). Wird dieser Parameter nicht angegeben, so gelten alle Absendernummern als berechtigt.
13.10.2018: Messenger-Daemon V2.3
- Bugfix: Angabe von 0 (kein Check) bei Parameter 8 (Frequenz des Checks auf neue SMS-Befehle) war nicht möglich
23.10.2018: Messenger-Daemon V2.4
- Optimierung: Bei fehlerhaftem SMS-Lesen InitModem auslösen
21.12.2018: Messenger-Daemon V2.5
- Optimierung Fehlerhandling bei fehlerhafter serieller Kommunikation (konnte bisher zur Beendigung des Prozesses führen)
06.01.2019: Messenger-Daemon V2.6 (Achtung: Benutzer von V2.5 bitte unbedingt auf die V2.6 updaten)
- Bugfix V2.5: Modemspeed korrekt setzen & Robusteres Auslesen des SMS-Textes beim Empfang
27.01.2019: Messenger-Daemon V2.7 / Manual V2.7
- Weitere Systemvariable hinzugefügt (Messenger_SMSEmfangText / Messenger_SMSReceiveText). Hierin wird der Text der zuletzte empfangenen SMS hinterlegt
- Manual aktualisiert
07.04.2021: Messenger-Daemon V2.8 / Manual V2.8
- Ablage der bei SMS-Empfang eingehenden Absenderkennung in neuer Homematic-Systemvariable (Englisch= Messenger_SMSReceiveSenderID / Deutsch= Messenger_SMSEmfangAbsenderID)
- Codeoptimierungen in Bezug auf die Kommunikation mit dem SMS-Modul
- Manual aktualisiert
09.04.2021: Messenger-Daemon V2.8.1 / Manual V2.8.1
(ACHTUNG! Aufgrund eines Fehlers beim Erstellen des Addon-File wurde am 15.04. eine korrigierte Version hochgeladen. Bitte somit die V2.8.1 ggf. erneut herunterladen. Die alte Version ist nicht lauffähig!)
- Bugfix: Beim Empfang einer SMS mit mehreren Zeilen wurde xder Empfangstext nach der ersten Zeile abgeschnitten
- Manual: Korrektur des Beispiel-Startscript und Variablenname
12.01.2024: Messenger-Daemon V2.8.2
- Bugfix: PID-File Handling
- Install-Script: Kompatibilität zu aktuelleren RaspberryMatic-Versionen & Docker-Containern