Script für Module-Update

Hallo,

es kann ja mal sein, das bei einem Modul-Update Änderungen an Einstellungen, Variablen-Idents, Variablenprofilen etc. gemacht werden sollen.
Zur Zeit ist das so, das der Benutzer nach dem Updaten bestimmte Arbeiten machen müsste.

Ich hatte zB mal in einem Modul (Miele@Home) nachträglich die Möglichkeit geschaffen neben der bisherigen konventionellen Anmeldung OAuth nutzen zu können. Die Variable zur Auswahl war initial natürlich leer, was bedeutete, das bei schon eingerichteten Instanzen diese Variable durch den Benutze aus „Login“ gesetzt werden musste.

Das könnte ich mir schöner vorstellen:

  • bei einem Modul kann man eine Funktion „UpdateVersion“ überlagen
  • diese Funktion bekommt die alte und neue Versionsnummer (aus library.json) übergeben
  • anhand dieser Angaben kann in der Funktion die entsprechenden Anpassungen gemacht werden
  • der Aufruf erfolgt bei der ersten Aufruf des Moduls nach dem Update, nach Erfolgt merkt sich IPS die aktuelle Versionsnummer und damit wird das Script nur einmal aufgerufen.

In dem o.g. Beispiel würde UpdateVersion() so aussehen:



    public function UpdateVersion(string $oldVersion, string $newVersion)
    {
        if ($newVersion == "1.12") {
            $userid = $this->ReadPropertyString('userid');
            $password = $this->ReadPropertyString('password');
            if ($userid != '' &&  $password != '') {
                IPS_SetProperty('OAuth_Type', CONNECTION_DEVELOPER);
                $this->ApplyChanges():
            }
        }
        return true;
    }


Ist jetzt kein besonders spannendes Beispiel, aber das könnte ja auch eine Korrektur an einem Modul-spezifischen Variablenprofil sei oder oder …

Gerade weil IPS sich ja km Bereich der Module deutlich „professionalisiert“, fände ich das eine gute Ergänzung der Möglichkeiten.

Gruß
demel

Moin!

Sowas finde ich eine sehr gute Idee! Bisher manage ich so Kram im Modul selbst - ist aber nicht wirklich schön/toll und teilweise etwas umständlich. Da wäre eine „direkte“ Möglichkeit in IPS deutlich schöner/besser!

Viele Grüße,
Chris

Der Wunsch existiert schon länger als dieses Unterforum.
Hier der erste Beitrag aus 2015:
Funktionswünsche des PHP-SDK

Und irgendwo hatte ich den Wunsch auch schon geäußert.
Michael

Na vielleicht wird ja mal was draus, steter Tropfen höhlt den Stein … :smiley:

demel