question

oxident avatar image
oxident asked

[solved] 3rd party ESS with inverters

Hello!

I'm a fresh Victron user trying to start with this ecosystem.

Currently I already own an 3rd party storage system with built-in inverters (Senec Home v3) and a grid-tied Fronius Symo. Energy measurement is done by the Senec system using a meter before grid connection.

I am able to read out every parameter and already started pushing this to the dBus on Venus OS installation.

But now I have no clue on how to plan further development: Should I simply count everything together to "emulate" an inverter in order to let Venus do the maths or should I directly skip this and switch to ESS mode 3?

I would really love to let Venus control my fresh Multiplus/Battery package on its own without writing own decision algorithms...

ESSVenus OS
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

2 Answers
oxident avatar image
oxident answered ·

Okay, played a little bit with different templates and already finished two little scripts which take care of the Senec parts:

venus.dbus-senec-enfluri

venus.dbus-senec-inverter

With these two scripts, I can use the Senec meter (ABB EnFluRi) as a grid meter for Venus OS. Now I'm also able to see the production stats of the internal inverters.

Maybe I could help someone out there ;-)

10 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

techmuc avatar image techmuc commented ·

@oxident : One question - in my iobroker version ( https://github.com/timostark/venus.dbus-iobroker-smartmeter ) the consumption is generally working fine. I still have a small issue that the consumption from grid stays at zero in VRM (while the consumption itself is perfect). Is that working for you, and if yes do you know which parameters I need to set?


1660040706733.png

1 Like 1 ·
1660040706733.png (31.2 KiB)
oxident avatar image oxident techmuc commented ·
Wow, that looks interesting. Didn't know about your project. I'll definitely will do now and let you know :-D
0 Likes 0 ·
techmuc avatar image techmuc oxident commented ·

It is just a plain copy of your code, just calling iobroker instead of some properitary service. So 99% reuse (and still hard-coded ips :D)


I am just confused why the from/to grid stays zero for me.. Is that working for you?

@oxident

0 Likes 0 ·
oxident avatar image oxident techmuc commented ·

Are you sure, the Power-Datapoints are sufficient? Maybe you need to fill some more datapoints like voltage and current...

Hmm, that seems to work for me. But I haven't take a look at the VRM portal. For now, I've only used the local console for testing/debugging purposes.

But there are also some strange things happen on my installation but I guess that's more because of the battery feed-in/-out from the Senec storage.

I would really like to focus on your idea because I'm using iobroker anyway and I'm also going to code the ESS logic within iob (ESS mode 3). It's way more flexible for such a complex setup...

1 Like 1 ·
techmuc avatar image techmuc oxident commented ·

That's also why I like the iobroker approach. In my code atm I only have the power as I don't get more from my smartmeter.. but ofc it is super flexible with the config file. Will play around later and set some other values.. BTW I am also using ess mode 3 - pretty cool to have full control :)


Question : the energy reverse and energy forward - are those absolute values (always counting forward) or just live values (I.e. Is the unit wh or w for your Senec installation?) @oxident


0 Likes 0 ·
techmuc avatar image techmuc techmuc commented ·
just fyi @oxident - I resolved the issue now by providing the EnergyForeward and EnergyReverse values. VRM is now showing the power bought and sold from grid correctly. Change is also pushed..
1 Like 1 ·
oxident avatar image oxident techmuc commented ·
Great! I guess we should continue in your separate thread ;-)
1 Like 1 ·
techmuc avatar image techmuc commented ·
@oxident Thank you very much for the repo.


A side question: you are transferring current and voltage as provided by senec. The cheapest possible solution for reading the current consumption would be an ir reader connected to the smart meter. This however only provides the power - not the voltage / current. Is there any chance that you have a look what happens if you do only transfer those values:

self._dbusservice['/Ac/L1/Power'] = self._floatFromHex(meter_data['PM1OBJ1']['P_AC'][0]) self._dbusservice['/Ac/L2/Power'] = self._floatFromHex(meter_data['PM1OBJ1']['P_AC'][1]) self._dbusservice['/Ac/L3/Power'] = self._floatFromHex(meter_data['PM1OBJ1']['P_AC'][2])


And comment the rest?

If that is at least not crashing I could implement a dbus solution for my ir smart meter.


0 Likes 0 ·
oxident avatar image oxident techmuc commented ·
Well, quite sure that it will work. Nevertheless, you're always free to use dummy or calculated values for unknown topics.

But keep in mind that an accurate (and low latency) measurement is the key for an efficient ESS management ;-)

0 Likes 0 ·
techmuc avatar image techmuc oxident commented ·
Thanks, that is enough :) will hack a little today and give it a try.
0 Likes 0 ·
sventehof avatar image
sventehof answered ·

Hallo @oxident ,

dank deiner Services konnte ich sehr schnell unseren Senec Speicher einbinden, dafür besten Dank!
Hast du auch schon überlegt, die Batterien mit einzubinden?
An alles Daten kommt man ran, wenn du mir zeigen könntest, was mach beachten muss und wir die Einbindung erfolgt, so würde ich mich an die Programmierung einer entsprechenden Erweiterung wagen.
Für HomeAssistant habe ich es schon umgesetzt ;-)

1 comment
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

oxident avatar image oxident commented ·
Freut mich, dass es Dir ein wenig geholfen hat. Viel mehr kann man wohl leider nicht machen da man den Senec ja nicht wirklich kontrollieren kann.


Derzeit nutze ich ebenfalls eine wild selbstprogrammierte JS-Lösung im iobroker in Verbindung mit der externen Steuerung des Multiplus (Mode 2). Das klappt, aber ich halte es für besser, sowas direkt im Node Red auf dem Cerbo/Raspi zu machen.

Wenn Du also loscoden willst, fang lieber gleich da an und steuere mit HA nur die "Randbedingungen" ;-)

0 Likes 0 ·