diff --git a/items/wifi.items b/items/wifi.items index 4cc0e8e..06945b0 100644 --- a/items/wifi.items +++ b/items/wifi.items @@ -14,7 +14,7 @@ spis treści sonoff01 - wiatrak wc sonoff02 - lampka stół sonoff03 - łazienka wiatrak -sonoff04 - +sonoff04 - podgrzewacz kota sonoff05 - lampki sufitowe sonoff06 - przedpokój touch przy drzwiach sonoff07 - @@ -50,6 +50,15 @@ Number t_lazienka "Temperatura [%.1f °C]" (temperatury) { mqtt="< Number wSONOFF03 "Wifi s03 wiatrak łazienka [%d dB]" (wifi) { mqtt="<[motherqtt:/sonoff03/wifi/:state:default]" } Switch rSONOFF03 "Conn s03 wiatrak łazienka [%s]" { mqtt="<[motherqtt:/sonoff03/status:state:MAP(espeasy_lwt.map)]" } +Switch sSONOFF04MASTER "Podgrzewacz kota [%s]" +Switch sSONOFF04 "Podgrzewacza kota actual [%s]" { + mqtt=">[motherqtt:/sonoff04/gpio/12:command:ON:1],>[motherqtt:/sonoff04/gpio/12:command:OFF:0]", + expire="600s,command=OFF" +} +Number dSONOFF04LED "Podgrzewacz kota LED dimmer [%s]" { mqtt=">[motherqtt:/sonoff04/pwm/13:command:*:default]" } +Switch sSONOFF04LED "Podgrzewacz kota LED [%s]" { mqtt=">[motherqtt:/sonoff04/gpio/13:command:ON:0],>[motherqtt:/sonoff04/gpio/13:command:OFF:1]" } +Number wSONOFF04 "Wifi kot s04 [%d dB]" (wifi) { mqtt="<[motherqtt:/sonoff04/sysinfo/wifi:state:default]" } +Switch rSONOFF04 "Conn kot s04 [%s]" { mqtt="<[motherqtt:/sonoff04/lwt:state:MAP(espeasy_lwt.map)]" } Switch sSONOFF05 "Lampki sufitowe" { mqtt=">[motherqtt:/sonoff05/gpio/12:command:ON:1],>[motherqtt:/sonoff05/gpio/12:command:OFF:0]" } Number wSONOFF05 "Wifi sufit s05 [%d dB]" (wifi) { mqtt="<[motherqtt:/sonoff05/sysinfo/wifi:state:default]" } diff --git a/rules/salon.kocyk.rules b/rules/salon.kocyk.rules new file mode 100644 index 0000000..d4bb344 --- /dev/null +++ b/rules/salon.kocyk.rules @@ -0,0 +1,47 @@ +/* + wlaczane przez sSONOFF04MASTER + przesylac stan do s04 i do led + led ma sie swiecic + sonoff 04 tez na on + ssonoff04 samozczyne wylaczany po 10 minutach + przy zmiane stanu z s04 z on na off, sprawdzac czy master jest wlaczony + jesli tak - timer za 10 minut wlaczenie s04 poownie + jesli nie - zgasic led +*/ + +rule "Kocyk synchronizuj włączenie i LED z masterem" +when + Item sSONOFF04MASTER received update +then + sSONOFF04.sendCommand(sSONOFF04MASTER.state.toString) + sSONOFF04LED.sendCommand(sSONOFF04MASTER.state.toString) +end + + +rule "Kocyk przerwa" +when + Item sSONOFF04 received update OFF +then + if (sSONOFF04MASTER.state == ON) { + /* wyłączenie zostało prawdopodobnie wyzwolone timerem */ + logInfo("kocyk", "Przerwa w grzaniu, ponowne włączenie ze 10 minut") + Thread::sleep(1000*60*10) + logInfo("kocyk", "Po 10 minutach już, włączam") + sSONOFF04.sendCommand(ON) + } +end + + +rule "Kocyk jednak wyłącz" +when + Item sSONOFF04 received update ON +then + /* jeśli zostało wyzwolone z timera, a w międyczasie master + został wyłączony, to jednak nie włączamy */ + + if (sSONOFF04MASTER.state == OFF) { + logInfo("kocyk", "master off, więc kocyk off") + sSONOFF04.sendCommand(OFF) + } +end + diff --git a/sitemaps/default.sitemap b/sitemaps/default.sitemap index 968ceb2..8cbe06b 100644 --- a/sitemaps/default.sitemap +++ b/sitemaps/default.sitemap @@ -6,6 +6,7 @@ sitemap pbrk label="Domek" Frame label="Oświetlenie" { + Switch item=sSONOFF04MASTER Switch item=sOWFS01 Switch item=sOWFS02 Switch item=sSONOFF02 diff --git a/sitemaps/tech.sitemap b/sitemaps/tech.sitemap index 157fcbe..ef188b1 100644 --- a/sitemaps/tech.sitemap +++ b/sitemaps/tech.sitemap @@ -12,6 +12,7 @@ sitemap pbrk label="Szczegóły techniczne" Switch item=rSONOFF01 Switch item=rSONOFF02 Switch item=rSONOFF03 + Switch item=rSONOFF04 Switch item=rSONOFF05 Switch item=rSONOFF06 Switch item=rSONOFF07 @@ -50,6 +51,15 @@ sitemap pbrk label="Szczegóły techniczne" Text item=wSONOFF03 Switch item=rSONOFF03 } + + Frame label="SONOFF04 – koci kocyk" { + Switch item=sSONOFF04MASTER + Switch item=sSONOFF04LED + Switch item=sSONOFF04 + Text item=wSONOFF04 + Switch item=rSONOFF04 + } + Frame label="SONOFF06 – przedpokój przy drzwiach wejściowych" { Switch item=sSONOFF06 Switch item=sSONOFF06KEY