-
-
Notifications
You must be signed in to change notification settings - Fork 508
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
no yield per day after sunset with HMS-Series, HM is ok #1397
Comments
since I disabled the "poll inverter at night" this did not occur any more for me. |
thanks, i will give it a try :-) I don´t understand - how to even poll the inverters at night - they don´t send anything when there is no input? |
I also have several HMS here and have never been able to see the daily yield after sunset. I also deactivated nighttime polling. Since OpenDTU can determine the day itself, smaller values from the same inverter should be ignored - it would be even better to cumulate them if necessary. |
I changed the settings for "poll inverter at night" - still strange , now another of the 3 HMS shows a yield per day, the others zero - musst be really a bug? The HM-Inverters show all as expected |
Not really a bug in openDTU but an area where improvements could be made. The HMS switches off at some point at dusk. If it gets a little brighter at some point, it starts again, usually doesn't provide any energy, but for it it's still a "new day" and it and delivers 0 values... |
I am currently bad out of order. But please change the eventlog. Is it possible that your hms inverters reboot at evening? In this case the daily counter is resettet. Happens when e.g. at the evening the wether is cloudy and at the end the sun still comes out a bit to power the inverter again. Hm and hms might react differently here. |
--> tbnobody - get well soon :-) What do you mean with changing the event log? You are right, it could definetly be possible they reboot, show zero because of that event |
I mean, have look at the event log. Sry. Brain is mud. In the event log should see the last startup time of the inverter. |
sorry if it sounds stupid, but where to see the event log? :-) info - console? |
Ne. It's in the live view. I top of each in inverter are several buttons. One is for the event log |
strange: Inverter 1 - YPD 0 - inverter start 19:17 The HM all say Inverter Start around 7:14 |
Maybe hm require less power to keep them operational. But there is already a first walkaroumd for this issue. Will have a detailed look and modify maybe the on or other thing. Bit this feature will come in if I am back. |
Take your time :-) It´s fascianting, - what i observe, HM are generally better regarding output |
Duplicate of #1268 ? I proposed a fix to cache the YieldDay values. The problem can be observed when the interver restarts
|
Grey means that you've disabled polling at night. And that it is currently night. |
I do also have this exact issue with my HMS. For my understanding: |
Same issue here. 2 HM. No issues. One HMS YPD gone after sunset |
Same here HMS800 T2. (Newest Version) v23.11.16 |
IMO, the difference between HM and HMS is, that the HMS will start to communicate much earlier than the HM. The electronics of both inverters are powered by solar and as soon as there is enough power, they will start feeding to AC. For the HM this will be also the time when it starts communicating. But not so with the HMS. It will already communicate as soon as there is enough DC power. Attached are two images from a HM700 with 2 panels and HMS2000 with 3 panels on a winter's day with solar panels covered with snow. The purple line is AC power, the other lines are DC power from the solar panels. |
Yes, its basically that the chance of the HMS to stop transmitting due to sunset and then getting alive again for a few seconds short after seems significantly higher than with the HM series. |
Agree, I noted this problem long ago. At daychange the offset value needs to get resetted. Due to new implementations this could maybe done elsewhere. |
It's already in my dev branch. But I am currently out of order. Therefor. Please keep patient. |
@tbnobody: Patience is not a problem for me. Thanks for your great work! Gute Besserung! |
@tbnobody Gute Besserung! |
Thanks for the update and all the best! |
@pimisen |
Thanks to @broth-itk for the idea! Fix: #1258 #1397
This should be fixed with 1de3b48 You can enable this feature per inverter. |
@tbnobody I just flashed the firmware.zip. I'll report how it will work today afternoon if the inverter restarts.... |
Yes, but is that cumulative? To me it looks like the offset is just stored and when |
@chris299 You can just restart the inverter from GUI. This will have the same effect. |
Great idea!! I've just tested it.... and it seems to work as expected. |
Ah, I see. Good - the day hasn't ended yet, so I'll revert my change now and see what happens after inverter restart. |
The fix is included in todays version: https://github.com/tbnobody/OpenDTU/releases/tag/v23.12.18 I am going to close this issue. Please feel free to open it again if there are still issues. |
@tbnobody looks like something else went wrong now: |
If you compile yourself, you could try this one: diff --git a/lib/Hoymiles/src/Hoymiles.cpp b/lib/Hoymiles/src/Hoymiles.cpp
index 4cd3ef0..e7b3d26 100644
--- a/lib/Hoymiles/src/Hoymiles.cpp
+++ b/lib/Hoymiles/src/Hoymiles.cpp
@@ -133,10 +133,12 @@ void HoymilesClass::loop()
if (currentWeekDay != lastWeekDay) {
for (auto& inv : _inverters) {
+ // Have to reset the offets first, otherwise it will
+ // Substract the offset from zero which leads to a high value
+ inv->Statistics()->resetYieldDayCorrection();
if (inv->getZeroYieldDayOnMidnight()) {
inv->Statistics()->zeroDailyData();
}
- inv->Statistics()->resetYieldDayCorrection();
}
lastWeekDay = currentWeekDay; |
@tbnobody unfortunately I'm not able to compile it myself.... BTW: Thank you very much for your effort and commitment! 👍 🙏 |
I am pretty sure that fixes the issue. will be included in todays release. |
Please tell me your version number. "latest" is not enough. |
@tbnobody: OpenDTU v23.12.18 I've just noticed a new setting "Tagesertragskorrektur", wasn't aware about that. As far as I was concerned, the code looks to work as designed - thanks! |
@kr0815 @chris299 @Lineflyer could you test again with OpenDTU v23.12.18/19 ? |
I just tested with the patch from #1397 (comment) applied to v23.12.18 and built from source. Daily yield was perfectly reset to zero in the morning and started to grow on sunrise. |
23.12.19 worked fine for me so far @stefan123t |
i tried with V19 - rebootet the inverter twice - looks like it works :-) |
@tbnobody suggest to close this issue as fixed in 23.12.18/19. |
Yes, it also works with my HMS-1600 without further issues now! Thanks @tbnobody |
* Optimize Sun data calculation * Remove not required enum * Split config struct into different sub structs * Feature: Allow configuration of LWT QoS * Made resetreason methods static * Feature: Implement offset cache for "YieldDay" Thanks to @broth-itk for the idea! Fix: #1258 tbnobody#1397 * Add Esp32-Stick-PoE-A * remove broken LilyGO_T_ETH_POE config, use device profile instead * Feature: High resolution Icon and PWA (Progressive Web App) functionality Fix: #1289 * webapp: Update dependencies * Initialize TaskScheduler * Migrate SunPosition to TaskScheduler * Migrate Datastore to TaskScheduler * Migrate MqttHandleInverterTotal to TaskSchedule * Migrate MqttHandleHass to TaskScheduler * Migrate MqttHandleDtu to TaskScheduler * Migrate MqttHandleInverter to TaskScheduler * Migrate LedSingle to TaskScheduler * Migrate NetworkSettings to TaskScheduler * Migrate InverterSettings to TaskScheduler * Migrate MessageOutput to TaskScheduler * Migrate Display_Graphic to TaskScheduler * Migrate WebApi to TaskScheduler * Split InverterSettings into multiple tasks * Calculate SunPosition only every 5 seconds * Split LedSingle into multiple tasks * Upgrade espMqttClient from 1.4.5 to 1.5.0 * Doc: Correct amount of MPP-Tracker * Added HMT-1600-4T and HMT-1800-4T to DevInfoParser Fix tbnobody#1524 * Adjusted inverter names for HMS-1600/1800/2000-4T * Add channel count to description of detected inverter type (DevInfoParser) * Adjust device web api endpoint for dynamic led count * Feature: Added ability to change the brightness of the LEDs Based on the idea of @moritzlerch with several modifications like pwmTable and structure * webapp: Update dependencies * Update olikraus/U8g2 from 2.35.7 to 2.35.8 * Remove not required onWebsocketEvent * Remove code nesting * Introduce several const statements * Remove not required AsyncEventSource * Doc: Added byte specification to each command * Feature: Added basic Grid Profile parser which shows the used profile and version Other values are still outstanding. * Optimize AlarmLogParser to save memory * Add libfrozen to project to create constexpr maps * Feature: First version of GridProfile Parser which shows all values contained in the profile. * webapp: Update dependencies * Apply better variable names * Remove not required casts * Add additional compiler flags to prevent errors * Add const statement to several variables * Replace NULL by nullptr * Update bblanchon/ArduinoJson from 6.21.3 to 6.21.4 * Add const keyword to method parameters * Add const keyword to methods * Use references instead of pointers whenver possible * Adjust member variable names in MqttSettings * Adjust member variable names in NetworkSettings * webapp: Update timezone database to latest version * webapp: Beautify and unify form footers * Feature: Allow setting of an inverter limit of 0% and 0W Thanks to @madmartin in #1270 * Feature: Allow links in device profiles These links will be shown on the hardware settings page. * Doc: Added hint regarding HMS-xxxx-xT-NA inverters * Feature: Added DeviceProfile for CASmo-DTU Based on tbnobody#1565 * Upgrade actions/upload-artifact from v3 to v4 * Upgrade actions/download-artifact from v3 to v4 * webapp: add app.js.gz * Gridprofileparser: Added latest known values Thanks to @stefan123t and @noone2k * webapp: Fix lint errors * Feature: Add DTU to Home Assistant Auto Discovery This is based on PR 1365 from @CFenner with several fixes and optimizations * Fix: Remove debug output as it floods the console * Fix: Gridprofileparser: Add additional error handling if profile is unknown * webapp: add app.js.gz * Fix: Offset cache for "YieldDay" did not work correctly * webapp: update dependencies * webapp: add app.js.gz * Fix: yarn.lock was outdated * Fix: yarn build error * Fix: Reset Yield day correction in combination with Zero Yield Day on Midnight lead to wrong values. * Fix: Allow negative values in GridProfileParser * Correct variable name * Fix tbnobody#1579: Static IP in Ethernet mode did not work correctly * Feature: Added diagram to display This is based on the idea of @Henrik-Ingenieur and was discussed in tbnobody#1504 * webapp: update dependencies * webapp: add app.js.gz --------- Co-authored-by: Thomas Basler <[email protected]> Co-authored-by: Pierre Kancir <[email protected]>
This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new discussion or issue for related concerns. |
What happened?
I have 2 OpenDTU-Installations
After sunset, i see on the HM-1200 inverters the yield by day
In the HMS-Installation, YPD shows zero after sunset
To Reproduce Bug
what shall i say :-)
Expected Behavior
see YPD for both installations
Install Method
Pre-Compiled binary from GitHub
What git-hash/version of OpenDTU?
v23.9.18
Relevant log/trace output
No response
Anything else?
No response
The text was updated successfully, but these errors were encountered: