Ankündigung

Einklappen
Keine Ankündigung bisher.

Rules "Item Group changed" geht bei KNX nicht

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

    Rules "Item Group changed" geht bei KNX nicht

    Hallo
    Ich versuche schon ein paar Tage in Rules ein "Item Group changed" auszulösen, was mir aber bei KNX Group-Item nicht gelingt.
    Bei Modbus Group-Item geht es.
    Wenn ich das KNX-Item mit Item-Name in rule "knxmodbus" eintrage dann geht es auch.
    Item:
    Code:
    Group changeknx
    Group changemodbus
    Number     T_Wohnz_Soll   "Temperature1 [%.1f]" <temperature> (changeknx)          {knx="<1/3/26"}
    Number     Dummy1  "Table5"                     <temperature> (changemodbus)       { modbus="slave4:0"}
    Rules:
    Code:
    rule "knxmodbus"
    when
    Item changeknx changed
    then
       logInfo("FILE", "------  changeknx -----  ")
    end
    
    rule "modbusknx"
    when
    Item changemodbus changed
    then
       logInfo("FILE", "------ changemodbus -----  ")
    end
    Fragt jemand KNX-Group-Items so in einem Rules ab,
    oder könntes das KNX-Rules bei sich mal ausprobieren ob es geht?
    Vielen Dank
    Gruß NetFritz
    KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
    WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
    PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP

    #2
    Hallo
    Habe mal in der logback.xml den Logger auf Trace eingestellt: "<logger name="org.openhab.binding.knx" level="TRACE" />".

    Hier die log wenn ich die GrAdr mit der ETS auslese:
    Code:
    2014-11-02 16:37:55.460 TRACE o.o.b.k.i.d.KNXCoreTypeMapper[:140]- toType datapoint DPT = 9.001
    2014-11-02 16:37:55.465 TRACE o.o.b.k.i.d.KNXCoreTypeMapper[:141]- toType datapoint getMainNumber = 0
    2014-11-02 16:37:55.470 TRACE o.o.b.k.i.d.KNXCoreTypeMapper[:183]- toTypeClass looking for dptId = 9.001
    2014-11-02 16:37:55.477 TRACE o.o.b.k.i.bus.KNXBinding[:204]- Added event (item='T_Wohnz_Soll', type='28.56') to the ignore event list
    2014-11-02 16:37:55.488 TRACE o.o.b.k.i.bus.KNXBinding[:108]- Received command (item='T_Wohnz_Soll', command='28.56')
    2014-11-02 16:37:55.490 TRACE o.o.b.k.i.bus.KNXBinding[:214]- Processed event (item='T_Wohnz_Soll', type='28.56', destination='1/3/26')
    2014-11-02 16:37:55.501 TRACE o.o.b.k.i.bus.KNXBinding[:129]- We received this event (item='T_Wohnz_Soll', state='28.56') from KNX, so we don't send it back again -> ignore!
    Und wenn ich mit Hilfe der ETS 20°C sende:
    Code:
    2014-11-02 16:38:58.162 TRACE o.o.b.k.i.d.KNXCoreTypeMapper[:140]- toType datapoint DPT = 9.001
    2014-11-02 16:38:58.166 TRACE o.o.b.k.i.d.KNXCoreTypeMapper[:141]- toType datapoint getMainNumber = 0
    2014-11-02 16:38:58.172 TRACE o.o.b.k.i.d.KNXCoreTypeMapper[:183]- toTypeClass looking for dptId = 9.001
    2014-11-02 16:38:58.178 TRACE o.o.b.k.i.bus.KNXBinding[:204]- Added event (item='T_Wohnz_Soll', type='20.0') to the ignore event list
    2014-11-02 16:38:58.188 TRACE o.o.b.k.i.bus.KNXBinding[:108]- Received command (item='T_Wohnz_Soll', command='20.0')
    2014-11-02 16:38:58.189 TRACE o.o.b.k.i.bus.KNXBinding[:214]- Processed event (item='T_Wohnz_Soll', type='20.0', destination='1/3/26')
    2014-11-02 16:38:58.197 TRACE o.o.b.k.i.bus.KNXBinding[:129]- We received this event (item='T_Wohnz_Soll', state='20.0') from KNX, so we don't send it back again -> ignore!
    Gruß NetFritz
    KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
    WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
    PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP

    Kommentar


      #3
      Hallo
      Da es beim KNX-Binding wohl nicht geht in Rules
      Code:
      when
      Item changeknx changed
      ein Group-Item abzufragen,habe ich mir eine andere Lösung überlegt.
      Code:
      when
         System started or 
         Time cron "0/1 * * * * ?" // Abfrage alle Sekunde
      then
      changedknx?members.forEach[element1,index1|
        if(Item element1 changed){
           // weiter wenn changed
      }
      ]
      Die if-Abfrage geht aber so nicht.
      Was kann man denn in der if-Abfrage reinstellen, das man ein changed mitbekommt?
      Gruß NetFritz
      KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
      WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
      PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP

      Kommentar


        #4
        Ich weiß nicht genau, was Du machen willst, aber ich verwende eine Abfrage, wie
        Code:
        rule "blabla"
        when   
           Time cron "0/1 * * * * ?" 
        then
        
        if (!gBewegung.changedSince(now.minusMinutes(120))) then ...
        In der Gruppe sind alle Bewegungsmelder, und wenn sich keiner davon innerhalb von 2h ändert, dann ...

        Vielleicht hilft Dir das weiter für Dein spezielles Thema.

        Kommentar


          #5
          Hallo
          Ich bin dabei ein Rules für KNX to Modbus und eine für Modbus to KNX zu erstellen.
          Es brauchen dann nur noch die Items angelegt werden,
          das Rules überwacht die Items und bei einem changed wird der KNX Wert zum Modbus und der Modbus Wert zu KNX gesendet.
          Die Modbus Group Items kann ich im Rules so überwachen:
          Code:
          when 
              Item changemodbus changed 
          then
          Bei den KNX Group Items geht das aber so nicht.
          Ich werde mal deine Lösung bei KNX probieren und dann berichten.
          Gruß NetFritz
          KNX & Wago 750-849 ,Wiregate u. Cometvisu, iPad 3G 64GB.
          WP Alpha-Innotec WWC130HX (RS232-Moxa-LAN),Solaranlage für Brauchwasser und Heizung.
          PV-Anlage = SMA Webbox2.0 , SunnyBoy 4000TL, Sharp 4kWP

          Kommentar

          Lädt...
          X