Skip to content
View in the app

A better way to browse. Learn more.

Power Forum - Renewable Energy Discussion

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

SunSynk Logger Integration into Home Assistant

Featured Replies

  • Replies 948
  • Views 130.8k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • randomfool
    randomfool

    I am making good progress on converting slip06x excellent dashboard to work with Gary's brilliant work on gathering the data from the latest Sunsynk inverters remotely. Will publish the dashboard

  • @Gary Waterworth   Did a quick YouTube video on how to install your software and to get the data into HASS, no cards or anything so very basic.  Please let me know what you guys think of my first

  • randomfool
    randomfool

    Ok here goes; caveats to begin with - I am no HA expert, in fact I only discovered HA a few weeks ago through Gary's post and his subsequent links to slip06x dashboard, so my ability to provide "suppo

Posted Images

Updated version of the Octopus Agile tariff automation working with @Gary Waterworth new version 2.

Made an adjustment to set sstimer1 to nearest 30 minute segment in the past to avoid throwing node warnings and align with the new version 2; sstimer2 is set to 23:30 at all times unless sstimer1 is also 23:30 in which case it changes sstimer2 to 00:00 to avoid issues, the trade off is it will not control the inverter for the last 30 minutes of the day.

For my own personal version I have modified Gary's script slightly so that it accepts 23:55 as an input. If you care enough about controlling the inverter automatically for the last 25 of the 30 minute window between 23:30 and 00:00 you could copy this logic also to avoid any node warnings.

Sunsynk Automation V4.json

Edited by randomfool

  • Author
4 hours ago, HowserMD said:

@Gary Waterworth, sent via DM.

Need the rest of the info :)

But send Screenshots of all the sunsynk_usable_* entities so we can see what is populated ad a sscreenshot of teh flows so we can see what has been successfully completed

Edited by Gary Waterworth

  • Author
4 hours ago, randomfool said:

Updated version of the Octopus Agile tariff automation working with @Gary Waterworth new version 2.

Made an adjustment to set sstimer1 to nearest 30 minute segment in the past to avoid throwing node warnings and align with the new version 2; sstimer2 is set to 23:30 at all times unless sstimer1 is also 23:30 in which case it changes sstimer2 to 00:00 to avoid issues, the trade off is it will not control the inverter for the last 30 minutes of the day.

For my own personal version I have modified Gary's script slightly so that it accepts 23:55 as an input. If you care enough about controlling the inverter automatically for the last 25 of the 30 minute window between 23:30 and 00:00 you could copy this logic also to avoid any node warnings.

Sunsynk Automation V4.json 11.82 kB · 1 download

Move away from doing direct web calls.

image.png.1d16d891c92b5e9f7dd1f14a20e395f7.png

Rather update these entities and let teh flows manage teh web calls as there is a lot of error checking and failsafes built in.

You will also avoid some possible race conditions

image.thumb.png.f9209c0a38e099e10c8186884e72ea1c.png

image.png.d089813a31b0c9af4d8bb35b0796e3b3.png

image.thumb.png.88e5583962420a0c55d80a30700ad758.png

This is what my flows looks like for automation

image.thumb.png.4177e98223ca3bc1cb839875ba6ceb61.png

The update portion of code :

var newmsg = {};
newmsg.payload = {};
newmsg.payload.target = {};
newmsg.payload.data = {};
newmsg.payload.target.entity_id = global.get("SS.mapping.inverter.cap2.entityid");
newmsg.payload.data["value"] = msg.payload;
newmsg.payload["service"] = "set_value";
newmsg.payload["domain"] = "input_text";
return newmsg;

 

Edited by Gary Waterworth

8 minutes ago, Gary Waterworth said:

Need the rest of the info :)

But send Screenshots of all the sunsynk_usable_* entities so we can see what is populated ad a sscreenshot of teh flows so we can see what has been successfully completed

Here are the screenshots

 

image.thumb.png.0d0bfbfd98b79644f6d5ebe3cefa3e2a.png

image.thumb.png.30f0ed799bd26560026fb29220e9020f.pngimage.thumb.png.f0aee7c25d31cda532140d01f7e04fda.pngimage.thumb.png.318c76a2b440b7d194ecbd6b5a5c7c2d.pngimage.thumb.png.a33ccd24ff5191718a9a3940e63e30c7.pngimage.thumb.png.f89217db00193293b3768dbaa836e492.pngimage.thumb.png.36be1fb7e2402594e16220684cdd263f.pngimage.thumb.png.70e5dc8c16f199489179c34f8b07ed0a.pngimage.thumb.png.1eba7af586654b98f85dc96f16031b41.pngimage.thumb.png.35d27fc77921293387a869b5a79a255a.pngimage.thumb.png.432c08dc10bdbfec4e187de6e5a84d3a.pngimage.thumb.png.023c32c450fd49ff7dac002242c226ec.pngimage.thumb.png.be29d82f1d4213140235cee229a5c845.png

image.thumb.png.ab4a6014fc8f366fd9f7a5fa5948673b.png

image.thumb.png.c4c31c2fb79ca7659a8917355f638b1f.png

  • Author
14 minutes ago, HowserMD said:

Here are the screenshots

 

 

 

Look slike your secrets file is not being read properly

Check it again for space before and after the sn and plant id

Then reboot the home assistant device , not just a home assistant restart

This will reset the global context data which survives a HA restart

Also send me a screenshot of teh flows so I can see if everything has run correctly

Edited by Gary Waterworth

9 minutes ago, Gary Waterworth said:

Look slike your secrets file is not being read properly

Check it again for space before and after the sn and plant id

Then reboot the home assistant device , not just a home assistant restart

 

Also send me a screenshot of teh flows so I can see if everything has run correctly

I checked the secrets (attached below). Could not find any spaces after. Rebooted the home assistant in any case.

 

image.png.f5933b83cefce224640c67fa06ea0bc3.png

  • Author
11 minutes ago, HowserMD said:

I checked the secrets (attached below). Could not find any spaces after. Rebooted the home assistant in any case.

 

image.png.f5933b83cefce224640c67fa06ea0bc3.png

And teh rest of teh info requested ?

Cant help if I cant see what is going on.

Also check this entity

image.thumb.png.d20610034172f62e681d046515e8b537.png

 

Edited by Gary Waterworth

20 minutes ago, Gary Waterworth said:

Look slike your secrets file is not being read properly

Check it again for space before and after the sn and plant id

Then reboot the home assistant device , not just a home assistant restart

This will reset the global context data which survives a HA restart

Also send me a screenshot of teh flows so I can see if everything has run correctly

Rebooted home assistant.

Here is the screenshot of the flows

image.thumb.png.d55b0c9aab18ebf587652a864518366b.png

2 minutes ago, Gary Waterworth said:

That looks correct for teh flows that matter for gathering. Can you also show me that single flow that is on its own tab

image.png.8fae0696d5f62dbff9ff686bd0dca561.png

  • Author
7 minutes ago, HowserMD said:

@Gary Waterworth, context data as requested.

 

 

Turn off all the debug nodes that you have turned on . This is looking definately like a plant id/sn issue

The source data is fine. The exporting to usable sensors isnt and it looks like all values where a "sn" is used

Where teh "tab" is extended

image.png.dcf5c336e9c70cb627e7bb2995b9ff88.png

Then clear debug mesages

Wait for a gather run and send me the debug messages list

There is not a lot of error checking in that export node yet, so may have to add some

 

 

Edited by Gary Waterworth

Just an observation from my end but are you sure your serial numbers are the correct way around?

my sn_flow is a 6 digit number

my sn_data is a 10 digit number

It kinda looks reversed on your screenshot @HowserMD

Edited by -cK-

13 minutes ago, -cK- said:

Just an observation from my end but are you sure your serial numbers are the correct way around?

my sn_flow is a 6 digit number

my sn_data is a 10 digit number

It kinda looks reversed on your screenshot @HowserMD

You are right, will swap them around and restart.

1 hour ago, HowserMD said:

You are right, will swap them around and restart.

Did that and most of the issues are resolved. Not sure about Enable SunSynk Auto Mode.

image.png.ca99825dded08dd026f2f831a01119b8.png

 

Question, does this work both ways, that is updates from home assistant to sunsynk and visa versa or is it only display only from home assistant?

 

image.png.648e11a92ddeab9532e70e413563e26a.png

4 hours ago, Gary Waterworth said:

Move away from doing direct web calls.

image.png.1d16d891c92b5e9f7dd1f14a20e395f7.png

Rather update these entities and let teh flows manage teh web calls as there is a lot of error checking and failsafes built in.

You will also avoid some possible race conditions

image.thumb.png.f9209c0a38e099e10c8186884e72ea1c.png

image.png.d089813a31b0c9af4d8bb35b0796e3b3.png

image.thumb.png.88e5583962420a0c55d80a30700ad758.png

This is what my flows looks like for automation

image.thumb.png.4177e98223ca3bc1cb839875ba6ceb61.png

The update portion of code :

var newmsg = {};
newmsg.payload = {};
newmsg.payload.target = {};
newmsg.payload.data = {};
newmsg.payload.target.entity_id = global.get("SS.mapping.inverter.cap2.entityid");
newmsg.payload.data["value"] = msg.payload;
newmsg.payload["service"] = "set_value";
newmsg.payload["domain"] = "input_text";
return newmsg;

 

Superb advice thank you will look into this tomorrow.

  • Author
3 hours ago, -cK- said:

Just an observation from my end but are you sure your serial numbers are the correct way around?

my sn_flow is a 6 digit number

my sn_data is a 10 digit number

It kinda looks reversed on your screenshot @HowserMD

Will check teh code tomorrow and make sure 

 

  • Author
1 hour ago, HowserMD said:

Did that and most of the issues are resolved. Not sure about Enable SunSynk Auto Mode.

image.png.ca99825dded08dd026f2f831a01119b8.png

 

Question, does this work both ways, that is updates from home assistant to sunsynk and visa versa or is it only display only from home assistant?

 

image.png.648e11a92ddeab9532e70e413563e26a.png

Enable Sunsynk Auto Mode is a Boolean entity that when set true will set settings in the inverter.

Be carefull and go check the initial value I set in the configuration.yaml

If you enable this IT WILL go set your inverter.

With it enabled then that dashboard will update Sunsynk with any changes you make. 

 

In my automation dashboard I have a boolean switch I enable to allow updates to Sunsynk 

image.thumb.png.47ac50559035bea5ea108ceb2c5d7681.png

Edited by Gary Waterworth

  • Author
10 hours ago, Benseb said:

Hi all

 

yhis looks great. Been looking for an automation that doesn’t rely upon direct cabling into the inverter

 

my main use case is to automate force charging when we get a cheap period on our so toous Intelligent tarrif outside of the normal hours. 
 

Before I start integrating can I check…

 

1. This will allow me to force charge (maybe my toggling the “Use timers” setting?

 

2. Presume it’s best to use v2?

 

I have a 10kW 3 phase Sunsynk inverter 

Yes to both q . I will be archiving v1

  • Author

Added error checking that plant and invertor sn's configured are in discovered plant and inverter lists for gathering and setting of values.

Will debate on the merits of auto configuring, but it may have some downsides.

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.