# Konfigurationsformulare > Symcon Dokumentation · Deutsch · erzeugt am 2026-09-26 > Index: https://www.symcon.de/de/llms.txt Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/ _Benötigt Symcon >= 4.0_ Die Konfigurationsformulare sind JSON Dateien, welche zur Konfiguration der Eigenschaften von IP-Symcon Instanzen genutzt werden. Diese werden normalerweise von der Verwaltungskonsole geladen und entsprechend angezeigt. Die JSON-Datei, welche das Konfigurationsformular beschreibt, besitzt bis zu zwei Bereiche die unabhängig voneinander individuell beschrieben werden können. Eine Übersetzung der "caption" und "label" kann über die [Lokalisierungen](../sdk-php.md) via der locale.json hinzugefügt werden. ### Formularbereiche ![Übersicht](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/70ec89b2a6-1790424938/konfigurationsformulare-uebersicht-bereiche.png) __elements__ Im "elements"-Bereich definierte Formularfelder können die Eigenschaften einer Instanz setzen. Der Name eines Formularfeldes, sofern verfügbar, entspricht dem Namen der Eigenschaft, welche über [IPS_SetProperty](../../../functions/management-instances.md) gesetzt wird. Soll der "elements" Bereich nicht sichtbar sein, so ist dieser nicht zu definieren. __actions__ Der "actions"-Bereich ist eine sogenannte Testumgebung. Die hier definierten Formularfelder haben nicht die Möglichkeit Eigenschaften der jeweiligen Instanz zu verändern. Soll der "actions" Bereich nicht sichtbar sein, so ist dieser nicht zu definieren. Generell gilt: Die Testumgebung kann nur genutzt werden, wenn Veränderungen im Elemente-Bereich übernommen wurden. Dadurch wird verhindert, das nicht übernommene Einstellungen getestet werden. __status__ Der "status"-Bereich definiert mögliche Statusmeldungen. Im "status"-Bereich sind keine Formularfelder erlaubt, sondern nur Statusmeldungen, welche unter [Statusmeldung](configuration-forms.md) erklärt werden. Soll das Modul keine Statusmeldungen anzeigen, so ist dieser Bereich nicht zu definieren. ### Übersicht der einfügbaren Formularfelder | Formularfeld / Type | ab IP-Symcon | Beschreibung | | -------------------------------------------------------- | ------------ | ----------------------------------------------------------------------------- | | [Button](configuration-forms.md) | 4.0 | Button | | [CheckBox](configuration-forms.md) | 4.0 | Checkbox | | [Configurator](configuration-forms.md) | 5.0 | Beschreibt einen Konfigurator | | [ExpansionPanel](configuration-forms.md) | 5.0 | Auf- und zuklappbare Formularfelder | | [HorizontalSlider](configuration-forms.md) | 4.0 | Ein horizontaler Schieberegler | | [Image](configuration-forms.md) | 5.0 | Erstellt ein Bild auf der Modulseite | | [IntervalBox](configuration-forms.md) | 4.0 | Angabe von Zahlen mit Textbeschreibung/Einheit (veraltet) | | [Label](configuration-forms.md) | 4.0 | Eine Beschriftung | | [List](configuration-forms.md) | 4.2 | Eine editierbare Liste | | [NumberSpinner](configuration-forms.md) | 4.0 | Eingabefeld, bei dem nur Zahlen erlaubt sind. (optional mit Nachkommastellen) | | [PasswordTextBox](configuration-forms.md) | 4.0 | Eingabefeld für Passwörter | | [PopupAlert](configuration-forms.md) | 5.0 | Alarm, welcher ein Popup sofort öffnet | | [PopupButton](configuration-forms.md) | 5.0 | Button, welcher ein Popup öffnet | | [RowLayout](configuration-forms.md) | 5.0 | Zeilenansicht von mehreren Formularfeldern | | [Select](configuration-forms.md) | 4.0 | DropDown-Menü | | [SelectCategory](configuration-forms.md) | 4.0 | Auswahldialog für eine Kategorie | | [SelectColor](configuration-forms.md) | 4.2 | Auswahldialog für eine Farbe | | [SelectDate](configuration-forms.md) | 5.0 | Auswahldialog für ein Datum | | [SelectDateTime](configuration-forms.md) | 5.0 | Auswahldialog für ein Datum und Uhrzeit | | [SelectEvent](configuration-forms.md) | 4.0 | Auswahldialog für ein Ereignis | | [SelectFile](configuration-forms.md) | 4.2 | Auswahldialog für eine Datei | | [SelectInstance](configuration-forms.md) | 4.0 | Auswahldialog für eine Instanz | | [SelectLink](configuration-forms.md) | 4.0 | Auswahldialog für einen Link | | [SelectMedia](configuration-forms.md) | 4.0 | Auswahldialog für eine Media-Datei | | [SelectObject](configuration-forms.md) | 4.0 | Auswahldialog für ein Objekt | | [SelectScript](configuration-forms.md) | 4.0 | Auswahldialog für ein Skript | | [SelectTime](configuration-forms.md) | 5.0 | Auswahldialog für eine Uhrzeit | | [SelectVariable](configuration-forms.md) | 4.0 | Auswahldialog für eine Variable | | [Tree](configuration-forms.md) | 5.0 | Erstellt einen Baum | | [ValidationTextBox](configuration-forms.md) | 4.0 | Eingabefeld für Text | ### Beispiele __Grundaufbau der JSON Datei__ ```php { "elements": [ ... //Hier Formularfelder einfügen ], "actions": [ ... //Hier Formularfelder einfügen ], "status": [ ... //Hier Statusmeldungen einfügen ] } ``` __Vollständiges Beispiel anhand eines SMS Moduls__ ```php { "elements": [ { "type": "ValidationTextBox", "name": "Username", "caption": "Username" }, { "type": "ValidationTextBox", "name": "Password", "caption": "Password" }, { "type": "NumberSpinner", "name": "APIID", "caption": "APIID" }, { "type": "ValidationTextBox", "name": "Sender", "caption": "Sender" }, { "type": "Select", "name": "SMSType", "caption": "Type", "options": [ { "caption": "SMS", "value": 0 }, { "caption": "Combi-SMS", "value": 1 }, { "caption": "MMS", "value": 2 } ]} ], "actions": [ { "type": "ValidationTextBox", "name": "Number", "caption": "Number" }, { "type": "ValidationTextBox", "name": "Message", "caption": "Message" }, { "type": "Button", "caption": "Send Message", "onClick": "SMS_Send($id, $Number, $Message);" }, { "type": "Button", "caption": "Read Balance", "onClick": "echo 'Balance: '.sprintf('%.2f', SMS_RequestBalance($id)).' credits';" } ], "status": [ { "code": 102, "icon": "active", "caption": "Login information valid" }, { "code": 201, "icon": "error", "caption": "Authentication failed" }, { "code": 202, "icon": "error", "caption": "No credits left" } ] } ``` ## Button Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/button/ Ein Button der bei Betätigung eine Aktion ausführt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/button/78afbc7f84-1790424938/konfigurationsformulare-button.png) ### Parameter | Parameter | Beschreibung | | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung des Buttons | | confirm (optional) | (__default:__ "") Beinhaltet dieser Parameter keinen leeren String, so wird bei Betätigung des Buttons der Text in einem Ja/Nein-Dialog angezeigt. Die onClick-Aktion wird nur ausgeführt, falls der Dialog mit "Ja" bestätigt wird. Ist der Parameter leer, so wird die Aktion direkt ausgeführt. (ab IP-Symcon 5.0) | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onClick-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann der Button verwendet werden, ansonsten wird er deaktiviert dargestellt (ab IP-Symcon 5.2) | | label | Name und sichtbare Beschriftung des Buttons _(veraltet, nicht änderbar)_ | | link (optional) | Ist dieser Parameter true, dann wird die Ausgabe des onClick-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. Ist der Parameter nicht gesetzt, dann wird auf Basis der Ausgabe entschieden, ob diese als Link geöffnet oder im Dialog angezeigt wird (siehe Infobox). (ab IP-Symcon 5.1) | | name (optional) | Name des Buttons | | onClick | Skript, welches bei einem Klick auf den Button ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es sind keine PHP-Tags erforderlich. Es stehen einige weitere Variablen zur Verfügung, welche im Infofeld weiter unten erörtert werden. | | type | Button | | visible (optional) | (__default:__ true) Bei true ist der Button sichtbar, ansonsten ist er unsichtbar (ab IP-Symcon 5.2) | | width (optional) | Feste Breite des Buttons in Pixel oder % als String, z.B. "40%" oder "250px". Ist der Wert nicht gesetzt oder "", wird die Breite automatisch auf Basis der Beschriftung gewählt (ab IP-Symcon 5.2) | > **Hinweis:** 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. Die Variable $Name ist nur innerhalb des selben Scope (z.B. actions oder elements) verfügbar. > **Hinweis:** Steht in dem Parameter onClick ein "echo" in Kombination mit 'http'/'https' wird der Browser geöffnet und die URL aufgerufen. Ist ein "echo" in Kombination mit einem 'mailto:' vorhanden wird das Standard-Mailprogramm mit allen gesetzten Parametern geöffnet. Ist ein "echo" in Kombination mit einem 'link:' vorhanden wird 'link:' herausgefiltert und der verbleibende Inhalt wird im Browser geöffnet. Dadurch sind etwa relative Links möglich. (Verfügbar ab IP-Symcon 4.1) ### Beispiel ```php //Das Beispiel gibt die InstanzID zurück. { "type": "Button", "caption": "An", "onClick": "echo $id;" } //Sonderbeispiel: //Das Beispiel öffnet bei "Klick" den Browser mit der angegebenen Adresse: 'https://www.symcon.de' { "type": "Button", "caption": "Symcon", "onClick": "echo 'https://www.symcon.de';" } //Das Beispiel fragt, ob der Wert einer Variablen tatsächlich auf 0 gesetzt werden soll { "type": "Button", "caption": "Reset", "onClick": "SetValue(12345, 0);", "confirm": "Dies setzt die Variable zurück auf 0. Dabei können wichtige Daten verloren gehen. Sind Sie sicher?" } //Das Beispiel führt ein mehrzeiliges Skript aus { "type": "Button", "caption": "Reset", "onClick": [ "SetValue(12345, 0);", "echo 'Wert wurde zurückgesetzt';" ] } ``` ## CheckBox Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/checkbox/ Erstellt eine Checkbox. Falls im "elements"-Bereich erstellt, setzt die Checkbox eine Eigenschaft bei Übernahme auf __True__ oder __False__. Der Parameter __"name"__ definiert dabei welche Eigenschaft gesetzt wird. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/checkbox/de80d286f2-1790424938/konfigurationsformulare-checkbox.png) ### Parameter | Parameter | Beschreibung | | ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | caption | Sichtbare Beschriftung | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann die CheckBox verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab Symcon 5.2) | | items (optional) | (__default:__ []) Liste mit Konfigurationselementen, welche nur angezeigt werden, solange die CheckBox aktiviert ist. Die Werte der Elemente bleiben auch nach einem erneuten Deaktivieren erhalten (nicht änderbar) (ab Symcon 9.1) | | itemsPosition (optional) | (__default:__ 0) Die Position der über "items" definierten Konfigurationselemente (ab Symcon 9.1)
0: Die Elemente werden unterhalb der CheckBox angezeigt
1: Die Elemente werden rechts neben der CheckBox angezeigt | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab Symcon 6.0) | | name (optional) | Name der Checkbox/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung der Checkbox durch einen Klick ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab Symcon 5.2) | | type | CheckBox | | value (optional) | (__default:__ false) Der Wert der CheckBox - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die CheckBox sichtbar, ansonsten ist sie unsichtbar (ab Symcon 5.2) | | width (optional) | Feste Breite der Checkbox in Pixel oder % als String, z.B. "40%" oder "250px". Ist der Wert nicht gesetzt oder "", wird die Breite automatisch auf Basis der Beschriftung gewählt (ab Symcon 5.3) | ### Beispiel ```php { "type": "CheckBox", "name": "status", "caption": "Status emulieren" } //Konfigurationselemente, welche nur bei aktivierter CheckBox angezeigt werden { "type": "CheckBox", "name": "UseProxy", "caption": "Proxy verwenden", "itemsPosition": 1, "items": [ { "type": "ValidationTextBox", "name": "ProxyHost", "caption": "Host" }, { "type": "NumberSpinner", "name": "ProxyPort", "caption": "Port" } ] } ``` ## ColumnLayout Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/columnlayout/ _Benötigt Symcon >= 6.0_ Erstellt eine Spalte, in welcher Formularfelder untereinander dargestellt werden. Dies ist insbesondere hilfreich um den Inhalt dynamisch anzupassen. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/columnlayout/0abe1d434c-1790424938/konfigurationsformulare-columnlayout.png) ### Parameter | Parameter | Beschreibung | | ------------------ | ---------------------------------------------------------------------------------- | | items | Liste mit Konfigurationselementen innerhalb der Spalte | | name (optional) | Name der Spalte | | type | ColumnLayout | | visible (optional) | (__default:__ true) Bei true ist die Spalte sichtbar, ansonsten ist sie unsichtbar | ### Beispiel ```php // Spaltenlayout { "type": "ColumnLayout", "items": [ { "type": "SelectLocation", "name": "Location", "caption": "My Location" },{ "type": "Button", "caption": "Test", "onClick": "TM_Update($id);" },{ "type": "Button", "caption": "Test2", "onClick": "TM_Update2($id);" } ] } ``` ## Configurator Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/configurator/ _Benötigt Symcon >= 5.0_ Beschreibt das Aussehen und Funktionalität eines Konfigurators. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/configurator/132785b15a-1790424938/konfigurationsformulare-configurator.png) ### Allgemeine Parameter | Parameter | Beschreibung | | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption (optional) | Sichtbare Beschriftung der Konfigurationsliste | | [columns](configuration-forms.md) (optional) | (__default:__ Spalten für Adresse ("address") und Name ("name") ) Spalten der Konfigurationsliste | | discoveryInterval (optional) | (__default:__ 0) Macht die Konsole für die [Gerätesuche](../../../components/management-console.md) eine Anfrage an das beinhaltende Konfigurationsformular, gibt dieser Parameter an, wie viele Sekunden vergangen sein müssen, bevor eine erneute Anfrage gestartet werden darf; Befinden sich innerhalb eines Konfigurationsformulares mehrere Elemente vom Typ Configurator, so wird der maximale Wert verwendet (ab IP-Symcon 6.3) | | delete (optional) | (__default:__ false) Wenn true, dann wird hinter jedem Eintrag mit InstanzID ein Button eingeblendet, welcher die entsprechende Instanz löscht und die Zeile im Konfigurator aktualisiert | | name (optional) | Name der Konfigurationsliste | | onExpand (optional) | (__default:__ "") Skript, welches nach der Ausklappen eines Eintrages des Konfigurators ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. In dieser Ausführung bietet der Baum als Variablenwert nicht den aktuell ausgewählten Eintrag sondern den ausgeklappten Eintrag, siehe [Ausgewählte Zeile als Variable in on-Aktionen](configuration-forms.md). Ansonsten hat es die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab IP-Symcon 6.4) | | rowCount (optional) | (__default:__ 0) sichtbare Anzahl von Zeilen; bei mehr Zeilen in der Liste wird ein Scrollbalken eingeblendet - ist der Wert 0, so füllt die Konfigurationsliste den restlichen noch verfügbaren Platz im Instanzeditor. Nur ein Konfigurationselement kann den gesamten restlichen Platz erhalten. | | [sort](configuration-forms.md) (optional) | Sortierung der Tabelle. Wird dies nicht gesetzt bleibt die Liste unsortiert | | type | Configurator | | [values](configuration-forms.md) (optional) | Einträge der Form | | visible (optional) | (__default:__ true) Bei true ist der Configurator sichtbar, ansonsten ist er unsichtbar (ab IP-Symcon 5.2) | > **Hinweis:** Sollen die Parameter columns, sort oder values per [UpdateFormField](module.md) verändert werden, so müssen die neuen Werte als JSON codiert werden. ### Parameter für columns | Parameter | Beschreibung | | ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung einer Spalte | | label | Sichtbare Beschriftung einer Spalte _(veraltet)_ | | name | eindeutiger Name einer Spalte um diese zu referenzieren; der Name darf nicht "id", "parent", "create", "expanded" oder "instanceID" sein | | quickFilter (optional) | (__default:__ true) Bei true wird der Text dieser Spalte beim Schnellfilter in der Suche betrachtet. Sollte der Wert bei allen Spalten auf false gesetzt sein, so wird der Schnellfilter ausgeblendet. (ab IP-Symcon 7.2) | | visible (optional) | (__default:__ true) Bei false wird die Spalte nicht angezeigt | | width | Breite der Spalte in Pixeln, als CSS-String (z.B. "100px"); eine einzige Spalte darf den Wert "auto" haben, wodurch die Breite dieser Spalte den restlich verfügbaren Platz nutzt. Im Falle eines Baumes muss bei einer Spalte der Wert "auto" gesetzt sein. An dieser Spalte werden die Erweiterungs-Symbole dargestellt. | ### Parameter für sort | Parameter | Beschreibung | | --------- | -------------------------------------------------------------------------------------------------------------------------- | | column | Name der Spalte, nach welcher die Liste sortiert wird | | direction | Die Richtung der Sortierung; "ascending" für eine aufsteigende Sortierung und "descending" für eine absteigende Sortierung | ### Parameter für values | Parameter | Beschreibung | | --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | address (optional) | (__default__: "") Wurden die Standardspalten verwendet, so wird dieser Wert für die Adress-Spalte verwendet. | | create (optional) | (__default__: error) Vorgabe der Konfiguration der erstellten Instanz ([Mehr Informationen](configuration-forms.md)) | | expanded (optional) | (__default__: false) Falls dieser Wert true ist, wird der Eintrag beim Laden des Konfigurationsformulares direkt ausgeklappt | | instanceID (optional) | (__default__: 0) InstanzID des Gerätes im Objektbaum, 0 wenn das Gerät noch nicht erstellt wurde | | id (optional) | Ein Identifikator, mit welchem der Eintrag für eine Baumdarstellung als Elternknoten adressiert werden kann, id muss größer als 0 sein | | name (optional) | (__default__: "") Wurden die Standardspalten verwendet, so wird dieser Wert für die Namens-Spalte verwendet. Dieser Wert definiert zusätzlich den Namen der zu erstellenden Instanz. Existiert eine Instanz bereits, so wird in der Namens-Spalte der Name der Instanz angezeigt und nicht der Inhalt dieses Parameters. | | parent (optional) | (__default__: 0) In diesem Feld kann die id eines Wertes gesetzt werden, welcher in der Baumdarstellung der Elternknoten von diesem Wert wird. Hiefür muss der Eltern-Wert im Array vor dem Kind stehen. Ist "parent" 0, so wird das Element auf oberster Ebene eingefügt. | ### Parameter für create Es gibt verschiedene Möglichkeiten die zu erstellenden Instanzen und deren initiale Konfiguration zu definieren. #### Variante 1: Konfiguration einer einzelnen Instanz In der ersten Variante wird eine einzelne Instanz und deren Konfiguration definiert. In diesem Fall ist create ein Objekt, welches Informationen über die verwendete ModulID und die initiale Konfiguration enthält: _Parameter für Einrichtung_ | Parameter | Beschreibung | | -------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | moduleID | Die Modul ID der zu erstellenden bzw. benötigten Instanz | | configuration | Die benötigte Konfiguration der Instanz, siehe [IPS_SetConfiguration](../../../functions/management-instances.md), nicht als JSON-String codiert | | location (optional) | (__default:__ []) Die Liste von Strings gibt die initiale Position im Objektbaum an. Bei einer leeren Liste wird die Instanz in der Hauptkategorie erstellt. Ansonten werden hierarchisch die Kategorien mit dem jeweiligen Namen verwendet und bei Bedarf erstellt. | | info (optional) | (__default:__ "") Die initiale Beschreibung der neu erstellten Instanz; wird eine bereits existierende Instanz verwendet, wird die Beschreibung nicht überschrieben. | | position (optional) | (__default:__ 0) Die initiale Position der neu erstellten Instanz; wird eine bereits existierende Instanz verwendet, wird die Position nicht überschrieben. | | name (optional) | (__default:__ Modulname oder Wert der Spalte "name") Der initiale Name der neu erstellten Instanz; wird eine bereits existierende Instanz verwendet, wird der Name nicht überschrieben. (ab IP-Symcon 5.5) | | noDiscovery (optional) | (__default:__ false) Steht dieser Parameter auf true, so wird dieser Eintrag bei der [Gerätesuche](../../../components/management-console.md) nicht als Gerät angezeigt und kann auch nicht als gelesen markiert werden. Bei einer Konfiguration als Kette ( [Variante 2](https://www.symcon.de/./#Variante_2:_Konfiguration_einer_Kette) ) wird der Wert des ersten Eintrags der Kette verwendet. Bei mehreren möglichen Konfigurationen ([Variante 3](https://www.symcon.de/./#Variante_3:_Mehrere_mögliche_Konfigurationen) ) muss jede Konfiguration diesen Parameter auf true haben, damit die Auswahl nicht in der Gerätesuche auftaucht. (ab IP-Symcon 5.4) | | statusVariables (optional) | (__default:__ {}) Dies Objekt gibt eine initiale Konfiguration der Statusvariablen vor. Für jeden Parameter dieses Statusvariablen-Objektes wird die Variable mit dem Ident des Parameternamens konfiguriert. Der dazugehörige Parameter ist ein weiteres Objekt, welches die Konfiguration der Variablen definiert. Die Variablenkonfiguration wird nach der Übernahme der Instanzkonfiguration angewandt. Variablen, die erst später erstellt werden, können hier nicht konfiguriert werden. (ab IP-Symcon 5.3) | _Parameter für Statusvariablen_ | Parameter | Beschreibung | | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | name (optional) | (__default:__ Vorgabe durch erstellte Instanz) Die Statusvariable wird auf diesen Wert umbenannt. Der Name wird durch die Lokalisierung des Konfigurators übersetzt. | Wird eine Instanz erstellt, so wird sie mit der von der Einrichtung vorgegebenen ModulID und Konfiguration erstellt. Wie bei der Instanzerstellung üblich, wird die neue Instanz mit validen, physikalisch übergeordneten Instanzen verknüpft, wenn möglich. Hierbei wird bevorzugt die dem Konfigurator physikalisch übergeordnete Instanz verwendet. #### Variante 2: Konfiguration einer Kette Alternativ kann eine Kette von Konfigurationen übergeben werden. Diese definiert die gesamte physikalische Kette für die neu erstellte Instanz, üblicherweise also Gerät, Splitter und I/O. In dieser Variante stellt data.create eine Liste dar, deren Elemente wie in Variante 1 die Instanzen der physikalischen Kette definiert. Die Liste beginnt hierbei mit dem zu erstellenden Gerät und setzt dann mit der jeweils nächsten physikalisch übergeordneten Instanz fort. Bei der Erstellung durch eine Kette, werden bevorzugt existierende übergeordnete Instanzen wiederverwendet, sofern diese und deren physikalisch übergeordneten Instanzen die Anforderungen der Kette erfüllen. Das Gerät selbst wird allerdings in jedem Falle neu erstellt. #### Variante 3: Mehrere mögliche Konfigurationen Als letzte Möglichkeit können mehrere Konfigurationen zur Auswahl gestellt werden. Hierbei wird create als Objekt mit Schlüssel/Wert-Paaren erstellt, wobei jeder Wert wieder einer Konfiguration wie in Variante 1 oder Variante 2 beschrieben entspricht. Soll bei dieser Darstellung eine Instanz erstellt werden, so wird dem Benutzer eine Auswahl der Bezeichnungen vorgegeben. Die Instanz wird mit den Einstellungen des ausgewählten Elements erstellt. Hierbei können die Schlüssel "moduleID" und "configuration" nicht verwendet werden. ### Farben in der Konfigurationsliste Was die einzelnen Farben bei Meldungen und im Konfigurator bedeuten kann unter den Farbcodes für [Meldungen](../../../components/management-console.md) und [Konfiguratoren](../../../concepts.md) nachgelesen werden. Vom Element werden diese Informationen folgendermaßen dargestellt: | Farbe | Bedingung | | ----- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | grün | instanceID ist 0, create ist definiert | | rot | instanceID ist nicht 0, create ist nicht definiert oder die definierte instanceID existiert nicht | | grau | Die Instanz mit der ID instanceID ist nicht konfiguriert wie von create vorgegeben. Stellt create eine Kette dar, so wird die Zeile auch als grau dargestellt, falls ein physikalisches Elternteil anders als in der Kette definiert konfiguriert ist | | weiß | instanceID ist 0, create ist nicht definiert (Kategorie) | | weiß | Die Instanz mit der ID instanceID ist konfiguriert wie von create vorgegeben. Stellt create eine Kette dar, so wird die Zeile nur dann als weiß dargestellt, wenn alle physikalischen Elternteile wie in der Kette definiert konfiguriert sind | ### Das Formularfeld Configurator in der Gerätesuche verwenden Die Konsole bietet erstellbare [Instanzen](../../../concepts.md) zentral über die [Gerätesuche](../../../components/management-console.md) an. Dies geschieht, indem bei [Instanzen](../../../concepts.md) des Typs Konfigurator und Discovery regelmäßig [GetConfigurationForm](module.md) aufgerufen wird und der Parameter values bei Configurator-Feldern ausgewertet wird. Es werden nur Konfigurator- und Discovery-Instanzen in der Gerätesuche angezeigt, welche mindestens ein Configurator-Feld beinhalten. In diesem darf values auch leer sein. Soll die eigene Instanz bei der [Gerätesuche](../../../components/management-console.md) betrachtet werden, so müssen daher folgende Bedingungen erfüllt sein: * Die Instanz muss vom Typ Konfigurator oder Discovery sein * Die Suche nach Geräten muss automatisch beim Ausführen von [GetConfigurationForm](module.md) gestartet werden. Dauert die Suche länger, so sollte in einer initialen Rückgabe values leer gelassen werden, nach abgeschlossener Suche müssen die erstellbaren Geräte aber in der Rückgabe von [GetConfigurationForm](module.md) enthalten sein * Die Suche sollte bei wiederholtem Aufruf von [GetConfigurationForm](module.md) nicht erneut gestartet werden sollte, falls diese aktuell schon läuft * Eine Beispielimplementation kann hier gefunden werden: [SymconTest](https://github.com/symcon/SymconTest/blob/master/BelatedDiscoveryTest/module.php) ### Ausgewählte Zeile als Variable in on-Aktionen Die Verwendung der Werte des Konfigurators in Skripten erfolgt analog zu [Listen](configuration-forms.md). Dort stehen sämtliche Werte zur Verfügung, inklusive expanded, instanceID und create. Dennoch speichert der Konfigurator keine Werte in einer Eigenschaft ab. ### Beispiel ```php { "type": "Configurator", "values": [{ "name": "Rechenmodul (Umbenannte Statusvariablen)", "address": "Adresse", "create": { "moduleID": "{A7B0B43B-BEB0-4452-B55E-CD8A9A56B052}", "configuration": {}, "statusVariables": { "Minimum": { "name": "Alternativer Name für Minimum" }, "Maximum": { "name": "Alternativer Name für Maximum" } } } }] }) ``` ## ExpansionPanel Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/expansionpanel/ _Benötigt Symcon >= 5.0_ Erstellt ein Expansion Panel, welches weitere Formularfelder enthält und auf- und zugeklappt werden kann, um so den Inhalt platzsparend darzustellen. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/expansionpanel/33106ab16c-1790424938/konfigurationsformulare-expansionpanel.png) ### Parameter | Parameter | Beschreibung | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Titel des Expansion Panels | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onClick-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | expanded (optional) | (__default:__ false) Bei true ist das Expansion Panel ausgeklappt, ansonsten ist es eingeklappt (ab IP-Symcon 5.2) | | items | Liste mit Formularfeldern innerhalb des Expansion Panels (nicht änderbar) | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onClick-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 6.0) | | name (optional) | Name des Buttons | | onClick (optional) | (__default:__ "") Skript, welches bei einem Klick auf das Ausklappicon ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab IP-Symcon 5.3) | | type | ExpansionPanel | | visible (optional) | (__default:__ true) Bei true ist das Expansion Panel sichtbar, ansonsten ist es unsichtbar (ab IP-Symcon 5.2) | | width (optional) | Feste Breite des Expansion Panels in Pixel oder % als String, z.B. "40%" oder "250px". Ist der Wert nicht gesetzt oder "", wird automatisch die volle Breite genutzt (ab IP-Symcon 5.3) | ### Beispiel ```php // Richtet ein Expansion Panel ein { "type": "ExpansionPanel", "caption": "Mein Expansion Panel", "items": [ { "type": "SelectFile", "name": "File", "caption": "File" }, { "type": "Select", "name": "Calculation", "caption": "Calculation", "options": [ { "caption": "Everything", "value": 0 }, { "caption": "Sum", "value": 1 }, { "caption": "Minimum", "value": 2 }, { "caption": "Maximum", "value": 3 }, { "caption": "Average", "value": 4 }, { "caption": "Count", "value": 5 } ] } ] } ``` ## HorizontalSlider Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/horizontalslider/ Erstellt einen horizontalen Schieberegler der zwischen den Werten von __"minimum"__ und __"maximum"__ verschoben werden kann. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/horizontalslider/f6eec19ffa-1790424938/konfigurationsformulare-horizontalslider.png) ### Parameter | Parameter | Beschreibung | | ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Beschriftung des Schiebereglers | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | displayValue (optional) | (__default:__ false) Bei true wird der Wert des Schiebereglers rechts vom Regler angezeigt. (ab IP-Symcon 8.1) | | enabled (optional) | (__default:__ true) Bei true kann der Schieberegler verwendet werden, ansonsten wird er deaktiviert dargestellt (ab IP-Symcon 5.2) | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 6.0) | | maximum (optional ab IP-Symcon 5.3) | (__default:__ 100) Maximumwert der im Schieberegler einstellbar ist | | minimum (optional ab IP-Symcon 5.3) | (__default:__ 0) Minimumwert der im Schieberegler einstellbar ist | | name (optional) | Name des Schiebereglers | | onChange (optional ab IP-Symcon 5.3) | (__default:__ "") Skript, welches bei Verschiebung des Reglers ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) | | prefix (optional) | (__default:__ "") Sichtbare Beschriftung/Einheit vor der Wertanzeige (ab IP-Symcon 8.1) | | stepSize (optional) | (__default:__ 1) Schrittgröße, in welcher der Schieberegler verstellt werden kann (ab IP-Symcon 5.3) | | suffix (optional) | (__default:__ "") Sichtbare Beschriftung/Einheit hinter der Wertanzeige (ab IP-Symcon 8.1) | | type | HorizontalSlider | | value (optional) | (__default:__ minimum) Der Wert des Schiebereglers - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist der Schieberegler sichtbar, ansonsten ist er unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite des Schiebereglers in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php //Das Beispiel gibt die InstanzID zurück. { "type": "HorizontalSlider", "name": "Slider", "caption": "ID-Schieberegler", "minimum": 0, "maximum": 16, "onChange": "echo $id;" } ``` ## Image Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/image/ _Benötigt Symcon >= 5.0_ Erstellt ein Bild, welches auf der Modulseite dargestellt wird. Das Bild kann direkt angegeben werden oder aus einem Medienobjekt geladen werden. ### Parameter | Parameter | Beschreibung | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onClick-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | image (optional) | Inhalt des Bildes als Data-URI ([Mehr Infos](https://wiki.selfhtml.org/wiki/Grafik/Grafiken_mit_Data-URI), nicht kombinierbar mit __mediaID__, entweder __image__ oder __mediaID__ muss gesetzt sein) | | link (optional) | Ist dieser Parameter true, dann wird die Ausgabe des onClick-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. Ist der Parameter nicht gesetzt, dann wird auf Basis der Ausgabe entschieden, ob diese als Link geöffnet oder im Dialog angezeigt wird (siehe Infobox). (ab IP-Symcon 6.0) | | mediaID (optional) | MedienID des dargestellten Bildes oder Streams (ab IP-Symcon 5.5) (Nicht kombinierbar mit __image__, entweder __image__ oder __mediaID__ muss gesetzt sein) | | name (optional) | Name des Bildes | | type | Image | | visible (optional) | (__default:__ true) Bei true ist das Bild sichtbar, ansonsten ist es unsichtbar (ab IP-Symcon 5.2) | | center (optional) | (__default:__ false) Ist __center__ gesetzt, so wird das Bild innerhalb des dargestellten Bereiches horizontal zentriert, ansonsten ist es linksbündig. Innerhalb eines [RowLayout](configuration-forms.md) hat diese Einstellung keine Funktion. | | width (optional) | Feste Breite des Bildes in Pixel oder % als String, z.B. "40%" oder "250px". Ist der Wert nicht gesetzt oder "", wird die Breite automatisch auf Basis des Bildes gewählt (ab IP-Symcon 6.0) | | onClick | Skript, welches bei einem Klick auf das Bild ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). (ab IP-Symcon 6.0) | > **Hinweis:** Steht in dem Parameter onClick ein "echo" in Kombination mit 'http'/'https' wird der Browser geöffnet und die URL aufgerufen. Ist ein "echo" in Kombination mit einem 'mailto:' vorhanden wird das Standard-Mailprogramm mit allen gesetzten Parametern geöffnet (Verfügbar ab IP-Symcon 6.0) ### Beispiel ```php // Bild base64-codiert darstellen { "type": "Image", "image": "data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==" } // Bild aus Medium darstellen { "type": "Image", "mediaID": 12345 } ``` ## IntervalBox (veraltet) Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/intervalbox/ > **Achtung:** Ab 5.0 ist die IntervalBox veraltet und wird zu einem zukünftigen Zeitpunkt entfernt. Der [NumberSpinner](configuration-forms.md) unterstützt den > Parameter __suffix__ und bietet somit sämtliche Funktionen der IntervalBox. Daher sind die Parameter der IntervalBox auch nicht änderbar. Erstellt eine IntervalBox welche ein Zahleneingabefeld hat, welches eine Beschriftung/Einheit hinter dem Eingabefeld besitzt. Falls im "elements"-Bereich erstellt, setzt die IntervalBox eine Eigenschaft bei Übernahme auf den eingetragenen Zahlenwert. Der Parameter __"name"__ definiert dabei welche Eigenschaft gesetzt wird. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/intervalbox/3cb045831a-1790424938/konfigurationsformulare-intervalbox.png) ### Parameter | Parameter | Beschreibung | | --------------- | ----------------------------------------------------- | | caption | Sichtbare Beschriftung/Einheit hinter dem Eingabefeld | | type | IntervalBox | | name (optional) | Name der Intervalbox/der zu setzenden Eigenschaft | ### Beispiel ```php { "type": "IntervalBox", "name": "CacheInterval", "caption": "Sekunden" } ``` ## Label Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/label/ Erstellt ein Label, welches der Übersicht dient. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/label/75af2ca585-1790424938/konfigurationsformulare-label.png) ### Parameter | Parameter | Beschreibung | | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | bold (optional) | (__default:__ false) Bei true wird das Label fett dargestellt | | caption | Sichtbare Beschriftung | | color (optional) | (__default:__ 0 (schwarz)) Das Label wird in der angegebenen Farbe dargestellt | | italic (optional) | (__default:__ false) Bei true wird das Label kursiv dargestellt | | label | sichtbare Beschriftung _(veraltet, nicht änderbar)_ | | link (optional) | (__default:__ true) Ist dieser Parameter gesetzt, so werden URLs innerhalb der Beschriftung, welche mit "http://" oder "https://" beginnen als Links dargestellt (ab IP-Symcon 5.3) | | name (optional) | Name des Labels | | type | Label | | underline (optional) | (__default:__ false) Bei true wird das Label unterstrichen dargestellt | | visible (optional) | (__default:__ true) Bei true ist das Label sichtbar, ansonsten ist es unsichtbar (ab IP-Symcon 5.2) | | width (optional) | Feste Breite des Labels in Pixel oder % als String, z.B. "40%" oder "250px". Ist der Wert nicht gesetzt oder "", wird die Breite automatisch auf Basis der Beschriftung gewählt (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "Label", "caption": "Drücken Sie Einlernen, nachdem Sie das Gerät in den Lernmodus versetzt haben" } ``` ## List Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/list/ _Benötigt Symcon >= 4.2_ Erstellt eine Liste mit der Überschrift __caption__. Die angezeigten Spalten werden in __columns__ definiert. Initiale Einträge der Liste können via __values__ vorgegeben werden. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/list/07ea94c6f1-1790424938/konfigurationsformulare-list.png) ### Allgemeine Parameter | Parameter | Beschreibung | | ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | add (optional) | (__default:__ false) Wenn true, dann wird unter der Tabelle ein "Hinzufügen"-Button eingeblendet, welcher der Tabelle ein neues Element mit Standardwerten hinzufügt | | caption (optional) | Sichtbare Beschriftung der Liste | | columns | Spalten der Liste | | delete (optional) | (__default:__ false) Wenn true, dann wird hinter jedem Eintrag in der Liste ein Button eingeblendet, welcher das entsprechende Element löscht | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onAdd, onChangeOrder, onDelete oder onEdit-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab Symcon 7.0) | | form (optional) | (__default:__ basierend auf den edit-Parametern von columns) Ein individuelles Formular zum Bearbeiten oder Hinzufügen von Zeilen. Die Definition des Formulars erfolg analog zur Definition des Formulars für [Aktionen](../sdk-php.md) statisch oder als PHP-Code. Wie das Formular ausgewertet und gefüllt wird ist im Abschnitt Individuelle Formulare zum Bearbeiten erklärt (ab Symcon 7.0) | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onAdd, onChangeOrder, onDelete oder onEdit-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab Symcon 6.0) | | multiAdd (optional) | (__default:__ false, falls onAdd gesetzt ist, sonst true) Ist dieser Parameter true, ist form nicht gesetzt und hat die Liste nur eine einzige editierbare Spalte vom Typ [SelectObject](configuration-forms.md), [SelectCategory](configuration-forms.md), [SelectInstance](configuration-forms.md), [SelectVariable](configuration-forms.md), [SelectScript](configuration-forms.md), [SelectMedia](configuration-forms.md) oder [SelectLink](configuration-forms.md), so können mehrere Objekte gleichzeitig hinzugefügt werden. Beim Hinzufügen mehrerer Objekte wird onAdd trotzdem nur ein mal ausgeführt. (ab Symcon 9.1) | | name (optional) | Name der Liste / der zu setzenden Eigenschaft | | onAdd (optional) | (__default:__ "") Skript, welches nach dem Hinzufügen eines Eintrages der Liste ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). In dieser Ausführung bietet die Liste als Variablenwert nicht den aktuell ausgewählten Eintrag sondern den hinzugefügten Eintrag, siehe [Ausgewählte Zeile als Variable in on-Aktionen](configuration-forms.md). Ansonsten hat es die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab Symcon 5.3) | | onChangeOrder (optional) | (__default:__ "") Skript, welches nach dem Verschieben eines Eintrages der Liste ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. In dieser Ausführung bietet die Liste als Variablenwert nicht den aktuell ausgewählten Eintrag sondern den verschobenen Eintrag, siehe [Ausgewählte Zeile als Variable in on-Aktionen](configuration-forms.md). Ansonsten hat es die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab Symcon 6.3) | | onDelete (optional) | (__default:__ "") Skript, welches nach dem Löschen eines Eintrages der Liste ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). In dieser Ausführung bietet die Liste als Variablenwert nicht den aktuell ausgewählten Eintrag sondern den gelöschten Eintrag, siehe [Ausgewählte Zeile als Variable in on-Aktionen](configuration-forms.md). Ansonsten hat es die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab Symcon 5.3) | | onEdit (optional) | (__default:__ "") Skript, welches nach der Bearbeitung eines Eintrages der Liste ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). In dieser Ausführung bietet die Liste als Variablenwert nicht den aktuell ausgewählten Eintrag sondern den bearbeiteten Eintrag, siehe [Ausgewählte Zeile als Variable in on-Aktionen](configuration-forms.md). Ansonsten hat es die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab Symcon 5.3) | | rowCount (optional) | (__default:__ 0) sichtbare Anzahl von Zeilen; bei mehr Zeilen in der Liste wird ein Scrollbalken eingeblendet - ist der Wert 0, so füllt die Liste den restlichen noch verfügbaren Platz im Instanzeditor. Nur ein Konfigurationselement kann den gesamten restlichen Platz erhalten. | | sort (optional) | Sortierung der Tabelle. Wird dies nicht gesetzt bleibt die Liste unsortiert | | type | List | | values (optional) | Initiale Einträge der Liste | | visible (optional) | (__default:__ true) Bei true ist die Liste sichtbar, ansonsten ist sie unsichtbar (ab Symcon 5.2) | | enabled (optional) | (__default:__ true) Bei true kann die Liste verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab Symcon 6.0) | | changeOrder (optional) | (__default:__ false) Bei true kann die Reihenfolge der Einträge per Drag & Drop verändert werden. Die Sortierung der Liste nach Spalten ist dann allerdings nicht möglich. (ab Symcon 6.0) | | loadValuesFromConfiguration (optional) | (__default:__ true) Dieser Parameter gibt an, ob die Liste mit den Werten der Eigenschaft gefüllt werden soll, siehe [Speichern und Laden von Listen](configuration-forms.md) . Wird der Wert auf false gesetzt, so ist es für einen erfolgreichen Review im Module Store erforderlich, die Liste dennoch im Sinne des Benutzers zu füllen, siehe [Reviewrichtlinien](../sdk-php.md) Punkt 13 (ab Symcon 6.0) | ### Parameter für columns | Parameter | Beschreibung | | -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | add (optional) | initialer Wert in dieser Spalte bei einem neu hinzugefügtem Eintrag, notwendig wenn __add__ bei der Liste auf true gesetzt ist. Alternativ kann ein Objekt übergeben werden, welches den Wert automatisch generiert, siehe Parameter für add (ab Symcon 9.1) | | align (optional) | (__default:__ "left") Ausrichtung der Spalte (ab Symcon 5.2)
"left": Inhalt wird linksbündig dargestellt
"center": Inhalt wird zentriert dargestellt
"right": Inhalt wird rechtsbündig dargestellt | | caption | Sichtbare Beschriftung einer Spalte | | confirm (optional) | (__default:__ "") Abfragetext, bevor eine onClick-Aktion ausgeführt wird. Nur wenn die Abfrage mit "Ja" bestätigt wird, wird die Aktion ausgeführt. Ist kein Abfragetext definiert, so wird die Aktion direkt ausgeführt (ab Symcon 5.2) | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onClick-Skriptes dieser Spalte eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab Symcon 7.1) | | edit (optional) | Beschreibung eines editierbaren Elements | | label | sichtbare Beschriftung einer Spalte _(veraltet)_ | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onClick-Skriptes dieser Spalte als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab Symcon 7.1) | | name | Eindeutiger Name einer Spalte um diese zu referenzieren; der Name darf nicht "rowColor", "editable" oder "deletable" sein, da diese Werte für andere Funktionen belegt sind, siehe [Parameter für values](configuration-forms.md) | | onClick (optional) | (__default:__ "") Skript, welches bei einem Klick auf ein Feld dieser Spalte ausgeführt wird. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). Das Skript wird nur ausgeführt, sofern dieses Feld nicht leer, also 0, false oder "" ist (ab Symcon 5.2) | | quickFilter (optional) | (__default:__ false) Bei true wird der Text dieser Spalte beim Schnellfilter in der Suche betrachtet. Sollte der Wert bei allen Spalten auf false gesetzt sein, so wird der Schnellfilter ausgeblendet. (ab Symcon 7.2) | | sortColumn (optional) | Ist sortColumn gesetzt und wird nach dieser Spalte sortiert, so werden statt den Werten dieser Spalte, die Werte der Spalte mit dem Namen dieses Parameters verglichen | | save (optional) | (__default:__ true, falls das Element editierbar ist oder __add__ ein Objekt zur automatischen Generierung ist, sonst false) Bei true sollen die Werte dieser Spalte als Modul-Eigenschaften gesichert werden, siehe [Speichern und Laden von Listen](configuration-forms.md) | | visible (optional) | (__default:__ true) Bei false wird die Spalte nicht angezeigt | | width | Breite der Spalte in Pixeln, als CSS-String (z.B. "100px"); eine einzige Spalte darf den Wert "auto" haben, wodurch die Breite dieser Spalte den restlich verfügbaren Platz nutzt | ### Parameter für edit | Parameter | Beschreibung | | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | type | Typ der Darstellung, entsprechend der möglichen Eingaben:
[CheckBox](configuration-forms.md), [IntervalBox](configuration-forms.md), [NumberSpinner](configuration-forms.md), [PasswordTextBox](configuration-forms.md), [Select](configuration-forms.md), [SelectCategory](configuration-forms.md), [SelectColor](configuration-forms.md), [SelectEvent](configuration-forms.md), [SelectFile](configuration-forms.md), [SelectInstance](configuration-forms.md), [SelectLink](configuration-forms.md), [SelectMedia](configuration-forms.md), [SelectObject](configuration-forms.md), [SelectScript](configuration-forms.md), [SelectVariable](configuration-forms.md), [ValidationTextBox](configuration-forms.md), [List](configuration-forms.md), [Tree](configuration-forms.md) | | Weitere Parameter | Die weiteren Parameter ergeben sich je nach gewähltem Typ; die Parameter "name" und "caption" des Typs werden ignoriert | > **Hinweis:** Wird der "type" List oder Tree verwendet, so wird der Wert dieser Spalte nicht noch einmal JSON-codiert. Es ist also lediglich erforderlich den Wert der übergeordneten Liste einmalig zu parsen. Jede Unterliste bzw. Unterbaum steht dann direkt als Objekt zur Verfügung. Analog müssen die Werte in "values" auch nicht doppelt codiert werden. > **Hinweis:** Der Parameter "add" der Spalte wird entsprechend der Lokalisierung übersetzt, sofern der "type" von "edit" ValidationTextBox oder PasswordTextBox ist oder "edit" gar nicht gesetzt ist > **Hinweis:** Es ist möglich mit der Funktion [UpdateFormField](module.md) nur Teile von von columns oder values zu aktualisieren, indem eine Punktnotation verwendet wird. In dem Fall wird als Ziel columns.x.y bzw. values.x.y verwendet. x bezieht sich dabei auf den Index der betroffenen Spalte bzw. des betroffenen Wertes und y auf den Namen des Feldes. Es ist auch möglich einen einzelne Spalte bzw. einen einzelnen Wert komplett zu bearbeiten indem als Ziel columns.x bzw. values.x verwendet wird. Um also beispielsweise die Breite der zweiten Spalte anzupassen, kann der Befehl $this->UpdateFormField('list', 'columns.1.width', '200px'); verwendet werden. ### Parameter für add Statt eines festen Wertes kann der Parameter __add__ einer Spalte auch ein Objekt sein, welches beschreibt, mit welcher Strategie der Wert für einen neu hinzugefügten Eintrag automatisch generiert wird (ab Symcon 9.1). Der Wert wird beim Hinzufügen des Eintrages generiert und anschließend wie ein regulärer Wert behandelt. Der generierte Wert ist innerhalb der Spalte eindeutig: Stimmt ein zufälliger Wert mit dem Wert eines bestehenden Eintrages überein, so wird ein neuer Wert generiert. Generierte Werte werden nicht übersetzt. | Parameter | Beschreibung | | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | strategy | Strategie der Generierung:
"increment": Der höchste numerische Wert dieser Spalte über alle Einträge der Liste wird um __step__ erhöht. Nicht numerische Werte werden ignoriert. Existiert noch kein numerischer Wert, so wird __step__ verwendet
"random-string": Eine zufällige Zeichenkette aus den Zeichen a-z, A-Z und 0-9 mit der Länge __length__
"random-integer": Eine zufällige ganze Zahl zwischen __min__ und __max__
"guid": Eine zufällige GUID (UUID Version 4), z.B. "{3F2504E0-4F89-4D3A-9A0C-0305E82C3301}" | | step (optional) | (__default:__ 1) Schrittweite, um welche der höchste Wert erhöht wird, nur für die strategy "increment"; muss eine Zahl ungleich 0 sein | | length (optional) | (__default:__ 32) Anzahl der Zeichen der generierten Zeichenkette, nur für die strategy "random-string" | | min (optional) | (__default:__ 0) Untere Grenze (inklusive) der zufälligen ganzen Zahl, nur für die strategy "random-integer"; muss kleiner als __max__ sein | | max (optional) | (__default:__ 2147483647) Obere Grenze (inklusive) der zufälligen ganzen Zahl, nur für die strategy "random-integer"; muss größer als __min__ sein | > **Hinweis:** Damit generierte Werte erhalten bleiben, werden Spalten mit einem solchen add-Wert standardmäßig gespeichert, d.h. der Parameter "save" ist für diese Spalten standardmäßig true. Fehlt einem geladenen Eintrag der Wert in einer solchen Spalte, z.B. weil die Spalte nachträglich hinzugefügt wurde, so wird der Wert beim Laden nach der gleichen Strategie generiert. Auch der Standardwert, den on-Aktionen erhalten, wenn kein Eintrag ausgewählt ist, wird nach der Strategie generiert. Kann kein eindeutiger Wert generiert werden, weil bereits alle möglichen Werte verwendet werden, z.B. bei "random-integer" mit einem kleinen Bereich zwischen min und max, so schlägt das Hinzufügen mit einer Fehlermeldung fehl. ```php // Spalten mit automatisch generierten Werten { "caption": "ID", "name": "ID", "width": "50px", "add": { "strategy": "increment", "step": 10 } }, { "caption": "Token", "name": "Token", "width": "auto", "add": { "strategy": "random-string", "length": 16 }, "edit": { "type": "ValidationTextBox" } }, { "caption": "Zufallszahl", "name": "Number", "width": "100px", "add": { "strategy": "random-integer", "min": 1, "max": 100 }, "edit": { "type": "NumberSpinner" } }, { "caption": "GUID", "name": "GUID", "width": "300px", "add": { "strategy": "guid" } } ``` ### Parameter für sort | Parameter | Beschreibung | | --------- | -------------------------------------------------------------------------------------------------------------------------- | | column | Name der Spalte, nach welcher die Liste sortiert wird | | direction | Die Richtung der Sortierung; "ascending" für eine aufsteigende Sortierung und "descending" für eine absteigende Sortierung | ### Parameter für values | Parameter | Beschreibung | | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | deletable (optional) | (__default:__ true) Bei false kann die Zeile nicht gelöscht werden (ab Symcon 5.4) | | editable (optional) | (__default:__ true) Bei false kann die Zeile nicht editiert werden, obwohl die Liste an sich editierbare Spalten besitzt (ab Symcon 5.4) | | rowColor (optional) | (__default:__ transparent) Hintergrundfarbe der Zeile als Hex-Code (Defaultfarben s.u.), leerer String für Transparenz | | icons (optional) | (__default:__ {}) Ein Objekt welches die verwendeten Icons für jede Spalte beinhaltet. Dabei gibt der Schlüssel jeweils den Namen der Spalte an und der Wert den Namen des verwendeten Icons. Ist für eine Spalte kein Eintrag im Objekt vorhanden, so wird für diese Spalte kein Icon angezeigt. (ab Symcon 9.0) | | Weitere Parameter (optional) | (__default:__ "") Für jeden initialen Eintrag der Liste werden hier die Werte zu allen Spalten definiert. Hierfür wird für jede Spalte ein Parameter mit dem Namen der Spalte eingetragen. Die Belegung des Parameters entspricht dem Wert dieser Spalte bei dem entsprechenden Eintrag. | | Farbe | Hex-Code | | -------- | -------- | | Hellgrün | #C0FFC0 | | Lila | #C0C0FF | | Gelb | #FFFFC0 | | Grau | #DFDFDF | | Rot | #FFC0C0 | Was die einzelnen Farben bei Meldungen und im Konfigurator bedeuten kann unter den Farbcodes für [Meldungen](../../../components/management-console.md) und [Konfiguratoren](../../../concepts.md) nachgelesen werden. Alle von iron-icon unterstützen Icons sind nutzbar: [Iron Icons Demo](https://kevingleason.me/Polymer-Todo/bower_components/iron-icons/demo/index.html) Darüber hinaus können folgende Symcon-spezifischen Icons genutzt werden: ![Icons](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/list/462df19b8d-1790424938/konfigurationsformulare-list-icons.gif) ### Speichern und Laden von Listen Beim Speichern der Liste werden alle Listenelemente, die editierbar sind oder den Paramter __save__ gesetzt haben, als Modul-Eigenschaften gesichert. Wird die Liste erneut geladen und ist der Parameter __loadValuesFromConfiguration__ nicht auf false gesetzt, so werden zuerst die Werte eingetragen, die als Modul-Eigenschaften gesichert wurden. Steht __loadValuesFromConfiguration__ auf false, werden keine Werte aus den Eigenschaften geladen sondern nur wie in den weiteren Schritten beschrieben geladen. Sollen dennoch Werte aus der Eigenschaft als Grundlage verwendet werden, so müssen diese selbstständig in __values__ eingetragen werden. Die weiteren Elemente, inklusive der Farbe, werden mit den initialen Werten aus __values__ aufgefüllt. Existieren mehr Zeilen als Elemente in __values__, so werden Elemente der überzähligen Zeilen, welche nicht als Modul-Eigenschaften gesichert waren, mit dem Initialwert __add__ der entsprechenden Spalte gefüllt. ### Ausgewählte Zeile als Variable in on-Aktionen In der Definition des Konfigurationsformulares können die Werte der Tabelle als Variable __$Name__ verwendet werden. Auf das Objekt kann wie auf ein Array zugegriffen werden. Wird auf das entsprechende Objekt mit einem String-Index zugegriffen, so wird der entsprechende Wert wie in [values](configuration-forms.md) definiert der ausgewählten Zeile zurückgegeben. Wird mit einem numerischen Index zugegriffen oder das Objekt iteriert, so wird die entsprechende Zeile zurückgegeben, deren einzelne Parameter widerum per String-Index referenziert werden können. Beispiel: ```php //Gebe den Namen der aktuell gewählte Zeile der Tabelle devices aus { "type": "Button", "caption": "Ausgabe", "onClick": "print_r($devices['name']);" } //Gebe den Namen der ersten Zeile der Tabelle devices aus { "type": "Button", "caption": "Ausgabe", "onClick": "print_r($devices[0]['name']);" } ``` ### Individuelle Formulare zum Bearbeiten Standardmäßig wird beim Bearbeiten oder Hinzufügen einer Zeile ein Formular auf Basis der edit-Parameter der einzelnen Spalten verwendet. Ist allerdings der Parameter "form" gesetzt, so wird stattdessen das davon beschriebene Formular verwendet. Wird dabei eine Zeile bearbeitet, wird der Wert jedes Formularfeld basierend auf dem Wert mit gleichem Namen in der bearbeiteten Zeile gesetzt, sofern vorhanden. Beim Hinzufügen werden die initialen Werte der Formularfelder stattdessen basierend auf dem add-Wert der Spalte mit gleichem Namen gesetzt, falls solch eine Spalte existiert. Beim Bestätigen des Dialogs werden für die Zeile alle Werte des Dialogs mit dem Namen des Elements gespeichert. Falls dann noch Spalten existieren, deren Namen nicht im Formular vorkommen, wird deren Wert entsprechend des add-Wertes gesetzt. Beim Übernehmen der Konfiguration werden alle Werte, die zu einer Spalte passen wie üblich basierend auf dem save-Parameter abgespeichert. Passt ein Wert zu keiner Spalte, so wird er auf jeden Fall abgespeichert. Teile eines individuellen Formulars können wie im regulären Formular via [UpdateFormField](module.md) dynamisch angepasst werden. Beispiele zur Verwendung des form-Parameters können im [Test-Repository](https://github.com/symcon/SymconTest/tree/master/ListDynamicEditFormTest) gefunden werden. ### Werte aus der Tabelle in PHP registrieren und auslesen Wurde die Tabelle im Konfigurationsformular im Bereich __elements__ definiert, kann die Tabelle durch die Funktion [RegisterPropertyString](module.md) registriert werden. Die Tabelle wird dann als JSON-codierter String gespeichert. Die Funktion [ReadPropertyString](module.md) kann genutzt werden um den gespeicherten String auszulesen. In einem nächsten Schritt sollte die Funktion **json_decode** verwendet werden um den eingelesenen String in ein Array zu konvertieren. Beispiel: ```php $arrString = $this->ReadPropertyString("devices"); $arr = json_decode($arrString); ``` ### Beispiel ```php //Einfache editierbare Liste von Instanzen und dazugehörigen Werten //Die Liste enthält initial einen Eintrag { "type": "List", "name": "Devices", "caption": "Devices", "rowCount": 5, "add": true, "delete": true, "sort": { "column": "Name", "direction": "ascending" }, "columns": [{ "caption": "InstanceID", "name": "InstanceID", "width": "75px", "add": 0, "edit": { "type": "SelectInstance" } }, { "caption": "Name", "name": "Name", "width": "auto", "add": "" }, { "caption": "State", "name": "State", "width": "40px", "add": "New!" }, { "caption": "Temperature", "name": "Temperature", "width": "75px", "add": 20.0, "edit": { "type": "NumberSpinner", "digits": 2 } }], "values": [{ "InstanceID": 12435, "Name": "ABCD", "State": "OK!", "Temperature": 23.31, "rowColor": "#ff0000" //rot }] } ``` Wird in der Beispieltabelle nun der Wert __instanceID__ des ersten Eintrages auf 54321 und __temperature__ auf 37.0 geändert und die Tabelle gespeichert, so werden die neuen Werte für __instanceID__ und __temperature__ als Modul-Eigenschaften persistent gespeichert. Da die weiteren Elemente, also __name__, __state__ und die Farbe der Zeile __rowColor__, nicht editierbar sind, werden diese auch nicht gespeichert. Wird die Tabelle nun erneut geladen, so werden zuerst die gespeicherten Werte für __instanceID__ und __temperature__ geladen. Die nicht-editierbaren Felder __name__ und __state__ werden dann mit den Werten aus __values__, also "ABCD" und "OK!" gefüllt. Die Farbe wird ebenfalls aus __values__ geladen, wodurch die Zeile einen roten Hintergrund erhält. Hätte man der Tabelle zusätzlich eine weitere Zeile hinzugefügt und die Werte __instanceID__ und __temperature__ auf 314 bzw. -5.3 gesetzt, so würden diese ebenfalls aus den Modul-Eigenschaften geladen werden. Da sich in __values__ lediglich ein Element befindet, werden die nicht-editierbaren Felder entsprechend der Standardwerte aus __add__ gefüllt. Das Feld __name__ der zweiten Zeile würde leer bleiben und __state__ würde auf "OK!" gesetzt werden. Da keine Farbe definiert ist, wäre der Hintergrund dieser Zeile transparent. ```php // Liste mit alternativer Sortierung { "type": "List", "name": "sortList", "rowCount": 5, "add": false, "columns": [ { "caption": "Text", "name": "Text", "width": "auto", "sortColumn": "Number" }, { "caption": "Number", "name": "Number", "width": "200px", "visible": false } ], "values": [ { "Text": "One", "Number": "1" }, { "Text": "Two", "Number": "2" }, { "Text": "Three", "Number": "3" } ] } ``` ## NumberSpinner Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/numberspinner/ Erstellt ein Eingabefeld für Zahlen mit der Überschrift __caption__. Falls im "elements"-Bereich erstellt, setzt der NumberSpinner eine Eigenschaft bei Übernahme auf den eingetragenen Zahlenwert. Der Parameter __"name"__ definiert dabei welche Eigenschaft gesetzt wird. > **Hinweis:** Der Paramter digits dient dazu ob die übergebene Zahl als Integer(Ganzzahlig) oder Float(Fließkommazahl) interpretiert wird. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/numberspinner/b8c2eebe93-1790424938/konfigurationsformulare-numberspinner.png) ### Parameter | Parameter | Beschreibung | | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung des NumberSpinners | | digits (optional) | (__default:__ 0) Gibt die Anzahl der Nachkommastellen an. (Nicht kombinierbar mit hex) | | enabled (optional) | (__default:__ true) Bei true kann der NumberSpinner verwendet werden, ansonsten wird er deaktiviert dargestellt (ab IP-Symcon 5.2) | | hex (optional) | (__default:__ false) Wenn true, dann ist eine hexadezimale Eingabe {1..9,A..F} erlaubt. (Nicht kombinierbar mit digits) | | minimum (optional) | (__default:__ kein Minimalwert) Definiert einen Minimalwert - Ist der eingetragene Wert kleiner als der Minimalwert, so wird ein Fehler angezeigt und Änderungen können nicht übernommen werden (ab IP-Symcon 5.3) | | maximum (optional) | (__default:__ kein Maximallwert) Definiert einen Maximalwert - Ist der eingetragene Wert größer als der Maximalwert, so wird ein Fehler angezeigt und Änderungen können nicht übernommen werden (ab IP-Symcon 5.3) | | moreDigits (optional) | (__default:__ false) Bei false ist der NumberSpinner auf die angegebene Anzahl von Nachkommastellen beschränkt. Wird diese überschritten, so wird ein Fehler angezeigt und Änderungen können nicht übernommen werden. Bei true können beliebig viele Nachkommastellen angegeben werden (Nicht kombinierbar mit hex; ab IP-Symcon 6.0) | | name (optional) | Name des NumberSpinners/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des NumberSpinner-Wertes ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab IP-Symcon 8.1) | | suffix (optional) | (__default:__ "") Sichtbare Beschriftung/Einheit hinter dem Eingabefeld | | type | NumberSpinner | | value (optional) | (__default:__ 0) Der Wert des NumberSpinners - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist der NumberSpinner sichtbar, ansonsten ist er unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite des Eingabefeldes in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php // ohne digits/hex Parameter { "type": "NumberSpinner", "name": "Port", "caption": "Port" } // mit digits Parameter { "type": "NumberSpinner", "name": "Latitude", "caption": "Latitude (N)", "digits": 2} // mit hex Parameter { "type": "NumberSpinner", "name": "Value", "caption": "Hexvalue", "hex": true} // mit Suffix { "type": "NumberSpinner", "name": "Seconds", "caption": "Seconds", "suffix": "seconds"} ``` ## OpenObjectButton Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/openobjectbutton/ _Benötigt Symcon >= 5.3_ Ein Button der bei Betätigung ein Objekt öffnet. Bei einer Instanz wird die Instanzkonfiguration geöffnet und bei einem Skript der Skripteditor. Bei allen anderen Objekttypen wird der Bearbeiten-Dialog im Objektbaum geöffnet. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/openobjectbutton/afd4de78df-1790424938/konfigurationsformulare-open-object-button.png) ### Parameter | Parameter | Beschreibung | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung des Buttons | | enabled (optional) | (__default:__ true) Bei true kann der Button verwendet werden, ansonsten wird er deaktiviert dargestellt | | name (optional) | Name des Buttons | | objectID | ID des zu öffnenden Objektes | | type | OpenObjectButton | | visible (optional) | (__default:__ true) Bei true ist der Button sichtbar, ansonsten ist er unsichtbar | | width (optional) | Feste Breite des Buttons in Pixel oder % als String, z.B. "40%" oder "250px". Ist der Wert nicht gesetzt oder "", wird die Breite automatisch auf Basis der Beschriftung gewählt | ### Beispiel ```php { "type": "OpenObjectButton", "caption": "Zum Connect Control", "objectID": 42563 } ``` ## PasswordTextBox Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/passwordtextbox/ Erstellt ein Eingabefeld für Passwörter mit der Überschrift __caption__. Falls im "elements"-Bereich erstellt, setzt die PasswordTextBox eine Eigenschaft bei Übernahme auf den eingetragenen String. Der Parameter __"name"__ definiert dabei welche Eigenschaft gesetzt wird. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/passwordtextbox/bfcd1e9de4-1790424938/konfigurationsformulare-passwordtextbox.png) ### Parameter | Parameter | Beschreibung | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung des Passwort-Eingabefeldes | | enabled (optional) | (__default:__ true) Bei true kann das Passwort-Eingabefeld verwendet werden, ansonsten wird es deaktiviert dargestellt (ab IP-Symcon 5.2) | | name (optional) | Name des Passwort-Eingabefeldes/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des PasswordTextBox-Wertes ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab IP-Symcon 8.1) | | type | PasswordTextBox | | validate (optional) | (__default:__ "") Erfüllt der Wert nicht den hier angegebenen regulären Ausdruck, so wird ein Fehler angezeigt und Änderungen können nicht übernommen werden (ab IP-Symcon 5.3) | | value (optional) | (__default:__ "") Der Wert des Passwort-Eingabefeldes - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist das Passwort-Eingabefeld sichtbar, ansonsten ist es unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite des Eingabefeldes in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "PasswordTextBox", "name": "Password", "caption": "Passwort" } ``` ## PopupAlert Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/popupalert/ _Benötigt Symcon >= 5.0_ Enthält das Konfigurationsformular dieses Element, so wird es beim Laden der Konfigurationsseite geöffnet. Nachdem das Popup geschlossen wurde, ist es zusätzlich möglich dies mithilfe von Dynamik (visible auf true) erneut zu öffnen. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/popupalert/faf1aa8841-1790424938/konfigurationsformulare-popupalert.png) ### Allgemeine Parameter | Parameter | Beschreibung | | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | name (optional) | Name des PopupAlert | | popup | Definition des zu öffnenden Popups (Parameter sind ab Symcon 6.1 änderbar durch Verknüpfung der Paramternamen, beispielsweise popup.closeCaption) | | type | PopupAlert | | visible (optional) | (__default:__ true) Ist visible initial true, so wird das Popup beim Öffnen der Instanzkonfiguration geöffnet, ansonsten passiert nichts. Durch Änderung auf true kann das Popup im Nachhinein geöffnet werden. Eine Änderung auf false schließt ein aktuell geöffnetes Popup. (ab Symcon 5.2) | ### Parameter für popup | Parameter | Beschreibung | | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | [buttons](https://www.symcon.de/./#Parameter_für_buttons) (optional) | (__default:__ []) Eine Liste von Buttons welche im Popup unten rechts dargestellt wird. An erster Stelle wird immer der Schließen-Button dargestellt, danach folgen die hier beschriebenen Buttons in Reihenfolge (ab Symcon 6.1) | | caption (optional) | (__default:__ "") Sichtbarer Titel des Popups (ab Symcon 8.2) | | closeCaption (optional) | (__default:__ "OK") Die Beschriftung des Schließen-Buttons unten rechts im Popup | | initialPage (optional) | (__default:__ 0) Eine Referenz auf die Seite aus [pages](https://www.symcon.de/./#Parameter_für_pages), welche beim Öffnen des Popups angezeigt werden soll. Dies kann eine Zahl sein, welche dem Index innerhalb der Liste pages entspricht, ein String, welcher dem Namen der Seite entspricht oder ein Skript, welches die Seite als Zahl oder String zurückgibt. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). Existiert die definierte Seite nicht, so wird die erste Seite angezeigt. Eine Änderung von initialPage wirkt sich erst beim nächsten Öffnen des Popups aus. (ab Symcon 9.1) | | items | Auflistung von Formularfeldern im Popup (nicht änderbar) | | [pages](https://www.symcon.de/./#Parameter_für_pages) (optional) | (__default:__ []) Eine Liste von Seiten des Popups welche miteinander verkettet werden können und so die Funktionalität eines Wizards zu ermöglichen. Ist die Liste leer, so wird der regulär definierte Inhalt angezeigt. (ab Symcon 9.1) | | width (optional) | (__default:__ "") Initiale Breite des Popups in Pixel oder % als String, z.B. "40%" oder "250px". Prozentangaben beziehen sich auf die Breite des Browserfensters. Ist der Wert nicht gesetzt oder "", wird die Standardbreite verwendet (ab Symcon 9.0) | ### Parameter für pages Das Feld pages beinhaltet eine Liste von Objekten, welche jeweils eine Seite beschreiben. Falls ein Popup mehrere Seiten hat, so wird bei den Buttons ganz rechts ein "Zurück" und "Weiter" bzw. "OK" angezeigt, worüber die Seiten gewechselt werden können. "Zurück" ist aktiv, falls eine vorherige Seite existiert und diese entweder kein Skript für "onConfirm" definiert hat oder sowohl "onConfirm" als auch "onUndo" definiert ist. Sollte nur "onConfirm" definiert sein, ist "Zurück" deaktiviert. Für den zweiten Button wird "Weiter" angezeigt, falls eine nächste Seite definiert ist, ansonsten "OK". Jedes dieser Objekte kann die folgenden Parameter nutzen: | Parameter | Beschreibung | | ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | name (optional) | Ein Name zur Referenzierung, typischerweise für nextPage | | nextPage (optional) | (__default:__ nächste Seite) Eine Referenz auf die Seite, welche bei Klick auf "Weiter" gezeigt werden soll. Dies kann eine Zahl sein, welche dem Index innerhalb der Liste pages entspricht, ein String, welcher dem Namen der Seite entspricht oder Skript, welches die nächste Seite als Zahl oder String zurückgibt. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). Existiert die definierte Seite nicht, so schließt der Klick auf "OK" das Popup. | | onConfirm (optional) | (__default:__ "") Skript das bei Betätigung von "Weiter" bzw. "OK" ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). Sollte der Seitenwechsel durch validate verhindert werden, so wird onConfirm nicht ausgeführt. | | onUndo (optional) | (__default:__ "") Skript das bei Rückkehr auf diese Seite über "Zurück" ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). | | validate (optional) | (__default:__ "") Skript das bei Betätigung von "Weiter" bzw. "OK" ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). Gibt das Skript einen nicht-leeren String zurück, so wird dieser als Fehler angezeigt und es findet kein Seitenwechsel statt und onConfirm wird nicht ausgeführt. | | Weitere Parameter (optional) | Alle Parameter von [popup](https://www.symcon.de/./#Parameter_für_popup), also buttons, caption, closeCaption und items können ebenfalls für eine Seite definiert werden. In dem Fall wird der definierte Parameter der Seite verwendet. Nur wenn dieser nicht gesetzt ist wird der Standard von popup genutzt. | ### Parameter für buttons | Parameter | Beschreibung | | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung des Buttons | | onClick | Skript, welches bei einem Klick auf den Button ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). Sofern das Skript keine Ausgabe macht, wird das Popup nach Abarbeitung des Skriptes geschlossen. Ansonsten wird die Ausgabe als rote Fehlermeldung unten im Popup angzeigt. Eine Ausnahme besteht hier wenn die Rückgabe mit dem Präfix "MESSAGE:" beginnt. In diesem Fall wird das Popup geschlossen und die Rückgabe hinter dem Präfix in einem Meldungsdialog angezeigt. | | enabled (optional) | (__default:__ true) Bei true kann der Button verwendet werden, ansonsten wird er deaktiviert dargestellt | ### Beispiel ```php { "type": "PopupAlert", "popup": { "closeCaption": "I understand", "items": [ { "type": "Label", "caption": "Be careful when configuring this instance. Even small changes can have significant impact!" } ] } }, { "type": "PopupAlert", "popup": { "items": [ { "type": "SelectVariable", "name": "VariableActionTest", "caption": "Some Action Variable" } ] } }, { "type": "PopupAlert", "popup": { "caption": "Ein Titel, der nie gesehen wird, da jede Seite ihn überschreibt", "closeCaption": "Schließe Dialog", "items": [ { "type": "Label", "caption": "Dieses Element wird nie gesehen, da jede Seite ihre eigenen items hat" } ], "pages": [ { "caption": "Start", "items": [ { "type": "Label", "caption": "Nächste Seite: Auswahl" } ], "nextPage": 2 }, { "caption": "Nie sichtbar", "items": [ { "type": "Label", "caption": "Diese Seite wird nie angezeigt, da die Startseite direkt auf die Seite mit Index 2 springt, die Auswahl" } ] }, { "caption": "Auswahl", "items": [ { "type": "Select", "name": "NextPage", "options": [ {"value": "page1", "caption": "Gehe zu Seite 1"}, {"value": "page2", "caption": "Gehe zu Seite 2"}, {"value": "close", "caption": "Fertig, schließen"} ], "caption": "Wähle nächste Seite" } ], "nextPage": "return $NextPage;" }, { "name": "page1", "caption": "Seite 1", "items": [ { "type": "Label", "caption": "Dies ist Seite 1 mit 'Undo'" } ], "onUndo": "echo 'Seite 1 rückgängig machen';", "onConfirm": "echo 'Seite 1 bestätigen';" }, { "name": "page2", "caption": "Seite 2", "items": [ { "type": "Label", "caption": "Dies ist Seite 2, es gibt kein 'Undo'. Dies ist auch die letzte Seite des Wizards." } ], "onConfirm": "echo 'Seite 2 bestätigen';" } ] } } ``` ## PopupButton Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/popupbutton/ _Benötigt Symcon >= 5.0_ Erstellt einen Button, welcher durch einen Klick ein Popup öffnet, welches weitere Formularfelder enthält. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/popupbutton/0f1c82edaf-1790424938/konfigurationsformulare-popupbutton.png) ### Allgemeine Parameter | Parameter | Beschreibung | | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung des Buttons | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onClick-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann der Button verwendet werden, ansonsten wird er deaktiviert dargestellt. Dieser Parameter hat keine Auswirkung auf ein möglicherweise geöffnetes Popup (ab Symcon 5.2) | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onClick-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab Symcon 6.0) | | name (optional) | Name des PopupButtons | | onClick (optional) | (__default:__ "") Skript, welches bei einem Klick auf den Button ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab Symcon 5.3) | | popup | Definition des zu öffnenden Popups (Parameter sind ab Symcon 6.1 änderbar durch Verknüpfung der Paramternamen, beispielsweise popup.closeCaption) | | type | PopupButton | | visible (optional) | (__default:__ true) Bei true ist der Button sichtbar, ansonsten ist er unsichtbar. Dieser Parameter hat keine Auswirkung auf ein möglicherweise geöffnetes Popup (ab Symcon 5.2) | | width (optional) | Feste Breite des Buttons in Pixel oder % als String, z.B. "40%" oder "250px". Ist der Wert nicht gesetzt oder "", wird die Breite automatisch auf Basis der Beschriftung gewählt (ab Symcon 5.2) | ### Parameter für popup | Parameter | Beschreibung | | ----------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | buttons (optional) | (__default:__ []) Eine Liste von Buttons welche im Popup unten rechts dargestellt wird. An erster Stelle wird immer der Schließen-Button dargestellt, danach folgen die hier beschriebenen Buttons in Reihenfolge (ab Symcon 6.1) | | caption (optional) | (__default:__ "") Sichtbarer Titel des Popups | | closeCaption (optional) | (__default:__ "Schließen") Die Beschriftung des Schließen-Buttons unten rechts im Popup (ab Version 6.1) | | initialPage (optional) | (__default:__ 0) Eine Referenz auf die Seite aus [pages](https://www.symcon.de/./#Parameter_für_pages), welche beim Öffnen des Popups angezeigt werden soll. Dies kann eine Zahl sein, welche dem Index innerhalb der Liste pages entspricht, ein String, welcher dem Namen der Seite entspricht oder ein Skript, welches die Seite als Zahl oder String zurückgibt. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). Existiert die definierte Seite nicht, so wird die erste Seite angezeigt. Eine Änderung von initialPage wirkt sich erst beim nächsten Öffnen des Popups aus. (ab Symcon 9.1) | | items | Auflistung von Formularfeldern im Popup (nicht änderbar) | | [pages](https://www.symcon.de/./#Parameter_für_pages) (optional) | (__default:__ []) Eine Liste von Seiten des Popups welche miteinander verkettet werden können und so die Funktionalität eines Wizards zu ermöglichen. Ist die Liste leer, so wird der regulär definierte Inhalt angezeigt. (ab Symcon 9.1) | | width (optional) | (__default:__ "") Initiale Breite des Popups in Pixel oder % als String, z.B. "40%" oder "250px". Prozentangaben beziehen sich auf die Breite des Browserfensters. Ist der Wert nicht gesetzt oder "", wird die Standardbreite verwendet (ab Symcon 9.0) | ### Parameter für pages Das Feld pages beinhaltet eine Liste von Objekten, welche jeweils eine Seite beschreiben. Falls ein Popup mehrere Seiten hat, so wird bei den Buttons ganz rechts ein "Zurück" und "Weiter" bzw. "OK" angezeigt, worüber die Seiten gewechselt werden können. "Zurück" ist aktiv, falls eine vorherige Seite existiert und diese entweder kein Skript für "onConfirm" definiert hat oder sowohl "onConfirm" als auch "onUndo" definiert ist. Sollte nur "onConfirm" definiert sein, ist "Zurück" deaktiviert. Für den zweiten Button wird "Weiter" angezeigt, falls eine nächste Seite definiert ist, ansonsten "OK". Jedes dieser Objekte kann die folgenden Parameter nutzen: | Parameter | Beschreibung | | ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | name (optional) | Ein Name zur Referenzierung, typischerweise für nextPage | | nextPage (optional) | (__default:__ nächste Seite) Eine Referenz auf die Seite, welche bei Klick auf "Weiter" gezeigt werden soll. Dies kann eine Zahl sein, welche dem Index innerhalb der Liste pages entspricht, ein String, welcher dem Namen der Seite entspricht oder Skript, welches die nächste Seite als Zahl oder String zurückgibt. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). Existiert die definierte Seite nicht, so schließt der Klick auf "OK" das Popup. | | onConfirm (optional) | (__default:__ "") Skript das bei Betätigung von "Weiter" bzw. "OK" ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). Sollte der Seitenwechsel durch validate verhindert werden, so wird onConfirm nicht ausgeführt. | | onUndo (optional) | (__default:__ "") Skript das bei Rückkehr auf diese Seite über "Zurück" ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). | | validate (optional) | (__default:__ "") Skript das bei Betätigung von "Weiter" bzw. "OK" ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). Gibt das Skript einen nicht-leeren String zurück, so wird dieser als Fehler angezeigt und es findet kein Seitenwechsel statt und onConfirm wird nicht ausgeführt. | | Weitere Parameter (optional) | Alle Parameter von [popup](https://www.symcon.de/./#Parameter_für_popup), also buttons, caption, closeCaption und items können ebenfalls für eine Seite definiert werden. In dem Fall wird der definierte Parameter der Seite verwendet. Nur wenn dieser nicht gesetzt ist wird der Standard von popup genutzt. | ### Parameter für buttons | Parameter | Beschreibung | | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung des Buttons | | onClick | Skript, welches bei einem Klick auf den Button ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es sind keine PHP-Tags erforderlich. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). Sofern das Skript keine Ausgabe macht, wird das Popup nach Abarbeitung des Skriptes geschlossen. Ansonsten wird die Ausgabe als rote Fehlermeldung unten im Popup angzeigt. Eine Ausnahme besteht hier wenn die Rückgabe mit dem Präfix "MESSAGE:" beginnt. In diesem Fall wird das Popup geschlossen und die Rückgabe hinter dem Präfix in einem Meldungsdialog angezeigt. | | enabled (optional) | (__default:__ true) Bei true kann der Button verwendet werden, ansonsten wird er deaktiviert dargestellt | ### Beispiel ```php { "type": "PopupButton", "caption": "Open Popup", "popup": { "caption": "My Element Popup", "items": [ { "type": "SelectVariable", "name": "VariableTest", "caption": "Some Variable" } ] } }, { "type": "PopupButton", "caption": "Wizard starten", "popup": { "caption": "Ein Titel, der nie gesehen wird, da jede Seite ihn überschreibt", "closeCaption": "Schließe Dialog", "items": [ { "type": "Label", "caption": "Dieses Element wird nie gesehen, da jede Seite ihre eigenen items hat" } ], "pages": [ { "caption": "Start", "items": [ { "type": "Label", "caption": "Nächste Seite: Auswahl" } ], "nextPage": 2 }, { "caption": "Nie sichtbar", "items": [ { "type": "Label", "caption": "Diese Seite wird nie angezeigt, da die Startseite direkt auf die Seite mit Index 2 springt, die Auswahl" } ] }, { "caption": "Auswahl", "items": [ { "type": "Select", "name": "NextPage", "options": [ {"value": "page1", "caption": "Gehe zu Seite 1"}, {"value": "page2", "caption": "Gehe zu Seite 2"}, {"value": "close", "caption": "Fertig, schließen"} ], "caption": "Wähle nächste Seite" } ], "nextPage": "return $NextPage;" }, { "name": "page1", "caption": "Seite 1", "items": [ { "type": "Label", "caption": "Dies ist Seite 1 mit 'Undo'" } ], "onUndo": "echo 'Seite 1 rückgängig machen';", "onConfirm": "echo 'Seite 1 bestätigen';" }, { "name": "page2", "caption": "Seite 2", "items": [ { "type": "Label", "caption": "Dies ist Seite 2, es gibt kein 'Undo'. Dies ist auch die letzte Seite des Wizards." } ], "onConfirm": "echo 'Seite 2 bestätigen';" } ] } } ``` ## ProgressBar Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/progressbar/ _Benötigt Symcon >= 5.2_ Erstellt einen Fortschrittsbalken. Der Fortschrittsbalken kann durch die Verwendung von [UpdateFormField](module.md) dazu verwendet werden, den Benutzer über einen möglicherweise länger dauernden Vorgang zu informieren. Es ist möglich entweder einen fortschreitenden Balken darzustellen oder einen unbestimmten Balken, welcher eine Ladeanimation anzeigt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/progressbar/041ad60558-1790424938/konfigurationsformulare-progressbar.png) ### Parameter | Parameter | Beschreibung | | ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption (optional) | Sichtbare Beschriftung des Fortschrittsbalkens | | current (optional) | (__default:__ 0) Der aktuelle Wert des Fortschrittsbalkens - Wird der Balken fortschreitend dargestellt, so ist er ungefüllt, falls der aktuelle Wert dem minimalen Wert des Fortschrittsbalkens entspricht, komplett gefüllt, falls der aktuelle Wert dem maximalen Wert des Fortschrittsbalken entspricht und ansonsten entsprechend anteilig gefüllt. | | indeterminate (optional) | (__default:__ false) Bei true ist der Fortschrittsbalken unbestimmt und zeigt eine Animation an, ansonsten wird der Balken fortschreitend auf Basis von current, minimum und maximum dargestellt | | maximum (optional) | (__default:__ 100) Der maximale Wert des Fortschrittsbalkens | | minimum (optional) | (__default:__ 0) Der minimale Wert des Fortschrittsbalkens | | name (optional) | Name des Fortschrittsbalken | | type | ProgressBar | | visible (optional) | (__default:__ true) Bei true ist der Fortschrittsbalken sichtbar, ansonsten ist er unsichtbar | | width (optional) | (__default:__ 300px) Feste Breite des Fortschrittsbalkens in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "ProgressBar", "name": "IndeterminateProgress", "indeterminate": true, "caption": "Laden..." }, { "type": "ProgressBar", "name": "DeterminateProgress", "minimum": 0, "maximum": 50, "current": 20, "caption": "20 / 50" } ``` ## QrCode Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/qrcode/ _Benötigt Symcon >= 7.0_ Erstellt einen QR-Code. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/qrcode/802f4b9457-1790424938/konfigurationsformulare-qrcode.png) ### Parameter | Parameter | Beschreibung | | ------------------ | ---------------------------------------------------------------------------------------- | | caption (optional) | (__default:__ "") Sichtbare Beschriftung | | center (optional) | (__default:__ false) Bei true wird der QR-Code mittig angezeigt, ansonsten linksbündig | | description | (__default:__ true) Bei true wird der im QR-Code enthaltene Text unter diesem angezeigt | | name (optional) | Name des QR-Codes/der zu setzenden Eigenschaft | | source | Die im QR-Code codierte Zeichenkette | | type | QrCode | | visible (optional) | (__default:__ true) Bei true ist der QR-Code sichtbar, ansonsten ist er unsichtbar | ### Beispiel ```php { "type": "QrCode", "name": "Beispiel", "caption": "Beispieltext", "source": "Ein Beispieltext" } ``` ## RadioButtonGroup Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/radiobuttongroup/ _Benötigt Symcon >= 9.1_ Erstellt eine Gruppe von Radio Buttons mit der Überschrift __caption__. Falls im "elements"-Bereich erstellt, setzen die Buttons eine Eigenschaft bei Übernahme auf den ausgewählten Wert __value__. Der Parameter __"name"__ definiert dabei welche Eigenschaft gesetzt wird. > **Hinweis:** Bei MultiSelect ist darauf zu achten, dass alle Value-Arrays die gleichen Namen beinhalten > **Achtung:** Wird RadioButtonGroup innerhalb von Listen verwendet, gibt es kein MultiSelect. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/radiobuttongroup/4bfe0eff4a-1790424938/konfigurationsformulare-radiobuttongroup.png) ### Parameter | Parameter | Beschreibung | | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung der Gruppe von Radio Buttons | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. | | enabled (optional) | (__default:__ true) Bei true kann die Gruppe verwendet werden, ansonsten wird sie deaktiviert dargestellt | | itemsPosition (optional) | (__default:__ 0) Die Position der über "items" der Optionen definierten Konfigurationselemente
0: Die Elemente werden unterhalb des jeweiligen Radio Buttons angezeigt
1: Die Elemente werden rechts neben dem jeweiligen Radio Button angezeigt | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. | | name (optional) | Name der Gruppe/der zu setzenden Eigenschaft | | options | Array, welches alle Auswahlmöglichkeiten beinhaltet | | onChange (optional) | (__default:__ "") Skript, welches bei Auswahl eines Radio Buttons ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) | | type | RadioButtonGroup | | value (optional) | (__default:__ erste definierte Option) Der Wert des gewählten Radio Buttons - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben | | visible (optional) | (__default:__ true) Bei true ist die Gruppe sichtbar, ansonsten ist sie unsichtbar | | width (optional) | (__default:__ 300px) Feste Breite der Gruppe in Pixel oder % als String, z.B. "40%" oder "250px" | ### Parameter für options | Parameter | Beschreibung | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Beschriftung eines Radio Buttons | | enabled (optional) | (__default:__ true) Bei true ist der Radio Button aktiv und wählbar, ansonsten wird er inaktiv dargestellt und kann nicht gewählt werden | | items (optional) | (__default:__ []) Liste mit Konfigurationselementen, welche nur angezeigt werden, solange dieser Radio Button gewählt ist. Die Werte der Elemente der übrigen Radio Buttons bleiben erhalten | | value | Wert der bei Auswahl übergeben wird. Kann auch ein weiteres Array beinhalten, welches mehreren Eigenschaften die Werte übergibt. | ### Beispiel ```php //Einfache Valueübergabe //Eigenschaft "DeviceType" wird auf 0..3 gesetzt //Gruppe hat 4 Radio Buttons { "type": "RadioButtonGroup", "name": "DeviceType", "caption": "Einheit", "options": [ { "caption": "Bit (1Bit)", "value": 0 }, { "caption": "Bits (2Bit)", "value": 1 }, { "caption": "Bits (4Bit)", "value": 2 }, { "caption": "Byte (8Bit)", "value": 3 } ] } //Mehrfache Valueübergabe (MultiSelect) //"name" der RadioButtonGroup (hier: "OutputDevice") muss gesetzt sein, wird jedoch nicht zum Setzen der Werte genutzt. //Eigenschaften "DeviceName", "DeviceChannels" und "DeviceNum" werden gesetzt. { "type": "RadioButtonGroup", "name": "OutputDevice", "caption": "Ausgabegerät", "options": [ {"caption" : "No sound", "value": [ {"name": "DeviceName", "value": "No sound"}, {"name": "DeviceChannels", "value": 0}, {"name": "DeviceNum", "value": 0} ] }, {"caption" : "Kopfhörer", "value": [ {"name": "DeviceName", "value": "Kopfhörer"}, {"name": "DeviceChannels", "value": 2}, {"name": "DeviceNum", "value": 1} ] }, {"caption" : "Lautsprecher", "value": [ {"name": "DeviceName", "value": "Stereolautsprecher"}, {"name": "DeviceChannels", "value": 2}, {"name": "DeviceNum", "value": 2} ] } ] } //Konfigurationselemente einzelner Radio Buttons //Die Elemente des Radio Buttons "Netzwerk" werden nur angezeigt, solange dieser gewählt ist { "type": "RadioButtonGroup", "name": "ConnectionType", "caption": "Verbindung", "options": [ { "caption": "USB", "value": 0 }, { "caption": "Netzwerk", "value": 1, "items": [ { "type": "ValidationTextBox", "name": "Host", "caption": "Host" }, { "type": "NumberSpinner", "name": "Port", "caption": "Port" } ] } ] } ``` ## RowLayout Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/rowlayout/ _Benötigt Symcon >= 5.0_ Erstellt eine Zeile, in welcher Formularfelder nebeneinander dargestellt werden. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/rowlayout/39034778ee-1790424938/konfigurationsformulare-rowlayout.png) ### Parameter | Parameter | Beschreibung | | ------------------ | ---------------------------------------------------------------------------------------------------- | | items | Liste mit Konfigurationselementen innerhalb der Zeile (ab IP-Symcon 6.0 änderbar) | | name (optional) | Name der Zeile | | type | RowLayout | | visible (optional) | (__default:__ true) Bei true ist die Zeile sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | ### Beispiel ```php // Zeilenlayout { "type": "RowLayout", "items": [ { "type": "SelectLocation", "name": "Location", "caption": "My Location" },{ "type": "Button", "caption": "Test", "onClick": "TM_Update($id);" },{ "type": "Button", "caption": "Test2", "onClick": "TM_Update2($id);" } ] } ``` ## ScriptEditor Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/scripteditor/ _Benötigt Symcon >= 6.0_ Erstellt einen Skripteditor mit der Überschrift __caption__. Falls im "elements"-Bereich erstellt, setzt der ScriptEditor eine Eigenschaft bei Übernahme auf den eingetragenen String. Der Parameter __"name"__ definiert dabei welche Eigenschaft gesetzt wird. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/scripteditor/add3988c63-1790424938/konfigurationsformulare-scripteditor.png) ### Parameter | Parameter | Beschreibung | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption (optional) | (__default:__ "") sichtbare Beschriftung des Eingabefeldes | | enabled (optional) | (__default:__ true) Bei true kann das Eingabefeld verwendet werden, ansonsten wird es deaktiviert dargestellt | | name (optional) | Name des Eingabefeldes/der zu setzenden Eigenschaft | | type | ScriptEditor | | value (optional) | (__default:__ Platzhalterskript mit PHP-Tag) Der Wert des Eingabefeldes - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben | | visible (optional) | (__default:__ true) Bei true ist das Eingabefeld sichtbar, ansonsten ist es unsichtbar | | width (optional) | (__default:__ 100%) Feste Breite des Eingabefeldes in Pixel oder % als String, z.B. "40%" oder "250px", | | rowCount (optional) | (__default:__ 5) Anzahl der dargestellten Zeilen des Editors. Beinhaltet das Skript selbst mehr Zeilen, so wird ein Scrollbalken angezeigt | ### Beispiel ```php { "type": "ScriptEditor", "name": "Script" } ``` ## Select Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/select/ Erstellt ein DropDown-Menü mit der Überschrift __caption__. Falls im "elements"-Bereich erstellt, setzt das DropDown-Menü eine Eigenschaft bei Übernahme auf den ausgewählten Wert __value__. Der Parameter __"name"__ definiert dabei welche Eigenschaft gesetzt wird. > **Hinweis:** Bei MultiSelect ist darauf zu achten, dass alle Value-Arrays die gleichen Namen beinhalten > **Achtung:** Wird Select innerhalb von Listen verwendet, gibt es kein MultiSelect. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/select/77b965f7b7-1790424938/konfigurationsformulare-select.png) ### Parameter | Parameter | Beschreibung | | ------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung des DropDown-Menüs | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann das DropDown-Menü verwendet werden, ansonsten wird es deaktiviert dargestellt (ab Symcon 5.2) | | itemsPosition (optional) | (__default:__ 0) Die Position der über "items" der Optionen definierten Konfigurationselemente (ab Symcon 9.1)
0: Die Elemente werden unterhalb des DropDown-Menüs angezeigt
1: Die Elemente werden rechts neben dem DropDown-Menü angezeigt | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab Symcon 6.0) | | name (optional) | Name des DropDown-Menüs/der zu setzenden Eigenschaft | | options | Array, welches alle Auswahlmöglichkeiten beinhaltet | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des Dropdown-Wertes ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab Symcon 5.2) | | type | Select | | value (optional) | (__default:__ erste definierte Option) Der Wert des DropDown-Menüs - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist das DropDown-Menü sichtbar, ansonsten ist es unsichtbar (ab Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite des Dropdown-Menüs in Pixel oder % als String, z.B. "40%" oder "250px" (ab Symcon 5.3) | ### Parameter für options | Parameter | Beschreibung | | ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | caption | Beschriftung einer Auswahlmöglichkeit | | enabled (optional) | (__default:__ true) Bei true ist die Auswahl aktiv und wählbar, ansonsten wird sie inaktiv dargestellt und kann nicht gewählt werden (ab Symcon 9.1) | | items (optional) | (__default:__ []) Liste mit Konfigurationselementen, welche nur angezeigt werden, solange diese Auswahlmöglichkeit gewählt ist. Die Werte der Elemente der übrigen Auswahlmöglichkeiten bleiben erhalten (ab Symcon 9.1) | | label | Beschriftung einer Auswahlmöglichkeit _(veraltet)_ | | value | Wert der bei Auswahl übergeben wird. Kann auch ein weiteres Array beinhalten, welches mehreren Eigenschaften die Werte übergibt. | ### Beispiel ```php //Einfache Valueübergabe //Eigenschaft "DeviceType" wird auf 0..3 gesetzt //DropDown-Menü hat 4 Einträge { "type": "Select", "name": "DeviceType", "caption": "Einheit", "options": [ { "caption": "Bit (1Bit)", "value": 0 }, { "caption": "Bits (2Bit)", "value": 1 }, { "caption": "Bits (4Bit)", "value": 2 }, { "caption": "Byte (8Bit)", "value": 3 } ] } //Mehrfache Valueübergabe (MultiSelect) //"name" des Select (hier: "OutputDevice") muss gesetzt sein, wird jedoch nicht zum Setzen der Werte genutzt. //Eigenschaften "DeviceName", "DeviceChannels" und "DeviceNum" werden gesetzt. { "type": "Select", "name": "OutputDevice", "caption": "Ausgabegerät", "options": [ {"caption" : "No sound", "value": [ {"name": "DeviceName", "value": "No sound"}, {"name": "DeviceChannels", "value": 0}, {"name": "DeviceNum", "value": 0} ] }, {"caption" : "Kopfhörer", "value": [ {"name": "DeviceName", "value": "Kopfhörer"}, {"name": "DeviceChannels", "value": 2}, {"name": "DeviceNum", "value": 1} ] }, {"caption" : "Lautsprecher", "value": [ {"name": "DeviceName", "value": "Stereolautsprecher"}, {"name": "DeviceChannels", "value": 2}, {"name": "DeviceNum", "value": 2} ] } ] } //Konfigurationselemente einzelner Auswahlmöglichkeiten //Die Elemente der Option "Netzwerk" werden nur angezeigt, solange diese gewählt ist { "type": "Select", "name": "ConnectionType", "caption": "Verbindung", "options": [ { "caption": "USB", "value": 0 }, { "caption": "Netzwerk", "value": 1, "items": [ { "type": "ValidationTextBox", "name": "Host", "caption": "Host" }, { "type": "NumberSpinner", "name": "Port", "caption": "Port" } ] } ] } ``` ## SelectAction Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectaction/ _Benötigt Symcon >= 6.0_ Erstellt eine Eingabe für eine [Aktion](../sdk-php.md) . ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectaction/d9b19a5973-1790424938/konfigurationsformulare-selectaction.png) Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf ein JSON-codiertes Objekt gesetzt, welches folgende Parameter enthält: | Parameter | Beschreibung | | ---------- | -------------------- | | actionID | ID der Aktion | | parameters | Parameter der Aktion | ### Parameter | Parameter | Beschreibung | | ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption (optional) | (__default:__: "") Sichtbare Beschriftung (ab IP-Symcon 7.1) | | enabled (optional) | (__default:__ true) Bei true kann die Auswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt | | environment (optional) | (__default:__ "Default") Legt die Umgebung der Aktionsauswahl fest, hierüber kann bestimmt werden, welche Arten von Aktionen zur Auswahl stehen, siehe auch [Aktionen](../sdk-php.md) | | highestPriorityOnly (optional) | (__default:__ false) Bei false verfügt das Element eine Auswahl über alle passenden Aktionen, ansonsten wird ohne Auswahl automatisch die Aktion mit der höchsten Priorität ausgewählt | | includeDefaultEnvironment (optional) | (__default:__ true) Bei false werden nur Aktionen zur Auswahl angeboten, welche die Umgebung _environment_ unterstützen, bei true werden zusätzlich alle Aktionen der Umgebung "Default" angeboten | | name (optional) | Name der Auswahl/der zu setzenden Eigenschaft | | targetID (optional) | (__default:__ -2) Bei -2 verfügt das Element über eine Zielauswahl, ansonsten ist das Ziel mit dieser ID fest als Ziel gesetzt, wobei -1 für allgemeine Aktionen steht | | type | SelectAction | | value (optional) | (__default:__ keine Aktion ausgewählt) Der Wert der Auswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben | | visible (optional) | (__default:__ true) Bei true ist die Auswahl sichtbar, ansonsten ist sie unsichtbar | | width (optional) | (__default:__ 300px) Feste Breite des Eingabefeldes in Pixel oder % als String, z.B. "40%" oder "250px" | | saveTarget (optional) | (__default:__ true) Bei true wird das Ziel als TARGET als Teil der parameters gespeichert | | saveEnvironment (optional) | (__default:__ true) Bei true wird die Umgebung als ENVIRONMENT als Teil der parameters gespeichert | | saveParent (optional) | (__default:__ true) Bei true wird die InstanzID als PARENT als Teil der parameters gespeichert | ### Beispiel 1: Ziel, Umgebung und InstanzID werden konstant als Teil der Eigenschaft gespeichert Standardmäßig werden alle benötigten Parameter als Rückgabe von SelectAction abgespeichert. Dadurch kann die Aktion am einfachsten ausgeführt werden. ```php { "type": "SelectAction", "name": "PropertyAction", "targetID": 12345 } // PHP-Code im Modul $action = json_decode($this->ReadPropertyString('PropertyAction'), true); IPS_RunAction($action['actionID'], $action['parameters']); ``` ### Beispiel 2: Ziel, Umgebung und InstanzID werden dynamisch gesetzt Speichert man die Zusatzparameter nicht als Rückgabe ab, so müssen diese manuell hinzugefügt werden. Hierdurch können beispielsweise Aktionen zwischen Instanzen ausgetauscht werden und es werden keine redundanten Daten abgespeichert. ```php { "type": "SelectAction", "name": "PropertyAction", "targetID": 12345, "saveTarget": false, "saveEnvironment": false, "saveParent": false } // PHP-Code im Modul $action = json_decode($this->ReadPropertyString('PropertyAction'), true); $parameters = $action['parameters']; $parameters['TARGET'] = 12345; $parameters['ENVIRONMENT'] = 'Default'; $parameters['PARENT'] = $this->InstanceID; IPS_RunAction($action['actionID'], $parameters); ``` ## SelectCategory Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectcategory/ Erstellt einen Auswahldialog mit der Beschriftung __caption__. Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf die ID der ausgewählten Kategorie gesetzt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectcategory/d9452badd1-1790424938/konfigurationsformulare-selectcategory.png) ### Parameter | Parameter | Beschreibung | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | caption | Sichtbare Beschriftung | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann die Kategorieauswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab IP-Symcon 5.2) | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 6.0) | | name (optional) | Name der Kategorieauswahl/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des Wertes der Kategorieauswahl ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab IP-Symcon 5.2) | | type | SelectCategory | | value (optional) | (__default:__ 1) Der Wert der Kategorieauswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Kategorieauswahl sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite der Kategorieauswahl in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "SelectCategory", "name": "PropertyCategoryID", "caption": "Target" } ``` ## SelectColor Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectcolor/ _Benötigt Symcon >= 4.2_ Erstellt einen Auswahldialog mit der Beschriftung __caption__. Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf den Wert der ausgewählten Farbe als Hex-String gesetzt. Wird der Wert gelöscht, wird dieser auf Transparent(Wert = -1) gesetzt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectcolor/3eccfcac3c-1790424938/konfigurationsformulare-selectcolor.png) ### Parameter | Parameter | Beschreibung | | --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | allowTransparent (optional) | (__default:__ true) Wenn gesetzt, so kann die Auswahl gelöscht und so auf "Transparent" gesetzt werden. Ansonsten kann der Wert nicht gelöscht und somit nicht auf "Transparent" gesetzt werden. | | caption | Sichtbare Beschriftung | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann die Auswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab Symcon 5.2) | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab Symcon 6.0) | | name (optional) | Name der Auswahl/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Änderung der Farbe ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab Symcon 5.2) | | transparentCaption | (__default:__ "Transparent") Beschriftung welche angezeigt wird, wenn die Auswahl auf "Transparent", also -1, steht (ab Symcon 8.2) | | type | SelectColor | | value (optional) | (__default:__ -1 falls allowTransparent, sonst 0) Der Wert der Auswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Auswahl sichtbar, ansonsten ist sie unsichtbar (ab Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite der Farbauswahl in Pixel oder % als String, z.B. "40%" oder "250px" (ab Symcon 5.3) | ### Beispiel ```php { "type": "SelectColor", "name": "HexColorEigenschaft", "caption": "Color" } ``` ## SelectCondition Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectcondition/ _Benötigt Symcon >= 6.1_ Erstellt eine Eingabe für Bedingungen. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectcondition/61c78436d0-1790424938/konfigurationsformulare-selectcondition.png) Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf eine JSON-codiertes Liste gesetzt, wobei jedes Element ein Objekt mit folgenden Parametern darstellt: | Parameter | Beschreibung | | --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | | id | ID der Bedingung | | parentID | ID der übergeordneten Bedingung | | operation | Operation zur Verknüpfung der einzelnen Regeln (0: AND, 1: OR, 2: NAND (noch nicht implementiert), 3: NOR (noch nicht implementiert)) | | rules | Objekt welches die Regeln der Bedingung beschreibt | #### rules | Parameter | Beschreibung | | ------------ | ------------------------------ | | variable | Liste mit den Variablenregeln | | date | Liste mit den Datumsregeln | | time | Liste mit den Uhrzeitregeln | | dayOfTheWeek | Liste mit den Wochentagsregeln | #### Darstellung einer Regel | Parameter | Beschreibung | | ------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | id | Eindeutige ID der Regel innerhalb der Regelliste | | comparison | Vergleichsoperator mit welchem der aktuelle Wert mit dem Vergleichswert verglichen wird (0: =, 1: ≠, 2: >, 3: ≥, 4: <, 5: ≤) | | value | Der Vergleichswert, der Typ hängt von der Regelart ab
_Variable_: Falls "type" = 0 steht hier der absolute Vergleichswert passend zum Typ der Variable, bei "type" = 1 steht hier eine VariablenID mit deren Wert verglichen wird
_Datum_: Der Wert wird als Objekt mit den Feldern "year", "month" und "day" abgespeichert, analog zur Darstellung von [IPS_SetEventConditionDateRule](../../../functions/management-events.md)
_Uhrzeit_: Der Wert wird als Objekt mit den Feldern "hour", "minute" und "second" abgespeichert, analog zur Darstellung von [IPS_SetEventConditionTimeRule](../../../functions/management-events.md)
_Wochentag_: Der Vergleichstag wird als Zahl gespeichert (1: Montag, 2: Dienstag, 3: Mittwoch, 4: Donnerstag, 5: Freitag, 6: Samstag, 7: Sonntag) | | variableID (nur bei Variablenregeln) | Die ID der Variable, welche den aktuellen Wert beinhaltet | | type (nur bei Variablenregeln) | Bei 0 wird die Variable mit einem absoluten Wert verglichen, bei 1 mit dem Wert einer anderen Variablen | > **Hinweis:** Anstatt eine konfigurierte Bedingung selbstständig auszuwerten sollte die Funktion [IPS_IsConditionPassing](../../../functions/management-events.md) verwendet werden. Dort kann der Wert des SelectCondition direkt als Parameter verwendet werden. > **Hinweis:** Falls die abgespeicherte Bedingung verschachtelte Bedingungen beinhaltet oder "multi" auf false steht und die Bedingung mehrere Regeln beinhaltet, wird die Regel als "Komplex" angezeigt und kann nicht bearbeitet werden. ### Parameter | Parameter | Beschreibung | | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption (optional) | (__default:__: "") Sichtbare Beschriftung (ab IP-Symcon 7.1) | | enabled (optional) | (__default:__ true) Bei true kann die Auswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt | | multi (optional) | (__default:__ false) Bei false wird vom Element eine einzelne Regel definiert, bei true eine gesamte Bedingung mit beliebig vielen Regeln | | name (optional) | Name der Auswahl/der zu setzenden Eigenschaft | | type | SelectCondition | | value (optional) | (__default:__ keine Bedingung) Der Wert der Auswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben | | visible (optional) | (__default:__ true) Bei true ist die Auswahl sichtbar, ansonsten ist sie unsichtbar | | width (optional) | (__default:__ 300px, falls multi = false, sonst 100%) Feste Breite des Eingabefeldes in Pixel oder % als String, z.B. "40%" oder "250px" | ### Beispiel ```php { "type": "SelectCondition", "name": "PropertyCondition", "multi": true } ``` ## SelectDate Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectdate/ _Benötigt Symcon >= 5.0_ Erstellt eine Eingabe für ein Datum mit der Beschriftung __caption__. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectdate/c7c5e222f9-1790424938/konfigurationsformulare-selectdate.png) Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf ein JSON-codiertes Objekt gesetzt, welches folgende Parameter enthält: | Parameter | Beschreibung | | --------- | ---------------- | | day | Tag des Datums | | month | Monat des Datums | | year | Jahr des Datums | Wurde kein Zeitpunkt ausgewählt, so stehen alle Parameter auf 0. ### Parameter | Parameter | Beschreibung | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung | | enabled (optional) | (__default:__ true) Bei true kann die Auswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab IP-Symcon 5.2) | | name (optional) | Name der Auswahl/der zu setzenden Eigenschaft | | type | SelectDate | | value (optional) | (__default:__ kein Zeitpunkt ausgewählt) Der Wert der Auswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Auswahl sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite des Eingabefeldes in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "SelectDate", "name": "PropertyDate", "caption": "Date" } ``` ## SelectDateTime Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectdatetime/ _Benötigt Symcon >= 5.0_ Erstellt eine Eingabe für ein Datum und eine Uhrzeit mit der Beschriftung __caption__. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectdatetime/900d7b375a-1790424938/konfigurationsformulare-selectdatetime.png) Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf ein JSON-codiertes Objekt gesetzt, welches folgende Parameter enthält: | Parameter | Beschreibung | | --------- | -------------------- | | day | Tag des Datums | | hour | Stunden der Uhrzeit | | minute | Minuten der Uhrzeit | | month | Monat des Datums | | second | Sekunden der Uhrzeit | | year | Jahr des Datums | Wurde kein Zeitpunkt ausgewählt, so stehen alle Parameter auf 0. ### Parameter | Parameter | Beschreibung | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung | | enabled (optional) | (__default:__ true) Bei true kann die Auswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab IP-Symcon 5.2) | | name (optional) | Name der Auswahl/der zu setzenden Eigenschaft | | type | SelectDateTime | | value (optional) | (__default:__ kein Zeitpunkt ausgewählt) Der Wert der Auswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Auswahl sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite des Eingabefeldes in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "SelectDateTime", "name": "PropertyDateTime", "caption": "Date + Time" } ``` ## SelectEvent Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectevent/ Erstellt einen Auswahldialog mit der Beschriftung __caption__. Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf die ID des ausgewählten Ereignisses gesetzt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectevent/25d986c93d-1790424938/konfigurationsformulare-selectevent.png) ### Parameter | Parameter | Beschreibung | | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann die Ereignisauswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab IP-Symcon 5.2) | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 6.0) | | name (optional) | Name der Ereignisauswahl/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des Wertes der Ereignisauswahl ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab IP-Symcon 5.2) | | type | SelectEvent | | value (optional) | (__default:__ 0) Der Wert der Ereignisauswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Ereignisauswahl sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite der Ereignisauswahl in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "SelectEvent", "name": "PropertyEventID", "caption": "Target" } ``` ## SelectFile Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectfile/ _Benötigt Symcon >= 4.2_ Erstellt einen Auswahldialog mit der Beschriftung __caption__. Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf den Base64 kodierten Wert der ausgewählten Datei gesetzt. Dies bedeutet, dass der Inhalt der ausgewählten Datei als Base64 kodierter String gespeichert wird. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectfile/de9b74cd1c-1790424938/konfigurationsformulare-selectfile.png) ### Parameter | Parameter | Beschreibung | | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | caption | Sichtbare Beschriftung | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann die Dateiauswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab IP-Symcon 5.2) | | extensions (optional) | Erlaubte Erweiterungen der Datei. Durch Komma getrennt und mit Punkt eingeleitet Bsp: .jpg,.gif,.txt | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 6.0) | | name (optional) | Name der Dateiauswahl/der zu setzenden String-Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des Wertes der Dateiauswahl ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab IP-Symcon 5.2) | | type | SelectFile | | value (optional) | (__default:__ 0) Der Wert der Dateiauswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Dateiauswahl sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite der Dateiauswahl in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "SelectFile", "name": "PropertyStringFile", "caption": "Target", "extensions": ".jpg,.gif,.txt" } ``` ## SelectIcon Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selecticon/ Erstellt einen Auswahldialog mit der Beschriftung __caption__. Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf den Namen des ausgewählten Icons gesetzt. Wird der Wert gelöscht, wird dieser auf einen leeren String gesetzt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selecticon/5a1b2846fe-1790424938/konfigurationsformulare-selecticon.png) ### Parameter | Parameter | Beschreibung | | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann die Auswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. | | name (optional) | Name der Auswahl/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Änderung des Icons ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) | | type | SelectIcon | | value (optional) | (__default:__ "") Der Wert der Auswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Auswahl sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite der Farbauswahl in Pixel oder % als String, z.B. "40%" oder "250px" | ### Beispiel ```php { "type": "SelectIcon", "name": "IconEigenschaft", "caption": "Icon" } ``` ## SelectInstance Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectinstance/ Erstellt einen Auswahldialog mit der Beschriftung __caption__. Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf die ID der ausgewählten Instanz gesetzt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectinstance/974d168155-1790424938/konfigurationsformulare-selectinstance.png) ### Parameter | Parameter | Beschreibung | | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann die Instanzauswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab IP-Symcon 5.2) | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 6.0) | | name (optional) | Name der Instanzauswahl/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des Wertes der Instanzauswahl ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab IP-Symcon 5.2) | | type | SelectInstance | | validModules (optional) | (__default:__ []) Die Auswahl wird auf Instanzen eingeschränkt, welche eine der definierten ModulIDs haben. Wenn die Liste leer ist sind alle Instanz erlaubt. Entspricht die ausgewählte Instanz keiner der ModulIDs so wird ein Fehler angezeigt und Änderungen können nicht übernommen werden. (ab IP-Symcon 5.5) | | value (optional) | (__default:__ 1) Der Wert der Instanzauswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Instanzauswahl sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite der Instanzauswahl in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "SelectInstance", "name": "PropertyInstanceID", "caption": "Target" } ``` ## SelectLink Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectlink/ Erstellt einen Auswahldialog mit der Beschriftung __caption__. Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf die ID des ausgewählten Links gesetzt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectlink/47036c2a87-1790424938/konfigurationsformulare-selectlink.png) ### Parameter | Parameter | Beschreibung | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann die Linkauswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab IP-Symcon 5.2) | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 6.0) | | name (optional) | Name der Linkauswahl/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des Wertes der Linkauswahl ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab IP-Symcon 5.2) | | type | SelectLink | | value (optional) | (__default:__ 1) Der Wert der Linkauswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Linkauswahl sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite der Linkauswahl in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "SelectLink", "name": "PropertyLinkID", "caption": "Target" } ``` ## SelectLocation Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectlocation/ _Benötigt Symcon >= 5.0_ Erstellt eine Eingabe für eine Position mit der Beschriftung __caption__. Hier kann die Position bei Internetzugriff per Karte ausgewählt werden. Alternativ können Längen- und Breitengrad auch manuell angegeben werden. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectlocation/5c50fddc18-1790424938/konfigurationsformulare-selectlocation.png) ![Dialog](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectlocation/e3d51de8f2-1790424938/konfigurationsformulare-selectlocation-dialog.png) Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf ein JSON-codiertes Objekt gesetzt, welches folgende Parameter enthält: | Parameter | Beschreibung | | --------- | ------------------------ | | latitude | Breitengrad der Position | | longitude | Längengrad der Position | Wurde keine Position ausgewählt, so stehen alle Parameter auf 0. ### Parameter | Parameter | Beschreibung | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung | | enabled (optional) | (__default:__ true) Bei true kann die Auswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab IP-Symcon 5.2) | | name (optional) | Name der Auswahl/der zu setzenden Eigenschaft | | type | SelectLocation | | value (optional) | (__default:__ keine Position ausgewählt) Der Wert der Auswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Auswahl sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite des Eingabefeldes in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "SelectLocation", "name": "Location", "caption": "Home" } ``` ## SelectMedia Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectmedia/ Erstellt einen Auswahldialog mit der Beschriftung __caption__. Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf die ID des ausgewählten Mediums gesetzt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectmedia/8807b48cb4-1790424938/konfigurationsformulare-selectmedia.png) ### Parameter | Parameter | Beschreibung | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann die Medienauswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab IP-Symcon 5.2) | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 6.0) | | name (optional) | Name der Medienauswahl/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des Wertes der Medienauswahl ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab IP-Symcon 5.2) | | type | SelectMedia | | value (optional) | (__default:__ 1) Der Wert der Medienauswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Medienauswahl sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite der Medienauwahl in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "SelectMedia", "name": "PropertyMediaID", "caption": "Target" } ``` ## SelectModule Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectmodule/ _Benötigt Symcon >= 5.5_ Erstellt einen Auswahldialog mit der Beschriftung __caption__. Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf die ID der ausgewählten Instanz gesetzt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectmodule/50a51fd75c-1790424938/konfigurationsformulare-selectmodule.png) ### Parameter | Parameter | Beschreibung | | ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann die Modulauswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 6.0) | | moduleID | Die ID des Moduls, dessen Instanzen zur Auswahl angeboten werden sollen | | name (optional) | Name der Modulauswahl/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des Wertes der Modulauswahl ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) | | type | SelectModule | | value (optional) | (__default:__ 1) Der Wert der Modulauswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben | | visible (optional) | (__default:__ true) Bei true ist die Modulauswahl sichtbar, ansonsten ist sie unsichtbar | | width (optional) | (__default:__ 300px) Feste Breite der Modulauswahl in Pixel oder % als String, z.B. "40%" oder "250px" | ### Beispiel ```php { "type": "SelectModule", "name": "PropertyModuleInstanceID", "caption": "VoIP Modul" , "moduleID": "{A4224A63-49EA-445F-8422-22EF99D8F624}"} ``` ## SelectObject Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectobject/ Erstellt einen Auswahldialog mit der Beschriftung __caption__. Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf die ID des ausgewählten Objekts gesetzt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectobject/9070e29f33-1790424938/konfigurationsformulare-selectobject.png) ### Parameter | Parameter | Beschreibung | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann die Objektauswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab IP-Symcon 5.2) | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 6.0) | | name (optional) | Name der Objektauswahl/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des Wertes der Objektauswahl ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab IP-Symcon 5.2) | | type | SelectObject | | value (optional) | (__default:__ 1) Der Wert der Objektauswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Objektauswahl sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite der Objektauswahl in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "SelectObject", "name": "ObjectID", "caption": "Target" } ``` ## SelectProfile Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectprofile/ _Benötigt Symcon >= 5.5_ Erstellt einen Auswahldialog mit der Beschriftung __caption__. Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf den Namen des ausgewählten Profils gesetzt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectprofile/9161dc632b-1790424938/konfigurationsformulare-selectprofile.png) ### Parameter | Parameter | Beschreibung | | ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | caption | Sichtbare Beschriftung | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann die Profilauswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 6.0) | | name (optional) | Name der Profilauswahl/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des Wertes der Profilauswahl ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) | | profileType (optional) | (__default:__ -1) Der Typ des Profile welches ausgewählten werden kann (-1: Alle, 0: Boolean, 1: Integer, 2: Float, 3: String) | | type | SelectProfile | | value (optional) | (__default:__ "") Der Wert der Profilauswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben | | visible (optional) | (__default:__ true) Bei true ist die Profilauswahl sichtbar, ansonsten ist sie unsichtbar | | width (optional) | (__default:__ 300px) Feste Breite der Profilauswahl in Pixel oder % als String, z.B. "40%" oder "250px" | ### Beispiel ```php { "type": "SelectProfile", "name": "PropertyProfileName", "caption": "Profil - Integer" , "profileType": 1} ``` ## SelectScript Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectscript/ Erstellt einen Auswahldialog mit der Beschriftung __caption__. Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf die ID des ausgewählten Skripts gesetzt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectscript/afe123ee10-1790424938/konfigurationsformulare-selectscript.png) ### Parameter | Parameter | Beschreibung | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann die Skriptauswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab IP-Symcon 5.2) | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 6.0) | | name (optional) | Name der Skriptauswahl/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des Wertes der Skriptauswahl ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab IP-Symcon 5.2) | | type | SelectScript | | value (optional) | (__default:__ 1) Der Wert der Skriptauswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Skriptauswahl sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite der Skriptauswahl in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "SelectScript", "name": "RXObjectID", "caption": "Target" } ``` ## SelectTime Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selecttime/ _Benötigt Symcon >= 5.0_ Erstellt eine Eingabe für eine Uhrzeit mit der Beschriftung __caption__. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selecttime/eec451578b-1790424938/konfigurationsformulare-selecttime.png) Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf ein JSON-codiertes Objekt gesetzt, welches folgende Parameter enthält: | Parameter | Beschreibung | | --------- | -------------------- | | hour | Stunden der Uhrzeit | | minute | Minuten der Uhrzeit | | second | Sekunden der Uhrzeit | Wurde kein Zeitpunkt ausgewählt, so stehen alle Parameter auf 0. ### Parameter | Parameter | Beschreibung | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung | | enabled (optional) | (__default:__ true) Bei true kann die Auswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab IP-Symcon 5.2) | | name (optional) | Name der Auswahl/der zu setzenden Eigenschaft | | type | SelectTime | | value (optional) | (__default:__ kein Zeitpunkt ausgewählt) Der Wert der Auswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Auswahl sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite des Eingabefeldes in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "SelectTime", "name": "PropertyTime", "caption": "Time" } ``` ## SelectValue Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectvalue/ _Benötigt Symcon >= 6.3_ Erstellt einen Auswahldialog, der basierend auf dem Typen und dem Profil der gewählten __variableID__ ein passendes Formularfeld anzeigt. Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf den derzeit ausgewählten Wert gesetzt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectvalue/8fb8d74066-1790424938/konfigurationsformulare-select-value.png) ### Parameter | Parameter | Beschreibung | | ------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung | | enabled (optional) | (__default:__ true) Bei true kann die Wertauswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab IP-Symcon 5.2) | | name (optional) | Name der Wertauswahl/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des Wertes der Wertauswahl ausgeführt wird. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) | | type | SelectValue | | value (optional) | (__default:__ null) Der JSON kodierte Wert der Auswahl. Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben | | visible (optional) | (__default:__ true) Bei true ist die Wertauswahl sichtbar, ansonsten ist sie unsichtbar | | variableID | (__default:__ 1) Die Variable, die für die Auswahl des Elementes herangezogen wird | | width (optional) | (__default:__ 300px) Feste Breite der Wertauswahl in Pixel oder % als String, z.B. "40%" oder "250px" | > **Hinweis:** Der Wert __value__ wird als JSON kodierter String gespeichert. ### Beispiel ```php { "type": "SelectValue", "name": "Wert", "caption": "Wert", "variableID": 12345 } ``` ## SelectVariable Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectvariable/ Erstellt einen Auswahldialog mit der Beschriftung __caption__. Falls im "elements"-Bereich erstellt, wird bei Übernahme die Eigenschaft __name__ auf die ID der ausgewählten Variablen gesetzt. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/selectvariable/ce8d26c8ed-1790424938/konfigurationsformulare-selectvariable.png) ### Parameter | Parameter | Beschreibung | | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onChange-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab IP-Symcon 7.0) | | enabled (optional) | (__default:__ true) Bei true kann die Variablenauswahl verwendet werden, ansonsten wird sie deaktiviert dargestellt (ab IP-Symcon 5.2) | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onChange-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab IP-Symcon 6.0) | | name (optional) | Name der Variablenauswahl/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des Wertes der Variablenauswahl ausgeführt wird. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab IP-Symcon 5.2) | | requiredAction (optional) | (__default:__ 0) Gibt an ob die Variable eine Aktion haben muss (ab IP-Symcon 6.0)
0: Es ist egal, ob die Variable eine Aktion hat oder nicht
1: Die Variable muss eine Aktion haben
2: Die Variable darf keine Aktion haben | | requiredLogging (optional) | (__default:__ 0) Die Art auf die die Variable geloggt sein darf (ab IP-Symcon 6.0)
0: Es ist egal, ob die Variable geloggt ist oder nicht
1: Die Variable muss geloggt sein
2: Die Variable darf nicht geloggt sein
3: Die Variable muss als Standard geloggt sein
4: Die Variable muss als Zähler geloggt sein
| | type | SelectVariable | | validVariableTypes (optional) | (__default:__ []) Die Typen der Variablen, die ausgewählt werden können. Bei einem leeren Array sind alle Variablentypen zulässig (0: Boolean, 1: Integer, 2: Float, 3: String)(ab IP-Symcon 6.0) | | value (optional) | (__default:__ 1) Der Wert der Variablenauswahl - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist die Variablenauswahl sichtbar, ansonsten ist sie unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite der Variablenauswahl in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | > **Hinweis:** Entspricht die Variable nicht den durch die Parameter validVariableTypes, requiredAction oder requiredLogging definierten Anforderungen, wird ein Fehler angezeigt und Änderungen können nicht übernommen werden ### Beispiel ```php //Jede Variable kann ausgewählt werden { "type": "SelectVariable", "name": "PropertyVariableID", "caption": "Target" } //Die ausgewählte Variable muss ein Integer oder Float sein, //sowie geloggt sein und eine Aktion haben { "type": "SelectVariable", "name": "PropertyVariableID", "caption": "Target", "validVariableTypes": [1, 2], "requiredAction": 1, "requiredLogging": 1 } ``` ## Statusmeldung Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/statusmeldung/ Erstellt eine Statusmeldung. > **Achtung:** Statusmeldungen können nur im "status"-Bereich genutzt werden. Keine anderen Formularfeldtypen können im "status"-Bereich genutzt werden. ### Parameter | Parameter | Beschreibung | | --------- | ----------------------------- | | caption | Sichtbare Beschriftung | | code | Statuscode (siehe Tabelle) | | icon | Symbol welches angezeigt wird | ### Übersicht der Statuscodes | code | Beschreibung | | ----- | ---------------------------- | | 101 | Instanz wird erstellt | | 102 | Instanz ist aktiv | | 103 | Instanz wird gelöscht | | 104 | Instanz ist inaktiv | | 105 | Instanz wurde nicht erstellt | | >=200 | Instanz ist fehlerhaft | > **Hinweis:** Codes >=200 müssen selbstdefiniert werden. ### Übersicht der möglichen Icons active ![active](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/statusmeldung/b4130c040b-1790424938/konfigurationsformulare-statusactive.png) error ![error](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/statusmeldung/17404d182d-1790424938/konfigurationsformulare-statuserror.png) inactive ![inactive](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/statusmeldung/bcc8ddc68b-1790424938/konfigurationsformulare-statusinactive.png) ### Beispiel ```php // Active icon { "code": 102, "icon": "active", "caption": "Logged in!" } // Error icon { "code": 200, "icon": "error", "caption": "Error!" } // Inactive icon { "code": 104, "icon": "inactive", "caption": "Logged out!" } ``` ## TestCenter Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/testcenter/ _Benötigt Symcon >= 5.0_ Generiert einen Testbereich, in welchem alle schaltbaren Statusvariablen der Instanz geschaltet werden können. Die Bedienelemente basieren hierbei auf Typ und Profil der Variablen und orientieren sich an den Schaltelementen des WebFronts. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/testcenter/f815a712e4-1790424938/konfigurationsformulare-testcenter.png) ### Parameter | Parameter | Beschreibung | | ------------------ | -------------------------------------------------------------------------------------------------------------------------------- | | caption (optional) | (__default:__ "") Sichtbare Beschriftung (ab IP-Symcon 7.2) | | enabled (optional) | (__default:__ true) Bei true kann der Testbereich verwendet werden, ansonsten wird er deaktiviert dargestellt (ab IP-Symcon 5.2) | | name (optional) | Name des Testbereichs | | type | TestCenter | | visible (optional) | (__default:__ true) Bei true ist der Testbereich sichtbar, ansonsten ist er unsichtbar (ab IP-Symcon 5.2) | ### Beispiel ```php { "type": "TestCenter" } ``` ## Tree Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/tree/ _Benötigt Symcon >= 5.0_ Erstellt einen Baum mit der Überschrift __caption__. Die angezeigten Spalten werden in __columns__ definert. Initiale Einträge des Baumes können via __values__ vorgegeben werden. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/tree/b7b1359aaf-1790424938/konfigurationsformulare-tree.png) ### Allgemeine Parameter | Parameter | Beschreibung | | ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | add (optional) | (__default:__ false) Wenn true, dann wird unter der Tabelle ein "Hinzufügen"-Button eingeblendet, welcher dem Baum ein neues Element unter dem angewählten Knoten hinzufügt | | caption (optional) | Sichtbare Beschriftung des Baumes | | [columns](configuration-forms.md) | Spalten des Baumes | | delete (optional) | (__default:__ false) Wenn true, dann wird hinter jedem Eintrag in des Baumes ein Button eingeblendet, welcher das entsprechende Element löscht | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onAdd, onDelete, onEdit oder onExpand-Skriptes eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab Symcon 7.0) | | form (optional) | (__default:__ basierend auf den edit-Parametern von columns) Ein individuelles Formular zum Bearbeiten oder Hinzufügen von Zeilen. Die Definition des Formulars erfolg analog zur Definition des Formulars für [Aktionen](../sdk-php.md) statisch oder als PHP-Code. Die Verwendung des Formulars funktioniert analog zum gleichnamigen Parameter der [List](configuration-forms.md) (ab Symcon 7.0) | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onAdd, onDelete, onEdit und onExpand-Skriptes als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab Symcon 6.0) | | multiAdd (optional) | (__default:__ false, falls onAdd gesetzt ist, sonst true) Ist dieser Parameter true, ist form nicht gesetzt und hat der Baum nur eine einzige editierbare Spalte vom Typ [SelectObject](configuration-forms.md), [SelectCategory](configuration-forms.md), [SelectInstance](configuration-forms.md), [SelectVariable](configuration-forms.md), [SelectScript](configuration-forms.md), [SelectMedia](configuration-forms.md) oder [SelectLink](configuration-forms.md), so können mehrere Objekte gleichzeitig hinzugefügt werden. Beim Hinzufügen mehrerer Objekte wird onAdd trotzdem nur ein mal ausgeführt. (ab Symcon 9.1) | | name (optional) | Name des Baumes | | onAdd (optional) | (__default:__ "") Skript, welches nach dem Hinzufügen eines Eintrages des Baumes ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). In dieser Ausführung bietet der Baum als Variablenwert nicht den aktuell ausgewählten Eintrag sondern den hinzugefügten Eintrag, siehe [Verwendung des Bauminhaltes in on-Aktionen](configuration-forms.md). Ansonsten hat es die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab Symcon 5.3) | | onDelete (optional) | (__default:__ "") Skript, welches nach dem Löschen eines Eintrages des Baumes ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). In dieser Ausführung bietet der Baum als Variablenwert nicht den aktuell ausgewählten Eintrag sondern den gelöschten Eintrag, siehe [Verwendung des Bauminhaltes in on-Aktionen](configuration-forms.md). Ansonsten hat es die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab Symcon 5.3) | | onEdit (optional) | (__default:__ "") Skript, welches nach der Bearbeitung eines Eintrages des Baumes ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden (Arrays werden ab Version 6.0 unterstützt). In dieser Ausführung bietet der Baum als Variablenwert nicht den aktuell ausgewählten Eintrag sondern den bearbeiteten Eintrag, siehe [Verwendung des Bauminhaltes in on-Aktionen](configuration-forms.md). Ansonsten hat es die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab Symcon 5.3) | | onExpand (optional) | (__default:__ "") Skript, welches nach der Ausklappen eines Eintrages des Baumes ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. In dieser Ausführung bietet der Baum als Variablenwert nicht den aktuell ausgewählten Eintrag sondern den ausgeklappten Eintrag, siehe [Verwendung des Bauminhaltes in on-Aktionen](configuration-forms.md). Ansonsten hat es die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab Symcon 6.4) | | rowCount (optional) | (__default:__ 0) sichtbare Anzahl von Zeilen; bei mehr Zeilen im Baum wird ein Scrollbalken eingeblendet - ist der Wert 0, so füllt der Baum den restlichen noch verfügbaren Platz im Instanzeditor. Nur ein Konfigurationselement kann den gesamten restlichen Platz erhalten. | | [sort](configuration-forms.md) (optional) | Sortierung des Baumes. Wird dies nicht gesetzt wird der Baum nach den Identifikatoren der Knoten sortiert | | type | Tree | | [values](configuration-forms.md) (optional) | initiale Einträge des Baumes | | visible (optional) | (__default:__ true) Bei true ist der Baum sichtbar, ansonsten ist er unsichtbar (ab Symcon 5.2) | | enabled (optional) | (__default:__ true) Bei true kann der Baum verwendet werden, ansonsten wird er deaktiviert dargestellt (ab Symcon 6.0) | | changeOrder (optional) | (__default:__ false) Bei true kann die Reihenfolge der Einträge per Drag & Drop verändert werden. Die Sortierung des Baumes nach Spalten ist dann allerdings nicht möglich. (ab Symcon 6.0) | | loadValuesFromConfiguration (optional) | (__default:__ true) Dieser Parameter gibt an, ob der Baum mit den Werten der Eigenschaft gefüllt werden soll, siehe [Speichern und Laden von Bäumen](configuration-forms.md). Wird der Wert auf true gesetzt, so ist es für einen erfolgreichen Review im Module Store erforderlich, den Baum dennoch im Sinne des Benutzers zu füllen, siehe [Reviewrichtlinien](../sdk-php.md) Punkt 13 (ab Symcon 6.0) | ### Parameter für columns | Parameter | Beschreibung | | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | add (optional) | initialer Wert in dieser Spalte bei einem neu hinzugefügtem Eintrag, notwendig wenn __add__ bei dem Baum auf true gesetzt ist. Alternativ kann ein Objekt übergeben werden, welches den Wert automatisch generiert, siehe [Parameter für add](configuration-forms.md) (ab Symcon 9.1) | | caption | Sichtbare Beschriftung einer Spalte | | confirm (optional) | (__default:__ "") Abfragetext, bevor eine onClick-Aktion ausgeführt wird. Nur wenn die Abfrage mit "Ja" bestätigt wird, wird die Aktion ausgeführt. Ist kein Abfragetext definiert, so wird die Aktion direkt ausgeführt (ab Symcon 5.2) | | download (optional) | (__default:__ "") Ist dieser Parameter nicht leer und beinhaltet die Ausgabe des onClick-Skriptes dieser Spalte eine [Data-URL](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs), so wird die Rückgabe als Textdatei mit dem Namen das download-Parameters heruntergeladen. (ab Symcon 7.1) | | [edit](configuration-forms.md) (optional) | Beschreibung eines editierbaren Elements | | label | sichtbare Beschriftung einer Spalte _(veraltet)_ | | link (optional) | (__default:__ false) Ist dieser Parameter true, dann wird die Ausgabe des onClick-Skriptes dieser Spalte als Link geöffnet. Ist er false, so wird die Ausgabe als Dialog im Konfigurationsformular angezeigt. (ab Symcon 7.1) | | name | eindeutiger Name einer Spalte um diese zu referenzieren; der Name darf nicht "id", "parent", "expanded", "rowColor", "editable" oder "deletable" sein, da diese Werte für andere Funktionen belegt sind, siehe [Parameter für values](configuration-forms.md) | | onClick (optional) | (__default:__ "") Skript, welches bei einem Klick auf ein Feld dieser Spalte ausgeführt wird. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md). Das Skript wird nur ausgeführt, sofern dieses Feld nicht leer, also 0, false oder "" ist (ab Symcon 5.2) | | quickFilter (optional) | (__default:__ false) Bei true wird der Text dieser Spalte beim Schnellfilter in der Suche betrachtet. Sollte der Wert bei allen Spalten auf false gesetzt sein, so wird der Schnellfilter ausgeblendet. (ab Symcon 7.2) | | save (optional) | (__default:__ true, falls das Element editierbar ist oder __add__ ein Objekt zur automatischen Generierung ist, sonst false) Bei true sollen die Werte dieser Spalte als Modul-Eigenschaften gesichert werden, siehe [Speichern und Laden von Bäumen](configuration-forms.md) | | visible (optional) | (__default:__ true) Bei false wird die Spalte nicht angezeigt | | width | Breite der Spalte in Pixeln, als CSS-String (z.B. "100px"); genau eine Spalte muss den Wert "auto" haben, wodurch die Breite dieser Spalte den restlich verfügbaren Platz nutzt. Darüber hinaus werden an dieser Spalte die Erweiterungs-Symbole des Baumes dargestellt. | ### Parameter für edit | Parameter | Beschreibung | | ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | type | Typ der Darstellung, entsprechend der möglichen Eingaben:
[CheckBox](configuration-forms.md), [IntervalBox](configuration-forms.md), [NumberSpinner](configuration-forms.md), [PasswordTextBox](configuration-forms.md), [Select](configuration-forms.md), [SelectCategory](configuration-forms.md), [SelectColor](configuration-forms.md), [SelectEvent](configuration-forms.md), [SelectFile](configuration-forms.md), [SelectInstance](configuration-forms.md), [SelectLink](configuration-forms.md), [SelectMedia](configuration-forms.md), [SelectObject](configuration-forms.md), [SelectScript](configuration-forms.md), [SelectVariable](configuration-forms.md), [ValidationTextBox](configuration-forms.md), [List](configuration-forms.md), [Tree](configuration-forms.md) | | Weitere Parameter | Die weiteren Parameter ergeben sich je nach gewähltem Typ; die Parameter "name" und "caption" des Typs werden ignoriert | > **Hinweis:** Wird der "type" List oder Tree verwendet, so wird der Wert dieser Spalte nicht noch einmal JSON-codiert. Es ist also lediglich erforderlich den Wert des übergeordneten Baumes einmalig zu parsen. Jede Unterliste bzw. Unterbaum steht dann direkt als Objekt zur Verfügung. Analog müssen die Werte in "values" auch nicht doppelt codiert werden. > **Hinweis:** Der Parameter "add" der Spalte wird entsprechend der Lokalisierung übersetzt, sofern der "type" von "edit" ValidationTextBox oder PasswordTextBox ist oder "edit" gar nicht gesetzt ist ### Parameter für add Statt eines festen Wertes kann der Parameter __add__ einer Spalte auch ein Objekt sein, welches beschreibt, mit welcher Strategie der Wert für einen neu hinzugefügten Eintrag automatisch generiert wird (ab Symcon 9.1). Der Wert wird beim Hinzufügen des Eintrages generiert und anschließend wie ein regulärer Wert behandelt. Der generierte Wert ist innerhalb der Spalte eindeutig: Stimmt ein zufälliger Wert mit dem Wert eines bestehenden Eintrages überein, so wird ein neuer Wert generiert. Generierte Werte werden nicht übersetzt. | Parameter | Beschreibung | | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | strategy | Strategie der Generierung:
"increment": Der höchste numerische Wert dieser Spalte über alle Einträge des Baumes wird um __step__ erhöht. Nicht numerische Werte werden ignoriert. Existiert noch kein numerischer Wert, so wird __step__ verwendet
"random-string": Eine zufällige Zeichenkette aus den Zeichen a-z, A-Z und 0-9 mit der Länge __length__
"random-integer": Eine zufällige ganze Zahl zwischen __min__ und __max__
"guid": Eine zufällige GUID (UUID Version 4), z.B. "{3F2504E0-4F89-4D3A-9A0C-0305E82C3301}" | | step (optional) | (__default:__ 1) Schrittweite, um welche der höchste Wert erhöht wird, nur für die strategy "increment"; muss eine Zahl ungleich 0 sein | | length (optional) | (__default:__ 32) Anzahl der Zeichen der generierten Zeichenkette, nur für die strategy "random-string" | | min (optional) | (__default:__ 0) Untere Grenze (inklusive) der zufälligen ganzen Zahl, nur für die strategy "random-integer"; muss kleiner als __max__ sein | | max (optional) | (__default:__ 2147483647) Obere Grenze (inklusive) der zufälligen ganzen Zahl, nur für die strategy "random-integer"; muss größer als __min__ sein | > **Hinweis:** Damit generierte Werte erhalten bleiben, werden Spalten mit einem solchen add-Wert standardmäßig gespeichert, d.h. der Parameter "save" ist für diese Spalten standardmäßig true. Fehlt einem geladenen Eintrag der Wert in einer solchen Spalte, z.B. weil die Spalte nachträglich hinzugefügt wurde, so wird der Wert beim Laden nach der gleichen Strategie generiert. Auch der Standardwert, den on-Aktionen erhalten, wenn kein Eintrag ausgewählt ist, wird nach der Strategie generiert. Kann kein eindeutiger Wert generiert werden, weil bereits alle möglichen Werte verwendet werden, z.B. bei "random-integer" mit einem kleinen Bereich zwischen min und max, so schlägt das Hinzufügen mit einer Fehlermeldung fehl. ```php // Spalten mit automatisch generierten Werten { "caption": "ID", "name": "ID", "width": "50px", "add": { "strategy": "increment", "step": 10 } }, { "caption": "Token", "name": "Token", "width": "auto", "add": { "strategy": "random-string", "length": 16 }, "edit": { "type": "ValidationTextBox" } }, { "caption": "Zufallszahl", "name": "Number", "width": "100px", "add": { "strategy": "random-integer", "min": 1, "max": 100 }, "edit": { "type": "NumberSpinner" } }, { "caption": "GUID", "name": "GUID", "width": "300px", "add": { "strategy": "guid" } } ``` ### Parameter für sort | Parameter | Beschreibung | | --------- | -------------------------------------------------------------------------------------------------------------------------- | | column | Name der Spalte, nach welcher der Baum sortiert wird | | direction | Die Richtung der Sortierung; "ascending" für eine aufsteigende Sortierung und "descending" für eine absteigende Sortierung | ### Parameter für values | Parameter | Beschreibung | | ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | deletable (optional) | (__default:__ true) Bei false kann die Zeile nicht gelöscht werden (ab Symcon 5.4) | | editable (optional) | (__default:__ true) Bei false kann die Zeile nicht editiert werden, obwohl der Baum an sich editierbare Spalten besitzt (ab Symcon 5.4) | | expanded (optional) | (__default:__ false) Falls dieser Wert true ist, wird der Eintrag beim Laden des Konfigurationsformulares direkt ausgeklappt | | id | Ein Identifikator, mit welchem der Eintrag in der Baumdarstellung als Elternknoten adressiert werden kann, id muss größer als 0 sein | | parent (optional) | (__default:__ 0) In diesem Feld kann die id eines Wertes gesetzt werden, welcher in der Baumdarstellung der Elternknoten von diesem Wert wird. Hiefür muss der Eltern-Wert im Array "values" vor dem Kind stehen. Ist "parent" 0, so wird das Element auf oberster Ebene eingefügt. | | rowColor (optional) | (__default:__ transparent) Hintergrundfarbe der Zeile als Hex-Code (z.B. Rot: "#ff0000" ), leerer String für Transparenz | | icons (optional) | (__default:__ {}) Icons können analog zur [List](configuration-forms.md) verwendet werden. (ab Symcon 9.0) | | Weitere Parameter (optional) | (__default:__ "") Für jeden initialen Eintrag des Baumes werden hier die Werte zu allen Spalten definiert. Hierfür wird für jede Spalte ein Parameter mit dem Namen der Spalte eingetragen. Die Belegung des Parameters entspricht dem Wert dieser Spalte bei dem entsprechenden Eintrag. | ### Speichern und Laden von Bäumen Das Speichern und Laden von Bäumen erfolgt fast analog zu [Listen](configuration-forms.md). In der Eigenschaft werden zusätzlich die Werte für __id__ und __parent__ gespeichert. Beim Laden ist zu beachten, dass bei der Verwendung von values immer der Identifikator des Knotens angegeben werden muss, damit diese dem passenden Knoten aus der Eigenschaft zugewiesen werden können. ### Verwendung des Bauminhaltes in on-Aktionen Die Verwendung der Werte des Baumes in Skripten erfolgt analog zu [Listen](configuration-forms.md). Darüber hinaus beinhaltet jeder Eintrag den Wert "expanded", welcher angibt ob der Eintrag aktuell eingeklappt (false) oder ausgeklappt (true) ist. ### Beispiel ```php { "type": "Tree", "name": "Devices", "caption": "Devices", "rowCount": 5, "add": true, "delete": true, "sort": { "column": "Name", "direction": "ascending" }, "columns": [{ "caption": "InstanceID", "name": "InstanceID", "width": "75px", "add": 0, "edit": { "type": "SelectInstance" } }, { "caption": "Name", "name": "Name", "width": "auto", "add": "" }, { "caption": "State", "name": "State", "width": "40px", "add": "New!" }, { "caption": "Temperature", "name": "Temperature", "width": "75px", "add": 20.0, "edit": { "type": "NumberSpinner", "digits": 2 } }], "values": [{ "id": 1, "InstanceID": 0, "Name": "Kategorie", "State": "", "Temperature": 0 },{ "id": 2, "parent": 1, "InstanceID": 12435, "Name": "ABCD", "State": "OK!", "Temperature": 23.31, "rowColor": "#ff0000" }] } ``` ## ValidationTextBox Quelle: https://www.symcon.de/de/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/validationtextbox/ Erstellt ein Eingabefeld für Text mit der Überschrift __caption__. Falls im "elements"-Bereich erstellt, setzt die ValidationTextBox eine Eigenschaft bei Übernahme auf den eingetragenen String. Der Parameter __"name"__ definiert dabei welche Eigenschaft gesetzt wird. ![Beispiel](https://www.symcon.de/media/pages/service/dokumentation/entwicklerbereich/sdk-tools/sdk-php/konfigurationsformulare/validationtextbox/fde4e97308-1790424938/konfigurationsformulare-validationtextbox.png) ### Parameter | Parameter | Beschreibung | | -------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | caption | Sichtbare Beschriftung des Eingabefeldes | | enabled (optional) | (__default:__ true) Bei true kann das Eingabefeld verwendet werden, ansonsten wird es deaktiviert dargestellt (ab IP-Symcon 5.2) | | multiline (optional) | (__default:__ false) Bei true, wird das Eingabefeld bei Bedarf auf mehrere Zeilen erweitert. Dies kann sowohl durch bewusst gesetzte Zeilenumbrüche, z.B. per Enter, als auch bei einem Überlauf passieren. Bei false bleibt das Eingabefeld stets bei einer Zeile (ab IP-Symcon 5.4) | | name (optional) | Name des Eingabefeldes/der zu setzenden Eigenschaft | | onChange (optional) | (__default:__ "") Skript, welches bei einer Veränderung des ValidationTextBox-Wertes ausgeführt wird. Sofern das Skript aus mehreren Zeilen besteht, können die einzelnen Zeilen auch als Array übergeben werden. Es hat die gleichen Eigenschaften wie onClick des [Button](configuration-forms.md) (ab IP-Symcon 8.1) | | type | ValidationTextBox | | validate (optional) | (__default:__ "") Erfüllt der Wert nicht den hier angegebenen regulären Ausdruck, so wird ein Fehler angezeigt und Änderungen können nicht übernommen werden (ab IP-Symcon 5.3) | | value (optional) | (__default:__ "") Der Wert des Eingabefeldes - Sofern es eine dazugehörige Eigenschaft gibt, wird dieser Parameter im elements-Bereich durch die Eigenschaft überschrieben (ab IP-Symcon 5.2) | | visible (optional) | (__default:__ true) Bei true ist das Eingabefeld sichtbar, ansonsten ist es unsichtbar (ab IP-Symcon 5.2) | | width (optional) | (__default:__ 300px) Feste Breite des Eingabefeldes in Pixel oder % als String, z.B. "40%" oder "250px" (ab IP-Symcon 5.3) | ### Beispiel ```php { "type": "ValidationTextBox", "name": "IPAddress", "caption": "Host" } ```