Skip to content

Add script to read power from DDSU666 Monophase - #278

Open
Wind06 wants to merge 4 commits into
reserve85:mainfrom
Wind06:main
Open

Add script to read power from DDSU666 Monophase#278
Wind06 wants to merge 4 commits into
reserve85:mainfrom
Wind06:main

Conversation

@Wind06

@Wind06 Wind06 commented May 31, 2026

Copy link
Copy Markdown
Contributor

Changelog & Improvements Summary
Project: Optimized GetPowerFromDDSU666.sh for HoymilesZeroExport + OpenDTU Original Script:

Basic Modbus reading with mbpoll from DDSU666
Simple sign inversion
Basic spike filtering
MQTT publishing
No low production protection

Major Improvements:

Retry Mechanism: Added multiple attempts on mbpoll reads for better reliability. Intelligent Spike Filtering: Uses previous valid reading with weighted averaging to smooth noisy values. Production-Aware Logic: Automatically detects solar production level by querying OpenDTU API. Low Production Mode (Morning / Evening / Cloudy days): Softer filtering on negative spikes
Floor protection (-65W)
Strongly reduces brutal limit drops

Configuration: User must set their own OPENDTU_URL (IP address of their OpenDTU instance).

Main Benefits:

Much more stable behavior during sunrise, sunset, and variable/cloudy weather. Significantly fewer sudden inverter power limit crashes. Better balance between zero-export and maximizing self-consumption. Daily grid export reduced from ~1.7 kWh to ~100-250 Wh.

Changelog & Improvements Summary
Project: Optimized GetPowerFromDDSU666.sh for HoymilesZeroExport + OpenDTU
Original Script:

Basic Modbus reading with mbpoll from DDSU666
Simple sign inversion
Basic spike filtering
MQTT publishing
No low production protection


Major Improvements:

Retry Mechanism: Added multiple attempts on mbpoll reads for better reliability.
Intelligent Spike Filtering: Uses previous valid reading with weighted averaging to smooth noisy values.
Production-Aware Logic: Automatically detects solar production level by querying OpenDTU API.
Low Production Mode (Morning / Evening / Cloudy days):
Softer filtering on negative spikes
Floor protection (-65W)
Strongly reduces brutal limit drops

Configuration: User must set their own OPENDTU_URL (IP address of their OpenDTU instance).


Main Benefits:

Much more stable behavior during sunrise, sunset, and variable/cloudy weather.
Significantly fewer sudden inverter power limit crashes.
Better balance between zero-export and maximizing self-consumption.
Daily grid export reduced from ~1.7 kWh to ~100-250 Wh.
@Wind06

Wind06 commented May 31, 2026

Copy link
Copy Markdown
Contributor Author

Hi, I added this script based on my current setup.
It works fine on my installation, but feel free to review, modify, or adapt it as needed.
Let me know if you need more details.

Wind06 added 3 commits June 1, 2026 12:02
Updated script to optimize power reading for variable weather conditions and added configuration for OpenDTU IP address.
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.

1 participant