FS20 Statusvariable hat falschen Status

2 FS20-Aktoren, welche über ein Script geschalten werden, haben dauernd falsche Stati. Die Boolean steht auf aus, Aktor ist aber ein und umgekehrt.

Setze ich die Variable wieder in den richtigen Status, geht’s ein paar mal und dann drehts wieder.

<?
$schalter = GetValue(42505 /*[Keller\Aktoren\Türe Weinkeller\Value]*/ );

FS20_SwitchMode(14725 /*[Keller\Aktoren\Dimmer Weinkeller]*/, $schalter);

?>

Was kann das sein?

$schalter = GetValue(42505 /*[Keller\Aktoren\Türe Weinkeller\Value]*/ ); 

if ($schalter)
{
FS20_SwitchMode(14725 /*[Keller\Aktoren\Dimmer Weinkeller]*/,false); 

}else{

FS20_SwitchMode(14725 /*[Keller\Aktoren\Dimmer Weinkeller]*/,true); 
}

Was soll das bringen?
Es schaltet ja immer das, was es schon ist?

$schalter ist die Türe. Wenn Türe true dann sollte FS20_SwitchMode ja auch auf True stehen. Und dass funktioniert auch ein paar mal.

Ahh, sorry habe ich dann falsch verstanden.

Dann kann ich mir nur vorstellen, Funksignal nicht angekommen. Vlt zu weit weg? ist halt FS20.

Ich vermute mal, dass irgendwann ein oder mehrere Schaltbefehle nicht ausgeführt werden. Und da bei FS20 der Rückkanal fehlt bekommt IPS das nicht mit und damit sind Soll- und Ist-Zustand nicht synchron.

Ist nicht der eleganteste Weg aber Du könntest versuchen den Schaltbefehl mehrfach zu senden.

Hallo Jürg

Hast du mal gecheckt ob du nicht per Zufall eine andre FS20 Instanz mit gleichem Kanal einsetzt? In IPS kann man Konflikte checken sofern du alle FS20 sauber auch in IPS erfasst hast. Oder ob du nicht von einer FS20 Instanz direkt und ohne Rückmeldung an IPS die anderen FS20 Komponenten mit dem falschen Stati schaltest…?

Mehrfach Ein und Aus senden ist ebenfalls eine Möglichkeit. Vielleicht kannst du auch zusätzlich mit Duration arbeiten scheinen ja Switches zu sein. Wenn ich da aber die Bezeichnung Weinkeller sehe… kommt das Problem mit dem Empfang/Signalqualität wohl fast am ehesten in Frage. Fs20 ist da gar nicht so dolle… entweder mit Repeater arbeiten oder zusätzliche FHZ-Zentrale mit USB/Ethernet Extender (syl*x) aber da kann man sich bei ein paar Komponenten gleich ein BidiSystem kaufen.

Hast du mal gecheckt ob du nicht per Zufall eine andre FS20 Instanz mit gleichem Kanal einsetzt?

da führ ich Buch drüber, nein.

Wenn ich da aber die Bezeichnung Weinkeller sehe

der Weinkeller ist direkt unter der FHZ in einem Holzhaus.

Ich hab jetzt mal die „Kronos-Variante“ eingebaut. Mal schauen.

Was ich halt komisch finde, ist, dass die Variable auf False steht und der Aktor True ist. Da denke ich, müsste doch IPS eigentlich merken, dass irgenwas nicht stimmt.

Wie oben bereits jemand bemerkte, ist FS20 nicht bidirektional, somit merkt IPS da leider gar nix.

Sende den Befehl mehrfach und wenn das nicht hilft, wirf FS20 raus.

Gruß,
Christoph

Nachdem das nichts gebracht hat, den Befehl mehrmals zu senden, habe ich ein separates Script für true und ein zweites für false angelegt, ausgelöst bei entsprechendem Wert der Auslöservariable. Seit dem funktionierts. Finde das jedoch ein bisschen eigenartig.

Ich hoffe du hast zwischen den Befehlen auch ein klein bissl Pause* gelassen.
Das würde den momentanen Erfolg mit dem Extra-Script erklären.
Es ist aber nicht gesagt, dass das immer so funktioniert bei FS20.

  • 100 bis 200 ms ist eine gute Versuchsbasis, besser sind unrunde Werte dazwischen

Ich hoffe du hast zwischen den Befehlen auch ein klein bissl Pause* gelassen.

da hab mit rum experimentiert, hat aber alles nichts gebracht. Deswegen ja dann die Einzelscripts.

Mich würde halt interessieren, wo da das Problem ist, denn der Empfang kann es nicht sein, da ich seit der Umstellung den Fehler nicht mehr hatte.

… könnten auch Timing Probleme mit dem „Türsensor“ und dem Ereignistrigger sein.

Versuch mal den Zustand mit $_IPS[‚VALUE‘] zu übergeben und nicht mit GetValue den Zustand auszulesen.

Zu finden: Doku - Scripte - Systemvariablen

gesendet von meinem Smartphone via Tapatalk