Coder Social home page Coder Social logo

dieselheaterrf's Introduction

Simple Arduino library for controlling and monitoring inexpensive, unbranded Chinese diesel heaters through 433 MHz RF by using a TI CC1101 transceiver.

Library replicates the protocol used by the smaller four button remote with an OLED screen (see below), and should probably work if your heater supports this type of remote controller.

Red remote

Parts needed

  • ESP32
  • TI CC1101 transceiver module

Connect the SPI bus and GDO2 as follows:

Wiring diagram

ESP32         CC1101
-----         ------
4   <-------> GDO2
18  <-------> SCK
3v3 <-------> VCC
23  <-------> MOSI
19  <-------> MISO
5   <-------> CSn
GND <-------> GND

Features

All features of the physical remote are available through the library.

Get current state of the heater, including:

  • Heater power state
  • Current temperature setpoint
  • Current pump frequency setpoint
  • Ambient temperature
  • Heat exchanger temperature
  • Operating mode (thermostat or fixed pump frequency)
  • Power supply voltage
  • Current state (glowing, heating, cooling...)
  • RSSI of the received signal

Commands

  • Power on / off
  • Temperature setpoint up / down (when in "auto", thermostat mode)
  • Pump frequency up / down (when in "manual", fixed pump freq. mode)
  • Operating mode auto / manual

Pairing mode

  • Find the heater address

Background information:

There is another project for a stand-alone device for controlling the heater that seems awesome and very comprehensive, Afterburner by Ray Jones.

But if you’re like me, and you just want a simple way to control or monitor the heater without any expensive parts or electrical connections to the heater's own control unit, and don't mind rolling out your own software, this library might help you.

I wanted a non-invasive way to control the heater, while maintaining the original functionality of the heater and remote controller(s). So I decided to sniff around by tapping into the SPI bus between the remote controller's MCU and the transceiver chip. Using a logic analyzer and the CC1101 datasheet, I studied the configuration of the radio and the protocol used between the heater and the remote.

Required parts can be obtained for less than $ 10 USD. I used an Ebyte E07-M1101S, but there are many different breakout modules that should also work.

Link to E07-M1101S: https://www.aliexpress.com/item/32805699419.html (Note: this module has teeny-weeny PCB holes and dense 1.27 mm pitch, so if you want a more easily solderable breadboard-friendly 2.54 mm (.1 in) pitch version, you might want to choose a different module.)

Disclaimer

Feel free to use this library as you please, but do it at your own risk!

Happy hacking! 🤓

dieselheaterrf's People

Contributors

jakkik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dieselheaterrf's Issues

Which diesel heater

There are a few Chinese heaters and varieties, which heater can this work with?

Additional use of the existing remote control

Hi.
Is there a way to read the current address of the heater using the original remote control? Apparently the heater generates a new code when paired, so a previous remote control no longer works. Would it be possible to find out the address from the data if I record the remote control with a 433MHz receiver on the Arduino?
Thank you.

Did anyone ever get this to work?

As the title states, did anyone ever actually get this working?

If I can get confirmation that this is not a BS repo, and that this has actually worked for some in the past, I will put the time into troubleshooting the pairing issues etc.

But right now, i not convinced.

Not Pairing

Hi,
I like the idea, but in my case it is not working. Not pairing.
Is there a way to debug or get some help.

I have a LOLIN32 and C1101 and spi connection is good also the requeired parking heater with red controller.
but keeps waiting to pair until the timeout and fails

Kind regards

Issue Compiling

I am working with the black controller (dont know if this is going to work or not but worth poking around with ).

Black controller with basic RF remote.

Can not compile with current release on MEGA or D1 mini. SPI.begin() will not accept arguments.

++++++++++++++++++++++++++++++++++++++++++++++
DieselHeaterRF.ccp

  1. //SPI.begin(_pinSck, _pinMiso, _pinMosi, _pinSs);
  2. SPI.begin();
    ++++++++++++++++++++++++++++++++++++++++++++++

commented out current SPI added SPI.begin(). compiles. However run in to a connection issue. Wonder if you can help me decode this.


--------------- CUT HERE FOR EXCEPTION DECODER ---------------

Soft WDT reset

stack>>>

ctx: cont
sp: 3ffffdf0 end: 3fffffc0 offset: 01a0
3fffff90: 3fffdad0 3ffee5bc 3ffee5fc 402010a9
3fffffa0: 3fffdad0 00000000 3ffee650 4020265c
3fffffb0: feefeffe feefeffe 3ffe85d8 40100c01
<<<stack<<<

--------------- CUT HERE FOR EXCEPTION DECODER ---------------

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3460, room 16
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4
tail 4
chksum 0xc9
csum 0xc9
v00042d10
~ld
Started pairing, press and hold the pairing button on the heater's LCD panel...
Failed to find a heater

--------------- CUT HERE FOR EXCEPTION DECODER ---------------


How to use it?

I have made an hardware, now what?
How can I get firmware for esp32?
How can I then controll it via mobile phone? How to connect to it?

MQTT

Goodmorning,

could you maybe help me get this into mqtt? I would like to link it to my domoticz.

kind regards,
Niels

Colab

Hi Jakik, I'm working on a RV Automation board wondered if you fancied collaborating, diesel heater control would be a popular addition

Can't compile on ESP32 WROOM-32

Hi Jakkik,
Nice project!
I do have an issue compiling in the Arduino IDE. I get the following errors:

undefined reference to DieselHeaterRF::begin() undefined reference to DieselHeaterRF::findAddress(unsigned short)'
undefined reference to DieselHeaterRF::setAddress(unsigned int)' undefined reference to DieselHeaterRF::sendCommand(unsigned char)'
undefined reference to `DieselHeaterRF::getState(heater_state_t*)'

Do you have any idea how I can fix this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.