Skip to content

gooman-uk/devola-mqtt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

devola-mqtt

Devola are a UK company who make (among other things) Tuya-enabled glass panel heaters. There's a few drawbacks with Tuya implementation:

  • It can be hard to monitor and control from a Home Automation server like Home Assistant or Open Hab as it doesn't talk MQTT to a local server. Some partial solutions exist (like tuya-mqtt) but they're complex to set up and might not be possible forever
  • It's reliant on the Tuya control server in the cloud, and the Tuya or SmartLife App
  • You might not be comfortable with your data being sent to a cloud server
  • Schedules in Tuya require an active Internet connection. If your Internet fails, your device won't turn on (or off). Tasmota Timers function offline.
  • Ambient temperature is only sent by the stock Tuya firmware when the heater is on. It would be nice to send it all the time so you can monitor temperature in a room even when the heater is off
  • The Tuya app often has timeouts in connecting to the local device, meaning that what's shown is not always up to date

You can flash the ESP8266 chip that's onboard with the open source Tasmota firmware. But the problems don't end there ... the MCU and the stock firmware use a completely non-standard protocol, sending all of the parameters (power status, mode, setpoint, temperature, childlock and timer) in one 21-byte hex string. It's not easy to decompose that string into discrete parameters using Tasmota, or in a Home Automation server.

I've written a Tasmota template for the Devola heaters - see https://templates.blakadder.com/devola_designer.html

This is where devola-mqtt comes in. It translates between the hex string that the MCU uses and discrete parameters. It's driven by a simple "topics.conf" file that maps the topic name of the physical heater to a new name of a virtual heater with discrete parameters that presents these to your Home Automation server in a typical Tasmota style.

So you get MQTT messages like "stat/office-heater/POWER ON" or "stat/office-heater/SETPOINT 20" and can send messages like "cmnd/office-heater/POWER OFF". Heater mode is sent as a simple numeric - 1=low, 2=high, 3=anti-frost - as you will likely want to translate these to text in your HA server.

Currently, much of the detail of the config is in #defines at the head of the source file. At present it assumed you're using a wired ethernet connection, and that your MQTT broker is on the same server at the default port. Ideally, this would all be in command line options and/or a config file. But that's kind of gilding the lily.

Keen lily gilders are invited to make a PR and add that functionality.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published