How to bring in a unknown Tuya component with all functionality in tasmota interface and use in home assistant

Good morning

I have a unknown Tuya integration for a boiler. The boiler uses the unflashable WBR3 chip and i will eventually replace it with a ESP-12F once i get this all working in Tasmota.

I have got all the commands needed via serial for this device. I have also decoded the HEX to get all the values but i just need to tie everything into together to get it reading values and then sending commands to the device with HEX commands.

First off, i piggy backed off the WBR3 with a D1 Mini and set tasmota to Tuyu MCU and immediately the ON and Off works for Heat / Non Heat of the boiler so thats one thing checked off.

My Goal for all of this?

To have tasmota read the temps x 2, have sliders for min and max set temp x 4 (30 -65 degree temp range) and then have another toggle working (ON/OFF).

I get the following in the console with TuyaSend0:

15:57:20 {
    "TuyaReceived":{"Data":"",
"Cmnd":7,"CmndData":"","DpType1Id1":1,"1":{"DpId":1,"DpIdType":1,"DpIdData":"01"},"DpType4Id2":1,"2":{"DpId":2,"DpIdType":4,"DpIdData":"01"},"DpType2Id10":56,"10":{"DpId":10,"DpIdType":2,"DpIdData":"00000038"},"DpType4Id13":1,"13":{"DpId":13,"DpIdType":4,"DpIdData":"01"},"DpType5Id20":"0x0000","20
15:57:20 TYA: fnId=11 is set for dpId=1
15:57:20 TYA: RX Relay-1 --> MCU State: On Current State:On
15:57:20 TYA: fnId=0 is set for dpId=2
15:57:20 TYA: fnId=0 is set for dpId=10
15:57:20 TYA: RX value 56 from dpId 10 
15:57:20 TYA: fnId=0 is set for dpId=13
15:57:20 TYA: fnId=0 is set for dpId=20
15:57:20 TYA: fnId=0 is set for dpId=101
15:57:20 TYA: fnId=0 is set for dpId=102
15:57:20 TYA: RX value 7 from dpId 102 
15:57:20 TYA: fnId=0 is set for dpId=103
15:57:20 TYA: RX value 60 from dpId 103 
15:57:20 TYA: fnId=0 is set for dpId=104
15:57:20 TYA: RX value 60 from dpId 104 
15:57:20 TYA: fnId=0 is set for dpId=105
15:57:20 TYA: RX value 60 from dpId 105 
15:57:20 TYA: fnId=0 is set for dpId=106
15:57:20 TYA: RX value 60 from dpId 106 
15:57:20 TYA: fnId=0 is set for dpId=107
15:57:20 TYA: RX value 5 from dpId 107 
15:57:20 TYA: fnId=0 is set for dpId=108
15:57:20 TYA: RX value 53 from dpId 108 

But if i try send a command then nothing works. It does work however if i send the command with heartbeat via UART and spam send it.

I did something similar for my pellet stove

I mention this, because I ended up writing my own integration using an esplink (serial to wifi), and send/receive hex commands over tcp :wink:

Just one tip, convert hex to binary, so it’ll be easier to isolate specific bits for specific functions :yum:

Ok great. Thats what i want to get to. Do i need to create a new .ino file to do this stuff? is it difficult?
Ive never done this before.

The esplink is ‘plug and play’, it’ll allow you send serial over tcp (you could even use telnet to connect to it)

writing the integration was a bit harder :thinking: