Asystent AI
Powiadomienia
Wyczyść wszystko

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

4 Wpisów
2 Użytkownicy
1 Reactions
1,213 Wyświetleń
(@edass)
Wpisów: 225
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 
[#2139]

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: 4083
Szefu Admin Zasłużony dla Forum, Patron Strony
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

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 zareagował
(@edass)
Wpisów: 225
Weteran
Autor tematu
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

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


 
Dodane : 09/01/2021 11:13 pm
adrian
(@adrian)
Wpisów: 4083
Szefu Admin Zasłużony dla Forum, Patron Strony
Translate
English
Spanish
French
German
Italian
Portuguese
Russian
Chinese
Japanese
Korean
Arabic
Hindi
Dutch
Polish
Turkish
Vietnamese
Thai
Swedish
Danish
Finnish
Norwegian
Czech
Hungarian
Romanian
Greek
Hebrew
Indonesian
Malay
Ukrainian
Bulgarian
Croatian
Slovak
Slovenian
Serbian
Lithuanian
Latvian
Estonian
 

@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: