I run my EMS-ESP on timezone UTC to avoid "time warps" when the time switches between DST and standard time. (I do this for all my "servers" or other devices that log into my central logging solution, Graylog.)
When I want to set my thermostat's time to the current NTP time, it uses the same timezone which is obviously undesired, because on the thermostat for sure I want to have the localtime.
So my feature request is to have an extra timezone field for the timezone to be used when updating the thermostat time.
{"system":{"version":"3.8.3-dev.8","uptime":"001+02:16:55.689","uptimeSec":94615,"resetReason":"Software reset CPU / Software reset CPU","platform":"ESP32","cpuType":"ESP32-D0WD-V3","arduino":"ESP32 Arduino v2.0.17","sdk":"v4.4.7-dirty","freeMem":147,"maxAlloc":107,"freeCaps":4163,"usedApp":2381,"freeApp":2291,"partition":"app1","flash_chip_size":16384,"psram":true,"psramSize":4093,"freePsram":4049,"model":"BBQKees Electronics E32V2.2 rev.2.2/2025081","txpause":false,"gpios_allowed":"2, 4, 5, 14, 32, 34, 36, 39","gpios_in_use":"4, 5, 14, 32, 34, 36, 39","gpios_available":"2"},"network":{"network":"WiFi","hostname":"ems-esp","RSSI":-50,"WIFIReconnects":0,"BSSID":"set","TxPowerSetting":0,"staticIP":false,"lowBandwidth":false,"disableSleep":true,"enableMDNS":true,"enableCORS":false},"ntp":{"NTPstatus":"connected","enabled":true,"server":"time.google.com","tzLabel":"Europe/Berlin","timestamp":1782757544,"NTPStatus":"connected"},"ap":{"provisionMode":"disconnected","ssid":"ems-esp","security":"wpa2","channel":7,"ssidHidden":false,"maxClients":4,"localIP":"192.168.4.1","gatewayIP":"192.168.4.1","subnetMask":"255.255.255.0"},"mqtt":{"MQTTStatus":"connected","MQTTPublishes":58529,"MQTTQueued":0,"MQTTPublishFails":0,"MQTTReconnects":0,"enabled":true,"clientID":"esp32-b9ffc9ec","keepAlive":60,"cleanSession":false,"entityFormat":3,"base":"ems-esp","discoveryPrefix":"homeassistant","discoveryType":0,"nestedFormat":1,"haEnabled":true,"mqttQos":0,"mqttRetain":false,"publishTimeHeartbeat":60,"publishTimeBoiler":10,"publishTimeThermostat":10,"publishTimeSolar":10,"publishTimeMixer":10,"publishTimeWater":10,"publishTimeOther":60,"publishTimeSensor":10,"publishSingle":false,"publish2command":false,"sendResponse":false},"syslog":{"enabled":true,"syslogStarted":true,"syslogLevel":"debug","syslogIP":"192.168.2.7","syslogQueue":0},"modbus":{"enabled":false},"sensor":{"temperatureSensors":1,"temperatureSensorReads":18922,"temperatureSensorFails":0},"analog":{"enabled":true,"analogSensors":2,"analogSensorReads":10,"analogSensorFails":0},"api":{"APICalls":0,"APIFails":0},"bus":{"busStatus":"connected","busProtocol":"HT3","busTelegramsReceived":126432,"busReads":25231,"busWrites":2,"busIncompleteTelegrams":0,"busReadsFailed":2,"busWritesFailed":0,"busRxLineQuality":100,"busTxLineQuality":100},"settings":{"boardProfile":"E32V2_2","locale":"en","txMode":1,"emsBusID":11,"showerTimer":false,"showerMinDuration":180,"showerAlert":false,"hideLed":false,"noTokenApi":false,"readonlyMode":false,"fahrenheit":false,"dallasParasite":false,"boolFormat":1,"boolDashboard":1,"enumFormat":1,"analogEnabled":true,"telnetEnabled":true,"maxWebLogBuffer":100,"modbusEnabled":false,"forceHeatingOff":false,"developerMode":true},"devices":[{"type":"boiler","name":"Cerapur ZSB 14-3 A ..","deviceID":"0x08","productID":95,"brand":"Junkers","version":"18.08","entities":69,"handlersReceived":"0x10 0x11 0x15 0x1C 0x18 0x19 0x34 0x04","handlersFetched":"0x14 0x16 0x33","handlersPending":"0xBF 0xC2 0xC6 0x1A 0x35 0x27 0x2A 0x2E 0x3B","handlersIgnored":"0x1E 0x23"},{"type":"thermostat","name":"FW200","deviceID":"0x10","productID":106,"brand":"Junkers","version":"12.12","entities":48,"handlersReceived":"0x06","handlersFetched":"0x016F 0x0170 0x0165 0x0166 0x01D3 0x011E","handlersPending":"0xA3 0xA2 0x12 0x13 0x0171 0x0172 0x0167 0x0168 0xBB 0x23","handlersIgnored":"0xBE"},{"type":"mixer","name":"IPM","deviceID":"0x21","productID":100,"brand":"Junkers","version":"20.07","entities":4,"handlersReceived":"0x010C","handlersPending":"0x011E","handlersIgnored":"0x23 0xBE 0x010B"},{"type":"solar","name":"ISM1","deviceID":"0x30","productID":101,"brand":"Junkers","version":"23.03","entities":8,"handlersFetched":"0x0103 0x0101","handlersPending":"0x0104","handlersIgnored":"0xBE"},{"type":"controller","name":"HT3","deviceID":"0x09","productID":95,"brand":"","version":"18.08","entities":0},{"type":"temperaturesensor","name":"temperaturesensor","entities":1},{"type":"analogsensor","name":"analogsensor","entities":2}]}
DESCRIPTION
I run my EMS-ESP on timezone UTC to avoid "time warps" when the time switches between DST and standard time. (I do this for all my "servers" or other devices that log into my central logging solution, Graylog.)
When I want to set my thermostat's time to the current NTP time, it uses the same timezone which is obviously undesired, because on the thermostat for sure I want to have the localtime.
So my feature request is to have an extra timezone field for the timezone to be used when updating the thermostat time.
REQUESTED INFORMATION
Make sure your have performed every step and checked the applicable boxes before submitting your issue. Thank you!
http://<IP>/api/system{"system":{"version":"3.8.3-dev.8","uptime":"001+02:16:55.689","uptimeSec":94615,"resetReason":"Software reset CPU / Software reset CPU","platform":"ESP32","cpuType":"ESP32-D0WD-V3","arduino":"ESP32 Arduino v2.0.17","sdk":"v4.4.7-dirty","freeMem":147,"maxAlloc":107,"freeCaps":4163,"usedApp":2381,"freeApp":2291,"partition":"app1","flash_chip_size":16384,"psram":true,"psramSize":4093,"freePsram":4049,"model":"BBQKees Electronics E32V2.2 rev.2.2/2025081","txpause":false,"gpios_allowed":"2, 4, 5, 14, 32, 34, 36, 39","gpios_in_use":"4, 5, 14, 32, 34, 36, 39","gpios_available":"2"},"network":{"network":"WiFi","hostname":"ems-esp","RSSI":-50,"WIFIReconnects":0,"BSSID":"set","TxPowerSetting":0,"staticIP":false,"lowBandwidth":false,"disableSleep":true,"enableMDNS":true,"enableCORS":false},"ntp":{"NTPstatus":"connected","enabled":true,"server":"time.google.com","tzLabel":"Europe/Berlin","timestamp":1782757544,"NTPStatus":"connected"},"ap":{"provisionMode":"disconnected","ssid":"ems-esp","security":"wpa2","channel":7,"ssidHidden":false,"maxClients":4,"localIP":"192.168.4.1","gatewayIP":"192.168.4.1","subnetMask":"255.255.255.0"},"mqtt":{"MQTTStatus":"connected","MQTTPublishes":58529,"MQTTQueued":0,"MQTTPublishFails":0,"MQTTReconnects":0,"enabled":true,"clientID":"esp32-b9ffc9ec","keepAlive":60,"cleanSession":false,"entityFormat":3,"base":"ems-esp","discoveryPrefix":"homeassistant","discoveryType":0,"nestedFormat":1,"haEnabled":true,"mqttQos":0,"mqttRetain":false,"publishTimeHeartbeat":60,"publishTimeBoiler":10,"publishTimeThermostat":10,"publishTimeSolar":10,"publishTimeMixer":10,"publishTimeWater":10,"publishTimeOther":60,"publishTimeSensor":10,"publishSingle":false,"publish2command":false,"sendResponse":false},"syslog":{"enabled":true,"syslogStarted":true,"syslogLevel":"debug","syslogIP":"192.168.2.7","syslogQueue":0},"modbus":{"enabled":false},"sensor":{"temperatureSensors":1,"temperatureSensorReads":18922,"temperatureSensorFails":0},"analog":{"enabled":true,"analogSensors":2,"analogSensorReads":10,"analogSensorFails":0},"api":{"APICalls":0,"APIFails":0},"bus":{"busStatus":"connected","busProtocol":"HT3","busTelegramsReceived":126432,"busReads":25231,"busWrites":2,"busIncompleteTelegrams":0,"busReadsFailed":2,"busWritesFailed":0,"busRxLineQuality":100,"busTxLineQuality":100},"settings":{"boardProfile":"E32V2_2","locale":"en","txMode":1,"emsBusID":11,"showerTimer":false,"showerMinDuration":180,"showerAlert":false,"hideLed":false,"noTokenApi":false,"readonlyMode":false,"fahrenheit":false,"dallasParasite":false,"boolFormat":1,"boolDashboard":1,"enumFormat":1,"analogEnabled":true,"telnetEnabled":true,"maxWebLogBuffer":100,"modbusEnabled":false,"forceHeatingOff":false,"developerMode":true},"devices":[{"type":"boiler","name":"Cerapur ZSB 14-3 A ..","deviceID":"0x08","productID":95,"brand":"Junkers","version":"18.08","entities":69,"handlersReceived":"0x10 0x11 0x15 0x1C 0x18 0x19 0x34 0x04","handlersFetched":"0x14 0x16 0x33","handlersPending":"0xBF 0xC2 0xC6 0x1A 0x35 0x27 0x2A 0x2E 0x3B","handlersIgnored":"0x1E 0x23"},{"type":"thermostat","name":"FW200","deviceID":"0x10","productID":106,"brand":"Junkers","version":"12.12","entities":48,"handlersReceived":"0x06","handlersFetched":"0x016F 0x0170 0x0165 0x0166 0x01D3 0x011E","handlersPending":"0xA3 0xA2 0x12 0x13 0x0171 0x0172 0x0167 0x0168 0xBB 0x23","handlersIgnored":"0xBE"},{"type":"mixer","name":"IPM","deviceID":"0x21","productID":100,"brand":"Junkers","version":"20.07","entities":4,"handlersReceived":"0x010C","handlersPending":"0x011E","handlersIgnored":"0x23 0xBE 0x010B"},{"type":"solar","name":"ISM1","deviceID":"0x30","productID":101,"brand":"Junkers","version":"23.03","entities":8,"handlersFetched":"0x0103 0x0101","handlersPending":"0x0104","handlersIgnored":"0xBE"},{"type":"controller","name":"HT3","deviceID":"0x09","productID":95,"brand":"","version":"18.08","entities":0},{"type":"temperaturesensor","name":"temperaturesensor","entities":1},{"type":"analogsensor","name":"analogsensor","entities":2}]}TO REPRODUCE
Steps to reproduce the behavior:
EXPECTED BEHAVIOUR
A clear and concise description of what you expected to happen.
SCREENSHOTS
If applicable, add screenshots to help explain your issue.
ADDITIONAL CONTEXT
Add any other context about the issue here.
(Please remember to close the issue when it has been addressed)