Ankündigung

Einklappen
Keine Ankündigung bisher.

Regeln mehrfach benutzen

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

    Regeln mehrfach benutzen

    Hi,

    kann mir jemand sagen, wie man Regel über andere Regeln aufrufen kann?

    Beispiel:
    Regel 1
    wenn Schalter XY auf on steht führe Regel 2 aus
    ansonsten führe Regel 3 aus

    Regel 4
    Wenn Schalter z auf on steht und schalter xy auf off führe Regel 2 aus

    #2
    Muss es undbedingt eine Regel sein? Du könntest mit "callScript" ein Skript ausführen (vgl. Actions - openhab - Overview of avaialble actions - empowering the smart home - Google Project Hosting)

    Kommentar


      #3
      Mit einem Script funktioniert das aber nur, wenn keine Parameter übergeben werden sollen.

      Kommentar


        #4
        Stimmt. Du könntest mit einem SendCommand den Trigger für die jeweilige Regel auslösen. Parameter müsstest du über globale Variablen übergeben. Das geht meines Wissens aber nur, wenn die Regeln in der selben Datei stehen.

        Kommentar


          #5
          Also, ich hab das jetzt so versucht:

          in der Items-Datei habe ich folgendes Item angelegt:
          Code:
          Switch Shutter_ALLG_Sichtrollos 	"Sichtrollos"		(ALLG, Rolladen)
          in der rules-Datei habe ich folgende Regel erstellt:
          Code:
          rule "Schliesse Sichtrollos mit Schalter"
          when
          	Item Shutter_Sichtrollos received command ON
          then
          	callScript sichtrollos_zu.script
          end
          und dann noch das sichtrollos_zu.script:
          Code:
          Shutter_GKG_Kitchen.sendCommand(DOWN)
          Shutter_GKG_Living.sendCommand(DOWN) 
          Shutter_GEG_Living.sendCommand(DOWN)
          Shutter_GEG_LivingTerrasse.sendCommand(DOWN)
          Shutter_G1OG_Bath.sendCommand(DOWN)
          Shutter_G1OG_Parents2.sendCommand(DOWN)
          Shutter_G1OG_Zimmer1.sendCommand(DOWN)
          Shutter_G1OG_Zimmer2.sendCommand(DOWN)
          Shutter_GEG_Toilet.sendCommand(DOWN)
          Aber wenn ich den Schalter betätige passiert nichts. Weiß jemand warum?

          Gruß Jan

          Kommentar


            #6
            so:
            Shutter_Sichtrollos
            oder so:
            Shutter_ALLG_Sichtrollos
            ???
            :-)

            Kommentar


              #7
              Oh, da hatte ich Tomaten auf den Augen. Allerdings geht es dann immer noch nicht. Ich bekomme nun bei der Zeile callScript..... diese Fehlermeldung im Designer angezeigt:
              Multiple markers at this line
              - Couldn't resolve reference to JvmIdentifiableElement 'sichtrollos_zu'.
              - Couldn't resolve reference to JvmIdentifiableElement 'script'.
              - Invalid number of arguments. Expected (String)

              Kommentar


                #8
                Ich habe es gefunden. Es muß so heißen:
                Code:
                callScript ("sichtrollos_zu.script")

                Kommentar


                  #9
                  Hast Du die Rules mit dem Designer gesetzt?
                  Oder hast Du nur hier die ( ) weggelassen?
                  Ich habe es mir nicht im Designer angesehen, aber die Fehlermeldung fragt ja nach dem (String).
                  LG Tom

                  Kommentar


                    #10
                    Ich hab die schon mit dem Designer gesetzt, aber die Fehlermeldung war seltsamerweise immer wieder weg, nachdem ich die Scriptdatei angepasst und die Regeldatei geschlossen und neu geöffnet habe....

                    Kommentar


                      #11
                      Zitat von Jan0815 Beitrag anzeigen
                      Ich habe es gefunden. Es muß so heißen:
                      Code:
                      callScript ("sichtrollos_zu.script")
                      Du müsstest auch die Dateiendung ".script" weglassen können, also dann

                      Code:
                      callScript ("sichtrollos_zu")
                      Gruß,

                      Thomas E.-E.
                      Visualisierung, Rule/Logic-Engine, Integrationsplattform mit openhab (Supportforum)

                      Kommentar

                      Lädt...
                      X