UWAGA: Strona oraz Forum Smart'ny Dom nie będzie dostępne 23 Grudnia 2024 ze względu na przenoszenie serwisu na mocniejszą maszynę.
W tym czasie polecam poświęcenie swojego czasu na pomoc partnerowi w przygotowaniu udanych Świąt 😉
Za niedogodności z góry przepraszam, admin
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)
}
}
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
}
Musze do tego napisać oddzielną regułę czy da się to wpleść w moją?
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)
}