Ankündigung

Einklappen
Keine Ankündigung bisher.

- √ - OpenHAB Script durch Item aufrufen

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

    - √ - OpenHAB Script durch Item aufrufen

    Meine OpenHAB Installation verfügt über mehrere Scripte, die aus Regeln heraus erfolgreich aufgerufen werden. Nun möchte ich im UI einen Knopf hinzufügen, der ein solches Script manuell aufruft. Mir ist dabei nicht ganz klar, welches Binding dafür notwendig ist. Oder geht es nicht?

    Code:
    Switch  Script_A  "Skript A ausführen"  <none>  (Skripte)  {autoupdate="false", ???}

    #2
    Schau mal hier: https://github.com/openhab/openhab/wiki/Exec-Binding

    Grüße,
    Kai

    Kommentar


      #3
      Das exec-Binding kenne ich schon, es handelt sich aber nicht um Shell-Skripte, sondern um OpenHAB-Skripte. Falls diese damit auch ausgeführt werden können, wie?

      Kommentar


        #4
        Ah, sorry, dann hatte ich Dich falsch verstanden.
        Nee, openHAB Skripte kannst Du nur über Regeln starten, da gibt es kein Binding für, sorry...

        Grüße,
        Kai

        Kommentar


          #5
          Abgesehen davon, dass es kein Binding dafür gibt, kannst Du dem Knopf natürlich ein item spendieren, dazu eine rule, die vom item getriggert wird. Tadaa...

          Kommentar


            #6
            Hi Udo,
            daran hab ich auch vorhin gedacht, doch einen einfachen Taster hab ich bisher noch nicht gefunden. Wenn dann könnte man nen Switch nehmen und den dann manuell wieder zurücksetzen, sodaß ein Taster simuliert wird.
            Daran schließt sich jedoch die Frage an wie man das macht. Habe noch nichts (bei mir) Funktionierendes gefunden.
            Timer mit ?.status=OFF oder so was ? (sry, is halt ne Anfängerfrage )
            Haste da mal n Denkanstoß?

            Cheers

            Kommentar


              #7
              Ah. Ja, in der Tat, einen "Taster" gibt es nicht. Dafür kannst Du aber einen Schalter verwenden, dem Du ein Mapping mitgibst. Zusammen mit autoupdate=false bekommst Du den gewünschten Effekt.
              Item:
              Code:
              Switch Regel_starten "Regel ausführen" { autoupdate="false" }
              Sitemap:
              Code:
              Switch item=Regel_starten  mappings=[ON="Los"]
              Rule:
              Code:
              rule "Script starten"
              when item Regel_starten received update
              then
              ...
              end
              So sollte das funktionieren.

              Kommentar


                #8
                Danke für den Tipp, das klappt!

                Kommentar


                  #9
                  Könnte man nicht auch einfach am Ende der Rule-Ausführung den Switch wieder auf OFF setzen und gut?

                  Kommentar


                    #10
                    Zitat von bremer Beitrag anzeigen
                    Könnte man nicht auch einfach am Ende der Rule-Ausführung den Switch wieder auf OFF setzen und gut?
                    Klar, kann man, aber autoupdate="false" steht ja direkt bei der item-Definition, das ist weniger Code. Das Mapping braucht man ohnehin, um einen Knopf statt eines Schalters zu bekommen.

                    Kommentar

                    Lädt...
                    X