Ankündigung

Einklappen
Keine Ankündigung bisher.

Openhab Regel für Rolladen der Terassentür mit Fensterkontakt.

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

    Openhab Regel für Rolladen der Terassentür mit Fensterkontakt.

    Moin,
    Ich habe jetzt soweit alles am Laufen mit Openhab und KNX.

    Jetzt wollte ich mich an die Regeln machen.

    Meine Anforderung ist folgende:
    Wenn der Befehl Terassentür runter (DOWN) kommt,
    soll geprüft werden ob Fensterkontakt Terasse offen (OPEN) ist
    wenn ja dann Befehl Terassentür stop senden.
    HTML-Code:
    rule "Fensterkontakt1"
        
        when    
        Item GF_LivingRoom_Shutter1 changed to DOWN
        then
             if (GF_LivingRoom_Fenster6.state != OPEN)
        sendCommand(GF_LivingRoom_Shutter1, STOP)
       
    end
    Leider funktioniert das so nicht.
    Kann da bitte mal jemand rüberschauen?
    Vielen Dank im Voraus.

    Gruß Osterei

    #2
    Hi,
    in der Regel steht übersetzt: Wenn die Tür geschlossen ist, dann STOP
    Zusätzlich fehlen noch geschweifte Klammern.
    So könnte es klappen.
    Code:
    rule "Fensterkontakt1"
    when
    Item GF_LivingRoom_Shutter1 changed to DOWN
    then
    if (GF_LivingRoom_Fenster6.state == OPEN)
    {
    sendCommand(GF_LivingRoom_Shutter1, STOP)
    }
    end
    Eleganter wäre natürlich bereits vor dem DOWN Befehl zu prüfen, ob das Fenster geschlossen ist. Wenn du die Rollläden ebenfalls aus openHAB (z.B. über einen Cron) steuerst könntest du bereits dort schauen ob das Fenster offen ist und den DOWN Befehl erst gar nicht ausführen.

    Viele Grüße
    Patrick

    Kommentar


      #3
      Moin Patrick,vielen dank für die schnelle Antwort.

      So passiert leider nichts, bzw der Rolladen lässt sich trotzdem fahren.

      Meine Rolladen laufen komplett über KNX.


      HTML-Code:
      rule "Fensterkontakt1"
          
          when    
          Item GF_LivingRoom_Shutter1 changed to DOWN
          then
               if (GF_LivingRoom_Fenster6.state != CLOSED)
              
          {
              sendCommand(GF_LivingRoom_Shutter1, STOP)
          }
          
        
      end
      Hast du noch eine IDEE?

      Kommentar


        #4
        Zuerst würde ich mal im Log schauen, ob das Item GF_LivingRoom_Shutter1 überhaupt den Wert DOWN annimmt.
        Dann würde ich in die Rule ein paar Log-Ausgaben einfügen, dass du erkennen kannst, wie die Ergebnisse der Auswertungen sind.
        Abschließend ggf. noch prüfen, ob der neue Wert gesendet wird und nicht ggf. von jemand anderem wieder überschrieben wird.

        Kommentar


          #5
          Osterei99 : warum machst Du das nicht im Aktor? Der sollte einen Sperrbefehl (also dein Fensterkontakt) Eingang haben ?

          Sollte das nicht gehen, könntest Du alternativ anstelle des "STOP" ein "UP" schicken ...

          Kommentar


            #6
            Vielen Dank, Problem ist gelöst.
            Habe eine Regel die den Sperrkontakt ON und OFF schaltet erstellt.

            Gruß Osterei

            Kommentar


              #7
              Hier kommen mehrere Probleme zusammen.

              1. knx2 trennt Befehle und Status.
              2. DOWN ist ein Befehl, kein Status.
              3. changed triggert auf Status, nicht auf Befehle
              4. ein Befehl an einen knx Rollladenaktor führt gewöhnlich erst am Ende der Fahrt zu einer Statusänderung. (für DOWN wäre der Status dann 100)
              5. knx2 empfängt vom Bus keine Befehle, es sei denn, man nutzt einen *-control Channel

              Wenn man also ohne das Sperrobjekt auskommen will (oder muss), wird man in diesem Fall einen zusätzlichen Channel verwenden müssen, um auf den Befehl DOWN triggern zu können (mit received command)

              Kommentar

              Lädt...
              X