marxram / spidr

Privacy for Deye Microinverters using ESP 8266 / 32 module
11 stars 1 forks source link

NTP GMT/DST offset not set #17

Open aexeler opened 2 weeks ago

aexeler commented 2 weeks ago

Hello, thanks for this Tool! My spid is running, only the "Aktuelle Zeit" schows GMT, in the config is NTP-Server set to: de.pool.ntp.org, NTP is Active and GMT offset is 1, and DST offset is 2. Any Idea? Greets Andreas

marxram commented 2 weeks ago

Hi, Unfortunately the DST Feature from the library seems to be buggy (not my code, but included lib)

But 2 for DST does not make much sense, or? It means summertime is 2h off the wintertime for your Region?

But also the lib seems to have issue during the boot. Maye we can investigate into a better time lib.

aexeler commented 2 weeks ago

Hi,Sure, DST is 1 hours more then Wintertime.Can i help to find a other lib?Greetings Andreas Am 07.07.2024 21:28 schrieb xRAM @.***>: Hi, Unfortunately the DST Feature from the library seems to be buggy (not my code, but included lib) But 2 for DST does not make much sense, or? It means summertime is 2h off the wintertime for your Region? But also the lib seems to have issue during the boot. Maye we can investigate into a better time lib.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

Schrambang commented 1 week ago

Hi, try this: spidr line 386: configTime(GMT_OFFSET_SECONDS, 0, NTP_SERVER.c_str(), NTP_FALLBACK_SERVER.c_str()); configTime(GMT_OFFSET_SECONDS, DST_OFFSET_SECONDS, NTP_SERVER.c_str(), NTP_FALLBACK_SERVER.c_str()); // changed 0 --> DST_OFFSET_SECONDS It is also important to reset the board after changing something at the web interface config options ;-)

Greetings Harald

aexeler commented 1 week ago

Hi, i am sorry, change spide line 386 to: configTime(GMT_OFFSET_SECONDS, DST_OFFSET_SECONDS, NTP_SERVER.c_str(), NTP_FALLBACK_SERVER.c_str()); but the time is still GMT. I think i make an mistake, i wrote 1 (h) in the config for GMT Offset, not 3600 (s). then i test with 3600 i get a 1h offset, but DST is still not running, so set GMT offset to 7200 (s). That works in the moment. Thanks for help. Greets Andreas

Schrambang commented 1 week ago

Hi Andreas, I made exactly the same mistake and then made a correction in the web interface config options: 1 h --> 3600 s. As I wrote above, it is important to restart the board after changing something in the config options of the web interface, either with a reset or by a power cycle. Before I used the concerning binary for my board. There I used the same workaround with the offset GMT+DST at the GMT input. Hope this helps.

Greetings Harald

marxram commented 1 week ago

Hi @Schrambang & @aexeler :

I was also wondering if it would be a good idea to automatically reboot the ESP after Webserver Config changes, but the startup procedure would make the webserver unavailable for some time...

We could add a reboot Button somewhere or/and a note telling that some changes are only used after a reboot.

What do you think?

marxram commented 1 week ago

Hi Andreas, I made exactly the same mistake and then made a correction in the web interface config options: 1 h --> 3600 s. As I wrote above, it is important to restart the board after changing something in the config options of the web interface, either with a reset or by a power cycle. Before I used the concerning binary for my board. There I used the same workaround with the offset GMT+DST at the GMT input. Hope this helps.

Greetings Harald

Can you propose a fix or better info on the topic? If there is a easy fix, or a remark in the Webserver etc. then it would be doable.

Schrambang commented 1 week ago

for me the easiest way to solve this issue is to put the unit (s) behind the entry "GMT Offset:" and "DST Offset:" like e.g. "GMT Offset (s):" as it was done in the next block at the entry "WiFi Connect Wait (s)" in the web interface. Then it's clear to everyone that the offset must be specified in seconds and not in hours.

Schrambang commented 1 week ago

I was also wondering if it would be a good idea to automatically reboot the ESP after Webserver Config changes, but the startup procedure would make the webserver unavailable for some time...

We could add a reboot Button somewhere or/and a note telling that some changes are only used after a reboot.

I think it would be okay if there was a note telling that some changes would only take effect after a reboot. If I found a reboot button also there then I have the chance to force a reboot or not.

Can you confirm that after changing line 386 in the file spidr to configTime(GMT_OFFSET_SECONDS, DST_OFFSET_SECONDS, NTP_SERVER.c_str(), NTP_FALLBACK_SERVER.c_str()); // changed 0 --> DST_OFFSET_SECONDS the DST offset works.

Thanks for reply. Harald

aexeler commented 1 week ago

Hello Harald, yes, with changed "0 --> DST_OFFSET_SECONDS" and set GMT and DST offset to 3600 i´ll get the correct time!. thanks for help. Greets Andreas