Interested in controlling heater from VenusOS

Hi all,

I’m getting in the mail soon an Afterburner controller for my Diesel heater, which enables many features, one of which is providing an API for temperature input and control. I’m interested in being able to control the heater from the GUI on my Cerbo GX.

I started looking into various things - Including the open source gui_v2 repo (thanks Victron!) and projects like GUIMods, thinking I would try to make a custom widget in the “Environmental” tab since Victron doesn’t seem to support heaters/AC as compatible devices, or offer any thermostat features. At the same time, I noticed Victron supports MQTT (which this heater controller also supports), and NodeRed, which might be a simple way to get data between the Cerbo and the Heater. While it instantly unlocks sending temperature values, it doesn’t solve the problem of creating a GUI element to run the thermostat.

While digging around the gui_v2 codebase, I noticed there is QML elements TemperatureSlider.qml, and under device list a directory “switchable_outputs” which contains a page for “Switch control for SwitchableOutput_Type_TemperatureSetpoint type.” which allows setting a setpoint using this slider. At the same time I see in the Node Red documentation there is a list of supported “Virtual devices” which can be created, but none of those are something that would call for a temperature slider. I found this post which says these are part of a new switch pane, which was temporarily disabled, but will be able to appear when we connect the new Victron GPIO extender.

All of this feels like the software is very close to being able to create a Node Red virtual device of type “thermostat” which can use this switch pane (or another GUI element using the TemperatureSlider) to control a set point.

I’m curious of a few things I guess:

  1. Is anyone aware if it’s possible to hack these bits together currently? I’m setting up NodeRed now and will get the Afterburner in a couple weeks, but I’m curious ahead of time what’s possible.
  2. Is there any way to open the switchpane (or will there be) without an Extender board, if I want to simply use it with Node Red?
  3. Is there any plans or appetite from Victron to allow “thermostat” as a virtual device via Node Red?

While I’m sure this can all be done with some effort to modify the GUI, before I spend a lot of time on that I wanted to know what’s possible with the current GUI, or what upcoming changes might make this easier.

Tagging @nickdb and @pwfarnell because they were active in that other thread I linked - I wanted to continue the conversation but though I should start a new topic rather than take that over.

As for my question #3, I see that @dfaber wrote in an earlier thread the process for requesting virtual devices, and the fact that they will be slowly rolling them out. I put in a request for this device type (and to be able to utilize that existing slide panel).

Some of these features are up and working in V3.70 beta release, go to the Venus OS beta category. I have slider switches set up for charging but I have not tried temperature.