New tuya based ceiling fan (no light) added into HA via localtuya. On/off functionality works fine but speed setting is ignored even after modifying fan.py as per tinglis1 quick fix. Would be great to be able to expose the other functions as well
Environment
Localtuya version: v3.2.2 via HACS
Last working localtuya version (if known and relevant): none
Home Assistant Core version: core-2021.4.1
[ ] Are you using the Home Assistant Tuya Cloud component ?
[ ] Are you using the Tuya App in parallel ? (Tuya Smart Life app only used to register and gather DPs)
Steps to reproduce
Add fan via config flow and set options as per DPs gathered
Try to use speed control
Configuration: config_flow
Configure Tuya Device
Basic configuration for device id bf55f78ce00fe1e7806lia. (Firmware 1.0.5)
Friendly Name
Casa DC Ceiling Fan
Host
192.168.xx.94
Local key
da................b9
Protocol Version
3.3
DP dump
DPS [1] VALUE [False] on/off
DPS [2] VALUE [normal] mode (normal/sleep/nature)
DPS [3] VALUE [1] speed (1-6)
DPS [8] VALUE [forward] Direction for summer/winter (forward/reverse)
DPS [22] VALUE [off] Timer (1hour/2hour/4hour/8hour)
Provide Home Assistant taceback/logs (This is attempting to set speed via HA, hope it is not too much)
While using the Tuya smart life app to help gather DPs, I noticed whenever I set a speed on the app and then attempted to set a speed in HA it reset the smart life app and fan speed to 1.
The problem
New tuya based ceiling fan (no light) added into HA via localtuya. On/off functionality works fine but speed setting is ignored even after modifying fan.py as per tinglis1 quick fix. Would be great to be able to expose the other functions as well
Environment
Steps to reproduce
Configuration: config_flow
Configure Tuya Device Basic configuration for device id bf55f78ce00fe1e7806lia. (Firmware 1.0.5) Friendly Name Casa DC Ceiling Fan Host 192.168.xx.94 Local key da................b9 Protocol Version 3.3
DP dump
Provide Home Assistant taceback/logs (This is attempting to set speed via HA, hope it is not too much)
2021-04-10 19:55:41 DEBUG (MainThread) [custom_components.localtuya.discovery] Listening to broadcasts on UDP port 6666 and 6667 2021-04-10 19:55:42 DEBUG (MainThread) [custom_components.localtuya.fan] [bf5...lia] Adding fan.bedroom_fan with configuration: {'fan_speed_low': '1', 'fan_speed_medium': '3', 'fan_speed_high': '6', 'id': 1, 'friendly_name': 'Bedroom Fan', 'fan_speed_control': 3, 'platform': 'fan'} 2021-04-10 19:55:42 DEBUG (MainThread) [custom_components.localtuya.common] [bf5...lia] Connecting to 192.168.xx.94 2021-04-10 19:55:42 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Started heartbeat loop 2021-04-10 19:55:42 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command heartbeat (device type: type_0a) 2021-04-10 19:55:42 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{}' 2021-04-10 19:55:42 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number -100 2021-04-10 19:55:42 DEBUG (MainThread) [custom_components.localtuya.common] [bf5...lia] Retrieving initial state 2021-04-10 19:55:42 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command status (device type: type_0a) 2021-04-10 19:55:42 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{"gwId":"bf55f78ce00fe1e7806lia","devId":"bf55f78ce00fe1e7806lia"}' 2021-04-10 19:55:42 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number 1 2021-04-10 19:55:43 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211) 2021-04-10 19:55:43 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Got heartbeat response 2021-04-10 19:55:43 DEBUG (MainThread) [customcomponents.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=1, cmd=10, retcode=0, payload=b'\x03\xcf\x92\x14\x8e\x07\xa8\xa5b9%\xe2\x9f\xa3#k\x9dd\xc1#\xd6\x9c\xd7c\xc4N\xe1\x9dFT\x04x\xa5i\xa1\xab\x85;\xabS/\xbcgI6\xa2\x98Ym\x83\xa6\x9ctXR<+#\xd8ht\xfa\x9c', crc=2085373996) 2021-04-10 19:55:43 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching sequence number 1 2021-04-10 19:55:43 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {} 2021-04-10 19:55:43 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {"dps":{"1":false,"2":"normal","3":1,"8":"forward","22":"off"}} 2021-04-10 19:55:43 WARNING (SyncWorker_3) [custom_components.localtuya.fan] [bf5...lia] Bedroom Fan/fan.bedroom_fan: Ignoring unknown fan controller state: 1 2021-04-10 19:55:53 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command heartbeat (device type: type_0a) 2021-04-10 19:55:53 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{}' 2021-04-10 19:55:53 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number -100 2021-04-10 19:55:53 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211) 2021-04-10 19:55:53 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Got heartbeat response 2021-04-10 19:55:53 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {} 2021-04-10 19:56:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command heartbeat (device type: type_0a) 2021-04-10 19:56:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{}' 2021-04-10 19:56:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number -100 2021-04-10 19:56:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211) 2021-04-10 19:56:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Got heartbeat response 2021-04-10 19:56:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {} 2021-04-10 19:56:13 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command heartbeat (device type: type_0a) 2021-04-10 19:56:13 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{}' 2021-04-10 19:56:13 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number -100 2021-04-10 19:56:13 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211) 2021-04-10 19:56:13 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Got heartbeat response 2021-04-10 19:56:13 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {} 2021-04-10 19:56:23 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command heartbeat (device type: type_0a) 2021-04-10 19:56:23 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{}' 2021-04-10 19:56:23 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number -100 2021-04-10 19:56:23 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211) 2021-04-10 19:56:23 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Got heartbeat response 2021-04-10 19:56:23 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {} 2021-04-10 19:56:33 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command heartbeat (device type: type_0a) 2021-04-10 19:56:33 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{}' 2021-04-10 19:56:33 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number -100 2021-04-10 19:56:33 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211) 2021-04-10 19:56:33 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Got heartbeat response 2021-04-10 19:56:33 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {} 2021-04-10 19:56:43 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command heartbeat (device type: type_0a) 2021-04-10 19:56:43 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{}' 2021-04-10 19:56:43 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number -100 2021-04-10 19:56:43 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211) 2021-04-10 19:56:43 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Got heartbeat response 2021-04-10 19:56:43 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {} 2021-04-10 19:56:48 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command set (device type: type_0a) 2021-04-10 19:56:48 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{"devId":"bf55f78ce00fe1e7806lia","uid":"bf55f78ce00fe1e7806lia","t":"1618050408","dps":{"1":true}}' 2021-04-10 19:56:48 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number 8 2021-04-10 19:56:48 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=8, cmd=7, retcode=0, payload=b'', crc=579904508) 2021-04-10 19:56:48 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching sequence number 8 2021-04-10 19:56:48 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {} 2021-04-10 19:56:53 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command heartbeat (device type: type_0a) 2021-04-10 19:56:53 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{}' 2021-04-10 19:56:53 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number -100 2021-04-10 19:56:53 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211) 2021-04-10 19:56:53 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Got heartbeat response 2021-04-10 19:56:53 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {} 2021-04-10 19:57:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command heartbeat (device type: type_0a) 2021-04-10 19:57:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{}' 2021-04-10 19:57:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number -100 2021-04-10 19:57:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211) 2021-04-10 19:57:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Got heartbeat response 2021-04-10 19:57:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {} 2021-04-10 19:57:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=0, cmd=8, retcode=0, payload=b'3.3\x00\x00\x00\x00\x00\x00\xc5@\x00\x00\x00\x01|rU|\x05\x90\x95\xcb^\xc5\xa2\xc0\x91\x97)EA\x1d%\xe3\xc0\x8f2\x8b(e\xd2\xd6\x8f\xf1\x95P\t\xb1S\x9c\x187\x97\r\x83!\xe8\x93\xed\xfe\xf5\x87', crc=2668881728) 2021-04-10 19:57:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Got status update 2021-04-10 19:57:03 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {"dps":{"1":true},"t":1618050421} 2021-04-10 19:57:03 WARNING (SyncWorker_6) [custom_components.localtuya.fan] [bf5...lia] Bedroom Fan/fan.bedroom_fan: Ignoring unknown fan controller state: 1 2021-04-10 19:57:11 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command set (device type: type_0a) 2021-04-10 19:57:11 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{"devId":"bf55f78ce00fe1e7806lia","uid":"bf55f78ce00fe1e7806lia","t":"1618050431","dps":{"3":"6"}}' 2021-04-10 19:57:11 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number 11 2021-04-10 19:57:11 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=11, cmd=7, retcode=0, payload=b'', crc=2673528626) 2021-04-10 19:57:11 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching sequence number 11 2021-04-10 19:57:11 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {} 2021-04-10 19:57:13 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command heartbeat (device type: type_0a) 2021-04-10 19:57:13 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{}' 2021-04-10 19:57:13 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number -100 2021-04-10 19:57:13 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211) 2021-04-10 19:57:13 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Got heartbeat response 2021-04-10 19:57:13 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {} 2021-04-10 19:57:23 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command heartbeat (device type: type_0a) 2021-04-10 19:57:23 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{}' 2021-04-10 19:57:23 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number -100 2021-04-10 19:57:23 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211) 2021-04-10 19:57:23 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Got heartbeat response 2021-04-10 19:57:23 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {} 2021-04-10 19:57:33 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Sending command heartbeat (device type: type_0a) 2021-04-10 19:57:33 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Send payload: b'{}' 2021-04-10 19:57:33 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Waiting for sequence number -100 2021-04-10 19:57:33 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Dispatching message TuyaMessage(seqno=0, cmd=9, retcode=0, payload=b'', crc=2958142211) 2021-04-10 19:57:33 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Got heartbeat response 2021-04-10 19:57:33 DEBUG (MainThread) [custom_components.localtuya.pytuya] [bf5...lia] Decrypted payload: {}
Additional information
While using the Tuya smart life app to help gather DPs, I noticed whenever I set a speed on the app and then attempted to set a speed in HA it reset the smart life app and fan speed to 1.