Verbraucher bei An-/Abwesenheit schalten und als Push-Nachricht versenden

Moin zusammen,
ich möchte gerne beim verlassen meiner Wohnung diverse Verbraucher (Standby Geräte) ausschalten. Das ist soweit auch kein Problem! Jedoch möchte ich mir die geschalteten Aktoren als Push zukommen lassen.

Im Forum hab ich diese Scripte gefunden:
https://www.symcon.de/forum/threads/21170-Alle-Lichter-ausschalten-oder-alle-Instanzen-schalten-abh-vom-Variablenprofil

<?

    /* ----------------------------------------------------------------------
                                Alle Lichter aus / anschalten

        Dieses Script ermittelt alle Lichter anhand eines Profils und schaltet
        diese ein bzw. aus.
        
        Wird das Skript normal aufgerufen, schaltet es aus. Über runScriptEX kann
        aber auch der Wert mitgegeen werden:
        IPS_RunScriptEx(<SCRIPTID>, Array("VALUE"=>true, "FORCE"=>true);
        
        $c_profiles: string,  Variablenprofil das geprüft werden soll
        $c_force: true/false, Wenn TRUE wird auf jeden Fall geschalten, egal
                     ob der aktuelle Wert in IPS bereits den Zielwert hat.
                     Bei Systemen ohne Rückkanal notwendig.
        $c_delay: integer, Millisekunden Pause bis zum nächsten Schaltvorgang
        
      ----------------------------------------------------------------------*/

      $c_profiles[] = "Verbraucher";
      
      $c_force = false; // S.o.
      $c_delay =  250;

    /* End of configuration ------------------------------------------------*/
    DEFINE("ZWAVE","{101352E1-88C7-4F16-998B-E20D50779AF6}");
    DEFINE("FS20", "{48FCFDC1-11A5-4309-BB0B-A0DB8042A969}");
    DEFINE("HOME_MATIC","{EE4A81C6-5C90-4DB7-AD2F-F6BBD521412E}");
    DEFINE("XCOMFORT","{1B7B5B7D-CAA9-4AB5-B9D8-EC805EC955AD}");
    DEFINE("LCN","{2D871359-14D8-493F-9B01-26432E3A710F}");

    // status Lesen -
    $stat = @$_IPS['VALUE'];
    settype($stat, "boolean");

    $force = (isset($_IPS['FORCE']))? $_IPS['FORCE'] : $c_force;
    settype($force, "boolean");
    
    
    // Alle Lichter ausschalten (mit Profil Licht!)
    $a_var = IPS_GetVariableList();
   foreach($a_var as $varid){
      $var_info = IPS_GetVariable($varid);
        $var_prof = (!empty($var_info["VariableCustomProfile"]))?
                    $var_info["VariableCustomProfile"] :
                    $var_info["VariableProfile"];
        $var_data = getValue($varid);

        if(in_array($var_prof,$c_profiles) && (($var_data != $stat) || $force) ){
           // Übergeordnete Instanz ermitteln.
           $instid = IPS_GetParent($varid);
            $inst_info = IPS_GetInstance($instid);
            switch($inst_info["ModuleInfo"]["ModuleID"]){
               case ZWAVE:
                                ZW_SwitchMode($instid, $stat);
                             break;

                case FS20:
                                FS20_SwitchMode($instid, $stat);
                              break;
                      
                case LCN:
                                LCN_SwitchMode($instid, $stat);
                              break;

                case XCOMFORT:
                                MXC_SwitchMode($instid, $stat);
                              break;
                      
                case HOME_MATIC:
                            HM_WriteValueBoolean($instid, "STATE", $stat);
                              break;
            } // Switch

            IPS_Sleep($c_delay);
        } // if

    }

?>

https://www.symcon.de/forum/threads/21382-Statusmeldungen-per-Mail-und-Push-versendenhttp://

<?

// Meldungsanzeige Info
$ips_info = 46682 /*[Scripte & Variablen\Meldungen & Push-Nachrichten\Meldungen\Meldungen empfangen\Meldungen Info empfangen]*/;

// Skript nur ausführen, wenn es von einer Variablen getriggert wird
if ($_IPS['SENDER'] == "Variable")
{
    // ID der Variablen, die dieses Skript triggert
    // Erklärung der Ssystemvariablen:
    // http://www.ip-symcon.de/service/dokumentation/konzepte/skripte/systemvariablen/
    $id = ($_IPS['VARIABLE']);

    // ID des übergeordneten Objekt herausfinden
    $parentID = IPS_GetParent($id);
    // um dann anschließend mit Hilfe der ID den
    
    // Name des Objekts herausfinden
    $aktorInstanz = IPS_GetObject($parentID);
    $aktorName = $aktorInstanz['ObjectName'];      //Kategorie

    // Beispiel: der Name eines übergeordneten Objekts einer Variablen 'Status' kann z.B. 'Stehlampe' sein

    // Melde-Texte erzeugen
	$betreff = $aktorName;
	$status = GetValueFormatted($id);
	$meldung = "- " . $status; 

    // Nachricht versenden
	IPS_RunScriptEx ($ips_info , Array("type" => "push", "gruppe" => "info" , "nachricht" => "$betreff $meldung"));
}

?>

2018-03-11 11_13_26-Telegram.png

Wie kann ich diese beiden Scripte verknüpfen, damit beim verlassen nur die geschalteten Aktoren als Push gesendet werden. Schön wäre es wenn diese in eine Push-Nachricht geschrieben werden.

Im Homematic-Forum konnte dies schon umgesetzt werden.

    ! Aktoren für bestimmte Gewerke und Räume bei Abwesenheit ausschalten
    ! Version 2.1, Autor: dtp

    ! Listen der Gewerke, Räume und auszunehmenden Kanäle
    string tradeList = "Licht	Verbraucher"; ! Liste der Gewerke (trennen mit "	", alle Gewerke: "alle")   
    string roomList = "alle"; ! Liste der Räume (trennen mit "	", alle Räume: "alle")
    string exList = "DG Schlafzimmer Dimmer Kanal 2	UG Hobbyraum Dimmer Kanal 2	UG HWR Waschmaschine Schalter	UG HWR Trockner Schalter"; ! Liste der Geräte, die nicht ausgeschaltet werden dürfen (trennen mit "	")

    ! Namen der verwendeten Systemvariablen
    string svPushText = "CCU SV Push Text"; ! gem. zPNS-xx, obligatorisch
    string svPushPrio = "CCU SV Push Prio"; ! gem. zPNS-xx, obligatorisch
    string svPushoverSound = "CCU SV Pushover Sound"; ! gem. zPNS-Po, optional

    ! Name des zentralen Push-Nachrichten-Programms
    string zPNP = "CCU PRG Push-Nachrichten"; ! obligatorisch

    ! #####################################################################
    ! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
    ! #####################################################################

    ! +++++ Deklaration weiterer Variablen +++++
    string message; string list = ""; string tradeIndex; string roomIndex; string channelIndex; string functionIndex; string device;
    var channel;

    ! +++++ Setzen der Priorität für die Push-Nachricht +++++
    (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushPrio)).State("-1");

    ! +++++ Sound für Pushover-Nachricht +++++
    if(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverSound)){(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverSound)).State("none");}

    ! +++++ Skriptkern +++++
    if(roomList == "alle"){roomList = dom.GetObject(ID_ROOMS).EnumNames();}
    if(tradeList == "alle"){tradeList = dom.GetObject(ID_FUNCTIONS).EnumNames();}

    foreach(tradeIndex, tradeList){
      foreach(roomIndex, roomList){
        if((dom.GetObject(tradeIndex)) && (dom.GetObject(roomIndex))){
          foreach(channelIndex, dom.GetObject(roomIndex).EnumUsedIDs()){
            channel = dom.GetObject(channelIndex);
            device = dom.GetObject(channel.Device());
            foreach(functionIndex, channel.ChnFunction()){
              if(dom.GetObject(functionIndex).Name() == tradeIndex){
                if((exList.Find(channel.Name())).ToInteger() == -1){
                  if(channel.DPByHssDP("STATE").Value()){channel.DPByHssDP("STATE").State(0); list = list#"
"#channel.Name();}
                  if(channel.DPByHssDP("LEVEL").Value()){channel.DPByHssDP("LEVEL").State(0.0); list = list#"
"#channel.Name();}
                }
              }
            }
          }
        }
      }
    }

    ! +++++ Erzeugen der Nachricht +++++
    message = "Geräte-Kanäle bei Abwesenheit ausgeschaltet!";

    if(list != ""){
      message = message#list;

      ! +++++ zPNP ausführen +++++
      (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushText)).State(message);
      (dom.GetObject(ID_PROGRAMS).Get(zPNP)).ProgramExecute();
    }

Wäre super wenn das schon jemand umgesetzt hat oder mir dabei helfen könnte.

Vielen Dank und beste Grüße
Kai