...
Code Block |
---|
{ "accessory": "mqttthing", "type": "fan", "name": "fireplace-fan", "url": "http://192.168.1.50:1883", "username": "homebridge", "password": "pass", "topics": { "getOn": { "topic": "stat/fireplace-fan/RESULT", "apply": "return JSON.parse(message).FanSpeed > 0 ? true : false;" }, "setOn": { "topic": "cmnd/fireplace-fan/FanSpeed", "apply": "return message ? '' : '0';" }, "getRotationSpeed": { "topic": "stat/fireplace-fan/RESULT", "apply": "return Math.round(JSON.parse(message).FanSpeed * 33.3);" }, "setRotationSpeed": { "topic": "cmnd/fireplace-fan/FanSpeed", "apply": "return Math.round(message / 33.3);" } }, "confirmationPeriodms": 1000 }, |
Order of Operations when Setting Rotation Speed
If we add some console.log statments in our apply function, we see that setting the rotation speed makes 2 calls. The first to setRotationSpeed and then to setOn.
Code Block |
---|
setRotationSpeed - mesage=73
setOn - mesage=true |
After installing the iFan for use with my fireplace, I concluded that the fan level 1 was too low and decided to bypass it. This new configuration changes the fan such that it operates at 0% (off), 50%(fan level2) and 100%(fan level 3).
Code Block |
---|
{ "accessory": "mqttthing", "type": "fan", "name": "fireplace-fan", "url": "http://192.168.1.50:1883", "username": "homebridge", "password": "pass", "topics": { "getOn": { "topic": "stat/fireplace-fan/RESULT", "apply": "return JSON.parse(message).FanSpeed > 0 ? true : false;" }, "setOn": { "topic": "cmnd/fireplace-fan/FanSpeed", "apply": "return message ? '' : '0';" }, "getRotationSpeed": { "topic": "stat/fireplace-fan/RESULT", "apply": "val=JSON.parse(message).FanSpeed; if(val==0)return '0'; if(val=='2') return '50'; if(val==3) return '100';" }, "setRotationSpeed": { "topic": "cmnd/fireplace-fan/FanSpeed", "apply": "if(message >50) return 3; if(messag=e=0) return 0; return 2;" } }, "confirmationPeriodms": 1000 }, |
References
Reference | URL |
---|---|
Flashing Tasmota | https://tasmota.github.io/docs/devices/Sonoff-iFan02/ |
Tasmota Commands | https://tasmota.github.io/docs/Commands/ |
Issue | https://github.com/arachnetech/homebridge-mqttthing/issues/78 |
...