Ankündigung

Einklappen
Keine Ankündigung bisher.

Condition wird in openHAB 3 Regel nicht berücksichtigt

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

    Condition wird in openHAB 3 Regel nicht berücksichtigt

    Hallo zusammen,

    ich verwende in meinem System seit langem ohne Probleme einige Regeln, die ich manuell als Textdateien angelegt habe. Jetzt habe ich zusätzlich einmal ausprobiert über die UI Regeln anzulegen. Das funktioniert grundsätzlich ebenfalls sehr gut. Ein Problem habe ich allerdings, wenn ich eine Bedingung anlege. Die scheint nie beachtet zu werden.

    Ziel: Rollos sollen bei Dämmerung geschlossen werden, aber nur dann, wenn die Außentemperatur > 1° ist.

    Meine Regel sieht folgendermaßen aus:
    grafik.png
    Hinter dem Script steckt nur eine kleine Logging Ausgabe. Auf jeden Fall werden die Actions immer ausgeführt, egal ob die Bedingung erfüllt ist oder nicht. An der Auswertung "Min_Outdoor_Temp > 1" sollte es eigentlich nicht liegen, die wird in dem kleinen Script korrekt ausgewertet.

    Verstehe ich hier etwas grundsätzlich falsch?

    Vielen Dank für eure Hilfe.

    Viele Grüße
    Pfrosch

    #2
    Wie ist das Item Min_Outdoor_Temp exakt definiert? Falls es sich um ein Number:Temperature Item handeln sollte, musst Du auf > 1 °C testen.

    Kommentar


      #3
      Zitat von udo1toni Beitrag anzeigen
      Wie ist das Item Min_Outdoor_Temp exakt definiert? Falls es sich um ein Number:Temperature Item handeln sollte, musst Du auf > 1 °C testen.
      Min_Outdoor_Temp ist einfach nur als Number definiert:
      Code:
      Number Min_Outdoor_Temp     "Garten [%.1f °C]" <temperature> (gTemp) {channel="knx:device:bridge:generic:minOutdoorTemp"}
      Zum Test habe ich gerade wie von dir vorgeschlagen auf Number:Temperature umgestellt und auf >1 °C getestet, leider mit dem gleich Ergebnis. Die Regel wird immer ausgeführt.

      Aber ich glaube ich habe die Ursache jetzt gefunden: ich habe bei meinen Tests die Regel immer über "Run now" (das Play Symbol) laufen lassen. Kann es sein, dass dabei die Condition nicht ausgewertet wird? Auf den ersten Blick scheint die ausgewertet zu werden, wenn die Regel ganz regulär über den Trigger ausgeführt wird. Muss ich morgen nach Sonnenauf- und Untergang noch mal kontrollieren.

      Kommentar


        #4
        Scheint tatsächlich nur daran gelegen zu haben. Denke die Regel funktioniert wie sie soll. Vielen Dank dennoch für die Anregung udo1toni

        Kommentar


          #5
          Spannend. Man lernt ja selbst nie aus.

          Danke fürs "zufällig" rausfinden.
          Ich geh das dann mal fix in der offiziellen Doku ergänzen, wo ich es gerade auch nicht finden konnte...

          Kommentar


            #6
            Nein, das ist vollkommen logisch.

            "Ausführen" bedeutet "Ausführen", nicht "Ausführen, aber nur wenn".

            Du kannst aber die Bedingung auch einfach innerhalb eines Codeblocks überprüfen.
            Da der Code so ausgeführt wird, wie er ist, wird auch die Bedingung geprüft, im Gegensatz zur Einschränkung für den Trigger.

            Kommentar

            Lädt...
            X