I got one Sinotimer TM608 Smart Timer and Meter. This is more or less a typical Tuya device. I needed one in DIN rail form factor, so I bought it on Ali, like this one: https://www.aliexpress.com/item/1005006346759481.html
I am not a handyman, so I gave tuya cloudcutter a chance.
Since I couldn't identify what chip it was based on, I first registered it in the Smart Life app and looked it up in the Tuya IoT Cloud Project (sometimes, it gives a clue). But not this time...
Okay, then I identified from the smart life app that my TM608 has the firmware version of 1.3.5. So, I tried to hijack it with cloudcutter.
After several unsuccessful attempts, it worked! I selected the option to choose my device, "By firmware version and name," and then took "1.3.5 - BK7231T / oem_bk7231s_dltj".
Usual procedure: click the button on the front of the device many times to bring it to fast blink mode, then again many times to bring it to AP slow blink mode. Just follow the instructions cloudcutter gives.
Now, the pins. Since there is very scarce info on this device, I tried the GPIO Doctor first and was able to identify all the pins responsible for detecting the switch and the touch button on the front (one pin for both), activating the relay, as well as activating the small LED on the front panel.
Here we go:
So, PIN1 is the switch button (reacts on both the touch button on the front of the device and on connecting C1 and C2 outside device pins).
PIN 2 is to switch on/off the LED on device.
PIN26 controls the relay.
However, my intended use was also to see the power consumption. This was a problem, as I did not identify the pins for the meter itself. I went a mile. I downloaded the Tuya GPIO config, but BK7231GUIFlashTool is not an option to decode it (I have no Windows machine at hand). Frankly speaking, I even tried to convert the corresponding code from this project to Java to be able to run it, but after the first attempt to do so, I searched further, equipped with a better understanding of how config is encoded.
And I found the bk7231tools[cli]. It didn't want to read the Tuya GPIO config I downloaded from the device, as it needs a full firmware dump. I downloaded this one, too (it took a few minutes and showed scary error messages, but it worked). Here is the result I got from this tool:
Basically, this told me what I already knew: pins 1, 6 and 26. However, it also told me a few more things. Namely, that I am dealing with the WB3S module (remember, I did not open the case, as I successfully used cloudcutter).
And, what is more important, that there is something interesting on pins 8, 9, and 24:
So, after some research, I decided to give a chance to the assumption that my power meter is a BL0937 device. It has three pins: the selector pin (SEL), the active power pin (CF), as well as current/voltage pin (CF1). I assumed that "sel_pin_pin" from tuya config (#24) is my selector pin and tried to assign CF and CF1 to the two remaining pins, looking at what values I will see having some load on the relay output.
And it worked!
So, here is the final config:
Now I gonna buy more of these.
Thanks for reading!

I am not a handyman, so I gave tuya cloudcutter a chance.
Since I couldn't identify what chip it was based on, I first registered it in the Smart Life app and looked it up in the Tuya IoT Cloud Project (sometimes, it gives a clue). But not this time...
Okay, then I identified from the smart life app that my TM608 has the firmware version of 1.3.5. So, I tried to hijack it with cloudcutter.
After several unsuccessful attempts, it worked! I selected the option to choose my device, "By firmware version and name," and then took "1.3.5 - BK7231T / oem_bk7231s_dltj".
Usual procedure: click the button on the front of the device many times to bring it to fast blink mode, then again many times to bring it to AP slow blink mode. Just follow the instructions cloudcutter gives.
Now, the pins. Since there is very scarce info on this device, I tried the GPIO Doctor first and was able to identify all the pins responsible for detecting the switch and the touch button on the front (one pin for both), activating the relay, as well as activating the small LED on the front panel.
Here we go:
"pins": {
"1": "dInput_n;2",
"6": "LED_n;3",
"26": "Rel;4"
},
So, PIN1 is the switch button (reacts on both the touch button on the front of the device and on connecting C1 and C2 outside device pins).
PIN 2 is to switch on/off the LED on device.
PIN26 controls the relay.
However, my intended use was also to see the power consumption. This was a problem, as I did not identify the pins for the meter itself. I went a mile. I downloaded the Tuya GPIO config, but BK7231GUIFlashTool is not an option to decode it (I have no Windows machine at hand). Frankly speaking, I even tried to convert the corresponding code from this project to Java to be able to run it, but after the first attempt to do so, I searched further, equipped with a better understanding of how config is encoded.
And I found the bk7231tools[cli]. It didn't want to read the Tuya GPIO config I downloaded from the device, as it needs a full firmware dump. I downloaded this one, too (it took a few minutes and showed scary error messages, but it worked). Here is the result I got from this tool:
{
"bt1_lv": 0,
"bt1_pin": 1,
"bt1_type": 0,
"ch1_stat": 2,
"ch_cddpid1": 9,
"ch_dpid1": 1,
"ch_num": 1,
"chip_type": 0,
"crc": 119,
"ele_pin": 9,
"jv": "1.1.7",
"lose_vol": 80,
"module": "WB3S",
"net_trig": 2,
"netled1_lv": 0,
"netled1_pin": 6,
"netn_led": 2,
"nety_led": 2,
"over_cur": 17000,
"over_vol": 260,
"reset_t": 5,
"resistor": 1,
"rl1_lv": 1,
"rl1_pin": 26,
"rl1_type": 0,
"sel_pin_lv": 1,
"sel_pin_pin": 24,
"vi_pin": 8,
"vol_def": 0
}
Basically, this told me what I already knew: pins 1, 6 and 26. However, it also told me a few more things. Namely, that I am dealing with the WB3S module (remember, I did not open the case, as I successfully used cloudcutter).
And, what is more important, that there is something interesting on pins 8, 9, and 24:
"ele_pin": 9,
"sel_pin_pin": 24,
"vi_pin": 8,
So, after some research, I decided to give a chance to the assumption that my power meter is a BL0937 device. It has three pins: the selector pin (SEL), the active power pin (CF), as well as current/voltage pin (CF1). I assumed that "sel_pin_pin" from tuya config (#24) is my selector pin and tried to assign CF and CF1 to the two remaining pins, looking at what values I will see having some load on the relay output.
And it worked!
So, here is the final config:
{
"vendor": "Sinotimer",
"name": "WiFi Smart Timer & Meter",
"model": "TM608",
"chip": "BK7231T",
"board": "WB3S",
"flags": "1024",
"keywords": [
"meter",
"TM608",
"timer",
"sinotimer"
],
"pins": {
"1": "dInput_n;2",
"6": "LED_n;3",
"8": "BL0937CF1;1",
"9": "BL0937CF;1",
"24": "BL0937SEL;1",
"26": "Rel;4"
},
"image": "https://obrazki.elektroda.pl/YOUR_IMAGE.jpg",
"wiki": "https://www.elektroda.com/rtvforum/topic_YOUR_TOPIC.html"
}
Now I gonna buy more of these.
Thanks for reading!