rule "Sprawdzaj zajętość WC" when Item lWC_lux received update then if (lWC_lux.state > 3) { sWC_occupied.postUpdate(ON) } else { sWC_occupied.postUpdate(OFF) } end /* od włączenia do faktycznego psiknięcia mija 4,8s, ustawienie psikania na 55 sekundę daje psiknięcie o pełnej minucie */ rule "Psikaj w WC" when Item sWC_occupied changed from ON to OFF or Time cron "55 49 5,8,11 ? * MON-FRI" or Time cron "55 9/20 15-21 ? * MON-FRI" or Time cron "55 59,19,39 8-21 ? * SAT,SUN" then if (sHolidayVacancy.state == ON) { return; } sD1MINI04_refresh.sendCommand(ON) end rule "Wyłączaj wiatrak na noc" when Time cron "0 58 21 * * ?" then logInfo("Vacancy", "state {}", sHolidayVacancy.state) if (sHolidayVacancy.state == ON) { return; } sSONOFF01.sendCommand(OFF) end /* periodyczne włączanie na minutę, żeby się nie zastał */ rule "Włączaj na chwilę w nocy" when Time cron "0 15 23,0,1,2,3,4,5 * * ?" then sSONOFF01.sendCommand(ON) end rule "Wyłączaj po chwili w nocy" when Time cron "0 16 23,0,1,2,3,4,5 * * ?" then if (sHolidayVacancy.state != ON) { sSONOFF01.sendCommand(OFF) } end rule "Włączaj wiatrak rano" when Time cron "0 00 6 ? * MON-FRI" or Time cron "0 00 9 ? * SAT-SUN" then logInfo("Vacancy", "state {}", sHolidayVacancy.state) if (sHolidayVacancy.state == ON) { return; } sSONOFF01.sendCommand(ON) end