Ankündigung

Einklappen
Keine Ankündigung bisher.

In einer Rules ein Script aufrufen

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

    [Codebeispiel] In einer Rules ein Script aufrufen

    Hallo Forum,
    ich möchte gern nach einer Aktion ein Script aufrufen. Hierzu habe ich folgende Regel :

    Code:
    rule "Badezimmerspiegel anschalten"
       when
          Item ISS2BadlichtBad_Switch changed from OFF to ON
       then
          callScript("/etc/openhab2/scripts/spiegellichtan")
    end
    Das Script ist natürlich vorhanden und ist auch ausführbar, aber ich bekomme im Log folgenden Fehler:

    Code:
    2017-11-12 14:20:53.460 [ERROR] [.script.engine.ScriptExecutionThread] - Rule 'Badezimmerspiegel anschalten': Script '/etc/openhab2/scripts/spiegellichtan' cannot be found.
    Was kann ich tun damit mein Script gefunden wird ?

    Gruß
    Frank

    #2
    callScript ist für openHAB Scripte (entsprechend der rule Engine). der Dateiname muss mit .script enden und das Script wird ohne Pfad und ohne Endung aufgerufen - z.B. callScript("spiegellichtan") für ein
    Script /etc/openhab2/scripts/spiegellichtan.script .

    Du willst vermutlich eher ein Bash-Script aufrufen? Das wäre dann executeCommandLine.

    Kommentar


      #3
      Genau das war das Problem, vielen Dank für deinen Tipp.

      Kommentar


        #4
        Mit dem Comando

        callScript("spiegellichtan")

        kann man Rules starten ohne das die Bedingung zum starten erfüllt ist?

        Und wie ist es den mit dem Leerzeichen in den Namen der Rule?

        ​​​​​​​MfG

        Kommentar


          #5
          Nein, mit callScript kann man openHAB Scripte aufrufen. jedes Script ist in einer eigenen Datei gespeichert. Scripte sind etwas anderes als Rules, sie haben keinen Trigger. Leider kann man auch keine Werte übergeben, trotzdem kann es sinnvoll sein, statischen Code in einem Script auszulagern, da dadurch die Rules-Datei kleiner bleibt. Ein gutes Beispiel für ein sinnvolles Script ist die Berechnung der Feiertage und Ferientermine (um damit z.B. Rollläden später aufzufahren).

          Kommentar


            #6
            Kann man den Rules per Aktion aus einer anderen Rule starten ohne ein Item zu nutzen ?

            MfG

            Kommentar


              #7
              Kurz: Nein.

              Kommentar

              Lädt...
              X