Senec plus Tibber Energy Optimization

Hi everyone,

I have a PV system combined with a Senec DUO V3 Hybrid, where I’ve upgraded the battery packs to provide around 14 kWh of capacity. Recently, I switched to Tibber using the Smart Meter Gateway, which allows me to receive hourly updates on my energy consumption. I’m not using Tibber Pulse for this setup.

My main goal was to find a way to charge the Senec batteries during low-price periods, force charging when needed, or even set up time-based charging schedules. While Solaranzeige.de supports these features and can also integrate with EVCC to manage wallbox charging, I found the setup to be a bit too complex for my needs.

The Senec binding doesn’t offer this functionality, but the Senec API Gateway does. So, I took some time to analyze the commands being sent, traced how the frontend interacts with the system, and used this knowledge to create a set of OpenHAB rules. I also developed frontend examples, added debugging options, and built Grafana dashboards to monitor what’s happening in real-time.

If you’re wondering what you might have missed, just open your Senec’s IP address in a browser, navigate to Setup, and click on Maintenance (Wartung) to explore the available options.


If you want to charge, a potential curl command is:

curl -k -X POST "https://<your_IP>/lala.cgi" -H "Content-Type: application/json" -d '{"ENERGY":{"SAFE_CHARGE_FORCE":"u8_01","SAFE_CHARGE_PROHIBIT":"","SAFE_CHARGE_RUNNING":"","LI_STORAGE_MODE_START":"","LI_STORAGE_MODE_STOP":"","LI_STORAGE_MODE_RUNNING":""}}'

Switching back to default is this command:

curl -k -X POST "https://<your_IP>/lala.cgi" -H "Content-Type: application/json" -d '{"ENERGY":{"SAFE_CHARGE_FORCE":"","SAFE_CHARGE_PROHIBIT":"u8_01","SAFE_CHARGE_RUNNING":"","LI_STORAGE_MODE_START":"","LI_STORAGE_MODE_STOP":"","LI_STORAGE_MODE_RUNNING":""}}'

Be aware that these are undocumented commands and I take over no guarantee that this works forever. I furthermore take no guarantee that your Senec reamions undamaged!

There are also some other command combinations that might be used but I will not disclose them here.

:warning: Disclaimer:

The commands I’m using are undocumented, meaning there is no guarantee that they will continue to work in the future. Additionally, I cannot guarantee that your Senec system will remain unaffected or undamaged when using these methods—you proceed at your own risk!

There are also other possible command combinations that might work, but I will not disclose them here.

I am using habpanel to manage everything, plus a little component in Main UI for selecting time slots.


All the items I am unsing in my openhab System for managing time are integrated in the Main UI, wheres everything else is kept in habpanel plus grafana.

I also created a little frontend for debugging purposes in habpanel in which I may simulate prices and can work with various conditions and testing plans to verify that weverything works correctly.

Here is a view on my Senec System and multiple parameters of it:


My Tibber pricing plus charging is shown here.

I have no idea why the on / off state seems to be. in a tristate (the yellow dotted line) but still investigating it.

Maybe you got some ideas on how to evolve your smart home. I definitely have some things in mind:

  1. Integrating my wallbox, wich is per default unmanageable. I will either switch it to modbus or investigate the senec cloud environment to keep everything as it is (It a Senec WB aka ABL EMH1)
  2. Integrate my Nibe F series heating and optimize energy consumption

In case I missed soomething to move into the repository please let me know and I will add it to it and/or send it via email.

If you want to pull the configuration it is available in this github: GitHub - jogbaer70/senec_openhab_integration: This repository is about the integration of senec V3DUO Hybrid into openhab in combination with tibber flex pricing.

My system configuration is fully built on Raspberry PIs

  1. My openhabPI runs on a RPi 5, 16 GByte Ram with PCI enabled and 1 TB SSD
  2. My InfluxDBPI runs InfluxDB V2. on a RPi5, 8GByte Ram with PCI enabled and 2 TB SSD as a central DB service aggregating data from other systems that I run in my home environment

Great stuff! And comes in time as I got my Senec 4 weeks ago. Not yet in the topic you describe above, but anyhow interested in general.
When I put the IP address of my Senec into the browser (Safari, Chrome) I do not get anything. Ping works.

Just to clarify, " open your Senec’s IP address" means what my Fritz box shows as the provided home network IP address, not mySenec.de. Correct?

right!
You need to use https://<your_IP> to access the frontend.
Did you get a Senec 4 or did you get a Senec 4 weeks ago - if that is the case, which Senec do you own and will see what I can find out for you.