Sunsynk & octopus intelligent integration

Hi everyone, I’m looking for some advice on integrating my solar battery system with the Octopus Intelligent Go tariff.

I’m using a Sunsynk inverter with batteries, along with a MyEnergi Zappi charger. I’ve got Solar Assistant integrated with Home Assistant via MQTT, and I’ve also installed the solarsynkv3 add-on to access Sunsynk sensor data.

The Octopus integration is working well, and the Intelligent Dispatch sensor is reporting correctly. What I’d like to achieve is:

  • Preventing my batteries from discharging during allocated cheap-rate slots that fall outside the standard 23:30–05:30 window.
  • Ideally, I’d also like the batteries to charge during any allocated cheap slots, regardless of the time.

If anyone has tackled a similar setup or has suggestions for the best way to handle this, I’d really appreciate your input!

1 Like

Rob,

I’m trying to do exactly this too. How is progress?

How does Solar Assistant help? What is MQTT? What does solarsynkv3 do?

Many thanks,

William,

Hi Rob and William,

I’ve made some really good progress with this… but not quite there. Are you guys still looking at this challenge? If so I’d be happy to share progress. My last challenge is the Grid Charge commands for the Inverter. I might need a firmware update due to a known bug.

Jon,

Yes I’m still trying. Any ideas much appreciated. I have only got as far as:

  1. Getting the right permissions as “Business User” to control my inverter settings manually via sunsynk.net, which now works fine, but obviously isn’t automation.

  2. Using the solarsynkv3 add-on for HA I can now download data/settings to Home Assistant, but there is no control path provided.

I have found a Knowledge Base article on getting access tokens for the SunSynk Connect API, but nothing on its capabilities or how to use it.

William

Hi all,

I finally got my system working well today. It was a tad painful but it works. I am using Home Assistant (HA) with Solar Assistant (SA) connected to my SunSynk Inverter using RS485. SA is the MQTT server and I am using Node Red and a few other tools to assist. I am no programmer but I worked patiently with Claude Ai. I started with ChatGPT but gave up as it kept making too many mistakes.

In HA I have the Octopus integration which gives me some critical feeds such as when off peak and what tariff I am on. There are basically two ways to address the Inverter… one is through the API via SunSynk cloud service and the other is direct, and this is where SA comes in. I already valued what SA bought to the party, especially reporting and much easier programme changes. Their MQTT Service was a real bonus and the MQTT Explorer add on in HA is brilliant. You can sit and see your queues and who is doing what and how.

I’d be happy to share what I have found if it help you guys. I am still testing my final release but so far today it’s picked up all Intelligent Charge sessions, charged my batteries as well as the car and avoided possible battery drain. It was long and painful but it’s looking really well… About 3 second latency.

to answer your previous questions to William @weorme62

Solar Assistant is a paid for program you can download and run on a Pi or similar. It controls your inverter via a USB to RS485 cable and gives you easy web access to your Inverter. There is also an SA cloud service which is handy when travelling.

MQTT is a long latency queue interface which allows commands to be sent and received. It’s become a key part of IoT.

SolarSynkV3 is a Home Assistant add-on for syncing solar/inverter data from SynSynk.net. Visit the SolarSynkV3 page for more details.

In theory, you don’t need both SolarSynkV3 and Solar Assistant although I use both but for different functions.

Jon,

Good to know you have finally got it all working. Well done!

I have been exploring the Home Assistant and SolarSynkV3 approach. Further to my above post a few days ago, reading all the documentation and user help groups I can find, it seems I should be able to set some of the settings on my inverter via SunSynk Connect .net website. Sadly I haven’t been able to get it working yet. Setting the variables using HA Developer tools → Actions → Set input_text.set_value appears to perform the action OK but the setting on the SunSynk Connect doesn’t change. I’ve tried looking in the HA Settings → Add-ons → SolarSynkv3 → Log and can see that after I have performed the Set action the message at the end of the data refresh changes
from:
No settings to process
to:
Notice: Invalid or no settings to post back to sunsynk. This is not a critical error…
I’ve tried setting several different variables all with the same result.

Maybe I give Claude AI a go, I’ve been trying with ChatGPT’s assistance and it does get a lot wrong.
Was there an issue you overcame with a firmware update that perhaps I might need?

Anyone else managed to set settings in their inverter via SolarSynkv3 and SunSynk Connect?

I’ve finally got a version I am happy with … jeez that was a journey.

During my time on this, Octopus changed the tariff with a 6 hour charging limit. I’ve added a timer in HA which will give me the option of stopping the car charge before it goes onto peak rate.

We also had a time where the Octopus API was down and then with a silly long latency of around 15 minutes. It’s unclear if they bill against the delay or not and I won’t know until I get my bill. To deal with this I’ve installed Shelly device which can sit independently and cross check the system… IE the car should not be charging at peak rate and the battery should not be discharging to the car.

So I’ve ended up with quite a complex system with layers and controls. In the main, I am using Node Red and using Solar Assistant as my MQTT Server. As SA is connected directly to the SunSynk Inverter it’s quite a neat way to control it.

I have separate flows in Node Red which helped with the development process as I could focus on one aspect at a time… but it’s grown arms and legs a little. I should add, I am no coder. I’ve worked on the documentation and I copy and past the code from Claude ai.

A few key things I found. Firstly the SunSynk doesn’t like working in a “Timer Off” mode. I was just going to turn off the timer and control it from HA but even after a firmware update this didn’t work. I had to live with the timer on and update the time slots… which adds a lot of complexity. I protected timer slots 1, 2 and 6 to give me fixed off peak timing. Time slot 2 which is the end of time slot 1 begins and ends at 05:30.

I also have a time slot clean up process which I run just in case. I found you need to allow for delays in the SunSynk accepting MQTT commands which is a problem SA also has so this way we tidy up after a charge session.

At first, I avoided this on the basis that I wanted to keep it simple but I’ve ended up using the Dispatches attributes from the Octopus API. The dispatches change all the time including in mid charge but the big advantage is I can see what is planned to happen. It also avoids delays where I might be charging on peak or discharging the battery to the car.

So it’s become a bit of a monster but it’s working now. IOG can do what they like and I wont discharge my home battery into the car and I won’t charge on peak.

1 Like

I’ve corrected the hours and minutes formatting now :slight_smile:

the problem is you can keep going for ever!

Hi Jon,

It looks like you have made exactly what I am trying to make.

2 x Sunsynk 5kw inverters
Pylontech batteries
Tesla Model Y
Tesla Charger

I have Solar Assistant which has been working perfectly for a couple of years. I plug in the car wait for Octopus app to give the times, and then update the ‘Work mode timer’ in the ‘Power’ tab of Solar Assistant. It works fine until I forget to manually check/update, and the car then proceeds to drain the home batteries.

I was hoping to use Home Assistant to automate this aspect, exactly like what you have done, and also coming from a non programming background. I’ve got Home Assistant running, the Octopus Energy integration, MQTT listening to the inverters, but I’m completely stumped at getting these to automate anything.

Can you possibly share any of the steps you have used or code?

Thank you so much.

Phil