Deta 6914HA Series III - Reprogrammed to Zero Cloud plus MQTT

2026.05.11

The Deta 6914HA has been around for quite some time. Over that time there have been a number of CPU changes. The original units had the old ESP8266 or one of its derivates inside it as it's brain. As Tasmota hackerz will know, that original firmware was pretty easy to replace and update.


Deta 6914HA Series III Light and Fan Controller

Tuya, the original software providers, took action in the Series II units to protect their interests. They replaced the CPUs and removed the ability to do OTA updates pretty much across their entire range of products along with minor pin changes effecting the PCBs.

Finally in the series III units the WB3S modules were replaced with the newer faster more energy efficient BLE equipped CB3S units. CB3S using the Beken BK7231N and the WB3S using the Beken BK7231T. At the same time there were even more pin routing changes which rendered all previous documentation on hacking somewhat redundant. That's where this piece of work comes in, building on all the good work that has come before it. Also we now have the power of AI to assist and speed up the software re-engineering process as well.

Conveniently the Turya CB3S is pin compatible with the original ESP derivatives.

ESP 8266 MOD
Tuya CB3S

In fact the two modules are so compatible that the old programmer was again pressed in to service. The burning software used is ltchiptool specifically designed for the Tuya chips. To this author's amazement it just upped and ran. Job done!

Configuration:

Code for AUTOEXEC.BAT

// Display the labels for each channel on the GUI
setChannelLabel 1 "Light Relay"
setChannelLabel 2 "Min Fan 1 Relay"
setChannelLabel 3 "Mid Fan 2 Relay"
setChannelLabel 4 "Max Fan Relay"
setChannelType 5 Toggle
setChannelLabel 5 "Fan ON/OFF"
setChannelType 10 OffLowMidHigh

// Hide the raw relay channel buttons from the GUI
setChannelVisible 1 0
setChannelVisible 2 0
setChannelVisible 3 0
setChannelVisible 4 0
setChannelVisible 5 0

// Start the HTTP button driver
startDriver httpButtons

// Set up the Light button on the GUI
setButtonLabel 1 "Light ON/OFF"
setButtonCommand 1 Do_Light_Press
setButtonEnabled 1 1
setButtonColor 1 red
addChangeHandler Channel1 == 0 setButtonColor 1 red
addChangeHandler Channel1 != 0 setButtonColor 1 green
addEventHandler OnClick 14 Do_Light_Press
alias Do_Light_Press toggleChannel 1

// Set up the Fan ON/OFF button on the GUI
setButtonLabel 2 "Fan ON/OFF"
setButtonCommand 2 Do_Power_Press
setButtonEnabled 2 1
setButtonColor 2 red
addChangeHandler Channel2 == 0 setButtonColor 2 red
addChangeHandler Channel2 != 0 setButtonColor 2 green
addEventHandler OnClick 20 Do_Power_Press
alias Do_Power_Press toggleChannel 5

// Set up the Fan speed cycle button on the GUI
setButtonLabel 10 "Next Fan Speed"
setButtonCommand 10 Do_Cycle_Press_Ext
setButtonEnabled 10 1
addEventHandler OnClick 7 Do_Cycle_Press_Ext
alias Do_Cycle_Press addChannel 10 -1 1 3 1 
alias Do_Cycle_Press_Ext if $CH10!=0 then Do_Cycle_Press 

// Set up change handlers for the fan speed options
addChangeHandler Channel10 == 0 backlog SetChannel 2 0; SetChannel 3 0; SetChannel 4 0; SetChannel 5 0
addChangeHandler Channel10 == 1 backlog SetChannel 2 1; SetChannel 3 0; SetChannel 4 0; SetChannel 5 1
addChangeHandler Channel10 == 2 backlog SetChannel 2 1; SetChannel 3 1; SetChannel 4 0; SetChannel 5 1
addChangeHandler Channel10 == 3 backlog SetChannel 2 1; SetChannel 3 1; SetChannel 4 1; SetChannel 5 1
addChangeHandler Channel5 == 0 backlog SetChannel 10 0
addChangeHandler Channel5 == 1 backlog SetChannel 10 3

 

References:

https://www.elektroda.com/rtvforum/topic3961225.html#
https://www.elektroda.com/rtvforum/topic3952371.html#20405650