Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Warnung
titleBennenung von Gewerken und Rauchmeldern

Die Gewerke und Rauchmelder dürfen nicht mit Umlauten benannt werden (ä, ö, ü, ß etc.), es findet kein automatisches Encoding von diesen Umlauten im Script statt.
Im Adress-Parameter kann "
\u00df" für das "ß" in "Straße" verwendet werden, dann wird die Adresse korrekt dargestellt.

  1. Legen Sie ein neues Gewerk "Rauchmelder" in der CCU an (Einstellungen => Gewerke => Gewerkeliste => Bearbeiten => Neu)
  2. Fügen Sie alle Rauchmelder dem neuen Gewerk "Rauchmelder" hinzu.
  3. Erstellen Sie im Webinterface der CCU unter "Startseite > Programme und Verknüpfungen > Programme > Programmerstellung" ein neues Programm, der Name kann beliebig gewählt werden, z.B. "Ausgelöste Rauchmelder per Push übertragen".
  4. Verwenden Sie anschließend "Bedingung: Wenn..." und fügen eine "Geräteauswahl" hinzu, hier verwenden Sie anschließend die Option "lokaler Alarm".
  5. Auf diese Weise fügen Sie nun alle weiteren gewünschten Rauchmelder ein, diese werden dann als Trigger für das Push-Script verwendet. Sobald einer der hinzugefügten Rauchmelder einen "lokalen Alarm" signalisiert, wird das Script ausgelöst.
  6. Nach folgendem Schema sollten nun alle gewünschten Melder aufgelistet sein:

    Achten Sie hier explizit auf die "ODER" Verknüpfung der Geräte, sonst wird das Script nur ausgelöst, wenn alle Melder gleichzeitig ("UND" Verknüpfung) einen lokalen Alarm signalisieren.
  7. Nachfolgend wählen Sie bei "Aktivität: Dann..." im Dropdown "Skript" aus.
  8. Hier fügen Sie dann das unten stehende Skript ein und wählen "sofort" im Dropdown daneben aus:
    Codeblock
    languagetext
    titleHomematic Skript
    linenumberstrue
    collapsetrue
    ! ====================== Push DIVERA ======================
    
    var sec = (dom.GetObject(ID_FUNCTIONS)).Get("Rauchmelder");
    string i              ="";
    string list_active    ="";
    string list_inactive  ="";
    string date           =system.Date("%Y/%m/%d");
     
    foreach(i,sec.EnumUsedIDs()) {
        var item=dom.GetObject(i);
     
        if (item.IsTypeOf(OT_CHANNEL)) {
            var dev = dom.GetObject(item.Device());
             
            if (dev.HssType()=="HmIP-SWSD") {
                object state1=item.DPByHssDP("SMOKE_DETECTOR_ALARM_STATUS");
                var state_normal = item.DPByHssDP("STATE");
                var state_alarm  = item.DPByHssDP("SMOKE_DETECTOR_ALARM_STATUS");
         
                if (state_alarm.Value()==1) {
                    list_active = list_active # "  " # dev.Name() # "<br>";
                } else {
                    list_inactive = list_inactive # "  " # dev.Name() # "<br>";
                }
            }
        }
    }   
     
    if (list_active.Length()< 1) {
        list_active = "keiner<br>";
    }           
     
    string msg_text = "Rauchmelder ausgel\u00f6st:<br>" # list_active #"Rauchmelder nicht ausgel\u00f6st:<br>" # list_inactive #"";
     
    ! ================ DIVERA 24/7 Push ================
    dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("curl --location 'https://app.divera247.com/api/alarm' \
    --header 'Content-Type: application/json' \
    --data '{
        \"accesskey\": \"ACCESSKEY-HIER\",
        \"priority\": true,
        \"address\": \"Vohwinkeler Str.Stra\u00dfe 58, 42329 Wuppertal\",
          \"title\": \"Rauchmelder Alarm\",
        \"number\": \""#date#"\",
        \"text\": \""#msg_text#"\",
        \"ric\": \"rauchmelder,ric1,ric2\"
    }'");
      
    !  end
  9. Bei "ACCESSKEY-HIER" muss der Web-API Accesskey Ihrer Einheit eingetragen werden, damit die Alarmierung ordnungsgemäß zugestellt werden kann.
  10. Selbstverständlich kann z.B. statt "Rauchmelder Alarm GH" auch ein anderes Stichwort verwendet werden. Dazu ändern Sie einfach den Text "Rauchmelder Alarm GH" in Ihr gewünschtes Stichwort. Kommasepariert sind mehrere RICs möglich.
  11. Die Alarmgruppe muss mit der entsprechenden RIC versehen werden. In unserem Beispiel wird die RIC "rauchmelder" übertragen, wenn , kommasepariert sind mehrere RICs möglich (siehe "ric1,ric2"). Wenn Sie keine RIC übertragen wird der Standard-Empfänger der Einheit verwendet.
  12. Als Einsatznummer wird das aktuelle Datum sowie die Uhrzeit übertragen, so kann anhand der Zusammenführung per Einsatznummer der Einsatz aktualisiert werden, sofern es zu einer Auslösung eines weiteren Melders innerhalb der gleichen Minute kommt.
  13. Danach sollte die Programm-Konfiguration in der CCU wie folgt aussehen:

    Die Anzahl und Namen der Rauchmelder unterscheidet sich natürlich von Ihrem System.
  14. Danach wird das Programm mit dem Button "OK"  gespeichert, bzw. bestätigt.
  15. In der DIVERA 24/7 Oberfläche erscheint nun bei Auslösung des Programms der Name des ausgelösten Melders, alle übrigen, nicht ausgelösten Melder zu diesem Zeitpunkt, werden ebenfalls angezeigt:

...