okap: zmiana z abstrakcyjnego Number na dimmer

Procenty maja teraz mniej-wiecej przelozenie na biegi.
This commit is contained in:
root
2018-11-09 21:02:58 +01:00
parent 6076ef8c07
commit b4edfb2e43
3 changed files with 29 additions and 51 deletions

View File

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