Ankündigung

Einklappen
Keine Ankündigung bisher.

Rule sendet nicht auf KNX BUS

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

    Rule sendet nicht auf KNX BUS

    Hallo, damit meine Jalousie nicht immer direkt beim ersten Windalarm nach oben fährt, habe ich eine Rule geschrieben. Hier muss innerhalb von 5 Minuten der Windalarm 3x auslösen. Ab dem dritten Windalarm muss die 1 auf den Bus gesendet werden. Allerdings kommt die 1 nicht auf dem Bus an. Wo liegt mein Fehler?
    Wenn ich den Windalarm in der ETS über eine 1 manuell auslöse, kommt die 1 in OH auf dem Item an. Die umgekehrte Variante funktioniert nicht...
    Die Rule funktioniert soweit. Es wird lediglich nicht über das Item Windalarm_1_Trigger auf den Bus gesendet. liegt es an der DPT? Danke!

    Code:
    things
    
    Type number : Windalarm_1 "Windalarm ab 40 km/h" [ga="1.005:6/4/14"]
    
    Type number : Windalarm_1_Trigger        [ga="1.005:<6/4/27"]
    
    item:
    
    Number          Windalarm_1 "Windalarm ab 40 km/h" {channel="knx:device:bridge:knx:Windalarm_1"}
    Number          Windalarm_1_Anzahl "Anzahl Windalarm in 5 Minuten"
    Number          Windalarm_1_Trigger "Windalarm 1 Trigger" {channel="knx:device:bridge:knx:Windalarm_1_Trigger"}
    
    
    rule:
    
    
    var Timer tWindalarm_1 = null
    var Number vWind_anz = 1
    
    
    
    rule "Windalarm 1 Kontrolle"      
    when Item Windalarm_1 received update
    then
        if(Windalarm_1.state == 1)
        {
             Windalarm_1_Anzahl.postUpdate((Windalarm_1_Anzahl.state as Number) + (vWind_anz))
                  
            tWindalarm_1 = createTimer(now.plusMinutes(5),
            [|
               Windalarm_1_Anzahl.postUpdate(0)
               Windalarm_1_Trigger.postUpdate(0)
               ])
        }
        end
    
    rule "Windalarm 1 Trigger"          
    when Item Windalarm_1_Anzahl received update
    then
        if(Windalarm_1_Anzahl.state >= 3)
        {
        Windalarm_1_Trigger.sendCommand(1)
        }
        end
    Zuletzt geändert von Nerz; 09.02.2021, 00:03.

    #2
    DPT 1.005 ist ein Bit, keine Zahl. Setze beide Channel als Switch Channel und ändere die beiden Items zu Switch Items ab. Ankommend mag das Auswerten von 1 und 0 als Zahl funktionieren, es ist aber so nicht vorgesehen. Es gibt auch gar keinen Grund, die beiden Switches als Number zu betrachten.

    Kommentar


      #3
      danke udo1toni!!!! An den markierten Stellen habe ich die Änderungen umgesetzt! So funktioniert es nun!

      things:

      Type number : Windalarm_1 "Windalarm ab 30 km/h" [ga="1.005:6/4/14"]
      Type switch : Windalarm_1_Trigger [ga="1.001:<6/4/27"]

      item:

      Number Windalarm_1 "Windalarm ab 40 km/h" {channel="knx:device:bridge:knx:Windalarm_1"}
      Number Windalarm_1_Anzahl "Anzahl Windalarm in halber Stunde"
      Switch Windalarm_1_Trigger "Windalarm 1 Trigger" {channel="knx:device:bridge:knx:Windalarm_1_Trigge r"}

      rules:


      var Timer tWindalarm_1 = null
      var Number vWind_anz = 1

      rule "Windalarm 1 Kontrolle"
      when Item Windalarm_1 received update
      then
      if(Windalarm_1.state == 1)
      {
      Windalarm_1_Anzahl.postUpdate((Windalarm_1_Anzahl. state as Number) + (vWind_anz))

      tWindalarm_1 = createTimer(now.plusMinutes(5),
      [|
      Windalarm_1_Anzahl.postUpdate(0)
      Windalarm_1_Trigger.postUpdate(OFF)
      ])
      }
      end

      rule "Windalarm 1 Trigger"
      when Item Windalarm_1_Anzahl received update
      then
      if(Windalarm_1_Anzahl.state >= 3)
      {
      Windalarm_1_Trigger.sendCommand(ON)
      }
      end




      Kommentar


        #4
        Prima

        Kommentar

        Lädt...
        X