Ankündigung

Einklappen
Keine Ankündigung bisher.

state updated to jede minute

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

    state updated to jede minute

    Hallo,
    ich beginne gerade mit OpenHab.

    Meine Items ist noch sehr übersichtlich
    Code:
    Group JN_FirstFloor     "Flur Oben"         <kitchen> 
    
    Switch Light_TF_Test     "Testlampe"  (JN_FirstFloor) {tinkerforge="name=rs_test" }
    
    Switch Switch_1      "Schalter"  {tinkerforge="uid=gpy, subid=ina1"}
    Switch Contact_1      "Taster"  {tinkerforge="uid=gpy, subid=ina2"}
    //Contact ina0      "ina0 [Schalterl ist %s]"  {tinkerforge="uid=gpy, subid=ina1"}
    
    Switch LED_Green      "LED_Green" {tinkerforge="name=io16outb0"}
    Switch LED_Blue       "LED_Blue" {tinkerforge="name=io16outb1"}
    Switch LED_Red        "LED_Red" {tinkerforge="name=io16outb2"}
    Ebenso die Rules
    Code:
    import org.openhab.core.library.types.*
    import org.openhab.core.persistence.*
    import org.openhab.model.script.actions.*
    import java.util.Date
    import java.text.SimpleDateFormat
    
    rule SystemStart
     when 
       System started
     then
       sendCommand(LED_Blue, OFF)
       sendCommand(LED_Green, OFF)
       sendCommand(LED_Red, OFF)
     end
    
    //Taster
    
    rule Contact_1
      when
         Item Contact_1 changed 
      then
      logInfo("Taster.rules", "Impuls" )
      if (Contact_1.state==OFF) {
           
        if (LED_Blue.state==ON) {
            sendCommand(LED_Blue, OFF)
           logInfo("Taster.rules", "Blau Aus")
        } else {
            sendCommand(LED_Blue, ON)
            logInfo("Taster.rules", "Blau an")
         
        }
          
      }      
    end
    Auch wenn ich jetzt keine Switch betätige werden in der Events.log jede Minute Events geloggt.

    Warum ?. Kann mir das jemand erklären.
    Mein Problem ist, das meine Rule für einen Taster einwandfrei funktioniert, ausser wenn zum gleichen Zeitpunkt der Event läuft.

    import org.openhab.core.library.types.*
    import org.openhab.core.persistence.*
    import org.openhab.model.script.actions.*
    import java.util.Date
    import java.text.SimpleDateFormat

    rule SystemStart
    when
    System started
    then
    sendCommand(LED_Blue, OFF)
    sendCommand(LED_Green, OFF)
    sendCommand(LED_Red, OFF)
    end
    //Schalter
    /*
    rule Switch_1
    when
    Item Switch_1 changed
    then
    if (Switch_1.state==ON) {
    sendCommand(LED_Green, ON)
    } else {
    sendCommand(LED_Green, OFF
    )
    }


    end
    */
    //Taster

    rule Contact_1
    when
    Item Contact_1 changed
    then
    logInfo("Taster.rules", "Impuls" )
    if (Contact_1.state==OFF) {

    if (LED_Blue.state==ON) {
    sendCommand(LED_Blue, OFF)
    logInfo("Taster.rules", "Blau Aus")
    } else {
    sendCommand(LED_Blue, ON)
    logInfo("Taster.rules", "Blau an")

    }

    }
    end

    //Cron
    /*
    rule Contact_2
    when
    Time cron "0/1 * * * * ?"
    then
    if (LED_Red.state==ON) {
    sendCommand(LED_Red, OFF)

    } else {


    sendCommand(LED_Red, ON)

    }
    end

    Vielen dank
    Jörg
    Angehängte Dateien

    #2
    Ich glaube das liegt am event bus - der schaut Regelmäßig nach ob sich ein Item geändert hat.

    Du kannst dem item noch AUTOUPDATE="false" mitgeben - dann sollte das nicht mehr passieren:

    Beispiel:

    Switch Contact1 { binding="xxx", autoupdate="false"}

    Siehe Wiki: How to configure a switch to be a pushbutton

    https://code.google.com/p/openhab-samples/wiki/ItemDef

    Gruß

    Kommentar

    Lädt...
    X