ProgrammScript

Mit Homematic SMS Nachrichten versenden

Homematic SMS-Framework

Wäre es schön, wenn Homematic auch SMS-Nachrichten versenden könnte?
Dann könnte man wichtige Statusmeldungen direkt per SMS an sein Handy versenden.

Alles was benötigt wird ist ein altes Android-Smartphone mit einer SMS-fähigen SIM-Karte.
Vielleicht ist sogar schon ein Tablet zur Visualisierung vorhanden und kann dazu gleich mitgenutzt werden.

Voraussetzung ist eine lauffähige CUxD Installation mit Exec-Gerät Konfiguration
TIPP: Installation CUxD-Addon

Los geht’s!

IP-Adresse fest vergeben

    Zuerst müssen wir dafür sorgen, damit das Smartphone immer die gleiche IP-Adresse vom DHCP zugewiesen bekommt.
    Wie man dies auf der Fritzbox einrichtet, beschreibe ich hier kurz.

  • Auf der Fritzbox-Weboberfläche einloggen.
  • Unter Heimnetz > Heimnetzübersicht die Geräte heraussuchen.
  • Unter Details des jeweiligen Smartphones die Option Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen setzen und die IP-Adresse notieren. Hier kann auch gleich ein gebräuchlicher Name als Hostname vergeben werden. Mit dem Speedport oder auch anderen Routern funktioniert dies ähnlich.

Home24-Mediaplayer auf Android-Gerät installieren

https://play.google.com/store/apps/details?id=com.home24.mediaplayer&hl=de
Sollte die App nicht funktionieren, so ist unter Umständen evtl. noch die App Home24 notwendig. Diese ist VOR dem Home24-Mediaplayer zu installieren.
Funktionstest im Browser mit http://HIER_DIE_IP_ADRESSE_EINTRAGEN:50000/tts=test

Variable anlegen

Quicktipp: Variable anlegen

  • SMS-TEXT
    Name: SMS-TEXT Typ: Zeichenkette
  • Homematic SMS versenden

Programm anlegen

Quicktipp: Programm anlegen

  • SMS-Framework
    Bedingung: Wenn… Systemzustand Variable SMS-TEXT bei Aktualisierung auslösen.
    Aktivität: Dann… Hier nichts eintragen!
    Sonst: Script sofort auslösen
    Homematic SMS versenden
    Achtung: im Script muss die IP-Adresse ihres Gerätes und die Rufnummer des Empfängers eingetragen werden!

    ! Home24 Mediaplayer-SMS-FRAMEWORK
    ! by www.homematic-guru.de
    ! Anleitung: https://homematic-guru.de/mit-homematic-sms-nachrichten-versenden
     
    string ip = "192.168.2.199"; !Hier die IP ihres Gerätes eintragen
    string rnr = "016012345678"; !Hier die Rufnummer des Empfängers eintragen
    object o = dom.GetObject ("SMS-TEXT"); !Kann ggf. für mehrere Scripts geändert werden
    string  s = "." # o.Value() # ".";
     
    if ( s != "..") {
      boolean b;
      string n;
      string a;
      string r;
      foreach (r, "Ä-%C3%84\tÖ-%C3%96\tÜ-%C3%9C\tä-%C3%A4\tö-%C3%B6\tü-%C3%BC\t&-%26\tß-%C3%9F") {
        b = true;
        n = "";
        foreach (a,  s.Split (r.StrValueByIndex ("-", 0))) {
          if (b) {
            if (a !=  s) {
              n = a;
            }
            b = false;
          } else {
            n = n # r.StrValueByIndex ("-", 1) # a;
          }
        }
        if (a !=  s) {
           s = n;
        }
      }
       s =  s.Substr (1,  s.Length() - 2);
       string cmd = "wget --no-check-certificate --quiet -O /dev/null \"http://" # ip # ":50000/sms=" # rnr # "&message=" #  s # "\"";
       dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State (cmd);
       o.State ("");
    }
    !  Ende des Scripts
    

Jetzt wird mit dem Text, den man in die Variable SMS-TEXT schreibt eine SMS an den definierten Empfänger versendet.

Beispiel:
Homematic SMS Alarmanlage

Fertig!

Verwendete Hardware

Dir hat der Beitrag gefallen?

Trage dich kostenlos & unverbindlich in den Newsletter ein
und verpasse keinen Beitrag mehr!

Schaue auch gerne auf Facebook vorbei: