Powiadomienia
Wyczyść wszystko

[Rozwiązany] Wykonanie części reguły tylko po godzinie np.21

4 Wpisów
2 Użytkownicy
1 Likes
631 Wyświetleń
(@edass)
Wpisów: 216
Weteran
Autor tematu
 

Cześć !

Mam regułę , która odpala się po naciśnięciu przycisku na pilocie RF - dokładniej gasi wszystkie światła albo zapala jedno z nich. Chciałbym aby akwa_power1 (jedno z tych świateł) gasło tylko w godzinach od 21 do 8.  Tutaj pojawia się problem  bo nie wiem jak to zrealizować 🙁 

Poniżej reguła z której korzystam: 

 

when

    Item bridgerf_Received_Data changed 

then

if (bridgerf_Received_Data.state == NULL)

    {
   logInfo("rule SONOFF BRIDGE""Item is null, cancelling...")
   return;
   } 

    var rfData = bridgerf_Received_Data.state.toString
   logInfo("rule SONOFF BRIDGE""Incoming RF code: " + rfData)

        switch (rfData) {               
                   case "F05921":
              {
       if (Dor_male_afe.state == ON)

            {
           logInfo("rule SONOFF BRIDGE""-> Dor_lampka_afe.sendCommand(OFF)")
           Dor_lampka_afe.sendCommand(OFF)
           logInfo("rule SONOFF BRIDGE""-> akwa_power1.sendCommand(OFF)")
           akwa_power1.sendCommand(OFF)
           logInfo("rule SONOFF BRIDGE""-> Dor_male_afe.sendCommand(OFF)")
           Dor_tasma_led_power.sendCommand(OFF)
           logInfo("rule SONOFF BRIDGE""-> Dor_tasma_led_power.sendCommand(OFF)")
           Dor_male_afe.sendCommand(OFF)
           }

            else

            {
           logInfo("rule SONOFF BRIDGE""-> Dor_male_afe.sendCommand(ON)")
           Dor_male_afe.sendCommand(ON)
           Thread::sleep(200)
           logInfo("rule SONOFF BRIDGE""-> Dor_lampka_afe.sendCommand(OFF)"
           Dor_lampka_afe.sendCommand(OFF)
           logInfo("rule SONOFF BRIDGE""-> akwa_power1.sendCommand(OFF)")
           akwa_power1.sendCommand(OFF)
           logInfo("rule SONOFF BRIDGE""-> Dor_male_afe.sendCommand(OFF)")
           Dor_tasma_led_power.sendCommand(OFF)
           }           

        // Reset Last Received Code
       rfData="--"
       bridgerf_Received_Data.postUpdate(rfData)
       }
              }
 
Dodane : 08/01/2021 10:08 pm
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 

w zależności od wersji Java

OH2

if (now.getHourOfDay()>=21 && now.getHourOfDay()<=8) {

   // wyłącz

}

OH3

if (now.getHour()>=21 && now.getHour()<=8) {

   // wyłącz

}
 
Dodane : 09/01/2021 1:34 am
edass reacted
(@edass)
Wpisów: 216
Weteran
Autor tematu
 

Musze do tego napisać oddzielną regułę czy da się to wpleść w moją? 

 
Dodane : 09/01/2021 11:13 pm
adrian
(@adrian)
Wpisów: 3981
Szefu Admin Zasłużony dla Forum, Patron Strony
 

@edass

w tej same regule  gdzie masz wyłączenie. Masz jakieś tam inne rzeczy wiec jej nie modyfikuje.

Natomiast tam gdzie wyłączasz 

akwa_power1.sendCommand(OFF)

 

Zrób tak

 

if (now.getHour()>=21 && now.getHour()<=8) {
akwa_power1.sendCommand(OFF)
}

 

 
Dodane : 09/01/2021 11:29 pm
Udostępnij: