LAN Adapter Online prüfen möglich?

Hallo,

weiß jemand ob es möglich ist zu prüfen ob ein LAN Adapter auf Online oder Maintanance im „LAN Interface Konfigurator“ steht? Ich würde bei einem Fehler (Maintanance) gerne eine Fehlermeldung pwer TTS ausgeben…

Danke und Gruß, Andreas

Hallo.

Schau Dir mal das an.

Damit kannst Du regelmäßig die aktiven HM-Zentralen abfragen und wenn Du weisst was aktiv sein müsste entsprechend fehlende Einträge als Trigger für ein Fehleremail benutzen.

Damit deckst Du nicht nur das Maintenance-Problem ab.

Die Forensuche brachte

Was ist das Maintenance-Problem? Maintenance ist Kanal 0.

Gruß
Bruno

Was ist das Maintenance-Problem? Maintenance ist Kanal 0.

Unter mir nicht bekannten Umständen gingen die LAN-Adapter unmotiviert und unregelmäßig in den Maintenance Modus. Zurückholen ging entweder durch flashen der Firmware oder kurzzeitig stromlos machen. Problem ist auch nicht die Hardware weil der Fehler auch durch Austausch des Adapters nicht in den Griff zu kriegen war.

Das Problem trat bei mir nur im Zusammenhang mit einer CCU1 auf. Seit ich die CCU2 habe ist das nicht mehr passiert.

Danke kronos, da ich nie ne CCU1 hatte war mir das unbekannt :o

Das Problem trat bei mir nur im Zusammenhang mit einer CCU1 auf. Seit ich die CCU2 habe ist das nicht mehr passiert.

Und bei mir passiert das gelegentlich auch ohne CCU. Bin noch bei der Fehleranalyse…

Hallo,
ich hatte/habe das Problem auch laufend.
Ich verwende Homematic 1 + BidCos mit insg. 7 LAN-Adaptern

ich habe das wie folgt gelöst:
folgendes Script wird dazu zyklisch aufgerufen (15 min)

dieses generiert eine Status-HTML-Tabelle und schickt bei einem Ausfall eine EMAIL

das Problem bleibt zwar, aber ich bekomme das zumindest zeitnah mit. meist ist der Adapter nach 15-30 min wieder online. wenns länger dauert, muss man den Adapter mit einem Firmware-update neu starten oder die Homematic bzw den BidCos neu starten.

hier mein Script: (ist glaube ich aus dem HM_Inventory abgeleitet)


<?

/**Zyklisch den LAN-Adapter Status aller LAN-Interfaces abfragen, bei Fehlern eine Mail versenden
*** 2013-05-18 : WD : init
*******************************************/
IPSUtils_Include ('IPSLogger.inc.php',      'IPSLibrary::app::core::IPSLogger');
define ("c_LogId", "CCU LanAd.");
include IPS_GetKernelDir()."scripts\\xmlrpc.inc.php";

set_time_limit(180);

// HTML Tabelle init
$temp = "<table width='100%'> <tr> <th>Nr.</th> <th>Beschreibung</th> <th>Adresse</th> <th>Connected</th>  <th>Default</th></tr> ";

// CCU und BidCos Service Abfragen
$temp = $temp . CreateTable("x.x.x.x:2001", "CCU");    // IP von CCU eintragen
$temp = $temp . CreateTable("x.x.x.x:2001", "BidCos"); // IP vom Bidcos eintragen. Zeile kann auch gelöscht werden 

$temp = $temp . "</table>";

//wert aktualisieren
SetValueString(49416 /*[Scripts\Homematic\Inventar\LanAdapterStatus]*/,$temp);

/** CCU und Bidcos abfragen und Ergebnis als HTML Code zurückgeben
*** 2013-05-18 : WD : init
*********************************************************/
function CreateTable($IP, $Text)
{
    $client = new xmlrpc_client($IP); // Adresse anpassen

    $abfrage = new xmlrpcmsg("listBidcosInterfaces");
    $send = $client->send($abfrage);
    $result = php_xmlrpc_decode($send->value());
    
    $temp = "";
    
    for($i=0; $i <count($result); $i++)
    {
       $beschr = $result[$i]['DESCRIPTION']; ;
       $adresse = $result[$i]['ADDRESS'];
       $connected = $result[$i]['CONNECTED'];
       $default = $result[$i]['DEFAULT'];
       
       if ( $connected <> '1')
       {
          $MailBody = "LAN Interface Offline " . $Text . " ". $beschr . " ".$adresse;
          IPSLogger_Wrn(c_LogId, $MailBody);  // schickt auch gleich eine Mail ans Handy
       } /* endif */

        $temp = $temp . "<tr>";
        $temp = $temp . "<td align='center'>" . $Text . " ". $i . "</td>";

        $temp = $temp . "<td align='center'>";
        $temp = $temp . $beschr;
        $temp = $temp . "</td><td align='center'>";
        $temp = $temp . $adresse;
        $temp = $temp . "</td><td align='center'>";

        $temp = $temp . $connected;
        $temp = $temp . "</td><td align='center'>";
        $temp = $temp . $default;
        $temp = $temp . "</td>";
        $temp = $temp . "</tr>";
    } /* endfor */

    return $temp;
} /* endfunction */

?>


Hallo,
damit die CCU/Lanadapter-Überwachung perfekt ist, habe ich mit Hilfe von Cronos Tipp ein Überwachungsscript gebaut, welches seither problemlos funktioniert und die CCU bei einem Verbindungsabbruch rebootet (ca 1x pro Monat):
seitdem kann ich auch ohne Sorgen in Urlaub fahren… :wink:

Das Script alle 2 min ausführen:


<?
   /** Quelle: http://www.ip-symcon.de/forum/threads/20729-h%C3%A4ufige-HomeMatic-Socket-Error
   *** 2013-04-29 : WD : init version
   *** 2013-06-03 : WD : CCU Reboot über Telnet eingebaut
   ********************************************************************************************/
   IPSUtils_Include ('IPSLogger.inc.php',      'IPSLibrary::app::core::IPSLogger');
   define ("c_LogId", "CCU Con.");

   $Instance  = IPS_GetInstance(XXXXX /*[Homematic CCU1]*/);
   $Status    = $Instance['InstanceStatus'];

   $oldErrorCount = GetValueInteger(49793 /*[Scripts\Homematic\TestConnection\CcuConErrorCount]*/);  // Integer Variable
    
   if ($Status != 102)
   {
      // Errorcounter erhöhen
      SetValueInteger(49793 /*[Scripts\Homematic\TestConnection\CcuConErrorCount]*/,$oldErrorCount + 1);

      // Status loggen
      IPSLogger_Inf(c_LogId, $Status);

      // Port schließen und neu öffnen (geht meistens nicht!)
      IPS_SetProperty(XXXXX /*[Homematic CCU1]*/ , "Open", FALSE);
      IPS_SetProperty(XXXXX /*[Homematic CCU1]*/ , "Open", TRUE);
      IPS_ApplyChanges(XXXXX /*[Homematic CCU1]*/ );
      
      /** 2013-05-05 : WD : Mail als Info senden
      ****************************************************/
      SMTP_SendMailEx(32694 /*[Scripts\E-Mail\E-Mail senden (SMTP)]*/ , "EMAIL@EMAIL.COM", "CCU Connection error", "CCU Connection error");
   }
   else
   {
        // kein Fehler --> Errorcounter reset
        if ($oldErrorCount <> 0)
        {
           // restored benachrichtigen
           IPSLogger_Inf(c_LogId, "CCU Verbindung wieder hergestellt");
           SMTP_SendMailEx(32694 /*[Scripts\E-Mail\E-Mail senden (SMTP)]*/ , "EMAIL@EMAIL.COM", "CCU Connection restored", "CCU Connection restored");
            
           // Errorcounter reset --> Keine weiteren Benachrichtigungen im script weiter unten
           $oldErrorCount = 0;
           SetValueInteger(49793 /*[Scripts\Homematic\TestConnection\CcuConErrorCount]*/,0);
        } /* endif */
   } /* endif */
   
   /*** Email Benachrichtigung (nach 10 min.   das script wird alle 2 min. ausgeführt)
   ***********************************************************************************/
   if ($oldErrorCount == 5)
   {
      IPSLogger_Inf(c_LogId, "EMail Info versandt");
      SMTP_SendMailEx(32694 /*[Scripts\E-Mail\E-Mail senden (SMTP)]*/ , "EMAIL@EMAIL.COM", "CCU Connection lost", "CCU Connection lost");
    } /* endif */

   /*** CCU Reboot via Telnet (nach ca 20 min.   das script wird alle 2 min. ausgeführt)
   ***********************************************************************************/
   if ($oldErrorCount == 10)
   {
      IPSLogger_Wrn(c_LogId, "CCU REBOOT auslösen via telnet");
      @shell_exec("c:\IP-Symcon\Telnet\ccureboot.bat");
    } /* endif */

    /** alle 2 Stunden den Errorcounter auf 1 zurücksetzen, damit das mail neu geschickt wird, falls die CCU noch nicht rebootet hat.
    *** 2013-06-03 : WD : ändern von 4 Stunden auf 30 min (wegen CCU Reboot)
    ******************************************************************************************/
   if ($oldErrorCount > 15)
   {
      SetValueInteger(49793 /*[Scripts\Homematic\TestConnection\CcuConErrorCount]*/,1);
    } /* endif */

?>


die Batchdatei ccureboot.bat:


c:\IP-Symcon\Telnet\TST10.exe /r:C:\IP-Symcon\Telnet\ccuReboot.txt /o:C:\IP-Symcon\Telnet\LastLogfile.txt

ccureboot.txt: xxx.xxx.xxx.xxx = IP der CCU,


xxx.xxx.xxx.xxx 23
WAIT "homematic login: "
SEND "root\m"
WAIT "~ # "
SEND "reboot\m"
WAIT "~ # "

Danke erstmal für Eure Skripte! :wink:

Ich weiß nicht ob es eher beruhigend oder beängstigend ist, daß Ihr auch alle die gleichen Ausfälle und Probleme mit Homematic habt. Dann scheint es wohl normal zu sein… leider. Ich hatte als ich mit Homematic angefangen habe solche Probleme nicht. Weder die ganzen Kommunikationsprobleme, noch LAN Adapter oder Bidcos Ausfälle.:frowning:

Das der Bidcos Dienst ausfällt habe ich eigentlich erst seit dem letzten SoftwareUpdate. Aber beim Dienst kann man ja einstellen, das er bei einem Absturz automatisch neu startet.

Es würde mich ja mal interessieren, ob das bei Enocean alles reibungslos läuft, oder ob alle Funksysteme solchen Trouble machen.

Gibt es eine Möglichkeit den LAN Adapter bei einem Fehler softwaremässig neu zu starten, also ohne Stromlos zu machen?

Also meine aktuelle LÖSUNG sieht so aus:

Mit dem Skript aus dem Forum wird die Erreichbarkeit eines Aktors geprüft:


$id_aktor = 20856 /*[UG Schlafzimmer\Dimmer]*/;
$id_Error_Cnt = 35270 /*[Haus global\Wartung und Tools\LAN Adapter unten Maintenance prüfen\Error_Count]*/;

$Error_Cnt = GetValue($id_Error_Cnt);

SetValueInteger($id_Error_Cnt, $Error_Cnt+1);

$Check = @HM_RequestStatus($id_aktor, "LEVEL");

if ($Check==true)
    SetValueInteger($id_Error_Cnt, 0);

Nach Grenzüberschreitung Error_Count 4 (4x nicht erreichbar) wird automatisch der Bidcos Dienst neu gestartet - das hilft manchmal schon aus.

net stop "BidCoS-Service"
net start "BidCoS-Service"

Nach Grenzüberschreitung 6 wird ein Skript gestartet, welches beim betroffenen LAN Adapter ein Firmware Update ausführt. Dadurch wird der Adapter komplett neu gestartet. Das Skript (Batch) wurde mit dem kostenlosen Tool „Mouse Recorder Pro 2“ erstellt. Damit kann man die Mausbewegungen und Tastaturanschläge aufzeichnen.

Schönen Gruß, Andreas

bei mir häufen sich in letzter Zeiut die „Unreach“ Meldungen - so 5-20 die Stunde.

Wollte am WE (aaand its gone…) eigentlich die Meldungen um „Wieder erreichbar“ erweitern um zu schauen, wie lange die Ausfälle dauern…
Kam aber noch nicht dazu…

Aber meine LAN-Adapter sind immer online - andere Ideen ??