Probleme mit "SwitchMode" Befehl!

Hallo

Bei Aufruf des Befehls "FS20_SwitchMode(Instances; False); bekomme ich die Meldung, das es sich um eine undefinierte Funktion handelt.
Der Befehl steht aber genauso in der Doku.
Was mache ich falsch?

Gruss
computerpap

Fehler selbst gefunden, es war die falsche Instance.

Gruss
computerpap

In drei Minuten… du bist gut, lässt uns ja garkeine zeit zu antworten :smiley: :smiley:

Gruß

Toni

Hallo Toni

Vielleicht kannst du mir aber bei folgenden Problem helfen.
Ich möchte über nur einen Button (einmal drücken = Ein, erneutes drücken = aus)eine FS 20 Steckdose schalten, genauso wie ich es auch mit dem Handsender mache.
Für das Einschalten und Ausschalten funktioniert ja der oben genannte Befehl
(FS20_SwitchMode…), aber wie krieg ich es im Script so hin, dass sich der Schaltzustand nach jedem Klicken ändert.

Gruss
computerpap

Klar…

Wenn du „doppelte kanalzahl“ verwendest, was ich mal aus deinem Beitrag schließe, dann brauchst du nur nachsehen wie der aktuelle zustand ist und dann den genau entgegengesetzten senden.


$Value=getValueBoolean("DeineVariable");
FS20_SwitchMode(12345, !$Value); // Das Ausrufezeichen bedeutet "Gegenteil von"

Toni

Hallo

Danke für die schnelle Antwort.
Welch Variable meinst du mit „Deine Variable“?
Muß das die Status-Variable der Schaltsteckdose sein?

Gruss
computerpap

Genau… Sorry, dachte das wär klar.

Du musst ja nachsehen welchen Status dein Gerät (geht nicht nur mit Steckdosen) hat, um dann den entgegengesetzten Status senden zu können. Die Anführungszeichen müssen aber drinbleiben!

OK, danke erstmal.
Ich werde es dann mal ausprobieren.

Gruss
computerpap

Okay, meld dich ruhig wenn was ist… Dafür ist das Forum ja da :wink:

Hallo

Ich habs jetzt ausprobiert und es funktioniert mit dem Schalten auch soweit fehlerfrei. Ein kleines Problem gibts aber noch. Ich lasse mir im Designer den Schaltzustand der Steckdose mit einem kleinen Bild anzeigen. Schalte ich die Steckdose per Button im Designer klappt alles wunderbar, da ich das Bild mit der Statusvariable der Steckdose verknüpft habe. Schalte ich allerdings mit der Fernbedienung, so ändert sich nicht die Statusvariable und damit wird meine Anzeige im Designer nicht aktualisiert. Wie kann man das noch ändern? Es gibt ja auch noch eine Statusvariable für die Fernbedienung, nur weiß ich nicht wie man das verknüpfen soll.

Gruss
computerpap

Dein Script soll also auch von der Änderung einer beliebigen Variaiablen angestoßen werden. In deinem Fall die Statusvariable der Fernbedienung.

Du findest im Scripteditor oben rechts den Punkt „Events“. Dort wählst du „onChange“ (bei Veränderung) und rechts auf dem kleinen „Pickel“ im Kontextmenü „Add Variable“. Dort wiederum wählst du mit Doppelklick die Variable aus auf die das Script reagieren soll. „Close“ und Fertig.

Toni

Hallo computerpap,

eine einfache Möglichkeit ist, eine RX-Instanz für den Sender anzulegen. Dort benötigt man dann eigentlich nur die erste Variable, also den Status (Boolean).

Auf diese wird dann ein script getriggert, welches der Statusvariable des FS20-Empfängers (zugehörige Variable der TX-Instanz) auf den gleichen Wert setzt.
Die Zeile

SetValueBoolean("TX_Status", GetValueBoolean("RX_Status");

sollte reichen.

Ersetze einfach die Variablennamen RX_Status und TX_Status mit den Namen aus Deinem IPS.

Gruß
Fabian

Hallo computerpap,

eine einfache Möglichkeit ist, eine RX-Instanz für den Sender anzulegen. Dort benötigt man dann eigentlich nur die erste Variable, also den Status (Boolean).

Auf diese wird dann ein script getriggert, welches der Statusvariable des FS20-Empfängers (zugehörige Variable der TX-Instanz) auf den gleichen Wert setzt.
Die Zeile

SetValueBoolean("TX_Status", GetValueBoolean("RX_Status");

sollte reichen.

Ersetze einfach die Variablennamen RX_Status und TX_Status mit den Namen aus Deinem IPS.

Gruß
Fabian

Edit:

ups… toni war schneller

Hallo

Danke euch beiden für die schnellen Antworten. Ich hab Tonic’s Lösung ausprobiert, weil es für mich die verständlichere ist, es funzt einwandfrei.
Vielen Dank.

Gruss
computerpap