Ankündigung

Einklappen
Keine Ankündigung bisher.

Fibaro Motion Sensor Batterie

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

    Fibaro Motion Sensor Batterie

    Hallo zusammen

    ich habe den Fibaro Motion Sensor Fibaro Motion Sensor in meine Flur als Bewegungsmelder der bei Bewegung und bei Tageslicht unter 25 Lux das Licht im Flur einschaltet.
    Zu erst hatte ich die Reportzeit vom Lichtsensor auf eine Sekunde gesetzt weil ich, nach dem das Licht nach 30 Sekunden ausgegangen ist, sofort den Tageslichtwert
    und nicht den Flurlichtwert brauche. Den Falls erneut Bewegung gemessen wird soll das Licht sofort wieder eingeschaltet werden.

    Das Problem hier ist allerdings das die Batterie durch die Sekündlichen Reports nach ca 1 Woche leer ist.

    Nun habe ich mir eine Regel in openhab mit der ich versuche das Problem an zugehen.
    Ich habe jetzt den Licht Report auf alle 10 Sekunden gestellt die Battery hält nun auch etwas was länger, genaue Zeit habe ich noch nicht aber währe theoretisch 10 mal länger.

    Die Rule sieht wie folgt aus.
    Jede Sekunde prüft Openhab den aktuellen Lichtwert und einen alten Lichtwert. Sobald die Bedingungen zu treffen geht Licht an oder aus.
    Leider gibt es immer eine Leicht Verzögerung oder die Rule löst nicht immer zuverlässig aus.

    Hat jemand eine optimierungs Idee um die Battery zu schonen aber die Reaktionszeit weiter hoch zu halten.
    Im Hinterkopf habe ich noch die ein 3.6 Volt Netzteil zu kaufen und mit dem Sensor zu verkabeln, dass wäre aber der letzte Schritt und nur ein Workaround.

    Code:
    rule "motionlight korridor"
    when 
    
    Time cron "0/1 * * * *  ?"
    
     
    then
    var luminace = sensor_1_luminance.state
    var motion = sensor_1_motion.state 
    
    if ( (sensor_1_luminance_lastcheck.state <= 25 || sensor_1_luminance.state <= 25) && sensor_1_motion.state == OPEN && sensor_1_motion.state != sensor_1_motion_lastcheck.state )
    {sendCommand(KorridorDimmer, 70)
     postUpdate(sensor_1_motion_lastcheck, motion )    
    logInfo("z-wave motion ligth","light on")}
                
     else if (Light_KOR_KorridorFront1_D.state != 0 && sensor_1_motion.state == CLOSED ){
        sendCommand(KorridorDimmer, 0)
        logInfo("z-wave motion ligth","light off")
        postUpdate(sensor_1_luminance_lastcheck, luminace)
        postUpdate(sensor_1_motion_lastcheck, motion )
        sendCommand(KorridorDimmer, 0)
        }
    end
    [SIZE=14px][COLOR=#222222][FONT=Arial][/FONT][/COLOR][/SIZE]


    #2
    Kann denn der Sensor die Helligkeit übertragen, wenn er ohnehin eine erkannte Bewegung überträgt? Dann würde ich die Rule auf sensor_1_motion changed to OPEN triggern lassen. Dann kannst Du in der Rule die Helligkeit überprüfen und gegebenenfalls das Licht doch nicht schalten. Beim Einschalten kannst Du dann einen Timer zum Ausschalten definieren, den Du bei erneuter Bewegung einfach zurücksetzt:
    Code:
    var Timer tmLight=null
    
    rule "motionlight korridor "
    when
        Item sensor_1_motion changed to OPEN
    then
        if (sensor_1_luminance.state <= 25) {
            if (tmLight!=null) {
                tmLight.cancel
                tmLight=null
                }
            KorridorDimmer.sendCommand(70)
            tmLight=createTimer(now.plusSeconds(30)) [|
                KorridorDimmer.sendCommand(0)
                ]
            }
    end

    Kommentar


      #3
      Ich habe, denke ich, eine bessere Lösung gefunden.

      Den Motionsensor habe ich nun wie folgt konfiguriert. Parameter 40 illumiation report treshold : 5
      Parameter 42 illumination reports interval : 0

      Das sorgt dafür das nun nur noch bei Lichtänderungen von 5 Lux, reportet wird. Da ich im Korridor maximal 50 - 70 Lux habe, solte das reiche. eventuell kann ich noch auf 10 gehen.
      Ich teste noch.

      Die Rule habe ich auch verändert.

      Code:
      rule "motionlight korridor"
      when 
      
      Item sensor_1_motion changed or
      Item sensor_1_luminance changed
      //Time cron "0/1 * * * *  ?"
      then
      
      if ( sensor_1_luminance.state <= 25 && sensor_1_motion.state == OPEN )
      {sendCommand(KorridorDimmer, 70)
       
      logInfo("z-wave motion ligth","light on")}
                  
       else if (Light_KOR_KorridorFront1_D.state != 0 && sensor_1_motion.state == CLOSED ){
          sendCommand(KorridorDimmer, 0)
          logInfo("z-wave motion ligth","light off")
          
          }
      end
      Ich hoffe nun wird die Battery Lebenszeit etwas länger sein. Momentan ist der Akku frisch geladen auf 100 % (18.05.2015).
      Ich beobachte mal jetzt eine Zeitlang wie es geht.

      Kommentar

      Lädt...
      X