Schalter anlegen..

Ich bin mir sicher das es recht einfach ist, aber ich hab nicht so wirklich viel dazu gefunden :slight_smile:

Möchte einen Schalter im iFront haben (so wie z.B. die für Licht) mit dem ich eine von mir selbst erstellte Variable des Typs Boolean umschalten kann und mir auch dessen Status anzeigen lassen kann…
Der Status der Variablen soll dann entsprechend ein Script auslösen…

Hab mal ein wenig experimentiert und mir eine Variable mit dem Profil Switch angelegt, diese mit einem Script verbunden und sie schaltet auch. Nur bekomme ich dann im iFront immer die Meldung „Resultat“ und der angezeigte Schalter bleibt auf „off“

Wie geht’s richtig? :slight_smile:

Bitte Doppelposts vermeiden! Was steht denn in Deinem Script?

Mir ist im Übrigen gerade eingefallen das die Ausgabe „Resultat“ immer dann kommt wenn im PHP Script nach dem ?> am Ende noch Leerzeichen sind.

sorry, dachte das wäre hier besser untergebracht…

Lehrzeichen habe ich keine dahinter. Das Script war auch eigentlich nur ein Versuch das mit dem Schalter zu realisieren.

Eigentlich brauche ich nur im iFront einen Schalter mit dem ich den Wert einer boolschen Variablen ändern kann und der mir wie bei einem Lichtschalter anzeigt ob sie true / false bzw. on / off ist.

Dann ist das immer noch in Deinem Var Profil:


if ($IPS_SENDER == "WebFront")
{
	SetValue($IPS_VARIABLE, $IPS_VALUE);
}

Sorry wenn das jetzt ein wenig blöd klingt, kenne mich noch nicht sehr gut mit IPS und mit PHP aus, versuche mir das grad erst selber ein wenig beizubringen… Komme mit deinem Post grad nicht weiter da mir wohl ein wenig Wissen fehlt. Vielleicht habe ich auch mein Problem falsch beschrieben…

Was muss ich denn anlegen um einen Schalter zu bekommen? Eine Variabel mit dem hinweis auf Switch? Muss der dann zwangsläufig ein Script zugeordnet werden und soll ich da einfach das von dir gepostete eintragen? Steh ein wenig auf dem Schlauch da mir wohl ein paar Basics fehlen…

Ok kein Thema, folgende Schritte sind notwendig:

  1. Bool Variable im Objektbaum anlegen (muß in einer Kategorie sein die im Webfront sichtbar ist, also unterhalb der rootID)
  2. der Bool Var das Variablenprofil Switch zuordnen
  3. dieser das von mir gepostete Script zuordnen (dieses ändert dann den Wert an/aus und es wird im WebFront/iFront angezeigt)
    Dabei ist $IPS_VARIABLE die Boolvariable die das Script aufruft und $IPS_VALUE der Wert - an oder aus - den Du im WebFront/iFront schaltest
    $IPS_VARIABLE / $IPS_VALUE sind Systemvariablen und bekommen Ihre Werte quasi mitgeteilt z.B. durch einen Trigger bzw. ein Aufruf eine Varprofils

Super, jetzt hab ich es hinbekommen :slight_smile:

Danke für die ausfürliche Beschreibung jetzt hab ich wieder was gelert und auch den Zusammenhang begriffen… :slight_smile:

Irgendwie läuft da noch was nicht ganz richtig, den Schalter hab ich nun im iFront und auch kann ich das Script dahinter starten.

Nur wird mir im Objektbaum immer der Status „aus“ angezeigt, auch wenn der Schalter im iFront auf „an“ geschaltet wird…

Wenn ich über die Console im Objektbaum den Status des Schalters (Boolean Variable Profil Switch) manuel ändere geht das, mit true = an mit false = aus. Auch mein iFront ändert sich dann syncron. Aber wenn ich den Wert manuell auf an stelle und ihn im iFront wieder abstelle bleibt im Objektbaum der Wert „an“ weiterhin. Ich kann also mit dem iFront nicht den Wert der Variablen ändern, dennoch schaltet das Script das als Auslösebedingung (Variable = true) hat…?!

Das ist blöde weil ich den Schalterzustand für eine weitere Verwendung abfragen möchte…

Hab deinem Script gerade mal eine Zeile zugefügt…
Innerhalb der if Bedingung einen Schaltbefehl für eine FS20 Schalter… da der aber keine Reaktion zeigt geh ich mal davon aus das die "If-Bedingung

if ($IPS_SENDER == "webFront")

gar nicht erfüllt wird… und er dann auch nichts ändert?

Muss es Webfront heißen auch wenn ich das iFront benutze oder ist das egal?

Ah… hab mal bei Systemvariablen in der Doku geschaut… WebFront muss vorne mit nen großen „W“ geschrieben werden… :smiley:

Warum auch immer hatte ich nach copy / paste WebFront klein geschrieben… - saublöde Fehler gibt das…