Durablow gas fireplace control

So I’d been looking for a component to allow me to turn on the gas fireplace at our cabin before arriving and came across this Durablow millivolt adapter from Amazon:https://www.amazon.com/dp/B07DDCL8P5/ref=cm_sw_em_r_mt_dp_U_6qRkDbNJ6K2EZ

It worked well for a while but I wanted local control of it (instead of through Smart-Home) and more integration so I flashed the 8266EX TYWE1S chip using this thread https://github.com/arendst/Sonoff-Tasmota/issues/4003 and tuya’s hardware module overview.

I’m sure there are much simpler ways to do it. But if anyone else out there is looking to convert this here are the pins: GPIO4 right led, GPIO5 left led, GPIO13 physical button, GPIO12 relay. Hope this helps someone else.

2 Likes

Did yours have the temperature sensor? I noticed you didn’t list the GPIO of the sensor.

how did you flash it?

I did it the hard way, soldering jumpers onto the chip and flashing it via USB. When I first started with this I hadn’t found tuya convert so I have no idea if it would have worked had I tried. The setup is super stable and still working well.

No temperature sensor on this, I’ve used 2 different approaches, a wired sensor to an open gpio on a smart plug, then later a sonoff (tasmota) zigbee wireless temp sensor. With the switch running ESPHOME I setup a simple thermostat in home assistant that pulls the temps from the remote sensor and activates/deactivates the fireplace switch based on that info. Works great in our cabin. I also ended up building another one from scratch for our lower level fireplace using a D1 Mini and relay instead of the Durablow, it also works great.

any guide on this?

Not that I found. It’s been a long time and I didn’t take any pictures. If I remember correctly the connections are pretty well marked on the esp8266, vcc, gnd, tx, rx p0 and it was simple to connect. I flashed it with tasmota following their guide then uploaded ESPHome. The 2nd one I built with the Wemos D1 I just left with Tasmota and it works just as well. I see that some models have a temperature sensor, that would be pretty easy to trace to it’s gpio and use as well.
Here’s my ESPHome code:

esphome:
  name: fireplace
  platform: ESP8266
  board: esp01_1m

wifi:
  # https://esphome.io/components/wifi
  ssid: "***"
  password: "***"
  ap:
    ssid: "fireplace"
    password: ""
  fast_connect: TRUE

# Enable logging
logger:

# Enable Web server
web_server:
  port: 80

api:
  password: "***"

ota:
  password: "***"

# Use safe mode for bad boot loops. Active after 10
  safe_mode: True

output:
  - platform: esp8266_pwm
    id: led04
    pin:
      number: GPIO4
      inverted: True

  - platform: esp8266_pwm
    id: led05
    pin:
      number: GPIO5
      inverted: True

light:
  - platform: monochromatic
    name: "04 LED"
    output: led04
    default_transition_length: .20s
    id: led_04

  - platform: monochromatic
    name: "05 LED"
    output: led05
    default_transition_length: .20s
    id: led_05

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO13
      mode: INPUT_PULLUP
      inverted: True
    name: "Relay Button"
    on_press:
      - switch.toggle: relay12
      - light.toggle: led_04

switch:
  - platform: gpio
    pin: GPIO12
    id: relay12
  - platform: template
    name: Fireplace Relay12
    optimistic: true
    id: relayandled12
    turn_on_action:
    - switch.turn_on: relay12
    - light.turn_on: led_05
    turn_off_action:
    - switch.turn_off: relay12
    - light.turn_off: led_05

Sorry for resurrecting this thread, I just wanted to say that this post gave me the confidence to go ahead and try flashing Tasmota to my Durablow (older red aluminum case one). As OP stated I had to flash directly to the SoC by soldering to the IO pads, but after a few tries I got the timing right for the reset pin and the firmware indeed loaded. Wifi AP started up and I was in business. I just plugged in the GPIO defs in the ESPHome config into the Tasmota template and the button, LEDs and relay all work as expected. Thanks for the post, OP, this was a fun little project. :slight_smile:

Edit: my Tasmota template is:

{"NAME":"Durablow","GPIO":[1,1,1,1,320,321,1,1,224,32,1,1,1,1],"FLAG":0,"BASE":18}