Demandshaper EVSE timezone issue?

I’ve been having problems with demand shaper the last few weeks being in a perpetual “Settings mismatch” mode whilst in “Smart” mode. Today I finally spent a little time with demandshaper on my phone whilst standing by the EVSE, and I’ve noticed that the timer is being updated, but the times are all one hour off. I’m in the UK, now on daylight savings time, so GMT+1.

For example: Demandshaper wants to set 13:30 to 15:30 (Localtime BST) and the timer on the EVSE gets set to 12:30 to 14:30.

Are there timezone settings I need to make sure are set to the same thing?

I’m currently on the following versions:


  • low-write 10.2.1


  • Administration
  • App v2.1.1
  • Backup v2.2.2
  • EmonHub Config v2.0.5
  • Dashboard v2.0.7
  • DemandShaper v1.2.5
  • Device v2.0.5
  • EventProcesses
  • Feed
  • Graph v2.0.8
  • Input
  • Postprocess v2.1.2
  • CoreProcess
  • Schedule
  • Network Setup v1.0.0
  • sync
  • Time
  • User
  • Visualisation
  • WiFi v2.0.2



How does EVSE communicate - via MQTT? if so, have a look at what it is actually communicating in terms of the date time string (or epoch time).

ESP8266 are very bad at managing timezones.


If EVSE is in UTC time then that is correct. When (in local time) does it actually come on?

Yes, via MQTT.

EVSE clock is in local time zone, so it comes on one hour early.

I’ve disconnected demandshaper for the moment as I’m actually charging right now (major negative prices this afternoon), and don’t want it to stop things an hour early. Once it’s done I’ll have a play.

Can you post the exact messages between them please when you do.

If either send an ISO string then it is important whether the timezone part is included.

Hi Paul,

It’s important when using demand shaper that the timezone on Emoncms is set correctly, see Account page:

The demand shaper sends the start-end time to the OpenEVSE. The OpenEVSE currently does not handle timezone, all the timezone conversion is done on Emoncms.

In WiFi 3.x (ESP32) upgrade for the OpenEVSE this is due to change, the OpenEVSE will be able to handle timezone and update time automatically via NTP e.g

What is the format of that time/date string? Do you include the TZ or do you send epoch?

It’s just a time string, no date e.g 3am - 5am

Yuck. At least do it as a proper ISO string and leave the TZ off so the other end knows to treat it as local time. And we wonder why we have so many issues with time…

@PaulS did @glyn.hudson’s suggestion work for you? I double checked mine here and its working fine with the hour change, with settings as Glyn suggests, Europe/London timezone … not Lisbon