lmirel / MorphingClockRemix

a remix on the work of HarryFun's MorphingClock
https://www.instructables.com/id/Morphing-Digital-Clock/
78 stars 30 forks source link

Time not changed for DST #16

Closed TheLion closed 5 years ago

TheLion commented 5 years ago

Hi,

Any ideas how to make the clock automatically adapt for DST? We just switched here last night and now the clock runs an hour late :-(

Already restarted it, but no change.

Any thoughts are welcome.

Thanks!

lmirel commented 5 years ago

hi, it doesn't support automatic DST. if you use the wifi manager version, adjust the timezone variable. if you use the no-wm branch, use the latest patch and go to http://[esp-ip]/ and see the available options for DST

TheLion commented 5 years ago

I use wifi manager, but unfortunately, starting it in AP mode and changing the timezone variable, doesn't save it. It is back to previous setting on restart.

And on top of that, my USB port seems to have died, So I can't upload a new firmware.

lmirel commented 5 years ago

wow, so DST is the least of your issues.. I guess you can't capture the console output either.. it would have been interesting to know what happens.

parameters saving issue is related to the flash/storage state. many people had to erase and reformat their flash several times before restoring functionality in some cases. hopefully you can arrange a replacement unit soon.

TheLion commented 5 years ago

USB port was a PC issue. After reboot it worked again. Pfew...

Flashed the no-wm branch and set the DST settings. Works great! Are these settings saved somewhere? So when the unit is restarted for some reason, the correct settings are loaded.

lmirel commented 5 years ago

for the moment I don't store them as I'm trying to figure out using some storage while avoiding flashfs. I need to find some time to dig into this and update the code.

TheLion commented 5 years ago

Ah. No problem.

I did find some possibilities to set the DST automatically

https://forum.arduino.cc/index.php?topic=96891.0

https://www.instructables.com/id/The-Arduino-and-Daylight-Saving-Time-Europe/

I'm no Arduino programmer, but it seems quite straightforward. 😉

If automated, you don't need to store anything. Problem solved 😂

lmirel commented 5 years ago

yes, they work fine if you had an RTC available (an additional chip for managing Real Time Clock) that's always powered by some battery so the time is kept in sync and updated automagically ;-)=

TheLion commented 5 years ago

Haha. That's the difference between you and me. You understand the code, I don't. 😔

lmirel commented 5 years ago

I may end up using Flash File System.. as soon as I find the time for it.

TheLion commented 5 years ago

Thanks! Will keep an eye on this thread.

lmirel commented 5 years ago

done as a quick hack. remember to configure the Flash Size in Tools menu to 4M (1M SPIFFS). on first boot, the screen will flicker during SPIFFS init and that's normal. it shouldn't happen afterwards. look at the debug console for stuff like:

0:17:51.366 -> SPIFFS Initialize....ok 00:17:51.366 -> var 0: 00:17:51.366 -> var 1: 00:17:51.366 -> var 2: 00:17:51.366 -> var 3: 1 00:17:51.366 -> var 4: Y 00:17:51.366 -> var 5: Y 00:17:51.366 -> var 6: D.M.Y 00:17:51.366 -> var 7: 00:17:51.366 -> var 8: 00:17:51.366 -> var 9: 00:17:51.366 -> var 10: 00:17:51.366 -> var 11: 00:17:51.366 -> var 12: 00:17:51.366 -> var 13: true 00:17:51.366 -> var 14: 00:17:51.402 -> timezone=1 00:17:51.402 -> military=Y 00:17:51.402 -> metric=Y 00:17:51.402 -> date-format=D.M.Y 00:17:51.402 -> dst=true

lmirel commented 5 years ago

let me know if it works for you or not. thanks

TheLion commented 5 years ago

Looks good!

SPIFFS Initialize....ok var 0: var 1: var 2: var 3: 1 var 4: Y var 5: Y var 6: D-M-Y var 7: var 8: var 9: var 10: var 11: var 12: var 13: true var 14: timezone=1 military=Y metric=Y date-format=D-M-Y dst=true

Thanks!

lmirel commented 5 years ago

indeed, it looks good. thanks