IoT-Taster zur PC-unabhängigen Alarmierung

<< Klicken um Inhaltsverzeichnis aufzurufen >>

Navigation:  Alarmierung > Alarm >

IoT-Taster zur PC-unabhängigen Alarmierung

Um einen Alarm ohne PC auszulösen gibt es die Möglichkeit SMART Wi-Fi Buttons anzubinden. Diese können wahlweise mitgeführt, oder stationär in Räumlichkeiten installiert werden.

 

In den folgenden Beispielen wird beschrieben, wie ein Shelly Smart Wi-Fi Button im Netzwerk konfiguriert und an die Cordaware bestinformed Alarm Edition angebunden wird.

 

 

Netzwerkkonfiguration des Shelly Button

 

hmtoggle_arrow1Option 1: Einrichtung in einem lokalen WiFi

 

hmtoggle_arrow1Option 2: Einrichtung über einen mobilen Hotspot zur mobilen Verwendung mit einem Smartphone

 

 

Konfiguration des Tastendrucks

 

1. Öffnen Sie die Konfigurations-Weboberfläche Ihres Shelly Buttons und wechseln Sie auf den Tab "Actions".

 

 

Sollten Sie keine statische IP-Adresse bei der WLAN-Konfiguration angegeben haben, bietet Shelly ein einfaches Tool zum Auffinden von Shelly Geräten im lokalen Netzwerk an:

 

Windows: https://shelly.cloud/documents/device_finders/ShellyFinderWindows.zip

Mac OS: https://shelly.cloud/documents/device_finders/ShellyFinderOSX.zip

 

shelly_button_webinterface_actions

 

 

2. Erweitern Sie nun die Aktion, die Sie konfigurieren möchten.

Wenn Sie möchten, dass bei einem kurzen Knopfdruck eine Aktion ausgeführt wird, dann erweitern Sie den Punkt "BUTTON SHORT PRESSED URL".

 

Aktivieren Sie das Kontrollkästchen "Enabled" und tragen Sie unter "Url to be hit when the button is pressed short" eine URL ein, die bei einer kurzen Betätigung des Buttons aufgerufen werden soll.

Zum Auslösen von PC-unabhängigen Alarmen kann hierbei beispielsweise ein PHP-Script angesprochen werden, das die MailToInfo-Schnittstelle von Cordaware bestinformed nutzt, um eine entsprechende Info zu generieren.

 

Klicken Sie anschließend noch auf den "SAVE" Button, um Ihre Änderungen zu bestätigen.

 

shelly_button_webinterface_button_short_pressed_url

 

 

Im folgenden finden Sie ein Beispiel PHP-Script, das die externe Bibliothek "PHPMailer" benutzt, um die MailToInfo-Schnittstelle von Cordaware bestinformed anzusprechen.

 

1. Kopieren Sie das untenstehende Script in einen beliebigen Texteditor und speichern Sie die Datei als PHP-Datei in einem beliebigen Verzeichnis ab.

Füllen Sie die nötigen Variablen in der Sektion "KONFIGURATION" für Ihre Installation aus und speichern Sie das Skript erneut ab.

 

2. Laden Sie die Bibliothek "PHPMailer" herunter: https://github.com/PHPMailer/PHPMailer/archive/master.zip

Entpacken Sie diese in das selbe Verzeichnis, wie die PHP-Datei und bennenen Sie den Ordner "PHPMailer-master" in "PHPMailer" um.

Dieses Beispielscript wurde auf Basis von PHPMailer 6 umgesetzt.

 

Um dieses Script mit dem Shelly Button zu benutzen, müssen Sie dieses auf einem Webserver für Ihr Netzwerk erreichbar bereitstellen.

 

Zudem müsssen Sie beim Aufrufen des Scripts den Namen eines in Cordaware bestinformed vorhandenen Alarm-Templates angeben.

Geben Sie dazu einen Query-Parameter "templatename" mit dem Namen des Templates als Wert in der URL an.

 

Zusätzlich können Sie beliebige weitere Query-Parameter angeben, die dem Template als Werte für gleichnamige ScriptVars übergeben werden.

 

Beispiele:

 

http://ihre.server.adresse/shelly_button/alarm_script.php?templatename=Basis%20Alarm

 

Hier wird das Alarm-Template "Basis Alarm" verwendet.

 

 

http://ihre.server.adresse/shelly_button/alarm_script.php?templatename=Erweiterter%20Alarm&realname=Max.Mustermann&alarmroom=Mobiler%20Arbeitsplatz

 

In diesem Beispiel wird das Alarm-Template "Erweiterter Alarm" verwendet, das in seinem Infotext die beiden ScriptVars "realname" und "alarmroom" enthält.

Diese wurden ebenfalls als Query-Parameter an der URL angehangen und somit wird für die ScriptVar "realname" der Wert "Max.Mustermann" und für "alarmroom" der Wert "Mobiler Arbeitsplatz" verwendet.

 

 

<?php

 

// PHPMailer 6.x - PHPMailer als ZIP Archiv

// https://github.com/PHPMailer/PHPMailer/archive/master.zip

require('PHPMailer/src/PHPMailer.php');

require('PHPMailer/src/SMTP.php');

require('PHPMailer/src/Exception.php');

use PHPMailer\PHPMailer\PHPMailer;

 

///-------------------------------------------------------------------

/// KONFIGURATION

///-------------------------------------------------------------------

 

// Tragen Sie hier "admin" oder den Anmeldenamen eines Benutzers ein, der die Rechte zur Benutzung der MailToInfo-Schnittstelle von Cordaware bestinformed besitzt.

$username = "admin";

 

// Tragen Sie hier das MailToInfo-Passwort Ihrer bestinformed Installation ein.

// Standardmäßig wird ebenfalls das Standard-Adminpasswort für diese Schnittstelle verwendet.

// In der Weboberfläche unter "System > System (lokal)" können Sie das Passwort dieser Schnittstelle jederzeit anpassen.

$password = "PASSWORT";

 

// Tragen Sie hier die Adresse Ihres Cordaware bestinformed Servers ein.

$host = "SERVER_ADRESSE";

 

// Tragen Sie hier Ihren in Cordaware bestinformed konfigurierten SMTP-Port ein. (Standard: 8025)

$port = 8025;

 

// Die Verbindung ist unverschlüsselt, um TLS zu aktivieren, setzen Sie in "INTERNE FUNKTIONEN" -> "Servereinstellungen" den Wert "SMTPAutoTLS = true;".

 

///-------------------------------------------------------------------

/// INTERNE FUNKTIONEN

///-------------------------------------------------------------------

 

if (isset($_GET["templatename"])) {

  $templatename = $_GET["templatename"];

  $body = implode("\r\n", explode("\n", trim(<<<BODY

 

    username=$username

    password=$password

    templatename=$templatename

 

    BODY)));

 

  // ScriptVars

  foreach ($_GET as $script_var => $script_var_value) {

    if ($script_var == "templatename") {

      continue;

    }

    $body .= "\r\n@" . $script_var . "=" . $script_var_value;

  }

  if (!isset($_GET["realname"])) {

    $body .= "\r\n@realname=Jemand";

  }

  if (!isset($_GET["alarmroom"])) {

    $body .= "\r\n@alarmroom=Unbekannt";

  }

 

  $body .= "\r\n";

 

  // E-Mail

  $mail = new PHPMailer();

 

  // Servereinstellungen

  $mail->SMTPDebug   = false;

  $mail->isSMTP();

  $mail->Host        = $host;

  $mail->SMTPAuth    = false;

  $mail->Port        = $port;

  $mail->SMTPAutoTLS = false;

 

  // Empfänger

  $mail->setFrom('shelly.button@cordaware.com', 'Shelly Button');

  $mail->addAddress('shelly.button@cordaware.com');

 

  // Inhalt

  $mail->Subject     = "newinfo";

  $mail->Body        = $body;

  $mail->ContentType = "text/plain"; 

  $mail->CharSet     = "utf-8";

 

  // E-Mail senden

  $mail->Send();

 

  echo '<strong style="font-family: Verdana, Geneva, Tahoma, sans-serif;">Alarm wurde gesendet!</strong>';

}

 

?>

 

 

Ist alles korrekt eingerichtet, kann der Shelly Button nun an einem zentralen Ort montiert oder per mobilen Hotspot von überall aus benutzt werden.