(For information on the iFan02 please see here - iFan02)
Serial Flashing
Please see the Hardware Preparation page for general instructions.
Next, please see the Flashing page for general information on the flashing process.
Flash the latest version of tasmota.bin
:
-
Connect your serial flashing device pins to the iFan03 (for connection locations see the pin out on the left hand side of the picture below).
-
When you are ready to flash your device, hold down the large white tipped button on the iFan03 while connecting the serial adapter to your computer. This will power the serial adapter as well as the iFan03. Usually, you can release the button on the iFan03 once it has fully booted - after 3-5 seconds once the lights have flashed. If the device does not enter programming mode successfully, cycle power but this time continue to hold the button during the entire firmware upload process (i.e., step 4 below).
-
Using NodeMCU Pyflasher (recommended):
- Select the firmware file that you want to flash
- Set the COM port for your serial programming adapter
- Ensure that flash mode
Dual Output (DOUT)
, and baud rate of115200
is selected - If you are flashing Tasmota for the first time, also select
yes, wipes all data
.
-
Click on the "Flash NodeMCU" button and wait until the flashing process is completed.
-
Cycle power on the serial adapter by unplugging and plugging it back in from the USB port. Do not hold down the iFan03 button. Wait for the iFan03 to reboot.
-
If this is the first time you have flashed Tasmota on the device, connect to the iFan03
sonoff-xxxx
Wi-Fi access point and configure your Wi-Fi credentials by opening192.168.4.1
in a browser. Wait for the iFan03 to reboot. -
Find the IP address of the iFan03 and navigate to that IP address in any browser. Select "Configure Module" from the "Configuration" menu and select
Sonoff iFan03 (71)
from the drop down list. -
Wait for the iFan03 to restart and then continue any other required or desired configuration.
US Ceiling Fans
The capacitors in the iFan03 do not set the speed of US fans correctly. To correct the speeds for US ceiling fans, you need to remove the existing capacitors from the iFan03 and replace them with equivalently electrically rated 5uF (microfarad) capacitors. Do NOT do this if you are not comfortable using a soldering iron as improperly performing this action could increase the risk of bodily injury or property damage.
RF Remote Control Pairing
To pair the remote control after the device has been flashed with the new firmware, the device needs to be powered from mains voltage (not from the USB serial flashing device). Be careful dealing with mains voltages. Ensure that all connections are correctly made and that the iFan03 covers are properly re-assembled.
To pair the remote control, hold down any button on the remote control and apply power to the iFan03. Once the device boots up you should hear a series of clicks as the internal relays operate. Once completed you can test the remote and it should all be operational.
Home Assistant Configuration
Fan Speed
Credit to finity
There are two different configurations that need to be used depending on the method of use in Home Assistant.
To use the iFan03 along with the Fan Control Entity Row then use the configuration below:
- platform: mqtt
name: "iFan03-2 Test Fan"
command_topic: "cmnd/iFan03-2/FanSpeed"
speed_command_topic: "cmnd/iFan03-2/FanSpeed"
state_topic: "stat/iFan03-2/RESULT"
speed_state_topic: "stat/iFan03-2/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.ifan03_2_test_fan.state == 'off' -%}0{%- elif states.fan.ifan03_2_test_fan.state == 'on' -%}4{%- endif %}
{% endif %}
speed_value_template: "{{ value_json.FanSpeed }}"
availability_topic: tele/iFan03-2/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
If you will be using the regular toggle to control off & on and using the pop up "more info" window to control the speeds then use this configuration:
- platform: mqtt
name: "iFan03-2 Test Fan Popup"
command_topic: "cmnd/iFan03-2/FanSpeed"
speed_command_topic: "cmnd/iFan03-2/FanSpeed"
state_topic: "stat/iFan03-2/RESULT"
speed_state_topic: "stat/iFan03-2/RESULT"
state_value_template: >
{% if value_json.FanSpeed is defined %}
{% if value_json.FanSpeed == 0 -%}0{%- elif value_json.FanSpeed > 0 -%}ON{%- endif %}
{% else %}
{% if states.fan.ifan03_2_test_fan_popup.state == 'off' -%}0{%- elif states.fan.ifan03_2_test_fan_popup.state == 'on' -%}ON{%- endif %}
{% endif %}
speed_value_template: "{{ value_json.FanSpeed }}"
availability_topic: tele/iFan03-2/LWT
payload_off: "0"
payload_on: "ON"
payload_low_speed: "1"
payload_medium_speed: "2"
payload_high_speed: "3"
payload_available: Online
payload_not_available: Offline
speeds:
- off
- low
- medium
- high
Fan Light
- platform: mqtt
name: "iFan03-2 Light"
command_topic: "cmnd/iFan03-2/power1"
state_topic: "stat/iFan03-2/POWER1"
qos: 1
payload_on: "ON"
payload_off: "OFF"
retain: false
Wiki has moved to link on the left.