diff --git a/items/wifi.items b/items/wifi.items index 357f3b0..8913654 100644 --- a/items/wifi.items +++ b/items/wifi.items @@ -60,7 +60,7 @@ Switch rSONOFF06 "Conn s06 [%s]" { mqtt="<[motherqtt:/sonoff06/lwt:state:MAP(esp /* d1mini w okapie */ -Number sOKAP_speed +Dimmer dOKAP_speed Switch sD1MINI01_bieg1 "Okap bieg 1 [%s]" { mqtt=">[motherqtt:/d1mini01/gpio/12:command:ON:1],>[motherqtt:/d1mini01/gpio/12:command:OFF:0]" } Switch sD1MINI01_bieg2 "Okap bieg 2 [%s]" { mqtt=">[motherqtt:/d1mini01/gpio/15:command:ON:1],>[motherqtt:/d1mini01/gpio/15:command:OFF:0]" } Switch sD1MINI01_bieg3 "Okap bieg 3 [%s]" { mqtt=">[motherqtt:/d1mini01/gpio/16:command:ON:1],>[motherqtt:/d1mini01/gpio/16:command:OFF:0]" } diff --git a/rules/kuchnia.okap.rules b/rules/kuchnia.okap.rules index cd2feb1..58c2502 100644 --- a/rules/kuchnia.okap.rules +++ b/rules/kuchnia.okap.rules @@ -3,62 +3,40 @@ example of switch https://community.openhab.org/t/examples-of-scenes/16411/5 */ -/* 0="OFF", 1="Bieg 1", 2="Bieg 2", 3="Bieg max"] +/* + Ustawienia wynikające ze scen: + 0="OFF", 30="Bieg 1", 60="Bieg 2", 100="Bieg max"] + + Ustawienia wynikające z Alexy: + procenty od 0 do 100 + */ rule "Ustaw prędkość okapu" when - Item sOKAP_speed received update + Item dOKAP_speed received update then - switch (sOKAP_speed.state) { - case 0: { - sD1MINI01_bieg1.sendCommand(OFF) - sD1MINI01_bieg2.sendCommand(OFF) - sD1MINI01_bieg3.sendCommand(OFF) - } + if (dOKAP_speed.state == 0) { + sD1MINI01_bieg1.sendCommand(OFF) + sD1MINI01_bieg2.sendCommand(OFF) + sD1MINI01_bieg3.sendCommand(OFF) - case 1: { - sD1MINI01_bieg1.sendCommand(ON) - sD1MINI01_bieg2.sendCommand(OFF) - sD1MINI01_bieg3.sendCommand(OFF) - } - /* 40% = 1 bieg */ - case 40: { - sD1MINI01_bieg1.sendCommand(ON) - sD1MINI01_bieg2.sendCommand(OFF) - sD1MINI01_bieg3.sendCommand(OFF) - } - /* turn ON == 100% == 1 bieg */ - case 100: { - sD1MINI01_bieg1.sendCommand(ON) + } else if (dOKAP_speed.state <= 32) { + /* od 1% do 32% -> bieg 1 */ + sD1MINI01_bieg1.sendCommand(ON) + sD1MINI01_bieg2.sendCommand(OFF) + sD1MINI01_bieg3.sendCommand(OFF) - sD1MINI01_bieg2.sendCommand(OFF) - sD1MINI01_bieg3.sendCommand(OFF) - } + } else if (dOKAP_speed.state <= 66) { + /* 33% do 66% -> bieg 2 */ + sD1MINI01_bieg1.sendCommand(OFF) + sD1MINI01_bieg2.sendCommand(ON) + sD1MINI01_bieg3.sendCommand(OFF) - case 2: { - sD1MINI01_bieg2.sendCommand(ON) - - sD1MINI01_bieg1.sendCommand(OFF) - sD1MINI01_bieg3.sendCommand(OFF) - } - /* 70% = 2 bieg */ - case 70: { - sD1MINI01_bieg2.sendCommand(ON) - - sD1MINI01_bieg1.sendCommand(OFF) - sD1MINI01_bieg3.sendCommand(OFF) - } - - case 3: { - sD1MINI01_bieg3.sendCommand(ON) - - sD1MINI01_bieg1.sendCommand(OFF) - sD1MINI01_bieg2.sendCommand(OFF) - } - default: { - logInfo("okap","incorrect state: {}", sOKAP_speed.state) - } + } else { + /* powyzej 66% -> bieg max */ + sD1MINI01_bieg1.sendCommand(OFF) + sD1MINI01_bieg2.sendCommand(OFF) + sD1MINI01_bieg3.sendCommand(ON) } - end diff --git a/sitemaps/default.sitemap b/sitemaps/default.sitemap index 56a61b5..67f2a68 100644 --- a/sitemaps/default.sitemap +++ b/sitemaps/default.sitemap @@ -15,7 +15,7 @@ sitemap pbrk label="Domek" Frame label="Kuchnia" { Switch item=sD1MINI02MOS - Switch item=sOKAP_speed label="Wyciąg" mappings=[0="OFF", 1="Bieg 1", 2="Bieg 2", 3="Bieg max"] + Switch item=dOKAP_speed label="Wyciąg" mappings=[0="OFF", 30="Bieg 1", 60="Bieg 2", 100="Bieg max"] Switch item=sD1MINI01_swiatlo /* Dimmer item=dD1MINI01_swiatlo */ }