Custom Form mit GetConfigurationForm erstellen und speichern,

Moin liebe Community,

ist es möglich bei GetConfigurationForm auch die Werte zu speichern?

Ausgabe funktioniert soweit, leider kommt keine Speichern anfrage, über einen Button mit den Aufruf ApplyChanges funktioniert es leider auch nicht.
Hat jemand einen Tipp, habe leider im Forum auf die schnelle nichts brauchbares gefunden.

Gruß:
Swen

Das Speichern macht der User in der Konsole.
Die Funktion gibt doch nur die Form an die Konsole aus.
Erzähl Mal dein Usercase, geht bestimmt einfacher/anders.
Michael

https://www.symcon.de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/module/getconfigurationform/

Ne damit kann man auch die Userform überschreiben, dass mach ich auch schon.

Ich baue grade einen LightSceneManager und LightRoomControl.
Bei den LightSceneManager werde alle Scene mit Prio, einer Boolean Variable eingetragen.

die LightRoomControl Instance bekommt dann vom LightSceneManager immer alle aktuellen Scenen mit deren Prio und Status.
Das Funktioniert auch soweit, öffne ich nun den LightRoomControler so werden mit mehrere Listen angezeigt für jede Scene eine, dort kann ich dann den jeweiligen Farbwert, Helligkeit, usw für jede Scene einstellen.

Da ich je nach Scene eine unterschiedliche Beleuchtung in verschiedenen Räumen habe, wollte ich mir somit eine bessere Übersicht der Einstellungen und einfache Editierung dieser verschaffen.

Nun muss ich nur noch die Werte irgendwie abspeichern, damit ich sie auch nach einen Neustart wieder laden kann, im schlimmstenfalls über eine Variable(ist aber nicht so schön). Sollte das nicht gehen, so muss ich es aber leider so machen.

Gruß:
Swen

P.s. Hoffe du hast es verstanden.

…um so eine selbsterstellte Konfigurationsseite zu übergeben.

Das macht die Funktion.
Das überschreiben bezieht sich auf die Funktion selber. Du überschreibst damit die Methode GetConfigurationForm aus der originalen Klasse (IPSModule).

Zum Thema zurück:
Im Endeffekt soll also die Room Instance eine dynamische Anzahl von Listen darstellen?
Und der User dort Einstellungen vornehmen können? Soweit korrekt?

Es gibt zwei Möglichkeiten Daten der Instanz zu speichern. Einmal die Eigenschaften, welche nur durch den User in der Konfiguration gesetzt wird.
Und die Attribute, welche gar nicht durch den User direkt gesetzt werden können.

Ersteres kannst du benutzen, musst du halt eine Liste in einer Liste umsetzen.
Und dann in GetConfigurationForm die Values der Liste ergänzen um die nicht persistenten Daten bzw die neuen Szenen.

Alternativ kannst du mit Attributen arbeiten, dann müssen die Listen aber in den Action Bereich der Form, und du brauchst doch z.b. eigene Buttons oder onClick Handler in den Listen, um die Daten an eine eigene Funktion und somit in die Attribute zu speichern.

Michael

Liste in Liste ist schonmal ne gute Idee, ich schau mal ob ich das umgesetzt bekomme.

Gruß: Swen

Oh man, hab den Fehler gefunden, die listen waren als Action definiert, das kann natürlich nicht gehen.

:banghead:

Danke für die Hilfe

Ps: du hast nicht zufällig ein Modul, das liste in liste verwendet?, bekomme immer nur ein Fehler:

TypeError: jsonElement.columns is not iterable

{
 "type": "List",
 "name": "Data_Scenes",
 "caption": "Scenen",
 "rowCount": 5,
 "columns": [{
    "caption": "Scene",
    "name": "Scene (10)",
    "width": "auto",
    "edit": {
     "type": "List",
     "caption": "VarList",
     "rowCount": 5,
     "add": true,
     "delete": true,
     "sort": {
        "column": "Variable",
        "direction": "ascending"
     }
   }
}]
 }

Update: und auch das hab ich hinbekommen, ich schau mal weiter.