Wert der Checkbox in form.json

Hi,

ich bastel gerade an meinem ersten Modul und hänge am (zur zeit) letzten Problem.
Ich habe im „action“ bereich der form.json eine Checkbox, mit dieser möchte ich bei Veränderung eine Funktion aufrufen und dort als Wert den aktuellen Wert eben dieser Checkbox (true/false) übergeben.

{ "type": "CheckBox", "caption": "Switch state", "name": "Status", "onChange": "IPS_RequestAction($id, \"StatusVariable\", \"<AKTUELLER WERT>\");" },

Der Rest klappt, nur hier hänge ich irgendwie.

Danke für Tipps
Grüße
Rolf

Achja, eins hätte ich noch. Wie bekomme ich ein Label vor die Checkbox in die gleiche Zeile? :smiling_face:

Doku sagt:

Die Variable $id steht in allen Bereichen zur Verfügung. Zusätzlich werden für alle Formularfelder Variablen erstellt, sofern ein Name vergeben wurde. Die Variable ist dann entsprechend als $Name nutzbar.

Wäre dann bei dir $Status

Michael

1 „Gefällt mir“

:man_facepalming: Danke, das war zu einfach :smiley:

Ebenfalls Danke, das hätte ich nicht gefunden.

Ein Problem mit der Checkbox habe ich noch, solange der Dialog der Instanz geöffnet ist wird die Checkbox immer entsprechend aktualisiert bei Änderungen (analog einer Variable der Instanz im Objektbaum). Wenn ich den Dialog nach einer Änderung öffne hat sie nicht den Wert passend zur Variable, wie kann ich das ändern das der Wert beim öffnen von der Variable übernommen wird?

Danke.
Grüße
Rolf

Wovon den bitte?
Eine checkbox ist ja genau nur das und nicht mehr.
Wovon sollte sie jetzt bitte, außer dem Klick eines Users, aktualisiert werden?

Den Wert der checkbox kannst du mit value vorgeben:

Michael

Davon wenn ich die entsprechende Variable im Objektbaum schalte.

Vielleicht drücke ich mir nur falsch aus, bin leider kein Profientwickler. :frowning:

Wie lese ich den Wert einer Variable im Objektbaum und gebe ihn der Checkbox (beim öffnen des Instanzdialog). Das es den Parameter gibt ist mir bekannt aber mir fehlt das Wissen ihm den Wert der Variable zu geben.
Wenn ich (während der Instanzdialog offen ist) die Objektbaumvariable schalte, kann ich die Checkbox entsprechend aktualisieren.

Sorry kann mich nicht besser ausdrücken.
Danke.

Dafür gibt es das ‚Test-Center‘. Das kümmert sich um fast alles automatisch.

1 „Gefällt mir“

Ähm ja, ne das wäre zu einfach :sweat_smile:

Das hab ich dann wohl nachgebaut :man_facepalming:

Würde mich aber trotzdem interessieren wie ich es beim öffnen auslesen kann.

Wie du was auslesen kannst?
Die IPS-Variable ? Na mit GetValue.
Die checkbox? Mit $Status.
Die checkbox verändern?
Beim laden mit dem Feld value in der form.json.
Damit die Form dynamisch mit dem value erzeugt werden kann, gibt es die SDK Funktion GetConfigurationForm — IP-Symcon :: Automatisierungssoftware

Und wenn du es bei geöffneter Form ändern willst, nimmt du UpdateFormField — IP-Symcon :: Automatisierungssoftware

Jetzt brauchst du noch etwas was die Variable überwacht und dann über updateformfield die checkbox value setzt.
Das wäre dann RegisterMessage und MessageSink.
Steht auch beides in der Doku.
Aber… Mach es nicht.
Benutze das Testcenter, dafür ist es da.
Michael

Vielen Dank.

Werde ich machen, aber durch den Nachbau hab ich wenigstens einiges gelernt.

Viele Grüße und ein frohes Fest.