Code Sharing zwischen zwei Scripten auf den selben Gerät möglich?

Die Verwendung von Skripten liegt im eigenen Ermessen des Benutzers. Unterstützung für Skripte wird vom Autor des Skripts bereitgestellt.
  • Liebe Leuten,

    ich habe zwei Scripten auf einem Plus1, die gleiche bzw. angleichbare Funktionen nutzen. Das hat den Nachteil, dass ich diesen Code doppelt verwalten muss und damit die Fehleranfälligkeit steigt.

    Gibt es die Möglichkeit diese Funktionen auf andere Scripten auszulagern und von den beiden Ursprungsscripten mit Parametern direkt aufruft bzw. die Ergebnisse zurückzuerhalten. Mit 'Script.Set' kann zwar ein Aufruf ausgelöst werden, sieht aber keine Rückgabe vor. 'HTTP.Get' funktioniert nicht vom selben Gerät aus.

    Schöne Grüsse

    Wolfgang

  • nein, sowas wie include(); oder require(); wie man es aus anderen Sprachen kennt gibt es leider aktuell nicht.

    >100 Shellies, darunter so gut wie alles was der Hersteller produziert hat. ;)
    :!: ich beantworte grundsätzlich keine Fragen per persönlicher Nachricht:!:

  • Jein. Man kann über KVS Daten austauschen.

    Den doppelten Code in ein extra Script.

    Im master mit kvm.set die Parameter setzen

    Im slave mit kvm.get auslesen.

    Habe ein Beispiel, ist aber umfangreich. Müsstest du dich einarbeiten und entsprechen umbauen.

    Einmal editiert, zuletzt von ostfriese (23. April 2023 um 00:16)

  • Habe ein Beispiel, ist aber umfangreich. Müsstest du dich einarbeiten und entsprechen umbauen.

    Könntest du das Beispiel mal posten, das hört sich interessant an.

  • Du hast es nicht anders gewollt :)

    Ich benutze KVS um Daten zwischen master und worker auszutauschen. Z.B. in diesem Fall die Config. Das könnte auch das Problem des TE lösen.

    Müsste er dann nur für sein Problem anpassen.

    master:

    worker:

    Einmal editiert, zuletzt von ostfriese (23. April 2023 um 00:17)

  • Dieses Thema enthält 9 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.