+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 11
  1. #1
    Registriert seit
    May 2018
    Ort
    Hamburg
    Beiträge
    12

    Lightbulb TimerPool-Events als Push-Nachricht versenden

    Hallo in die Runde,
    ich bin auf der Suche nach einer Möglichkeit, von IPS geloggte TimerPool-Events (Version 4.4) per Push-Nachricht oder per Mail zu versenden. Könnt' Ihr mir einen Tipp geben, wie man dazu am besten vorgeht?

    Danke Euch!!!

    Viele Grüße
    Detlefp

  2. #2
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    21,869

    Du meinst die gelben Fehlermeldungen im Message Log davon?

    paresy

  3. #3
    Registriert seit
    May 2018
    Ort
    Hamburg
    Beiträge
    12

    Zitat Zitat von paresy Beitrag anzeigen
    Du meinst die gelben Fehlermeldungen im Message Log davon?

    paresy
    hallo paresy,
    ja die gelben oder bei mir auch mal gern roten meldungen im message log. :-)

    danke dir,
    detlefp


    IPS4.4 mit Eaton xComfort

  4. #4
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    21,869

    Ich scanne mein Logfile jeden Tag kurz vor Mitternacht und sende dann ein Protokoll der Fehlermeldungen per Mail.

    PHP-Code:
    <?php

     
    //Suche nur ERROR und WARNINGS im Logfile
     
    $search = Array(
        
    "ERROR",
        
    "WARNING"
     
    );
     
     
    //Filter bestimmt Fehler, die nicht gemeldet werden sollen
     
    $filter = Array(
        
    "Fehler beim Senden des Befehls"
     
    );
     
     
    $errors searchError(IPS_GetLogDir()."logfile.log"$search$filter);

     if(
    sizeof($errors) > 0) {
        
    IPS_LogMessage("Errors found!""Send Mail with ".sizeof($errors)." errors");
        
    SMTP_SendMail(53274"Mein SmartHome"print_r($errorstrue));
     }

     function 
    searchError($filename$keywords$filter)
     {
       
    $result = Array();
        
    $handle fopen($filename"r");
        if (
    $handle) {
            while ((
    $buffer fgets($handle4096)) !== false) {
               foreach(
    $keywords as $searchStr)
               {
                    if(!(
    strpos($buffer$searchStr) === false))
                    {
                       
    $matchFilter false;
                       foreach(
    $filter as $str) {
                           if(
    strpos($buffer$str) !== false) {
                              
    $matchFilter true;
                                break;
                            }
                        }
                        if(!
    $matchFilter) {
                            
    $result[] = $buffer;
                        }
                        break;
                    }
                }
            }
            if (!
    feof($handle)) {
                echo 
    "Error: unexpected fgets() fail\n";
                return;
            }
            
    fclose($handle);
        }
        return 
    $result;
    }
    paresy

  5. #5
    Registriert seit
    May 2006
    Ort
    Hannover
    Beiträge
    3,155

    Schöner Ansatz, aber bei mir etwas erschreckendes Ergebnis seit Mitternacht 144 Treffer .

    Liegt aber scheinbar auch an der nicht so genauen Filterung, es werden auch Einträge mit WARNING oder ERROR im Text gesammelt.

    Aber das lässt sich ja einfach reduzieren, auch nicht 100%, aber etwas genauer

    Code:
    $search = Array(
        "| ERROR",
        "| WARNING"
     );
    Geändert von ralf (21.06.19 um 10:11 Uhr)
    MfG Ralf

  6. #6
    Registriert seit
    May 2018
    Ort
    Hamburg
    Beiträge
    12

    Zitat Zitat von paresy Beitrag anzeigen
    Ich scanne mein Logfile jeden Tag kurz vor Mitternacht und sende dann ein Protokoll der Fehlermeldungen per Mail.

    PHP-Code:
    <?php

     
    //Suche nur ERROR und WARNINGS im Logfile
     
    $search = Array(
        
    "ERROR",
        
    "WARNING"
     
    );
     
     
    //Filter bestimmt Fehler, die nicht gemeldet werden sollen
     
    $filter = Array(
        
    "Fehler beim Senden des Befehls"
     
    );
     
     
    $errors searchError(IPS_GetLogDir()."logfile.log"$search$filter);

     if(
    sizeof($errors) > 0) {
        
    IPS_LogMessage("Errors found!""Send Mail with ".sizeof($errors)." errors");
        
    SMTP_SendMail(53274"Mein SmartHome"print_r($errorstrue));
     }

     function 
    searchError($filename$keywords$filter)
     {
       
    $result = Array();
        
    $handle fopen($filename"r");
        if (
    $handle) {
            while ((
    $buffer fgets($handle4096)) !== false) {
               foreach(
    $keywords as $searchStr)
               {
                    if(!(
    strpos($buffer$searchStr) === false))
                    {
                       
    $matchFilter false;
                       foreach(
    $filter as $str) {
                           if(
    strpos($buffer$str) !== false) {
                              
    $matchFilter true;
                                break;
                            }
                        }
                        if(!
    $matchFilter) {
                            
    $result[] = $buffer;
                        }
                        break;
                    }
                }
            }
            if (!
    feof($handle)) {
                echo 
    "Error: unexpected fgets() fail\n";
                return;
            }
            
    fclose($handle);
        }
        return 
    $result;
    }
    paresy
    Hallo Paresy,
    danke für Deinen Tipp und das Skript.
    Bei mir kommen ab und an Fehler in der Kommunikation mit den Eaton ECIs vor, die aus Netzwerkstörungen resultieren. Darauf müsste ich zeitnah reagieren können. Gibt es eine Möglichkeit, auf LogEvents interaktiv zu reagieren sprich diese Events irgendwie direkt abzufangen und auszuwerten ohne Logfile-Scan? Oder würde ich beispielsweise einmal alle 30 min einen Logfile-Scan analog Deines Skriptes machen?

    Danke Dir,
    Detlef


    IPS4.4 mit Eaton xComfort

  7. #7
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    21,869

    Welche Fehler kommen denn genau? Macht es Sinn, dass du diese direkt im Skript abfängst?

    paresy

  8. #8
    Registriert seit
    May 2018
    Ort
    Hamburg
    Beiträge
    12

    Zitat Zitat von paresy Beitrag anzeigen
    Welche Fehler kommen denn genau? Macht es Sinn, dass du diese direkt im Skript abfängst?

    paresy
    Hallo paresy,
    sorry, bin ein paar Tage offline gewesen. In den Logs steht immer folgender Fehler:
    "19.06.2019 14:37:15 | 13464 | ERROR | TimerPool | ECI2 (KeepAlive): Zeitüberschreitung beim Warten auf Antwort"
    (hier als Beispiel vom 19.6.19 rauskopiert)

    Wie würde ich denn diesen Fehler in einem Skript abfangen?

    Danke & viele Grüße
    detlefp

  9. #9
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    21,869

    Ok. Den bekommst du nicht im Skript gefasst. Aber das ein Keep Alive beim ECI fehl schlägt.... Ist dein Netzwerk OK?

    paresy

  10. #10
    Registriert seit
    May 2018
    Ort
    Hamburg
    Beiträge
    12

    Zitat Zitat von paresy Beitrag anzeigen
    Ok. Den bekommst du nicht im Skript gefasst. Aber das ein Keep Alive beim ECI fehl schlägt.... Ist dein Netzwerk OK?

    paresy
    Ja das ist grundsätzlich ok, ein Teil der ECIs hängt aber an einem WLAN Mesh und da kommen ab und an die Timeouts, die ich heute so nicht mitbekomme. Je nach Häufigkeit starte ich dann auch gern die ECI selbst neu, weil das Netzwerk nicht immer das Problem ist, sondern gern auch die ECI selbst.

    Gibt es denn einen anderen Weg, wie ich eine solche Meldung in eine Mail packen könnte o.ä.?

    Viele Grüße
    detlefp

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 11.03.18, 11:20
  2. Push Nachricht an ausgewähltes Gerät
    Von soenkefischer im Forum Skripte, PHP, SQL
    Antworten: 1
    Letzter Beitrag: 24.04.17, 14:46
  3. Voice Nachricht über fritzbox versenden...
    Von Gosef im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 0
    Letzter Beitrag: 07.02.16, 18:33
  4. Push Nachricht ohne Funktion
    Von BtheB im Forum Mobile (iOS/Android)
    Antworten: 3
    Letzter Beitrag: 03.05.15, 11:46
  5. Push-Nachricht in IPSView
    Von UH368 im Forum IPSStudio & IPSView
    Antworten: 2
    Letzter Beitrag: 22.04.14, 17:56