Resol Solar Controller in Homey

Hi Homey community,

I got a Resol solar controller connectet to my LAN. There has been a genius working on that and got it integrated into Home Automation. Github: GitHub - BenniG82/vbus-to-homie
Question I have is, is it possible to implement that on homey? I’ve tried to CLI install as is, but no luck.

Any help is very much apprecciated.

Interesting, thx for the link.
I don’t think this can be installed directly on homey, but homey can be connected to mqtt, so if you can get this running on any device (f.I. Raspberry pi), run an mqtt server on that device (or homey), then you can read the information from mqtt in homey (using mqtt app) and put the values in a virtual device.

I have all of this available, only no connection from Resol to usb/LAN yet (expensive device…. :smirk:

I saw some possibilities to connect via MQTT to Homebridge - will need to try this with Docker on my Synology. I use the Resol KM2 (225€ on S0lardirect24).
On Homey, I guess I need the MQTT Client to connect?
I did try to use Image Grabbler to fetch the diagram from Resol vbus.net (after creating a public URL for it, but no luck as its no native jpg there but some WEB code.

Will update if I manage to get it working.

And just to share some more info I stumbled upon:
Using a Datalogger (even more expansive) can obviously be read out with json
see here: link

Cost effective solution, but propably a lot of work is to connect via on-board serial ‘converter’ see here (in German): link

1 Like

After some steep learning curve, I’ve finally managed to make it work.

All Temperature Sensors and the Pump speed are available in Homey Pro 2023 via Virtual Devices. I took ‘sensor’ for the Temp sensors and ‘Heating’ for the pump.
Heres the result:

unfortunately I’ve not yet discovered howto get multiple temp sensors into one Virtual Device (maybe Device Capabilities can do this).
The values are low as today was raining and the sunset has passed when it finally worked.

I achieved this connection from Homey to the Resol Controller using a Home Assistant instance on a virtual machine (not Docker) on a Synology DS1621+
I followed the steps described here: How to Install Home Assistant on a Synology NAS (2023)

Added the repository for HAOS from here: Link to Supervisor: Add Repository – My Home Assistant

And installed Resol-VBus as well as Terminal & SSH (must be enabled first to see it).

The Terminal will open directly in the browser on Home Assistant and allow easy editing of the config.js file as described in the Resol-VBus app.

Heres my console for that action:

The empty config.js was filled with the example configuration from: https://raw.githubusercontent.com/danielwippermann/resol-vbus/master/examples/json-live-data-server/config.js.example
The only edit needed was the IP adress to match my KM2.

Starting the Resol-VBus add-on and checking the Log showed it works when you see: debug: HeaderSet complete every 10 seconds (this can be changed in the config.js)

The add-on will already generate a json with all available datapoints on the Home Assistant instance port 3333: http://10.0.0.38:3333/api/v1/live-data
The port can be set in the Configuration of the add-on if needed.

The json data looks like this (extract only):

[
    {
        "id": "00_0010_7112_10_0100_000_2_0",
        "name": "Temperature sensor 1",
        "rawValue": 35.6
    },
    {
        "id": "00_0010_7112_10_0100_002_2_0",
        "name": "Temperature sensor 2",
        "rawValue": 69.8
    },
    {
        "id": "00_0010_7112_10_0100_004_2_0",
        "name": "Temperature sensor 3",
        "rawValue": 67.60000000000001
    },
    {
        "id": "00_0010_7112_10_0100_006_2_0",
        "name": "Temperature sensor 4",
        "rawValue": 60.400000000000006
    },

I’ve then used the https://jsonpath.com/ to figure out how to read each sensor value.
It works with $[0:1].rawValue to get the first temperature (Kollektor).

The next sensor can be read by $[1:2].rawValue and so on. Not sure this is correct, but it got the job done.

With this I went into Homey Advanced Flow and genersted a simple HTTP GET followed by parsers for each datapoint. In my case this are 8 temperatures and the pump speed. Those are stored in # variables that were created at first.

The Flow is triggered every minute, as the Resol updates its data every minute in the SD card and that is enough for my use case.

The temperatures are also available through the variables or virtual devices in the Insights. You’ll note that the latter has less data, as it took time to know how to do virtual devices after the variables already were filled with data.

Finally I tried to send a graph via email using anothe advanced flow that triggers every day at 6pm.

The email looks like this (again not much data yet):

Open points are to combine graphs such as you can do with insights.
In Homey insights it would be good to define own colors and save the graph setting. In Insights Graphs I’d like to have multiple graphs combined.

Then it would almost look like the Resol vbus diagram (again a horrible rainy day today)

Mistakes:
I did install HACS as I thought it is needed, but that wasn’t. With the repository link for HAOS I got all i needed.

Hope that helps anyone.

Update:
changed the virtual device for the Solar Pump to humidity sensor to get a % unit.

Bildschirmfoto 2023-09-24 um 08.05.51

1 Like

looking at this you can easily make your own native homey app https://github.com/BenniG82/vbus-to-homie/blob/master/src/lib/vbus-reader.ts it is already in typescript / javascript.

Thanks Edwin, I will try to dig into this. Would be of course a better solution. I’m not sure if all the necessary libs that grab the data out of the device’s binary will work.

also got my km2 and did this on HA hass-resol-KM2/README.md at main · evercape/hass-resol-KM2 · GitHub

and with ha community app back to homey

just few minutes works.

Awesome! I will take a look. Thanks for sharing.

Hi @coppervaporlaser , how did you handle the authentication topic in resol? i have to login with user and password to fetch the data…

EDIT: solved myself: the guest user must be enabled for live data