Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Better Support for Solarflow Batteries without Cloud #1221

Open
wants to merge 41 commits into
base: development
Choose a base branch
from

Conversation

vaterlangen
Copy link

@vaterlangen vaterlangen commented Sep 3, 2024

This MR adds a new battery provider (index 7) to support Zendure Solarflow batteries using local MQTT broker.

Preconditions

In order to use this integration, the Solarflow system has to be "disconnected from cloud" (aka. configured to use the local MQTT broker instead of the pre configured vendor cloud). Please refer https://github.com/reinhard-brandstaedter/solarflow-bt-manager for details. If one can adjust answers on DNS queries (e.g. using OpenWRT as router), Solarflow can also be "disconnected from cloud" by returning the local broker IP for requests to mqtteu.zen-iot.com. The broker should be configured without authentication - or one has to gather the username passoword used by Solarflow.

Features

  • Query battery status from Solarflow
  • Display stats on LiveView
  • Publish stats via MQTT
  • HASS auto-discovery
  • Auto detection of AB1000 and AB2000 packs (currently only tested with my AB2000)
  • Time-sync for Solarflow
  • Sending settings to Solarflow
  • Set Zendure output limit fixed or via schedule (relative to sunrise/fall)
  • Configurable full charge intervals for battery (or better: BMS) conditioning

Main Page with battery data read from Solarflow

grafik

Configuration of new battery provider

grafik

Testing

Tested with my local setup consisting of

  • 1x HUB1200 / HUB2000
  • 2x AB2000
  • 1x HMT-2250
  • Mosquitto as local MQTT broker

@vaterlangen
Copy link
Author

vaterlangen commented Sep 3, 2024

Removed accidentally pushed stuff from branch

@vaterlangen vaterlangen marked this pull request as draft September 8, 2024 22:25
@AndreasBoehm
Copy link
Collaborator

I am wondering why we need this PR if there is already support for Zendure Batteries after this PR (#1127) has been merged? Or is that a different way to setup the battery?

@vaterlangen
Copy link
Author

vaterlangen commented Sep 11, 2024

With this PR, all battery data is read and displayed (as shown in the screenshot) - not only voltage and soc as implemented by #1127.It iis intended for Solarflow instances, that are not connected to the vendor cloud (but using local MQTT broker, as this requires sending some commands to the device, too) and not using the vendor App. On the settings page, one can already adjust some parameters, as maximum output power and soc limits.

As I discovered a better way to read data from the device, I'm currently reworking the code.

@vaterlangen vaterlangen changed the title Support for Solarflow Batteries Better Support for Solarflow Batteries without Cloud Sep 11, 2024
@vaterlangen
Copy link
Author

vaterlangen commented Sep 14, 2024

Initial post completely updated and ready for review

@vaterlangen vaterlangen marked this pull request as ready for review September 14, 2024 21:28
@schlimmchen schlimmchen force-pushed the development branch 2 times, most recently from 91cc2fc to 8ff94e7 Compare September 16, 2024 14:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants