SwitchDuration

Hallo zusammen,

kann es sein, das ich bei SwitchDuration meinen Status selber zurücksetzten muss?
Währe aber echt schei…:frowning:

Gruss
Frank

FS20_SwitchDuration: IP-Symcon :: Automatisierungssoftware

Hallo Rainer das habe ich gelesen. Es steht aber nichts darüber das ich den Status wieder manuell bzw. per Script zurücksetzen muss.
Ich verstehe das nicht. wenn ich doch ein Geräte für 5 Minuten einschalte, dann geht es doch von selber aus. Warum nicht der Status?

Frank

Weil der interne Timer des FS20 Gerätes verwendet wird und dieser nicht den Status zurück senden kann.

Nimm lieber FS20_SwitchMode: IP-Symcon :: Automatisierungssoftware und setze IPS_SetScriptTimer: IP-Symcon :: Automatisierungssoftware

Sorry ich blick das im Moment noch nicht. IPS_SetScriptTimer …
Kannst Du mir bitte noch einen Hinweis geben.

Gruss
Frank

mit dem Scripttimer kannst Du nach einer gewissen Zeit wieder ausschalten.


FS20_SwitchMode(24367, true);
IPS_SetScriptTimer($IPS_SELF, 10);

switch ($IPS_SENDER)
{
  case "TimerEvent": 
  FS20_SwitchMode(24367, false);
  IPS_SetScriptTimer($IPS_SELF, 0);
  break;
}

Ich glaube jetzt hab ich gerafft.


<?
//Variable einschaltzeit einlesen
$Ein=getValue(47233 /*[Hausverwaltung\Variablen\Umwaelzpumpe_einschaltzeit]*/);
//Variable ausschaltzeit einlesen
$Aus=getValue(54584 /*[Hausverwaltung\Variablen\Umwaelzpumpe_ausschaltzeit]*/);
//Einschaltzeit ermitteln
$Zeit=getValue(17475 /*[Hausverwaltung\Variablen\Umwälzpumpe eindauer]*/);
//Uhrezeit ermitteln
$Uhrzeit=date("H:i");
//Zustand ermitteln
$Status_Frischwassermodul=getValue(18547 /*[Hausverwaltung\Keller\Frischwassermodul\Frischwassermodul FS20 FMS\Status]*/);
//Zustand der Steckdose ermitteln
$Status_Pumpe_Steckdose=getValue(46899 /*[Hausverwaltung\Keller\Frischwassermodul\Umwälzpumpe Steckdose\Status]*/);
//Zustand anzeigen
print $Status_Frischwassermodul."
";
// Wenn Uhrzeit zwischen den beiden  Uhrzeiten und das Frischwassermodul ist aus und die Steckdose der Pumpe ist aus dann 15
// Minuten einschalten
if(($Uhrzeit >= $Ein) && ($Uhrzeit  <= $Aus) && ($Status_Pumpe_Steckdose==0))
 {
 print "!ein";
FS20_SwitchDuration(47397 /*[Hausverwaltung\Keller\Frischwassermodul\Umwälzpumpe Steckdose]*/,true,$Zeit);
IPS_SetScriptTimer("51100", $Zeit);
 }
 else
 {
print "!else";
 }

?>



<?
/*

SetValueBoolean(46899 /*[Hausverwaltung\Keller\Frischwassermodul\Umwälzpumpe Steckdose\Status]*/, False);
IPS_SetScriptTimer("51100 /*[Scripte\Heizung\STeckdose return]*/", 0);
?>

Nur kommt leider das raus :frowning:
Warning: Variable wurde als „Nur-Lesen“ markiert und kann nicht verändert werden in [Scripte\Heizung\STeckdose return] on line 3

Siehe mein Beispiel oben drüber. :wink:

Nur leider kann ich den Status per Scipt nicht ändern :frowning:

Das geht nicht, siehe deine Fehlermeldung. Brauchst Du doch auch gar nicht.

oh man ich mach feierabend :slight_smile: jetzt hab ich geblickt.
Vielen dank.

Gute nacht
Frank

<?
//Variable einschaltzeit einlesen
$Ein=getValue(47233 /*[Hausverwaltung\Variablen\Umwaelzpumpe_einschaltzeit]*/);
//Variable ausschaltzeit einlesen
$Aus=getValue(54584 /*[Hausverwaltung\Variablen\Umwaelzpumpe_ausschaltzeit]*/);
//Einschaltzeit ermitteln
$Zeit=getValue(17475 /*[Hausverwaltung\Variablen\Umwälzpumpe eindauer]*/);
//Uhrezeit ermitteln
$Uhrzeit=date("H:i");
//Zustand ermitteln
$Status_Frischwassermodul=getValue(18547 /*[Hausverwaltung\Keller\Frischwassermodul\Frischwassermodul FS20 FMS\Status]*/);
//Zustand der Steckdose ermitteln
$Status_Pumpe_Steckdose=getValue(46899 /*[Hausverwaltung\Keller\Frischwassermodul\Umwälzpumpe Steckdose\Status]*/);
//Zustand anzeigen
print $Status_Frischwassermodul."
";
// Wenn Uhrzeit zwischen den beiden  Uhrzeiten und das Frischwassermodul ist aus und die Steckdose der Pumpe ist aus dann 15
// Minuten einschalten
if(($Uhrzeit >= $Ein) && ($Uhrzeit  <= $Aus) && ($Status_Pumpe_Steckdose==0))
 {
 print "!ein";
FS20_SwitchMode(47397 /*[Hausverwaltung\Keller\Frischwassermodul\Umwälzpumpe Steckdose]*/,true);
IPS_SetScriptTimer($IPS_SELF, $Zeit);
 }
 else
 {
print "!else";
 }
 
switch ($IPS_SENDER)
{
  case "TimerEvent":
  FS20_SwitchMode(47397, false);
  IPS_SetScriptTimer($IPS_SELF, 0);
  break;
}

?>