Ankündigung

Einklappen
Keine Ankündigung bisher.

eigene Funktionen in items

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    eigene Funktionen in items

    Ich möchte gerne eigene Funktionen in items nutzen. Ist das überhaupt möglich? Denn irgendwie habe ich bis jetzt nichts in der Doku dazu gefunden.

    Klar ist, dass es mit

    Code:
    ItemName:
        type: num
        eigeneFunktionp1: parameter1
        eigeneFunktionp1: parameter2
    geht. Aber geht auch sowas?

    Code:
    ItemName:
        type: num
        eval: sh.eigeneFunktion(parameter1, parameter2)
        eval_trigger: sh.triggerirgendwas()

    #2
    Was meinst Du mit "eigene Funktion"? Funktionen die Du selber schreibst? Dann wären Logiken für Dich der richtige Ansatz.
    Falls Du Funktionen meinst, die in Python oder in libraries von SmartHomeNG definiert sind, ist die Antwort: Es kommt darauf an.

    Eine Möglichkeit eigene Methoden zu schreiben, die in die Instanz Klasse smarthome (also in das sh Objekt) eingebaut werden (wie Du im eval Attribut evtl. andeuten willst), so ist die Antwort: Das geht in SmartHomeNG nicht.
    Viele Grüße
    Martin

    There is no cloud. It's only someone else's computer.

    Kommentar


      #3
      Zitat von Msinn Beitrag anzeigen
      Was meinst Du mit "eigene Funktion"? Funktionen die Du selber schreibst? Dann wären Logiken für Dich der richtige Ansatz.
      Falls Du Funktionen meinst, die in Python oder in libraries von SmartHomeNG definiert sind, ist die Antwort: Es kommt darauf an.
      Naja nach Methode 1 geht es ja mit den Logiken oder in den plugins. Anders nicht oder?

      Zitat von Msinn Beitrag anzeigen
      Eine Möglichkeit eigene Methoden zu schreiben, die in die Instanz Klasse smarthome (also in das sh Objekt) eingebaut werden (wie Du im eval Attribut evtl. andeuten willst), so ist die Antwort: Das geht in SmartHomeNG nicht.
      Ja im Prinzip nach der Variante 2. Ob das nun sh steht oder woanders wäre egal. Sicherlich könnte ich die Funktion auch in den libraries reinpatchen, aber beim nächsten Update wäre wieder alles futsch. Gibt es die Möglichkeit Funktionen auch über die libraries oder sowas ähnliches zu schreiben, um die direkt so zu nutzen? Das würde ja den Weg ungemein verkürzen.

      Kommentar


        #4
        Nein, der einzige Weg kst, dass Du ein Plugin schreibst. plugins können eigene Methoden implementieren. Die kannst Du dann in Logiken oder eval Ausdrücken aufrufen.

        im core (also in den Libs haben diese Funktionen nichts verloren.

        Ich würde Dir empfehlen eigene Funktionen in Form von Logiken zu implementieren. Das hat in der Entwicklungsphase auch den Vorteil, dass Du Logiken neu laden kannst, ohne SmartHomeNG komplett neu starten zu müssen.
        Zuletzt geändert von Msinn; 29.01.2019, 19:32.
        Viele Grüße
        Martin

        There is no cloud. It's only someone else's computer.

        Kommentar

        Lädt...
        X