Vevor diesel heater control - development in progress

This is very good result. Received 16-bit value means that the heater is responding. Your circuit is fine. Looks like the received patterns are a bit different, because I get 7FF3 (3 being battery voltage level) when there is a fault and 9FF3 when the heater is in normal idle. You get DFF3 at idle, so the library doesn’t see the expected 9Fxx pattern.

Try experimenting with the 8 bit switches, they are there to experiment at full blast. Try to set one switch at a time to 0 or 1 and then turn it off (so it sends different 8-bit pattern only once), so the sent bit is different, got it? Different heaters might want different patterns sent, that wouldn’t surprise me.

Your heater controller might send different bits if it doesn’t turn on with bit 6 set to 1. In the worst scenario we just need to modify the library, so idle condition is DFxx, not 9Fxx.

Also first try to change any string “9Fxx” in the cpp file to “DFxx”. Also if the error state is different to “7Fxx”, you should change it too (but thats not yet required to get the stove running). First you have to induce the fault state, for example - running out of fuel, and then see the received 16-bit data.

Good luck! Contact me if you have any problems, I wasn’t getting notifications of new posts here. :slight_smile:

I has same problem, changing recieved value to DFxx solved problem. To run my heater is needed to switch bit 4 and then bit 6

Hey,

Thank you very much for your help.

I converted my YAML code to DFxx and can now see the correct status. Furthermore, the heater can be switched on and off with the Turn Heater On button. The Power Toggle (Single cycle) also switches between the different levels.

How do you use the heating? Do you have automations or have you built climate entities?

Feel free to show us what you do with it.

Regards, Jan

I wasn't following the thread, sorry. Great, that you have mnaged to communicate with the heater. I use it ocassionally when I work in my garage in the wintertime. I like to check it's status when I'm away or turn it on/off.

There is room of improvement in the code, for example, power could be toggled up and down, not in a loop, because original controller supports + and - power level. Also error codes are not supported. Someone should play with the original controller and capture some more sent/received data. But for general use this works fine.

I dont use it in hot weather now, but it was happily working with the controller all winter.

For Bluetooth/BLE Vevor controllers, there is now a Home Assistant custom integration that communicates with the heater directly:

It supports the AirHeaterBLE AA55 and AA66 protocol families, without replacing the heater controller or flashing ESPHome firmware. Vevor also sells models using other controller types, so BLE/app compatibility still matters.