In this video I modify my IFAN03 fan speed switch to use on a Westinghouse Ceiling fan on 120 Volt mains.
The IFAN03 from Sonoff comes from the factory in only 1 version. There is now an IFAN04 that comes with the ‘correct’ caps for the US market. However, in this case, that one would have needed to have been modified ad well because this fan used a different size altogether…
The video appears long, but much of it is demo footage of the fan operation at the end of the video.
This version sets the speeds properly in markets where the mains voltage is 200-240 Volts. Unless you run the full split phase to your ceiling fan (much not recommended) the fan will barely spin and be unusable on low speed, medium will be around where low speed should be, and high speed is unaffected (Because high speed is the fan motor wired straight thru to the mains.)
In this video I show you my fix for this. I remove the capacitors that were designed to run the fan from the fan control itself and install then into my IFAN03 so that it spins at the original factory intended speeds.
If you have an IFAN02, the conversion process is the same. IF you need new caps, I have found some 5uf caps that work on most us fans and can be found on EBay with a search.
REMEMBER, the MQTT Topics, device names, and possibly formatting of the code may be different on your set-up. In particular I flip my Topics around from the standard Tasmota way, so if you run into problems, please check that the Topics in your YAML code matches your Topics in your Tasmota Webui console.
Episode: 009
VIDEO Navigation:
00:00 IFAN03 from Sonoff – 120 Volt Conversion for the US Market
06:00 Soldering, Cap Removal
14:30 Soldering: Cap Install
20:37 Tasmotizer Flashing
25:15 Tasmota Home Assistant Setup
38:15 Demo of this fan
40:25 Demo of non-modified IFAN03 compared to original fan operation
Video related links:
Fan used in the video: https://www.amazon.com/Westinghouse-Lighting-7207700-60-inch-Dimmable/dp/B06XHVHGPD/ref=exp_drzzs_dp_vv_d&tag=drzzs0e-20
IFAN03 Sonoff Switch: https://www.amazon.com/Ceiling-Controller-Compatible-Assistant-Required/dp/B07TRTG8PS/ref=exp_drzzs_dp_vv_d&tag=drzzs0e-20
Soldering Iron used: https://www.amazon.com/gp/product/B07FJ6PNHF/ref=exp_drzzs_dp_vv_d&tag=drzzs0e-20
If looking for NEW capacitors: Search EBay for this device: BM-MKP-X2-5UF-400V-275VAC-275V-AC
Contact Links:
What are we Fixing Today Homepage / Website:
https://www.WhatAreWeFixing.Today/
Channel Link URL: (WhatAreWeFixingToday)
https://bit.ly/WhatAreWeFixingTodaysYT
What are we Fixing Today Facebook page (Sir GoodEnough):
https://bit.ly/WhatAreWeFixingTodaybFB
What are we Fixing Today Twitter Account (Sir GoodEnough):
https://bit.ly/WhatAreWeFixingTodayTW
Discord Account: (Sir_Goodenough#9683)
https://discord.gg/Uhmhu3B
Please help support the channel:
Buy me Coffee: https://www.buymeacoffee.com/SirGoodenough
PayPal one-off donation link: https://www.paypal.me/SirGoodenough
Cash App $CASHTAG: https://cash.me/$SirGoodenough
Venmo cash link: https://venmo.com/SirGoodenough
If you would like to donate anything to this channel, please use this address:
C/O: Sirius GoodEnough
322 Buena Vista Ave.
Department: DYT
Waukesha, Wisconsin, 53188-3602
Templates and Code Blocks:
Sensors:
- platform: mqtt
name: "Jens new Fan Signal"
state_topic: "JensNewFan/tele/STATE"
unit_of_measurement: "%"
value_template: "{{value_json['Wifi'].RSSI }}"
availability_topic: "JensNewFan/tele/LWT"
payload_available: "Online"
payload_not_available: "Offline"
- platform: mqtt
name: "Jennys New FanSpeed"
state_topic: "JensNewFan/tele/STATE"
unit_of_measurement: '%'
value_template: >-
{% if value_json.FanSpeed is defined %}
{% if value_json.FanSpeed == 0 -%}
0
{%- elif value_json.FanSpeed == 1 -%}
33
{%- elif value_json.FanSpeed == 2 -%}
66
{%- elif value_json.FanSpeed == 3 -%}
100
{%- endif %}
{% else %}
{% if is_state('fan.jens_new_fan', 'off') %}
0
{%- elif is_state('fan.jens_new_fan', 'off') %}
75
{%- endif %}
{% endif %}
fan:
- platform: mqtt
name: "Jens New Fan"
command_topic: "JensNewFan/cmnd/FanSpeed"
speed_command_topic: "JensNewFan/cmnd/FanSpeed"
state_topic: "JensNewFan/stat/RESULT"
speed_state_topic: "JensNewFan/stat/RESULT"
state_value_template: >
{% if value_json.FanSpeed is defined %}
{% if value_json.FanSpeed == 0 -%}0{%- elif value_json.FanSpeed > 0 -%}4{%- endif %}
{% else %}
{% if states.fan.jens_new_fan_fan_popup.state == 'off' -%}0{%- elif states.fan.jens_new_fan_fan_popup.state == 'on' -%}4{%- endif %}
{% endif %}
speed_value_template: "{{ value_json.FanSpeed }}"
availability_topic: JensNewFan/tele/LWT
payload_off: "0"
payload_on: "4"
payload_low_speed: "1"
payload_medium_speed: "2"
payload_high_speed: "3"
payload_available: Online
payload_not_available: Offline
speeds:
- off
- low
- medium
- high
light:
- platform: mqtt
name: "Jens Light"
value_template: "{{ value_json.POWER1 }}"
state_topic: "JensNewFan/tele/STATE"
command_topic: "JensNewFan/cmnd/POWER1"
availability_topic: "JensNewFan/tele/LWT"
payload_on: "ON"
payload_off: "OFF"
payload_available: "Online"
payload_not_available: "Offline"
Lovelace fan panel...
- customIsOffColor: '#2E253F'
customIsOffSpdColor: '#3D1F74'
customIsOnHiColor: '#D3C5EC'
customIsOnLowColor: '#6A2FD3'
customIsOnMedColor: '#9F7BDF'
customTheme: true
entity: fan.jens_new_fan
name: JensFan
type: 'custom:fan-control-entity-row'
- entity: sensor.jennys_new_fanspeed
Fan-Control-entity-row HACS add-on link...
https://github.com/finity69x2/fan-control-entity-row
To make the fan beep when you change speeds:
In the Tasmota Webui Console:
Backlog Rule1 on fanspeed#data=0 do buzzer 1,5 endon on fanspeed#data=1 do buzzer 1,2 endon on fanspeed#data=2 do buzzer 2,2 endon on fanspeed#data=3 do buzzer 3,2 endon; Rule1 1
Link to this video on YouTube: https://youtu.be/ES7hsjFrHh4