FS20 Regensensor

hi, ich hoffe ihr könnt mir helfen.

gestern abend hab ich den fs20 regensensor zusammengebaut.
bei ips anmelden hat auch wunderbar geklappt.
„regen“ wird angezeigt sobalt ich den finger auf den sensor halte.

aber wie bekomme ich nun den status wieder auf „false“ sobalt der regen aufhört?

im tester bekomme ich folgende meldung:

>FS20RX Instance: #16696
Hauscode: 13421412 Adresse: 11 13 Status: ON
>FS20RX Instance: #42527
Hauscode: 13421412 Adresse: 11 14 Status: an, 100%, timezeit, aus

wobei das genau mit dem eingestellten übereinstimmt.
die timezeit auf dem zweiten kanal steht auf 9sek, die intervallzeit auf 8sek
der sensor sendet auch genau wie er soll alle 8sek ein true signal bei regen.

ich probier jetzt schon den ganzen tag dran rum, und drausen regnet es, wärend der sensor nicht will.

wo liegt mein fehler?

danke euch schon mal,

dirk

Ich habe das Problem auch gehabt und so gelöst:
wenn es regnet, geht die Status-Variable auf true. Dann startet ein Script, was einen Timerevent initialisiert, der nach 60s die Variable auf false setzt.
Dadurch wird wieder das Script aktiviert, der den Timer wieder löscht.


<?
/*
*******************************
 IP-SYNCOM Event Scripting
*******************************
*/

//File: FS20_Regen_Write_to_DB.ips.php
$actual=GetValueBoolean("FS20_Regen.Status");
if ($actual) {
   $status='Y';
}else {
   $status='N';
}
// ......hier wird in die DB geschrieben

//Ausschalttimer setzen bzw. deaktivieren

if ($status=='Y') {
   IPS_SetScriptTimer("FS20-Regen.Reset",60);
}else {
      IPS_SetScriptTimer("FS20-Regen.Reset",0);
}

?>

Script RegenReset:


<?
/*
*******************************
 IP-SYNCOM Event Scripting
*******************************
*/

//File: FS20-Regen.Reset.ips.php
SetValueBoolean("FS20_Regen.Status",false);

?>

Tommi

Hallo Dirk

Ich stelle einfach die Variabel Regen nach (in Deinem Fall) 7 sek. auf false zurück. Den Timer im Regensensor habe ich abgestellt. Nach einer Sekunde „kein Regen“ bekomme ich dann vom Sensor wieder ne Regenmeldung.

gruss remo

vielen dank!
hatte es auch mit dem timer probiert, aber irgendwo einen fehler eingebaut.

jetzt geht es jedenfalls.

danke,

dirk

zur abwechslung hab ich mal eine lösung statt nur fragen.

die timerlösung zum reseten des fs20 regensensors funktioniert zwar sehr gut, ist aber für eine datenbank äuserst ungeeignet.

deswegen hab ich nochmal die nase ins php5 gesteckt und folgende lösung gebastelt:


//File: Regensensor.ips.php

//Variablen
$regen      = GetValueBoolean ("sender.Regensensor_1.Status");         // Aktueller Status des Sensors
$updatetime = GetUpdateTime ("sender.Regensensor_1.Status");           // Vergangene Zeit seit dem letzten Variablen-Updates
$time       = time();                                                  // Aktuelle Zeit
$timedelay  = $updatetime +10;                                         // Berechnung der Referenzzeit

//Programm
if ($regen == true)                                                    //Einstiegsbedingung in den Reset
        {

          if ("$time" > "$timedelay")                                  // Bedingung das die Aktuelle Zeit "Größer" ist wie die Updatezeit + Verzögerung
               {
                 IPS_RunScript ("Regensensor_1_Reset");                // Reset des Sensors auf "False"
                 echo "Es regnet nicht<br>";                           // Textausgabe
               }

           else                                                        // wenn nicht, dann
               {
                 echo "es regnet<br>";                                 // Textausgabe
               }
        }
else                                                                   // wenn nicht, dann
     {
        echo "trocken<br>";                                            // Textausgabe
     }

wer lust und zeit hat kann das script ja mal testen,
der sensor sendet alle 8sek, während ein timer alle 5sek einen durchlauf startet.

dirk