Newbie-Frage: Warteschleife

Hallo,

Wie programmiere ich eine Warteschleife in PHP?

Ich möchte gerne mehrere FHT´s ansprechen, jedoch mit einer kleinen WarteZeit zwischen, wie mach ich das?

Mit einer Schleife à la i=i+1, next ? oder gibt es hier bereits eine funktion für das?
IPS_Sleep gibt jeweils eine Fehlermeldung „Script Runtime“ o.ä

http://www.ipsymcon.de/wiki/index.php/IPS_Sleep


Hinweis:

  • Diese Funktion blockiert den PHP Parser, wodurch andere Scripte nicht ausgeführt werden können und somit in eine Warteschleife kommen

> also „sparsam“ damit umgehen

Wieso möchtest du eine warte zeit einbauen?
FHZ sendet nur im erlaubten Fenster alle commando’s hinten ein ander, selbst wenn du wartezeiten einbaust werden die commando’s im block rausgesendet.
(Jede 6 minuten mit FHZ1000PC fur 1300 noch keine angaben)
Fredje

@GGGsss

naja, ich dachte wegen dem Buffer. Wenn ich 15 Regler werte übermittlen möchte, z.b für die „Keiner Zuhause“ funktion (15 mal den Mode=Manu übertragen). Will ja nicht dass der Buffer im FHZ einen vollen Hals kriegt, oder kann ich das in einem Streich schicken?

mit FHZ1000 oder 1300 ?
Kapazität massig ist FHZ1000 beschrankt auf (wie viele waren es wieder?) 10 commando’s bevor das buffer uberlauft…
Ich slage vor deine ‚I’m gone‘ funktion in 2 o. 3 durchlaufe aus zu fuhren mit


// gebe genugend zeit fuer dem FHZ buffer
$loop = GetValueInteger("durchlauf");
switch $loop == 0){
case 0 :
    FHT_SetMode(aktor1, 1);
    ...
    FHT_SetMode(aktor5, 1);
    break;
case 1:
    FHT_SetMode(aktor6, 1);
    ...
    FHT_SetMode(aktor10, 1);
    break;
case 2:
    //den rest
    break;
}
if ($loop < 2) {
    $loop += 1;  //(unsicher was diesem befehl betrifft) $loop = $loop + 1;
    IPS_SetScriptTimer("dieser_script", 10*60);  // 10 minuten warten bis naechster durlauf
    SetValueInteger("durchlauf", $loop);
} else {
    IPS_SetScriptTimer("dieser_script", 0); // nach 3er durchlauf auto-script ab
    SetValueInteger("durchlauf", 0);    //und reset durchlauf
}

So habe ich die FHZ buffer probleme gelöst. (weil diese scripte laufen, wirdst du wohl keine %-werten und ist-werte bekommen aus einem FHZ1000 weil die sende-Fenster voll benutzt sein…) FHZ1300 soll dies beheben aber bis jetzt noch keine erfahrungsberichte gesehen.

Bonne chance comme ils disent en français. (deutsch : alles gutes zum östern :smiley: )
Fredje

Ah super, je ne savais pas, que PHP a aussi la fonction Loop. On apprend tout les jours.

Danke für die Hilfe. Ich komme wirklich schrittchenweise voran dank vieler guter Helfer hier im Forum.

Comme disent les Belges: „Merci une fois“ :smiley:

Der IPS hat keine funktion Loop (leider)
$loop nutze ich wenn etwas loopen soll - wobei man aufpassen muss das die loops sich selber nicht loopen im loop. Amen
Aber was der oberige php-script macht is loopen :wink:

„Dank u wel“,
Fredje

Naja, es ist halt wie in S7 von siemens der SPZ Befehl.

Das tut mich eben ärgern, ich weis genau was ich programmieren will, und wie ich es tun werde, nur mit dem PHP hapert es eben. Naja, wir wohl noch kommen.

Man müsste einen S7-PHP compiler haben !

Nee, flämisch kann ich nit ! Ik ka nit spreken in vlaamisch, oder ähnlich