Socket Error #10054

Hallo Zusammen,

ich habe öfter den Socket Error #10054 . Gerade wieder. Ich wollte
mir gerade ein Script anlegen für die astronomischen Ereignissen.
Wenn ich es ausführe stürzt mein System ab.
Bekomme folgende Fehlermeldung:

Hat einer ne Idee, wie ich den Fehler behoben kriege ?

Danke Tim

Ich kann nur sagen das ich fast das gleiche Problem mit dem Script habe. Bei mir stürtzt aber einfach nur der Dienst ab und ich bekomme die Meldung das die Verbindung getrennt wurde. Bei mir läuft IPS auf einem Raspberry. Ich nutze nun alternativ den helligkeitswert eines HM-BM im Außenbereich um meine Rollos sinnvoll zu steuern…Ist halt noch Beta und dafür läuft es sonnst seit Tagen stabiel.

Gruß DerHüsi

Wie startest du IPS neu ? Bootest du den Raspberry ?

Ich log mich per ssh ein und mach das mit:

sudo /etc/init.d/symcon start

Mit „Stop“ kannst Du den Dienst auch selber stoppen.
Das geht im übrigen auch mit jedem Smartphone. Man muss nur im Router eine Portweiterleitung mit Port 22 einrichten. und eine Terminal App installieren.
Aber bitte erst die Passwörter user/root ändern :wink:

Hallo,
dass Skript wollte bei mir auch nicht.
Habe es umgebaut und nur die Daten die ich brauche noch drin.


 <?php
    // Geokoordinaten des Wohnortes
    $latitude = 51.97;    // Breitengrad
    $longitude = 9.01;    // Längengrad

    $timestamp = time();
    $sunrise = date_sunrise($timestamp, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, 90+50/60, date("O")/100);
    $sunset = date_sunset($timestamp, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, 90+50/60, date("O")/100);
    $civilTwilightStart = date_sunrise($timestamp, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, 96, date("O")/100);
    $civilTwilightEnd = date_sunset($timestamp, SUNFUNCS_RET_TIMESTAMP, $latitude, $longitude, 96, date("O")/100);

    SetValueString(CreateVariableByName($_IPS['SELF'], "Sonnenaufgang", 3, "~String"), date("H:i:s", $sunrise));
    SetValueString(CreateVariableByName($_IPS['SELF'], "Sonnenuntergang", 3, "~String"), date("H:i:s", $sunset));
    SetValueString(CreateVariableByName($_IPS['SELF'], "zivile Morgendaemmerung", 3, "~String"), date("H:i:s", $civilTwilightStart));
    SetValueString(CreateVariableByName($_IPS['SELF'], "zivile Abenddaemmerung", 3, "~String"), date("H:i:s", $civilTwilightEnd));

    function CreateVariableByName($id, $name, $type, $profile = "")
    {
        //global $_IPS['SELF'];
        $vid = @IPS_GetVariableIDByName($name, $id);
        if($vid === false)
        {
            $vid = IPS_CreateVariable($type);
            IPS_SetParent($vid, $id);
            IPS_SetName($vid, $name);
            IPS_SetInfo($vid, "this variable was created by script #".$_IPS['SELF']);
            if($profile !== "") { IPS_SetVariableCustomProfile($vid, $profile); }
        }
        return $vid;
    }
?>

lg Thomas

Hi Thomas, (guter Name ;-))

funktioniert einwandfrei. Nu habe ich aber Variablen und kein auslösendes Ereignis. Hast Du vieleicht noch ein paar codeschnipsel wie ich aus den Werten ein Ereignis generiere?

Gruß Thomas

z.B.


<?
########################## Konfig ##############################################
$sunset = (substr(getValue(41952 /*[.Skripte\Astro\Astro\Sonnenaufgang]*/) ,0,2).substr(getValue(41952 /*[.Skripte\Astro\Astro\Sonnenaufgang]*/),3,2));
$sunrise = (substr(getValue(43940 /*[.Skripte\Astro\Astro\Sonnenuntergang]*/ ),0,2).substr(getValue(43940 /*[.Skripte\Astro\Astro\Sonnenuntergang]*/ ),3,2));
########################## Konfig Ende #########################################
// echo ($sunset.chr(10));
// echo ($sunrise.chr(10));
// echo (date("Hi").chr(10));

    $variableid = @IPS_GetVariableIDByName("Nacht", $_IPS['SELF']);
    if($variableid === false)
    {
        $variableid = IPS_CreateVariable(2);
        IPS_SetName($variableid, "Nacht");
        IPS_SetParent($variableid, $_IPS['SELF']);
    }

if ((date("Hi") > $sunset) || (date("Hi") < $sunrise)) // wenn Zeitpunkt nach Sonnenuntergang oder vor Sonnenaufgang

	{
    SetValue(IPS_GetVariableIDByName("Nacht", $_IPS['SELF']), 0);
	}
	else
	{
	  SetValue(IPS_GetVariableIDByName("Nacht", $_IPS['SELF']), 1);
   }

?>

wird bei mir alle 60Sekunden aufgerufen.