Vevor diesel heater control - development in progress

Hey. I bought Diesel heater from Vevor brand and with disappointment realized the protocol used differs from common protocol used in Chinese heaters.

Because no solution was that time available, I started investigating and created my project.

Right now, with great certainty I can read Chamber temperature, Input voltage, input current, state and fan speed. There are many other things related with glow plug, but right now I cant assign them to proper values (and actually I dont really care).

Once there will need to run the heater on and off remotely, I will finish this part of state machine and then it could be used as complex working component.

Feel free to join me on this journey.

https://github.com/zatakon/vevor_heater_control

Edit 16.2.: full control of Vevor diesel heater is now possible from Home Assistant

5 Likes

full control of Vevor diesel heater is now possible from Home Assistant

1 Like

Do you mind elaborating on this? I can’t find any solid info

Can you explain how full control is possible? Is it using your project or another method?

@zatakon This is amazing work!! I was just exploring adding a diesel heater to my garage and I was hoping for a way to interface with it in HA! Thank you so much for sharing. I’ll be implementing this soon.

Is there certain models of Vevor heaters that I should look at to make sure this works with it?

With me the same problem, but since I am not good at electrical engineering and do not know anything about resistance, I have practised BLE reverse engineering and have made a lot of things work. Maybe someone else has other ideas and we can complete it together. @zatakon where exactly did you connect the ESP? Directly on the motherboard?

1 Like

To @ Knutnoh. I see you’ve changed something in the yaml code in the last few hours. Could you please include what you changed in the readme? I’ve already compiled the previous yaml. I can’t test it because I’m waiting for the Bluetooth driver for Vevor. I’d like to know what changed in the configuration. Regards.

I can’t add or compile any devices on ESPHome 2025.9.3. I keep getting these errors:

INFO ESPHome 2025.9.3
INFO Reading configuration /config/esphome/esphome-web-192e40.yaml...
INFO Generating C++ source...
INFO Compiling app...
Processing esphome-web-192e40 (board: esp32dev; framework: espidf; platform: https://github.com/pioarduino/platform-espressif32/releases/download/54.03.21-2/platform-espressif32.zip)
--------------------------------------------------------------------------------
INFO Package configuration completed successfully
INFO Package configuration completed successfully
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
 - framework-espidf @ 3.50402.0 (5.4.2) 
 - tool-cmake @ 3.30.2 
 - tool-esp-rom-elfs @ 2024.10.11 
 - tool-esptoolpy @ 5.0.2 
 - tool-mklittlefs @ 3.2.0 
 - tool-ninja @ 1.13.1 
 - tool-scons @ 4.40801.0 (4.8.1) 
 - toolchain-xtensa-esp-elf @ 14.2.0+20241119
Reading CMake configuration...
-- git rev-parse returned 'fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).'
-- Building ESP-IDF components for target esp32
-- Configuring incomplete, errors occurred!

fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
CMake Error at /data/cache/platformio/packages/framework-espidf/tools/cmake/build.cmake:620 (message):
  Traceback (most recent call last):

    File "<frozen runpy>", line 189, in _run_module_as_main
    File "<frozen runpy>", line 112, in _get_module_details
    File "/root/.platformio/penv/.espidf-5.4.2/lib/python3.12/site-packages/idf_component_manager/__init__.py", line 6, in <module>
      from idf_component_tools.environment import ComponentManagerSettings
    File "/root/.platformio/penv/.espidf-5.4.2/lib/python3.12/site-packages/idf_component_tools/__init__.py", line 9, in <module>
      if ComponentManagerSettings().DEBUG_MODE:
         ^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/root/.platformio/penv/.espidf-5.4.2/lib/python3.12/site-packages/pydantic_settings/main.py", line 193, in __init__
      super().__init__(
    File "/root/.platformio/penv/.espidf-5.4.2/lib/python3.12/site-packages/pydantic/main.py", line 250, in __init__
      validated_self = self.__pydantic_validator__.validate_python(data, self_instance=self)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/root/.platformio/penv/.espidf-5.4.2/lib/python3.12/site-packages/idf_component_tools/environment.py", line 148, in fallback_to_default
      if field.validation_alias:
         ^^^^^^^^^^^^^^^^^^^^^^

  AttributeError: 'NoneType' object has no attribute 'validation_alias'

Call Stack (most recent call first):
  /data/cache/platformio/packages/framework-espidf/tools/cmake/project.cmake:718 (idf_build_process)
  CMakeLists.txt:3 (project)



========================== [FAILED] Took 1.46 seconds ==========================

For the most part, I only changed the appearance and removed unnecessary logic. Nothing that affects functionality.

It’s a framework bug, and it’s best to use chatgpt to troubleshoot the issue. It could also be related to your esp32 board. The YAML needs to be adapted to your hardware and possibly your esphome version. I’m sure chatgpt can help you.

My 2Kw Vevor dieselheater didn’t work with the yaml files posted above. I found the Bruciatore_BLE project that did work.
I translated some italian names and changed my esp32 to the esp32-c6 I’m using. Build with the latest ESP home builder.

Please write or provide a link to a Vevor model that has a BLE driver.
I have a Vevor device, but my device has a standard BT driver, and your projects don’t work.
My driver only has three wires.
I’d like to buy a model that has a BLE module.

Hello. Sorry for not answering, this topic was “on hold” for a while - it worked for me and I was overloaded by other stuff.

I transfered the project into something what should be much easier to use, if you are interested please visit that
https://github.com/zatakon/esphome-vevor-heater
Please related issues place in the github, I will try to process them :slight_smile:

This way ESP32 can be connected instead original control unit. So far it does not have physical buttons and display, but I would like to implement that in couple of weeks (I would say days but I know my optimistic time estimates.

I need help with my Vevor Heater.
I currently have the yaml uploaded from GitHub:

This is actually the only partially working example:

  • I can turn the heater on, but not off.
  • I can change between Level and Automatic.
  • I can set the heater level.
  • I can set the heater temperature.
    And that’s it. The other parameters don’t match at all. It shows complete nonsense, as you can see in the screenshot.
    I’m also attaching a few screenshots I took with the nrfConnect app.
    How do I find and match the correct data to my Vevor?
    I’d appreciate your help again.
    Best regards.