Sonoff ifan04-H maybe not operating as expected? #16402
-
PROBLEM DESCRIPTIONA clear and concise description of what the problem is. I am not sure if this is related to the caps or tasmota but I want to raise this issue: The original Sonoff firmware activates both caps when fanspeed 2 is enabled. The tasmota firmware is supposed to only activate one of the caps when it is in either fanspeed 1 or fanspeed 2. Could this be a case where the firmware does not work as expected and activates both caps at the same time on ifan04-H? I also own a Sonoff ifan03, installed on a second identical fan, with standard caps (2.5uF for fanspeed 1 and 3uF for fanspeed 2) and the rotation speed of ifan04 with fanspeed 2 (1.5uF supposedly) and ifan03 at fanspeed 1 (2.5uF) is quite similar, but I don't think it is identical. Is there anything I can do to make sure that only one of the relays and hence only one of the caps are providing power to the fan? Any logs or files I can share with you to diagnose? REQUESTED INFORMATIONMake sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!
Configuration output here:
14:30:36.348 CMD: Backlog Template; Module; GPIO 255
14:30:36.403 MQT: stat/tasmota_77E276/RESULT = {"NAME":"Generic","GPIO":[1,1,1,1,1,1,1,1,1,1,1,1,1,1],"FLAG":0,"BASE":18}
14:30:36.615 MQT: stat/tasmota_77E276/RESULT = {"Module":{"71":"Sonoff iFan03"}}
14:30:36.869 MQT: stat/tasmota_77E276/RESULT = {"GPIO0":{"32":"Button1"},"GPIO1":{"3200":"Serial Tx"},"GPIO2":{"0":"None"},"GPIO3":{"3232":"Serial Rx"},"GPIO4":{"0":"None"},"GPIO5":{"0":"None"},"GPIO9":{"256":"Relay_i1"},"GPIO10":{"512":"Buzzer_i"},"GPIO12":{"226":"Relay3"},"GPIO13":{"320":"Led_i1"},"GPIO14":{"225":"Relay2"},"GPIO15":{"227":"Relay4"},"GPIO16":{"0":"None"},"GPIO17":{"0":"None"}}
Rules output here:
14:32:08.780 CMD: Backlog Rule1; Rule2; Rule3
14:32:08.848 MQT: stat/tasmota_77E276/RESULT = {"Rule1":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":0,"Free":511,"Rules":""}}
14:32:09.062 MQT: stat/tasmota_77E276/RESULT = {"Rule2":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":0,"Free":511,"Rules":""}}
14:32:09.312 MQT: stat/tasmota_77E276/RESULT = {"Rule3":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":0,"Free":511,"Rules":""}}
STATUS 0 output here:
14:26:41.001 CMD: Status 0
14:26:41.008 MQT: stat/tasmota_77E276/STATUS = {"Status":{"Module":71,"DeviceName":"Sotiris Fan","FriendlyName":["Sotiris Fan"],"Topic":"tasmota_77E276","ButtonTopic":"0","Power":0,"PowerOnState":3,"LedState":1,"LedMask":"FFFF","SaveData":1,"SaveState":1,"SwitchTopic":"0","SwitchMode":[0,0,0,0,0,0,0,0],"ButtonRetain":0,"SwitchRetain":0,"SensorRetain":0,"PowerRetain":0,"InfoRetain":0,"StateRetain":0}}
14:26:41.015 MQT: stat/tasmota_77E276/STATUS1 = {"StatusPRM":{"Baudrate":9600,"SerialConfig":"8N1","GroupTopic":"tasmotas","OtaUrl":"http://ota.tasmota.com/tasmota/release/tasmota.bin.gz","RestartReason":"Power On","Uptime":"0T00:00:32","StartupUTC":"2022-08-16T13:26:09","Sleep":50,"CfgHolder":4617,"BootCount":29,"BCResetTime":"2022-08-09T18:46:30","SaveCount":217,"SaveAddress":"FB000"}}
14:26:41.024 MQT: stat/tasmota_77E276/STATUS2 = {"StatusFWR":{"Version":"12.0.2(tasmota)","BuildDateTime":"2022-06-20T12:41:03","Boot":31,"Core":"2_7_4_9","SDK":"2.2.2-dev(38a443e)","CpuFrequency":80,"Hardware":"ESP8285","CR":"337/699"}}
14:26:41.029 MQT: stat/tasmota_77E276/STATUS3 = {"StatusLOG":{"SerialLog":0,"WebLog":2,"MqttLog":0,"SysLog":0,"LogHost":"","LogPort":514,"SSId":["iot",""],"TelePeriod":300,"Resolution":"558180C0","SetOption":["00008009","2805C80001000600003C5A0A190000000000","00000080","00006000","00004000","00000000"]}}
14:26:41.042 MQT: stat/tasmota_77E276/STATUS4 = {"StatusMEM":{"ProgramSize":619,"Free":384,"Heap":23,"ProgramFlashSize":1024,"FlashSize":1024,"FlashChipId":"14325E","FlashFrequency":40,"FlashMode":3,"Features":["00000809","8F9AC787","04368001","000000CF","010013C0","C000F981","00004004","00001000","14000020","00000000"],"Drivers":"1,2,3,4,5,6,7,8,9,10,12,16,18,19,20,21,22,24,26,27,29,30,35,37,45,62","Sensors":"1,2,3,4,5,6"}}
14:26:41.050 MQT: stat/tasmota_77E276/STATUS5 = {"StatusNET":{"Hostname":"tasmota-77E276-0630","IPAddress":"10.0.3.43","Gateway":"10.0.3.1","Subnetmask":"255.255.255.0","DNSServer1":"10.0.3.1","DNSServer2":"0.0.0.0","Mac":"70:03:9F:77:E2:76","Webserver":2,"HTTP_API":1,"WifiConfig":2,"WifiPower":17.0}}
14:26:41.056 MQT: stat/tasmota_77E276/STATUS6 = {"StatusMQT":{"MqttHost":"10.0.3.10","MqttPort":1883,"MqttClientMask":"DVES_%06X","MqttClient":"DVES_77E276","MqttUser":"hass","MqttCount":1,"MAX_PACKET_SIZE":1200,"KEEPALIVE":30,"SOCKET_TIMEOUT":4}}
14:26:41.064 MQT: stat/tasmota_77E276/STATUS7 = {"StatusTIM":{"UTC":"2022-08-16T13:26:41","Local":"2022-08-16T14:26:41","StartDST":"2022-03-27T02:00:00","EndDST":"2022-10-30T03:00:00","Timezone":"+01:00","Sunrise":"05:44","Sunset":"20:04"}}
14:26:41.071 MQT: stat/tasmota_77E276/STATUS10 = {"StatusSNS":{"Time":"2022-08-16T14:26:41"}}
14:26:41.079 MQT: stat/tasmota_77E276/STATUS11 = {"StatusSTS":{"Time":"2022-08-16T14:26:41","Uptime":"0T00:00:32","UptimeSec":32,"Heap":24,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","FanSpeed":0,"Wifi":{"AP":1,"SSId":"iot","BSSId":"8A:8A:20:D7:7C:E9","Channel":6,"Mode":"11n","RSSI":44,"Signal":-78,"LinkCount":1,"Downtime":"0T00:00:03"}}}
Console output here:
14:30:36.869 MQT: stat/tasmota_77E276/RESULT = {"GPIO0":{"32":"Button1"},"GPIO1":{"3200":"Serial Tx"},"GPIO2":{"0":"None"},"GPIO3":{"3232":"Serial Rx"},"GPIO4":{"0":"None"},"GPIO5":{"0":"None"},"GPIO9":{"256":"Relay_i1"},"GPIO10":{"512":"Buzzer_i"},"GPIO12":{"226":"Relay3"},"GPIO13":{"320":"Led_i1"},"GPIO14":{"225":"Relay2"},"GPIO15":{"227":"Relay4"},"GPIO16":{"0":"None"},"GPIO17":{"0":"None"}}
14:31:18.408 MQT: tele/tasmota_77E276/STATE = {"Time":"2022-08-16T14:31:18","Uptime":"0T00:05:09","UptimeSec":309,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","FanSpeed":0,"Wifi":{"AP":1,"SSId":"iot","BSSId":"8A:8A:20:D7:7C:E9","Channel":6,"Mode":"11n","RSSI":42,"Signal":-79,"LinkCount":1,"Downtime":"0T00:00:03"}}
14:31:50.769 CMD: Backlog Rule1; Rule2; Rule3
14:31:50.843 MQT: stat/tasmota_77E276/RESULT = {"Rule1":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":0,"Free":511,"Rules":""}}
14:31:51.055 MQT: stat/tasmota_77E276/RESULT = {"Rule2":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":0,"Free":511,"Rules":""}}
14:31:51.305 MQT: stat/tasmota_77E276/RESULT = {"Rule3":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":0,"Free":511,"Rules":""}}
14:32:08.780 CMD: Backlog Rule1; Rule2; Rule3
14:32:08.848 MQT: stat/tasmota_77E276/RESULT = {"Rule1":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":0,"Free":511,"Rules":""}}
14:32:09.062 MQT: stat/tasmota_77E276/RESULT = {"Rule2":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":0,"Free":511,"Rules":""}}
14:32:09.312 MQT: stat/tasmota_77E276/RESULT = {"Rule3":{"State":"OFF","Once":"OFF","StopOnError":"OFF","Length":0,"Free":511,"Rules":""}}
14:32:59.445 MQT: stat/tasmota_77E276/RESULT = {"SerialLog":{"0":{"Active":"0"}}}
14:32:59.456 MQT: stat/tasmota_77E276/RESULT = {"WebLog":4}
14:32:59.461 SRC: Backlog
14:32:59.464 CMD: Grp 0, Cmd 'MQTTLOG', Idx 1, Len 1, Pld 0, Data '0'
14:32:59.470 MQT: stat/tasmota_77E276/RESULT = {"MqttLog":0}
14:32:59.474 SRC: Backlog
14:32:59.477 CMD: Grp 0, Cmd 'SYSLOG', Idx 1, Len 1, Pld 0, Data '0'
14:32:59.482 MQT: stat/tasmota_77E276/RESULT = {"SysLog":{"0":{"Active":"0"}}}
14:32:59.487 SRC: Backlog
14:32:59.489 CMD: Grp 0, Cmd 'LOGHOST', Idx 1, Len 1, Pld 1, Data '1'
14:32:59.491 CFG: CR 337/699, Busy 0
14:32:59.495 MQT: stat/tasmota_77E276/RESULT = {"LogHost":""}
14:32:59.502 SRC: Backlog
14:32:59.504 CMD: Grp 0, Cmd 'LOGPORT', Idx 1, Len 3, Pld 514, Data '514'
14:32:59.508 MQT: stat/tasmota_77E276/RESULT = {"LogPort":514}
14:32:59.514 SRC: Backlog
14:32:59.517 CMD: Grp 0, Cmd 'TELEPERIOD', Idx 1, Len 3, Pld 300, Data '300'
14:32:59.523 MQT: stat/tasmota_77E276/RESULT = {"TelePeriod":300}
14:33:00.425 MQT: tele/tasmota_77E276/STATE = {"Time":"2022-08-16T14:33:00","Uptime":"0T00:06:51","UptimeSec":411,"Heap":25,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"OFF","FanSpeed":0,"Wifi":{"AP":1,"SSId":"iot","BSSId":"8A:8A:20:D7:7C:E9","Channel":6,"Mode":"11n","RSSI":40,"Signal":-80,"LinkCount":1,"Downtime":"0T00:00:03"}}
14:33:00.651 CFG: Saved to flash at FA, Count 218, Bytes 4096
14:33:01.365 HTP: Main Menu
14:33:02.891 SRC: WebGui from 172.16.0.2
14:33:02.893 SRC: WebGui
14:33:02.895 CMD: Grp 0, Cmd 'FANSPEED', Idx 1, Len 1, Pld 1, Data '1'
14:33:02.903 MQT: stat/tasmota_77E276/RESULT = {"FanSpeed":1}
14:33:03.654 CFG: Saved to flash at F9, Count 219, Bytes 4096
14:33:08.649 CFG: Saved to flash at F8, Count 220, Bytes 4096
14:33:11.385 WIF: Sending Gratuitous ARP
14:33:12.786 WIF: Checking connection...
14:33:32.777 WIF: Checking connection...
14:33:52.766 WIF: Checking connection...
14:34:03.299 SRC: WebGui from 172.16.0.2
14:34:03.301 SRC: WebGui
14:34:03.303 CMD: Grp 0, Cmd 'FANSPEED', Idx 1, Len 1, Pld 2, Data '2'
14:34:03.311 MQT: stat/tasmota_77E276/RESULT = {"FanSpeed":2}
14:34:03.662 CFG: Saved to flash at F7, Count 221, Bytes 4096
14:34:11.383 WIF: Sending Gratuitous ARP
14:34:11.588 HTP: Console
14:34:12.791 WIF: Checking connection...
14:34:32.786 WIF: Checking connection...
14:34:52.764 WIF: Checking connection...
TO REPRODUCESteps to reproduce the behavior: EXPECTED BEHAVIOURA clear and concise description of what you expected to happen. SCREENSHOTSIf applicable, add screenshots to help explain your problem. ADDITIONAL CONTEXTAdd any other context about the problem here. (Please, remember to close the issue when the problem has been addressed) |
Beta Was this translation helpful? Give feedback.
Replies: 6 comments 6 replies
-
Tasmota controls the same relays as the original firmware. See source code regarding fanspeed control:
|
Beta Was this translation helpful? Give feedback.
-
Huh. I found this post that let me believe that the author made a Pull Request that got accepted: https://www.breznet.com/sonoff-ifan03-home-assistant/ The post claims that the original handling (original firmware) is wrong and that the relays should not be powered on concurrently. |
Beta Was this translation helpful? Give feedback.
-
@sotiris-bos He submitted and merged the PR on it's own fork. Can't any clue that he ever been submitted to arendst/asmota |
Beta Was this translation helpful? Give feedback.
-
ifan02 and ifan03 have been around for years. I have them both and they control the fan exactly as advertised using tasmota so I see no reason why to change stable code other than the fact that ifan04 may work differently then the previous ones. Let other ifan04 users speak if they find fan control wlrks different on ifan04 compared to the previous ones. |
Beta Was this translation helpful? Give feedback.
-
Latest dev branch v14.1.0.4 contains a fix for iFan04-H. To use it load and activate below template:
|
Beta Was this translation helpful? Give feedback.
-
I have a slightly different problem. For my fan, even step 1 is way too fast compared to the original controller. Is there any way to customize the fan speed for the presets? |
Beta Was this translation helpful? Give feedback.
Latest dev branch v14.1.0.4 contains a fix for iFan04-H.
To use it load and activate below template: