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.
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.
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?
Davon wenn ich die entsprechende Variable im Objektbaum schalte.
Vielleicht drücke ich mir nur falsch aus, bin leider kein Profientwickler.
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.
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
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