Menu Close

Time Zones

Set a time zone rule

The firmware accepts a POSIX TZ rule. This allows the node to automatically switch between daylight saving time and standard time without a time server and without a fixed UTC offset.

  • Console: --settz <regel> sets the rule, --settz none Delete them.
  • Web Setup: "Time Zone" field (maximum 39 characters).
  • The rule is saved in node_tz. On the ESP32, when it starts up for the first time CET-1CEST,M3.5.0,M10.5.0/3 set by default.
  • --utcoff Delete the rule again (fixed UTC offset).

Example: --settz CET-1CEST,M3.5.0,M10.5.0/3

Structure of the Rule

Name Offset [SommerName [Offset] ,Beginn,Ende]

  • Name: at least 3 letters, or the form <+0530>. A maximum of 7 characters will be saved.
  • Offset: [+-]hh[:mm[:ss]] with POSIX sign, that is, positive in the West: CET-1 means UTC+1, EST5 means UTC-5.
  • If the daylight saving time offset is missing, standard time plus 1 hour applies.
  • Rules only in this form Mm.w.d[/zeit]: Month 1–12, Week 1–5 (5 = last), Day of the week 0–6 (0 = Sunday). Local time, default 02:00, up to 167 hours, including times beyond 24 hours.
  • The start time is based on standard time, and the end time is based on daylight saving time.
  • Maximum of 39 characters.

Rejected Forms

Input Firmware Report
J– or rules for calculating the number of days (J60, 59) only M rules supported (Mm.w.d)
longer than 39 characters too long (max 39 characters)
Everything else (syntax errors, names that don't follow the rules) format (std offset dst,Mm.w.d/time,Mm.w.d/time)

Table

The strings correspond to the POSIX lines in the IANA tzdata (as of October 2026, verified against the tzdata on the development server). The "UTC Offset" column indicates standard time / daylight saving time. Each string is tested by the test test/test_tz_rule Tested to ensure that the document and firmware remain in sync.

Region Time zone (IANA, for reference) TZ string UTC offset (winter/summer) DST rule
UTC UTC UTC0 +0 / +0 none
Europe Europe/London GMT0BST,M3.5.0/1,M10.5.0 +0 / +1 From last Sunday, March 1, 01:00 UTC, to last Sunday, October 1, 01:00 UTC
Europe Europe/Dublin GMT0IST,M3.5.0/1,M10.5.0 +0 / +1 as London (tzdata is written as IST-1GMT0 with negative DST; use the format listed)
Europe Europe/Lisbon WET0WEST,M3.5.0/1,M10.5.0 +0 / +1 as London
Europe Europe/Vienna (including Berlin, Zurich, Rome, Warsaw, Prague, Budapest, Zagreb, Ljubljana, Amsterdam, Brussels, Paris, and Madrid) CET-1CEST,M3.5.0,M10.5.0/3 +1 / +2 Last Sunday, March 2, at 2:00 a.m. to last Sunday, October 3, at 3:00 a.m. local time (1:00 a.m. UTC for both)
Europe Europe/Athens (including Helsinki, Bucharest, Sofia, Kyiv, Riga, Tallinn, and Vilnius) EET-2EEST,M3.5.0/3,M10.5.0/4 +2 / +3 Last Sunday, March 3, at 3:00 a.m. to last Sunday, October 4, at 4:00 a.m. local time (1:00 a.m. UTC for both)
Europe Europe/Moscow MSK-3 +3 / +3 none
Europe Europe/Istanbul <+03>-3 +3 / +3 none
Europe Atlantic/Reykjavik GMT0 +0 / +0 none
North America America/New_York (Eastern) EST5EDT,M3.2.0,M11.1.0 -5 / -4 2nd Sun Mar 02:00 to 1st Sun Nov 02:00 local time
North America America/Chicago (Central) CST6CDT,M3.2.0,M11.1.0 -6 / -5 as New York
North America America/Denver (Mountain) MST7MDT,M3.2.0,M11.1.0 -7 / -6 as New York
North America America/Phoenix (Arizona) MST7 -7 / -7 none
North America America/Los_Angeles (Pacific) PST8PDT,M3.2.0,M11.1.0 -8 / -7 as New York
North America America/Anchorage (Alaska) AKST9AKDT,M3.2.0,M11.1.0 -9 / -8 as New York
North America Pacific/Honolulu (Hawaii) HST10 -10 / -10 none
North America America/Halifax (Atlantic) AST4ADT,M3.2.0,M11.1.0 -4 / -3 as New York
North America America/St. Johns (Newfoundland) NST3:30NDT,M3.2.0,M11.1.0 -3:30 / -2:30 as New York
North America America/Mexico_City CST6 -6 / -6 none (abolished in 2022)
South America America/Sao_Paulo (Brazil) <-03>3 -3 / -3 none (abolished in 2019)
South America America/Argentina/Buenos_Aires <-03>3 -3 / -3 none
South America America/Bogotá (Colombia) <-05>5 -5 / -5 none
South America America/Santiago (Chile) <-04>4<-03>,M9.1.6/24,M4.1.6/24 -4 / -3 1st Sat Sep 24:00 (i.e., Sun 00:00) to 1st Sat Apr 24:00 local time; Southern Hemisphere, DST over the New Year
Africa Africa/Johannesburg (South Africa) SAST-2 +2 / +2 none
Africa Africa/Lagos (Nigeria) WAT-1 +1 / +1 none
Africa Africa/Cairo (Egypt) EET-2EEST,M4.5.5/0,M10.5.4/24 +2 / +3 From last Friday, April 00:00 to last Thursday, October 24:00 local time (DST reinstated in 2023)
Asia Asia/Kolkata (India) <+0530>-5:30 +5:30 / +5:30 none
Asia Asia/Kathmandu (Nepal) <+0545>-5:45 +5:45 / +5:45 none
Asia Asia/Dubai (UAE) <+04>-4 +4 / +4 none
Asia Asia/Tehran (Iran) <+0330>-3:30 +3:30 / +3:30 none (abolished in 2022)
Asia Asia/Jerusalem (Israel) IST-2IDT,M3.4.4/26,M10.5.0 +2 / +3 Friday before the last Sunday at 2:00 a.m. (rule: 4th Thursday at 2:00 a.m. local time) through the last Sunday at 2:00 a.m.
Asia Asia/Shanghai (China) CST-8 +8 / +8 none
Asia Asia/Hong Kong HKT-8 +8 / +8 none
Asia Asia/Singapore <+08>-8 +8 / +8 none
Asia Asia/Tokyo (Japan) JST-9 +9 / +9 none
Asia Asia/Seoul (South Korea) KST-9 +9 / +9 none
Australia Australia/Sydney (including Melbourne, Canberra, and Hobart) AEST-10AEDT,M10.1.0,M4.1.0/3 +10 / +11 1st Sun Oct 02:00 to 1st Sun Apr 03:00 local time; Southern Hemisphere
Australia Australia/Brisbane (Queensland) AEST-10 +10 / +10 none
Australia Australia/Adelaide ACST-9:30ACDT,M10.1.0,M4.1.0/3 +9:30 / +10:30 as Sydney
Australia Australia/Darwin ACST-9:30 +9:30 / +9:30 none
Australia Australia/Perth AWST-8 +8 / +8 none
New Zealand Pacific/Auckland NZST-12NZDT,M9.5.0,M4.1.0/3 +12 / +13 Last Sunday, September 2, at 2:00 a.m. to the first Sunday, April 3, at 3:00 a.m. local time; Southern Hemisphere

Notes:

  • Dublin: tzdata itself writes IST-1GMT0,M10.5.0,M3.5.0/1 (negative daylight saving time). The firmware uses the equivalent form listed here.
  • The column offsets use the standard notation (east is positive), while the string uses the POSIX sign convention (west is positive).

Rules change for political reasons

Countries are either abolishing or reintroducing daylight saving time (Brazil in 2019, Mexico and Iran in 2022, Egypt in 2023). Check the current rule before entering it. On Linux and macOS, the last line of the zone file outputs the POSIX string:

tail -1 /usr/share/zoneinfo/Europe/Vienna
CET-1CEST,M3.5.0,M10.5.0/3

Does the file provide a form with J-If there are rules, negative daylight saving time, or more than 39 characters, it must be rewritten by hand (shorten the name, <+03>(Use the -form option).