Ankündigung

Einklappen
Keine Ankündigung bisher.

EnOcean in Openhab

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

    EnOcean in Openhab

    Hallo,
    ich beschäftige mich erst seit kurzem mit openhab und habe mir gleich vorgenommen, die EnOcean Bauteile(ein Rockerswitch und ein USB300) die ich hier habe, auch gleich mit einzubinden.
    Dennoch schaffe ich es nicht, das mein openhab auf den rockerswitch reagiert.
    Meine Vorgehensweise bisher:
    -Einbinden des EnOcean Binding
    -Den Eintrag für das EnOcean in der openhab.cfg entsprechend den Kommentar entfernt
    -In meiner demo.items folgendermaßen erweitert:
    Code:
    Switch EnOcean "RocketSwitch I" (Binding) {enocean="{id=00:13:AE:76, eep=F6:02:01, channel=A, parameter=I}"}
    Wobei die ID die des Rocketswitch ist.
    -Als Regel habe ich folgendes definiert:
    Code:
    rule "EnOcean"
    when 
        Item EnOcean received command
    then
        if(receivedCommand==ON)
        {
            logInfo("EnOcean","Received Commando")        
        }
        else 
        {
            logInfo("EnOcean","Nothing")
        }
    end
    In dieser wollte ich in der Konsole nur ausgeben ob mein System auf den rocketswitch reagiert.
    Beim drücken des Rocketswitches tut sich aber nichts. Habe ich vielleicht etwas essentielles übersehen oder vergessen? Für eine Antwort wäre ich sehr dankbar.
    Gruß
    hsgimit

    #2
    Bei mir funktioniert es mit folgender Rule

    Code:
    import org.openhab.core.library.types.*
    import org.openhab.core.persistence.*
    
    
    rule EOSofa
    when
    	Item KorridorSwitch_eo1 received command
    then
    
    if(receivedCommand==ON)
        {
            sendCommand(KorridorFSwitch, ON)
            sendCommand(KorridorDSwitch, ON)
            logInfo("EnOcean","Received Commando")        
        }
        else 
        {
            sendCommand(KorridorFSwitch, OFF)
            sendCommand(KorridorDSwitch, OFF)
            logInfo("EnOcean","Nothing")
        }
    	var Number percent = 0
    	
    		if(KorridorFDimmer.state instanceof DecimalType) percent = KorridorFDimmer.state as DecimalType 
    		if(KorridorDDimmer.state instanceof DecimalType) percent = KorridorDDimmer.state as DecimalType 
    			
    		if(receivedCommand==INCREASE) percent = percent + 5
    		if(receivedCommand==DECREASE) percent = percent - 5
    
    		if(percent<0)   percent = 0
    		if(percent>100) percent = 100
    		postUpdate(KorridorFDimmer, percent);
    		postUpdate(KorridorDDimmer, percent);
    		
    		
    end
    Kurz drücken und aus Dimmen funktioniert.
    Aber leider Dimmt es nicht an. Hat jemand eine Idee wo das Problem liegen könnt.

    Kommentar


      #3
      Die Lösung ist wie folgt.

      Code:
      import org.openhab.core.library.types.*
      
      
      
      rule EOSofa
      when
      	Item KorridorDimmer_eo1 received command
      then
      
      if(receivedCommand==INCREASE)
          {
              sendCommand(KorridorFDimmer, INCREASE)
              sendCommand(KorridorDDimmer, INCREASE)
              logInfo("EnOcean","INCREASE") 
          }
          else 
          {
              sendCommand(KorridorFDimmer, DECREASE)
              sendCommand(KorridorDDimmer, DECREASE)
              logInfo("EnOcean","DECREAS")
          }
      	
      		
      		
      end

      Kommentar

      Lädt...
      X