Ich habe bei mir mehrere Net IO mit AVR im Einsatz mit Ethersex Firmware, da ich in letzter Zeit gemerkt habe das einiges bei mir etwas Hängt bin ich der Sache mal auf die Spur gegangen.
Meine Beobachtungen habe bestätigt das die NETIO Borads ein Problem mit dem Server Socket von IPS haben, diese sende Aktionen nach IPS wie z.b. „Eingang3 on“ IPS wertet diese Sachen aus.
Unter IPS 3.4 Funktioniert das ohne Probleme, In der 4er Version hängt sich das NETIO auf weil es vom IPS Server keine Rückantwort erhält oder der Server Socket keine Daten mehr annimmt.
Anbei habe ich mal ein Auszug aus dem Debug gemacht das Modul Sendet bekommt eine Antwort und nach ein Paar weiteren Meldungen Passiert nichts mehr, und die NETIO Module hängen sich für eine gewisse Zeit einfach auf.
Deshalb schätze ich dass es ein Bug in dem Server Socket gibt.
TXT: 30.09.2015 11:30:01.00 | RECEIVED | eingang3 on
TXT: 30.09.2015 11:30:01.00 | TRANSMIT | OK
TXT: 30.09.2015 11:30:02.00 | RECEIVED | eingang3 off
TXT: 30.09.2015 11:30:02.00 | TRANSMIT | OK
TXT: 30.09.2015 11:30:03.00 | RECEIVED | eingang3 on
TXT: 30.09.2015 11:30:04.00 | TRANSMIT | OK
Kein Problem hast bestimmt viel um die Ohren, wollte nur nicht dass es untergeht
Nein wird leider nichts Rot angezeigt. Das einzige Problem was ich dann bekomme ist, das die anderen Werte per fopen abgefragt werden.
Dadurch dass sich das Modul aufhängt antwortet es dann nicht auf die Anfragen von fopen.
Aber das hat ja nichts mit dem Problem hier zu tun, ist das eine weg dann auch das andere.
01.10.2015 11:54:22*| ScriptEngine*| Result for Event Net IO Borad´s\Net io Aquarium Neu\Data\Daily Every 10 second(s)
<br />
<b>Warning</b>: fopen(http://10.10.10.207/ecmd?1w+get+28257b870400009f): failed to open stream: Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat.
in <b>C:\IP-Symcon\scripts\55817.ips.php</b> on line <b>127</b><br />
<br />
<b>Warning</b>: fgets() expects parameter 1 to be resource, boolean given in <b>C:\IP-Symcon\scripts\55817.ips.php</b> on line <b>128</b><br />
<br />
<b>Warning</b>: fclose() expects parameter 1 to be resource, boolean given in <b>C:\IP-Symcon\scripts\55817.ips.php</b> on line <b>129</b><br />
<br />
<b>Warning</b>: bad lexical cast: source type value could not be interpreted as target in <b>C:\IP-Symcon\scripts\55817.ips.php</b> on line <b>137</b><br />
<br />
<b>Warning</b>: fopen(http://10.10.10.207/ecmd?adc+get+0): failed to open stream: Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat.
in <b>C:\IP-Symcon\scripts\55817.ips.php</b> on line <b>145</b><br />
<br />
<b>Fatal error</b>: Maximum execution time of 30 seconds exceeded in <b>C:\IP-Symcon\scripts\55817.ips.php</b> on line <b>145</b><br />
Also mit Wireshark habe ich herausgefunden das unter IPS 3.4 die Rückmeldung von IPS („OK“) nur einmal an das NETIO übermittelt wird.
Bei IPS 4 wird es mindestens 2 wenn nicht sogar 3 mal übermittelt, daher denke ich dass es dort zum Absturz kommt. Weil danach lässt sich das NETIO nicht mehr ansprechen für einige Zeit.
Ich hab die Logik im ServerSocket etwas umgebaut und einfacher gestaltet. Ich hoffe mal, dass der Fehler dadurch verschwindet.
Kommt dann mit im nächsten Update!