You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 7 Next »


Flashing

Connect RX -> TX | 3.3 -> 3.3 | TX -> RX | GND -> GND and connect TP16 to GND.

Press and hold the button while connecting to power.

This is an ESP 8285 in the iFan2.


Download and compile the Tasmota firmware:

git clone https://github.com/arendst/Tasmota.git

cd ./Tasmota/lib/

vi deployLibs.sh


#!/bin/sh
rm -rf ~/Documents/Arduino/libraries/*

cp -R ./default/* ~/Documents/Arduino/libraries/.
cp -R ./lib_audio/* ~/Documents/Arduino/libraries/.
cp -R ./lib_basic/* ~/Documents/Arduino/libraries/.
cp -R ./lib_display/* ~/Documents/Arduino/libraries/.
cp -R ./lib_div/* ~/Documents/Arduino/libraries/.
cp -R ./lib_i2c/* ~/Documents/Arduino/libraries/.
cp -R ./lib_rf/* ~/Documents/Arduino/libraries/.
cp -R ./lib_ssl/* ~/Documents/Arduino/libraries/.
cp -R ./lib_ssl/* ~/Documents/Arduino/libraries/.


chmod +x deployLibs.sh

./deployLibs.sh


Open Arduino IDE

Open tasmota project

Set board to ESP8285 and other settings, see below:


With the iFan in flash mode, click Upload.


Tasmota Commands


CmdCmndValueURL
Light OffPower0http://xxx/cm?cmnd=Power 0
Light OnPower1http://xxx/cm?cmnd=Power 1
Fan OffFanSpeed0http://xxx/cm?cmnd=FanSpeed 0
Low SpeedFanSpeed1http://xxx/cm?cmnd=FanSpeed 1
Med SpeedFanSpeed2http://xxx/cm?cmnd=FanSpeed 2
High SpeedFanSpeed3http://xxx/cm?cmnd=FanSpeed 3


Integration with Homebridge

Configure MQTT


        {
            "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
        },





References

  • No labels