« Zurück zu Produkt

Dokumentation

Migrate

Benötigt: IP-Symcon >= 7.0

 string Migrate (string $JSONData) 

Parameterliste

JSONData

Persistenz (Konfiguration, Attribute) der Instanz

Rückgabewert

JSON-kodiertes Objekt mit der neuen Konfiguration/Attributen.
Leerer String, sofern keine Änderungen notwendig sind.

Beschreibung

Diese Funktion wird nur beim Start von IP-Symcon oder nach eine Modul-Update aufgerufen. Sie wird nicht beim erstmaligem Erstellen einer Instanz aufgerufen. Die gelieferte Persistenz ist unabhängig von der bereits im Create registrierten Properties/Attributen. Dadurch kann diese beliebig angepasst/korrigiert werden, sodass diese für die neuen Properties/Attribute passt. Dadurch können z.B. alte Properties (z.B. wegen einem Tippfehler) im Namen oder Inhalt korrigiert werden.

Die neuen Werte sind in den Properties/Attributen direkt im darauf folgenden ApplyChanges verfügbar.

Warning

Die Migrate Funktion wird von IP-Symcon aufgerufen. Sie muss somit von der Basisklasse überschrieben werden, um eigene Erweiterungen hinzuzufügen

Beispiel

public function Migrate($JSONData) {

    // Diese Zeile nicht entfernen
    parent::Migrate($JSONData);

    // Beispielinhalt von JSONData
    /*
    {
        "attributes": {
            "MeinAttribut": "MeinWert"
        },
        "configuration": {
            "MeineKonfiguration": "MeinWert"
        }
    }
    */

    // Eigenschaften/Attribute migrieren
    $j = json_decode($JSONString);
    $j->attributes->NeuesAttribut = $j->attributes->MeinAttribut;
    $j->configuration->NeueKonfiguration = $j->configuration->MeineKonfiguration;
    return json_encode($j);

}
Haben Sie noch Fragen?