Hi zusammen,
hab die Dualmodule von AndreG im Einsatz, die schalten auch wunderbar.
Nur hab ich das Problem, dass der Status in IPS teilweise nicht aktualisiert wird.
Konkretes Beispiel.
Ich schalte meine Zirkualtionspumpe mit dem Aktor. Die Zirkulationspumpe schalte ich mit folgendem Script:
$IDAktor = 17321 /*[Sonstige\.Heizung\Zirkulationspumpe\Kelleraktor Zirkulation Heizungssteuerung]*/;
$IDStatus = 46962 /*[Sonstige\.Heizung\Zirkulationspumpe\Kelleraktor Zirkulation Heizungssteuerung\Pin 1 Zirkulationspumpe]*/;
$IDletzteSchaltung = 48709 /*[Sonstige\.Heizung\Zirkulationspumpe\Zähler\.letzte Schaltung]*/;
$Pin = 1;
$IDEinschaltdauer = 16693 /*[Sonstige\.Heizung\Zirkulationspumpe\Zeitschaltuhr\Einschaltdauer (Sekunden)]*/;
//*************************************************
//VARIABLEN ZUWEISEN
//*************************************************
$Status = getvalue($IDStatus);
$Einschaltdauer = getvalue($IDEinschaltdauer);
$letzteSchaltung = getvalue($IDletzteSchaltung);
//*************************************************
//Logik
//*************************************************
$Zeit = time();
if ($Status == false)
{
IPS_Setscripttimer($IPS_SELF, $Einschaltdauer);
TMEX_F3A_SetPin($IDAktor,$Pin,true);
setvalue($IDletzteSchaltung, time());
setvalue(33704 /*[Sonstige\.Heizung\Zirkulationspumpe\Zähler\Gesamtzaehler]*/, getvalue(33704 /*[Sonstige\.Heizung\Zirkulationspumpe\Zähler\Gesamtzaehler]*/)+1);
setvalue(12320 /*[Sonstige\.Heizung\Zirkulationspumpe\Zähler\Tageszaehler]*/, getvalue(12320 /*[Sonstige\.Heizung\Zirkulationspumpe\Zähler\Tageszaehler]*/)+1);
setvalue(10412 /*[Sonstige\.Heizung\Zirkulationspumpe\Zähler\letzte Schaltung]*/,date("r"));
}
else
{
if ($Zeit > ($letzteSchaltung + $Einschaltdauer -2))
{
IPS_Setscripttimer($IPS_SELF, 0);
TMEX_F3A_SetPin($IDAktor,$Pin,false);
}
else
{
$Zwischentimer = $letzteSchaltung + $Einschaltdauer - $Zeit;
IPS_Setscripttimer($IPS_SELF, $Zwischentimer);
}
}
Das Kurriose. Der TMEX_F3A schaltet zwar nach Zeit X den Aktor aus, geht also Definitiv in den richtigen Zweig, aber der Status bleibt auf true, obwohl er fals ist. Extra grad in Keller gerannt und nachgeprüft.
Kennt von Euch jemand das Problem?
Gruß
Kai