Fehler Abbruch E/A-Vorgang bei WWW_UpdatePage

Hallo zusammen,

ich habe einen sproadischen Fehler beim Update einer HTML-Seite (Web-Fontend eines ALLNET ALL4100 / 8 Port Power Switch)

Folgendes Skript fragt im 10sek- Takt einen Temperatursensor ab und schaltet bei Überschreitung eines Grenzwertes (oben) einen Lüfter ein bzw. beim Erreichen einer unteren Grenze den Lüfter wieder aus.


<?

$temperatur_rack = getvalue(44457); //Temperatursensor
$grenztemperatur_oben = 27;
$grenztemperatur_unten = 24;


if ($temperatur_rack >= $grenztemperatur_oben)
{              
                // Einschalten des Lüfters im Rack
                $id = 33489;
                $status = 1;   // 1 für AN / 0 für AUS
                $url="http://<IP-des-ALL4100>/relais?r=4&v=" . $status . "&tm=0";
                WWWReader_SetPage($id,$url);
                IPS_ApplyChanges($id);
                WWW_UpdatePage($id);
}

if ($temperatur_rack < $grenztemperatur_unten) 
{
                // Ausschalten des Lüfters im Rack
                $id = 33489;
                $status = 0;  // 1 für AN / 0 für AUS
                $url="http://<IP-des-ALL4100>/relais?r=4&v=" . $status . "&tm=0";
                WWWReader_SetPage($id,$url);
                IPS_ApplyChanges($id);
                WWW_UpdatePage($id);
}
  
echo "Temperatur Rack = " & $temperatur_rack;

?>

Wie oben erfähnt, erhalte ich nun in unregelmäßigen Abständen eine Fehlermeldung:


IPS-Err-PHP  2016-11-16 15:36:40.560  Warning: Der E/A-Vorgang wurde wegen eines Threadendes oder einer Anwendungsanforderung abgebrochen
   Error in Script C:\IP-Symcon\scripts\34505.ips.php on Line 34
  134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)
   37 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
      in IPSLogger_PhpErrorHandler

Kann mir irgendjemand etwas zu diesem Fehler sagen und einen Hinweis zu dessen Beseitigung geben?
Google ist bezüglich dieses Fehlers nur sehr sparsam aussagefähig…

Besten Dank im Voraus!
Caspi

Kann es sein, dass das Gerät manchmal nicht korrekt antwortet? Das klingt nach einem Timeout, welches dort auftritt.

paresy

Den Gedanken hatte ich auch, bis jetzt hab ich aber keinen Aussetzer des ALL4100 mitbekommen.

Wie lange wird denn auf ein Response gewartet?
Ggf. kann man dieses ja am Skriptanfang einstellen (analog zu max_execution_time)

Caspi

Gibt es denn eine Möglichkeit, die Timeout-Zeit zu verändern?
Und wie hoch ist diese defaultmäßig eingestellt?

Caspi

PS. Über gibt es eine andere Möglichkeit, den Status des ALL4100 per HTML zu setzen (außer den eingesetzten WWW_Reader)?

Klar. Viel einfacher wäre z.B. file_get_contents zu nutzen.

paresy