Skip to content

Feature soliscontrol#434

Merged
stevebuk1 merged 90 commits into
mainfrom
feature_soliscontrol
Apr 6, 2026
Merged

Feature soliscontrol#434
stevebuk1 merged 90 commits into
mainfrom
feature_soliscontrol

Conversation

@stevebuk1
Copy link
Copy Markdown
Owner

Major changes:
#404 - update to allow operation with AppDaemon v0.17.X onwards. The major version of Pv_opt has been rolled to v5, as backwards compatibility with previous versions of AppDaemon are untested. Please update AppDaemon to latest release.
It is recommended to change the header of your config.yaml file to match the following (global modules in Appdeamon have been deprecated and thus cause warnings):

# Internal configuration --- DO NOT EDIT ---
pv_opt:
  module: pv_opt
  class: PVOpt
  log: pv_opt_log
  prefix: pvopt
  debug: false
  # User configuration ---  EDIT AWAY! ---

Introduce support for https://github.com/mkuthan/solis-cloud-control as a method of controlling the inverter via SolisCloud, as an alternative to the controls built in to https://github.com/hultenvp/solis-sensor, which are experimental/beta. A suitable dashboard is provided in .dashboards\pvopt_dashboard_soliscloud_v2.yaml
Additional template sensors are required for this dashboard, refer to the README for this release here:
https://github.com/stevebuk1/pv_opt/blob/main/README.md

#419: Introduce support for Octopus Free Electricity Sessions. This is currently untested as a session has not been scheduled since the Beta Release containing the changes was released.

#413 - Update to maintain compatibility with Solcast autodampening feature, added at Solcast v4.0.0. Pv_opt logs the dampening factors to assist with use of this Solcast feature.

Trial code release for #418: Pv_opt now uses Calendar entries as provided by the BottleCapDave Octopus Integration, in preparation for existing methods being deprecated in May 2026. Affects Saving Sessions and Free Electricity Sessions.

Refactor: move EV power subtraction to separate def, no code changes.

Partial development for Sunsynk inverters has been included but is WIP, see #424.

Note: the incompatibility with Numpy 2.0.0 was resolved in HomeAssistant 2025.2. Please ensure your HA version is at least this release or later before installing v5.0.0.

Bugfixes:

Bugfix for mixed timezones issue encountered just before 29th March 2029 clocks change (no issue number raised)

Bugfix for #415: The day of week weighting guides the contribution of two arrrays. One is an average of all 7 days. The other is from what it was last week on that particular day. Whilst they are the same length (and there is a check for that), they start at different times so all the final summations are off. This fix rectifies that. Note: day of week weighting only works if Load_history_days is set to 7 (or 14, or other multiple of a week). Further fixes for this are WIP.

Bugfix for #424: Add "_" to calls to host to sunsynk.py to match solis.py refactor performed in earlier releases.

Bugfix for #423: in def write_and_poll_time, a) change variable time to times to avoid possible confusion with time.sleep and b) change verbose to false (couple into debug mode is future work).
Correct bug in solis.py so that value of id_timed_charge_discharge_button is loaded from config.yaml if an override is in place.

Bugfix for #417: Change clearing of hold slots such that inverter is not written to (bug in commit 5f976a2):

Additional trial Bugfix for #412: Savings events cause Pv_opt to hang
Address issues encountered during development of #411. When using https://github.com/mkuthan/solis-cloud-control, unnecessary writes to the inverter are now suppressed, in line with the other inverter integrations.

Bugfix/ Workaround for #410: V16.0.0 of the Octopus Integration moves to a new Octopus API endpoint that no longer reports the planned kWh to be dispatched to the car in each 1/2 hour slot for those users on Intelligent Go. This release zeros the kWh reporting such that Pv_opt continues to function. A future release will remove the kWh reporting.

fboundy and others added 30 commits May 31, 2025 22:23
HASS "get_history" now reports local time, not UTC.

Note "- global" still required in config.yaml.
The "dependencies:" entries are no longer required, AppDaemon now manages dependencies automatically. As per previous commits declaring a module global is no longer required.
v16.0.0 of the Octopus Energy Integration doesn't reliably report "charge_in_kwh" as an attribute attached to intelligent_dispatching. Add checks to see if it is there and populate dataframes with zeros if not.
…ar charging plan

As of 27th August 2025, Octopus API will no longer provide kWh data for each EV charging slot. Remove from dashboard. Field is retained for Agile car charging purposes.
Correct syntax error in Config.yaml.
stevebuk1 and others added 28 commits April 3, 2026 22:25
Updated descriptions for Load History Days, Weekday Weighting, and Shape Consumption Profile parameters to include additional details/correct typos
Updated the table formatting for EV parameters in README.md.
Removed donation section for Mountain Rescue Team from README.
Migrated to use the new calendar entity for free electricity events, replacing the deprecated event entity.
Updated links and descriptions for Solis integrations in README.
Added a detailed table of contents to the README for easier navigation and included additional information about the application and its benefits.
Updated introduction section for clarity and conciseness.
Removed the Table of Contents title from the README.
Update feature from main
Updated links to point to the new repository locations for Solis integration and configuration files.
Removed extra code block markers from log examples.
@stevebuk1 stevebuk1 merged commit 8f3330e into main Apr 6, 2026
@stevebuk1 stevebuk1 deleted the feature_soliscontrol branch April 6, 2026 21:39
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