Designer reagiert einmla pro Tag nicht

Hallo zusammen,

erst einmal ein riesen Lob an die oder den Programmierer dieser Software. Das Teil ist echt der Hammer. Weiter so.

Leider hab ich aber im Moment ein Problem mit dem Designer. Dieser läuft auf einem Vista Rechner 24 Stunden.
Im Moment hängt sich der Designer ca. einmal am Tag auf und reagiert nicht mehr. Nach beenden des selbigen und anschliessendem Neustart funktioniert er wieder Problemlos.
Ich glaube ich die Scripte laufen normal weiter, wenn der Designer nicht mehr funktioniert. Das ganze liegt doch bestimmt an irgend einem Fehler den ich da eingebaut habe, denn sonst scheint ja niemand das Problem zu haben. Ich habe jedenfalls noch nichts dergleichen hier gelesen.
Hat jemand eine Idee wo oder wie ich am besten ansetzen kann, um den Fehler zu finden?

Ach ja, übrignes habe ich im Webinterface keine Raumübersicht mehr, aber die benutze ich sowieso nicht. Wollte es nur mal mitteilen.

mfg
Smudo

Hallo Smudo,

ein großer Unterschied zwischen der V1 und der V2 liegt in der Priorität von Laufzeiten der Scripte. D.h. ein einfacher sleep() in einem Script ist für das Dashboard verherend, denn es bleibt einfach stehen solang der sleep() abgearbeitet wird. Alle Scripte sollten deshalb auf Laufzeit überprüft werden.

Hallo Smudo,

ich würde mal probieren, denn Designer nicht in der Console sondern Stand-Alone zu starten(ips_console.exe /localhost /form:12345). Wäre interessant, ob er dann auch noch abstürzt. Wenn du parallel noch die Console auch startest, wird es spannend, ob dann im Fehlerfall beide abstürzen.

Sleep() ist Böse:mad:
IPS_Sleep() ist besser :slight_smile:

Gruß
Rubberduck

Hallo Rubberduck,

es spielt überhaupt keine Rolle ob man sleep() oder IPS_Sleep() verwendet, beide Befehle halten das Script für eine bestimmte Zeit an und damit auch das Dashboard. Es gibt zwar einen Trick mittels IPS_RunScriptEx die Wartezeit zu umgehen, kurze Laufzeiten oder der Einsatz von Timern in Scripten sind hier aber die bessere Wahl.:wink:

Und ich dachte mir, sleep hält den ganzen Treiber auf:o

Aber warum soll dann ein IPS_Sleep() bzw. Sleep() das Dashboard bremsen, wenn es ja nur ein Script bremst. Der restliche Treiber sowie die Console laufen ja dann weiter?

Gruß
Rubberduck

Die Konsole hat da übrigens auch so Ihre Probleme, siehe hier:

Ok, dann wäre es sicher von Interesse, ob der Designer bei einer Bedienhandlung versagt oder sich einfach still und heimlich verabschiedet. Warten wir mal ab, was Smudo dazu herausfindet.

Gruß (und gute Nacht für heute)
Rubberduck

Also ips_sleep hab ich eigentlich häufig verwendet. Und zwar jedesmal wenn ich mehrere Befehle hintereinander an LCN abgeben will. Wenn ich z.B. 5 Befehle gleichzeitig senden will, werden ohne Sleep gerne mal der ein oder andere Befehl verschluckt.

Der Designer ist allerdings noch nie abgestürzt wenn ich gerade eine Funktion ausgeführt habe, sondern irgendwann zischendurch. Wenn ich mich abends vor den PC setze, steht er halt gerne mal. Was mir aufgefallen ist, es steht meistens ein Symbol eines aktiven Bewegungsmelders (Kleines, grünes, sich bewegendes Männchen :slight_smile: ) und bewegt sich nicht mehr. Daran sehe ich auch gleich, dass er wieder hängt.

Standalone starte ich den Designer sowieso immer.

Gruß
Smudo

Probier mal den Bewegungsmelder probeweise abzuschalten.

Ist das Dashboard und die Console weg? Oder lebt die Console noch?

Das werde ich mal machen.
Die Konsole habe ich nicht auf. Da läuft nur das Dashboad. Wenn das Dashboard nicht mehr funktioniert, kann ich eine neun Console öffen, aber das ist ja dann sowie eine ganz neue Instanz.
Ich werde mal zum Probieren eine Console im Hintergrund mitlaufen lassen. Die wird bestimmt weiterlaufen.

Gruß
Smudo

Ich trickse da ja auch mal gerne mit sleep, Udo.
Aber bei mehreren LCN-Befehlen schenke ich mir das.
Ich nutze allerdings dafür direkt PCK-Kommandos, nicht paresy’s geniale Umsetzung. Mit einem LineFeed am Ende lassen sich problemlos mehrere PCK-Kommandos gleichzeitig abschiessen. Für zentrale Schaltungen ist das einfach besser:

if ($was_auch_immer)
{ $TX_BUF =
  '>M000xxx.PCK-Kommando'.chr(10).   //beachte den Punkt
  '>M000xxx.PCK-Kommando'.chr(10).   
  '>M000xxx.PCK-Kommando'.chr(10);   //hier ein Semikolon
$result = CSCK_SendText(ObjektID /*[Client Socket LCN]*/,$TX_BUF);
} 

Das geht immer.

Hallo Smudo,

schau Dir mal die Größe der Auslagerungsdatei an. Ich habe auch ab und zu das Problem das die Auslagerungsdatei langsam aber sicher auf über 1Gb anwächst und sich der PC aufhängt. Wenn man den Designer dann schließt ist der Wert wieder normal.

Gruß
Christian

Hallo Christian,

meine Auslagerungsdatei ist 2,5GB gross (Vista), ändert sich aber nicht wenn ich den Designer aus mache. Der PC an sich hängt sich auch nicht auf. Ich hab gestern erst mal die Visualisierung der Bewegungsmelder rausgeschmissen und warte mal ab ob das geholfen hat.
@Uwe

mein schlimmstes ips_sleep Verbrechen sieht so aus:

$TX_BUF=">M000013.REASSE1220".chr(10);
CSCK_SendText(34532 /*[Client Socket - LCN-PCK]*/,$TX_BUF);
IPS_Sleep(300);
$TX_BUF=">M000111.REASSE1190".chr(10);
CSCK_SendText(34532 /*[Client Socket - LCN-PCK]*/,$TX_BUF);
IPS_Sleep(300);
$TX_BUF=">M000112.REASSE1190".chr(10);
CSCK_SendText(34532 /*[Client Socket - LCN-PCK]*/,$TX_BUF);
IPS_Sleep(300);
$TX_BUF=">M000120.REASSE1180".chr(10);
CSCK_SendText(34532 /*[Client Socket - LCN-PCK]*/,$TX_BUF);
IPS_Sleep(300);
$TX_BUF=">M000122.REASSE1210".chr(10);
CSCK_SendText(34532 /*[Client Socket - LCN-PCK]*/,$TX_BUF);
IPS_Sleep(300);
$TX_BUF=">M000124.REASSE1220".chr(10);
CSCK_SendText(34532 /*[Client Socket - LCN-PCK]*/,$TX_BUF);

Wenn ich diese Befehle ohne Sleep sende, kommt wenigstens eine (manchmal auch 2) Einstellung nicht an. Die kann ich so ja auch nicht mit einem . am ende der Zeile abschliessen, oder? Dieses Script kann aber eigentlich nicht die Ursache für meinProblem sein, da es nur manuell getriggert wird.

Wenn ich die IPS Befehle nutze, kann ich schon einige mehr hintereinander setzen wie z.B. hier, um morgens einige Jalousien leicht anzulupfen um mir den Helligkeitsschock zu ersparen:

<?
LCN_SwitchRelay(41893 /*[Badezimmer\.Jalousie Badezimmer links richtung]*/, false); //Badezimmer links
LCN_SwitchRelay(17932 /*[Badezimmer\.Jalousie Badezimmer mitte richtung]*/, false); //Badezimmer mitte
LCN_SwitchRelay(39693 /*[Badezimmer\.Jalousie Badezimmer rechts richtung]*/, false); //Badezimmer rechts
LCN_SwitchRelay(18186 /*[Schlafzimmer\.Jalousie Ankleidezimmer richtung]*/, false); //Ankleide
LCN_SwitchRelay(35807 /*[Schlafzimmer\.Jalousie Schlafzimmer richtung]*/, false); //Schlafzimmer
LCN_SwitchRelay(57446 /*[Flur/Treppenhaus\.Jalousie Treppenhaus richtung]*/, false); //Treppenhaus
IPS_Sleep(100);
LCN_SwitchRelay(16542 /*[Badezimmer\.Jalousie Badezimmer links]*/, true); //Badezimmer links
LCN_SwitchRelay(16347 /*[Badezimmer\.Jalousie Badezimmer mitte]*/, true); //Badezimmer mitte
LCN_SwitchRelay(46988 /*[Badezimmer\.Jalousie Badezimmer rechts]*/, true); //Badezimmer rechts
LCN_SwitchRelay(19939 /*[Schlafzimmer\.Jalousie Ankleidezimmer]*/, true); //Ankleide
LCN_SwitchRelay(37528 /*[Schlafzimmer\.Jalousie Schlafzimmer]*/, true); //Schlafzimmer
LCN_SwitchRelay(42616 /*[Flur/Treppenhaus\.Jalousie Treppenhaus]*/, true); //Treppenhaus
IPS_Sleep(6700);
LCN_SwitchRelay(16542 /*[Badezimmer\.Jalousie Badezimmer links]*/, false); //Badezimmer links
LCN_SwitchRelay(16347 /*[Badezimmer\.Jalousie Badezimmer mitte]*/, false); //Badezimmer mitte
LCN_SwitchRelay(46988 /*[Badezimmer\.Jalousie Badezimmer rechts]*/, false); //Badezimmer rechts
LCN_SwitchRelay(19939 /*[Schlafzimmer\.Jalousie Ankleidezimmer]*/, false); //Ankleide
LCN_SwitchRelay(37528 /*[Schlafzimmer\.Jalousie Schlafzimmer]*/, false); //Schlafzimmer
LCN_SwitchRelay(42616 /*[Flur/Treppenhaus\.Jalousie Treppenhaus]*/, false); //Treppenhaus
?>

Dieses IPS_Sleep(6700) ist mir sowieso ein Dorn im Auge, deshalb versuche ich mich ja auch aktuell an dem Positioinierungsscript für die Jalousien. Dieses Script wird aber auch nur einmal am Tag, und zwar logischer Weise am Morgen aufgerufen. Danach funzt der Designer aber meistens noch. Ich denke also, daß das auch nicht die Ursache für das Problem sein kann. Notfalls werde ich das ganze Designerformular noch mal neu machen.

Wo wir schon mal dabei sind.
Kann ich ein Script aufrufen und diesem eine Variable übergeben, die ich dann im aufgerufenen Script in der Var IPS_value wiederfinde?
Das ist eigentlich das letzte, dass mir zu meinem Positionierungsscript für die Jalousien noch fehlt.
Bekommt man das mit IPS_RunScriptEx hin?

Gruß
Smudo

Kleines, grünes, sich bewegendes Männchen

Wirf die Animierten Gifs raus und du wirst Ruhe haben. Irgendwo wurde das selbe Problem im Forum schon einmal so gelöst.

Die Sleeps sind nur Problematisch, wenn man ein Skript per Button startet, weil dann das Dashboard auf das Ende des Skriptes wartet und man das Gefühl hat, er wäre abgestürzt.

paresy

Hallo Udo,
das will ich glauben, du lässt ja jedes Mal die Schnittstelle ackern. Wenn die sich mal verschluckt …

Mach doch daraus einfach

$TX_BUF=
'>M000013.REASSE1220'.chr(10).
'>M000111.REASSE1190'.chr(10).
'>M000112.REASSE1190'.chr(10).
'>M000120.REASSE1180'.chr(10).
'>M000122.REASSE1210'.chr(10).
'>M000124.REASSE1220'.chr(10);
CSCK_SendText(34532 /*[Client Socket - LCN-PCK]*/,$TX_BUF);

Nur ’ verwenden, nicht " - und das Semikolon nur am letzten Befehl, der Punkt fügt an.
Bei mir bis zu 12 verschiedene Kommandos mit einem Schuss - ohne Probleme.
Bei einzelnen Befehlen nutze ich auch Paresy’s Kommandos, man sieht einfach mehr Kommentare, bei mehreren ist mit das zu viel Klickerei (das obige Beispiel ist also reine Faulheit).

Das ist ja zum eigentlichen Thema wohl etwas OT, ich denke der entscheidende Tipp kam da hier mal wieder von Paresy. :smiley:

Ahhh, jetzt ja.
Ich habs geschnallt Uwe. Dann werde ich das mal so machen.

Eigentlich schade um die kleinen grünen Männchen Ich hab sie gemocht.
Aber egal, wer nicht anständig arbeitet, fliegt raus:).

mfg
Smudo

Hier nochmal die Bestätigung. Die Probleme sind weg. Es lag definitiv an den Gifs.
Schade eigentlich, da sich ein paar Gifs auf dem Dashboard doch eigentlich ganz gut machen. Na, vielleicht wird das ja noch irgendwann was.

Gruß
Smudo