Add NTP time request from gateway (#17984)

This commit is contained in:
Theo Arends 2023-03-01 10:58:02 +01:00
parent 9f30836854
commit 63408f3a7d
3 changed files with 18 additions and 14 deletions

View File

@ -9,6 +9,7 @@ All notable changes to this project will be documented in this file.
- Matter subscriptions (#18017, #18018)
- Matter multi-fabric (#18019)
- Support for multiple MCP23017 as switch/button/relay
- NTP time request from gateway (#17984)
### Breaking Changed

View File

@ -112,6 +112,8 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm
## Changelog v12.4.0.1
### Added
- Support for multiple MCP23017 as switch/button/relay
- NTP time request from gateway [#17984](https://github.com/arendst/Tasmota/issues/17984)
### Breaking Changed

View File

@ -1254,13 +1254,14 @@ uint64_t WifiGetNtp(void) {
IPAddress time_server_ip;
char fallback_ntp_server[16];
snprintf_P(fallback_ntp_server, sizeof(fallback_ntp_server), PSTR("%d.pool.ntp.org"), random(0,3));
char fallback_ntp_server[2][32];
ext_snprintf_P(fallback_ntp_server[0], sizeof(fallback_ntp_server[0]), PSTR("%_I"), Settings->ipv4_address[1]); // #17984
ext_snprintf_P(fallback_ntp_server[1], sizeof(fallback_ntp_server[1]), PSTR("%d.pool.ntp.org"), random(0,3));
char* ntp_server;
for (uint32_t i = 0; i <= MAX_NTP_SERVERS; i++) {
if (ntp_server_id > MAX_NTP_SERVERS) { ntp_server_id = 0; }
ntp_server = (ntp_server_id < MAX_NTP_SERVERS) ? SettingsText(SET_NTPSERVER1 + ntp_server_id) : fallback_ntp_server;
for (uint32_t i = 0; i < MAX_NTP_SERVERS +2; i++) {
if (ntp_server_id >= MAX_NTP_SERVERS +2) { ntp_server_id = 0; }
ntp_server = (ntp_server_id < MAX_NTP_SERVERS) ? SettingsText(SET_NTPSERVER1 + ntp_server_id) : fallback_ntp_server[ntp_server_id - MAX_NTP_SERVERS];
if (strlen(ntp_server)) {
break;
}