Device does not boot after power loss unless manually power cycled

Whenever I have a power outage at home I have to remember to unplug and reconnect the 5v power to the IoTaWatt to manually reboot it. If I don’t do this, the device does not boot or record data at all. It’s a bit frustrating when I forget as I’ll have weeks of data lost sometimes.

When the power comes back on, the device has the “dull red” led state, and is not available on the network. After I power cycle it, things resume working but as mentioned there is no data recorded during this period between power loss and manual power cycle.

In the logs below, I had a power outage on Nov 10th, then realized I had to reboot on Dec 1. I had another power outage today (mar 18) at 21:26 and cycled the power at 21:41.

6/25/25 10:36:59 HVAC: Started
6/25/25 10:37:02 HVAC: Last log entry 06/25/25 04:41:50
6/25/25 10:37:02 TotalPower: Started
6/25/25 10:37:04 TotalPower: Last log entry 06/25/25 04:41:50
6/25/25 10:37:05 WaterSystem: Started
6/25/25 10:37:07 WaterSystem: Last log entry 06/25/25 04:41:45
6/25/25 10:37:38 Updater: service started. Auto-update class is MAJOR
6/25/25 10:37:38 WiFi connected. SSID=Pegasus, IP=10.1.1.114, channel=11, RSSI -57db
6/25/25 10:37:39 Updater: Auto-update is current for class MAJOR.
8/06/25 10:38:41 timeSync: Six week routine restart.

** Restart **

SD initialized.
8/06/25 14:38:43z Real Time Clock is running. Unix time 1754491123 
8/06/25 14:38:43z Reset reason: Software/System restart
8/06/25 14:38:43z Trace:  1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:1[4], 1:2[5], 9:0[5], 9:0, 9:1, 8:4, 8:6, 8:8, 9:3, 9:5, 9:9, 1:3, 1:3, 1:6[1], 1:6[2], 1:6[2], 1:6[2], 1:6[3], 1:5[20], 1:6[4], 20:0, 20:1
8/06/25 14:38:43z ESP8266 ID: 16295196, RTC PCF8523 (68)
8/06/25 14:38:43z IoTaWatt 5.0, Firmware version 02_08_03
8/06/25 14:38:43z SPIFFS mounted.
8/06/25 10:38:43 Local time zone: -5:00, using DST/BST when in effect.
8/06/25 10:38:43 device name: IotaWatt
8/06/25 10:38:43 HTTP server started
8/06/25 10:38:43 timeSync: service started.
8/06/25 10:38:43 statService: started.
8/06/25 10:38:43 dataLog: service started.
8/06/25 10:38:45 dataLog: Last log entry 08/06/25 10:38:40
8/06/25 10:38:48 historyLog: service started.
8/06/25 10:38:49 historyLog: Last log entry 08/06/25 10:38:00
8/06/25 10:38:49 WiFi connected. SSID=Pegasus, IP=10.1.1.114, channel=11, RSSI -59db
8/06/25 10:38:49 Updater: service started. Auto-update class is MAJOR
8/06/25 10:38:49 HVAC: Started
8/06/25 10:38:52 HVAC: Last log entry 08/06/25 10:38:40
8/06/25 10:38:53 Updater: Auto-update is current for class MAJOR.
8/06/25 10:38:53 TotalPower: Started
8/06/25 10:38:55 TotalPower: Last log entry 08/06/25 10:38:40
8/06/25 10:38:56 WaterSystem: Started
8/06/25 10:38:58 WaterSystem: Last log entry 08/06/25 10:38:40

** Restart **

SD initialized.
8/18/25 01:46:35z Real Time Clock is running. Unix time 1755481595 
8/18/25 01:46:35z Reset Reason: Power-fail restart.
8/18/25 01:46:35z ESP8266 ID: 16295196, RTC PCF8523 (68)
8/18/25 01:46:35z IoTaWatt 5.0, Firmware version 02_08_03
8/18/25 01:46:35z SPIFFS mounted.
8/17/25 21:46:36 Local time zone: -5:00, using DST/BST when in effect.
8/17/25 21:46:36 device name: IotaWatt
8/17/25 21:46:39 Connecting with WiFiManager.
8/17/25 21:46:42 HTTP server started
8/17/25 21:46:42 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -56db
8/17/25 21:46:42 timeSync: service started.
8/17/25 21:46:42 statService: started.
8/17/25 21:46:42 Updater: service started. Auto-update class is MAJOR
8/17/25 21:46:42 dataLog: service started.
8/17/25 21:46:45 dataLog: Last log entry 08/13/25 09:50:50
8/17/25 21:46:45 Updater: Auto-update is current for class MAJOR.
8/17/25 21:46:47 historyLog: service started.
8/17/25 21:46:49 historyLog: Last log entry 08/13/25 09:50:00
8/17/25 21:46:49 HVAC: Started
8/17/25 21:46:51 HVAC: Last log entry 08/13/25 09:50:50
8/17/25 21:46:52 TotalPower: Started
8/17/25 21:46:54 TotalPower: Last log entry 08/13/25 09:50:50
8/17/25 21:46:54 WaterSystem: Started
8/17/25 21:46:57 WaterSystem: Last log entry 08/13/25 09:50:45
8/17/25 21:49:45 Updater: Auto-update class changed to MINOR
8/17/25 21:49:46 Updater: Auto-update is current for class MINOR.
8/18/25 11:05:46 WiFi disconnected.
8/18/25 11:05:49 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -86db
8/18/25 13:55:39 WiFi disconnected.
8/18/25 13:55:42 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -56db
8/28/25 15:42:44 WiFi disconnected.
8/28/25 15:42:47 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -89db
8/29/25 18:40:50 WiFi disconnected.
8/29/25 18:40:53 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -59db
9/02/25 18:57:56 WiFi disconnected.
9/02/25 18:57:59 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -86db
9/04/25 14:32:14 WiFi disconnected.
9/04/25 14:32:44 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -88db
9/04/25 14:32:44 Updater: Invalid response from server. HTTPcode: -4
9/05/25 23:54:50 WiFi disconnected.
9/05/25 23:54:54 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -58db
9/11/25 22:47:17 WiFi disconnected.
9/11/25 22:48:17 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -91db
9/21/25 14:11:20 WiFi disconnected.
9/21/25 14:11:23 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -60db
9/28/25 21:52:46 timeSync: Six week routine restart.

** Restart **

SD initialized.
9/29/25 01:52:48z Real Time Clock is running. Unix time 1759110768 
9/29/25 01:52:48z Reset reason: Software/System restart
9/29/25 01:52:48z Trace:  1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:1[3], 1:2[4], 9:0[4], 9:0, 9:1, 8:4, 8:6, 8:8, 9:3, 9:5, 9:9, 1:3, 1:3, 1:6[1], 1:6[2], 1:6[2], 1:6[3], 1:5[20], 1:6[4], 20:0, 20:1
9/29/25 01:52:48z ESP8266 ID: 16295196, RTC PCF8523 (68)
9/29/25 01:52:48z IoTaWatt 5.0, Firmware version 02_08_03
9/29/25 01:52:48z SPIFFS mounted.
9/28/25 21:52:48 Local time zone: -5:00, using DST/BST when in effect.
9/28/25 21:52:48 device name: IotaWatt
9/28/25 21:52:48 HTTP server started
9/28/25 21:52:48 timeSync: service started.
9/28/25 21:52:48 statService: started.
9/28/25 21:52:48 dataLog: service started.
9/28/25 21:52:51 dataLog: Last log entry 09/28/25 21:52:45
9/28/25 21:52:53 historyLog: service started.
9/28/25 21:52:54 historyLog: Last log entry 09/28/25 21:52:00
9/28/25 21:52:54 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -64db
9/28/25 21:52:54 Updater: service started. Auto-update class is MINOR
9/28/25 21:52:54 HVAC: Started
9/28/25 21:52:57 HVAC: Last log entry 09/28/25 21:52:45
9/28/25 21:52:57 Updater: Auto-update is current for class MINOR.
9/28/25 21:52:57 TotalPower: Started
9/28/25 21:53:00 TotalPower: Last log entry 09/28/25 21:52:45
9/28/25 21:53:00 WaterSystem: Started
9/28/25 21:53:02 WaterSystem: Last log entry 09/28/25 21:52:45
10/07/25 02:12:33 Updater: Invalid response from server. HTTPcode: -4
10/08/25 17:29:07 WiFi disconnected.
10/08/25 17:30:27 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -59db
10/08/25 17:30:33 WiFi disconnected.
10/08/25 17:30:34 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -56db
10/12/25 03:11:38 WiFi disconnected.
10/12/25 03:12:04 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -90db
10/12/25 20:12:29 WiFi disconnected.
10/12/25 20:12:32 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -58db
10/13/25 07:31:35 WiFi disconnected.
10/13/25 07:47:09 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -59db
10/13/25 11:12:16 WiFi disconnected.
10/13/25 11:12:32 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -88db
10/14/25 03:00:41 WiFi disconnected.
10/14/25 03:00:45 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -64db
10/21/25 06:49:29 WiFi disconnected.
10/21/25 07:14:25 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -59db
10/26/25 17:24:44 WiFi disconnected.
10/26/25 17:26:15 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -91db
10/27/25 12:24:38 WiFi disconnected.
10/27/25 12:24:42 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -57db
11/05/25 06:19:30 WiFi disconnected.
11/05/25 06:19:35 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -89db
11/05/25 09:05:14 WiFi disconnected.
11/05/25 09:05:17 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -64db
11/09/25 21:16:38 timeSync: Six week routine restart.

** Restart **

SD initialized.
11/10/25 02:16:39z Real Time Clock is running. Unix time 1762740999 
11/10/25 02:16:39z Reset reason: Software/System restart
11/10/25 02:16:39z Trace:  1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:1[4], 1:2[5], 9:0[5], 9:0, 9:1, 8:4, 8:6, 8:8, 9:3, 9:5, 9:9, 1:3, 1:3, 1:6[1], 1:6[2], 1:6[2], 1:6[3], 1:5[20], 1:6[4], 20:0, 20:1
11/10/25 02:16:39z ESP8266 ID: 16295196, RTC PCF8523 (68)
11/10/25 02:16:39z IoTaWatt 5.0, Firmware version 02_08_03
11/10/25 02:16:39z SPIFFS mounted.
11/09/25 21:16:39 Local time zone: -5:00, using DST/BST when in effect.
11/09/25 21:16:39 device name: IotaWatt
11/09/25 21:16:39 HTTP server started
11/09/25 21:16:39 timeSync: service started.
11/09/25 21:16:39 statService: started.
11/09/25 21:16:39 dataLog: service started.
11/09/25 21:16:42 dataLog: Last log entry 11/09/25 21:16:35
11/09/25 21:16:44 historyLog: service started.
11/09/25 21:16:46 historyLog: Last log entry 11/09/25 21:16:00
11/09/25 21:16:46 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -66db
11/09/25 21:16:46 Updater: service started. Auto-update class is MINOR
11/09/25 21:16:46 HVAC: Started
11/09/25 21:16:48 HVAC: Last log entry 11/09/25 21:16:35
11/09/25 21:16:48 Updater: Auto-update is current for class MINOR.
11/09/25 21:16:49 TotalPower: Started
11/09/25 21:16:51 TotalPower: Last log entry 11/09/25 21:16:35
11/09/25 21:16:51 WaterSystem: Started
11/09/25 21:16:53 WaterSystem: Last log entry 11/09/25 21:16:35

** Restart **

SD initialized.
12/02/25 01:29:34z Real Time Clock is running. Unix time 1764638974 
12/02/25 01:29:34z Reset Reason: Power-fail restart.
12/02/25 01:29:34z ESP8266 ID: 16295196, RTC PCF8523 (68)
12/02/25 01:29:34z IoTaWatt 5.0, Firmware version 02_08_03
12/02/25 01:29:34z SPIFFS mounted.
12/01/25 20:29:35 Local time zone: -5:00, using DST/BST when in effect.
12/01/25 20:29:35 device name: IotaWatt
12/01/25 20:29:38 Connecting with WiFiManager.
12/01/25 20:29:41 HTTP server started
12/01/25 20:29:41 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -55db
12/01/25 20:29:41 timeSync: service started.
12/01/25 20:29:41 statService: started.
12/01/25 20:29:41 Updater: service started. Auto-update class is MINOR
12/01/25 20:29:41 dataLog: service started.
12/01/25 20:29:44 dataLog: Last log entry 11/10/25 09:25:35
12/01/25 20:29:44 Updater: Auto-update is current for class MINOR.
12/01/25 20:29:46 historyLog: service started.
12/01/25 20:29:47 historyLog: Last log entry 11/10/25 09:25:00

** Restart **

SD initialized.
12/02/25 01:31:35z Real Time Clock is running. Unix time 1764639095 
12/02/25 01:31:35z Reset reason: Exception
12/02/25 01:31:35z Trace:  10:16[1], 10:16[1], 10:16[1], 34:30, 34:30, 33:0, 34:30, 34:30, 34:30, 33:0, 34:30, 10:16[1], 34:30, 34:30, 33:0, 34:30, 10:16[1], 34:30, 34:30, 33:0, 34:30, 10:16[1], 34:30, 34:30, 33:0, 34:30, 10:16[2], 10:17, 10:17, 10:18, 10:23, 10:17
12/02/25 01:31:35z ESP8266 ID: 16295196, RTC PCF8523 (68)
12/02/25 01:31:35z IoTaWatt 5.0, Firmware version 02_08_03
12/02/25 01:31:35z SPIFFS mounted.
12/01/25 20:31:35 Local time zone: -5:00, using DST/BST when in effect.
12/01/25 20:31:35 device name: IotaWatt
12/01/25 20:31:35 HTTP server started
12/01/25 20:31:35 timeSync: service started.
12/01/25 20:31:35 statService: started.
12/01/25 20:31:35 dataLog: service started.
12/01/25 20:31:38 dataLog: Last log entry 12/01/25 20:31:30
12/01/25 20:31:40 historyLog: service started.
12/01/25 20:31:42 historyLog: Last log entry 11/12/25 09:00:00
12/01/25 20:31:42 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -57db
12/01/25 20:31:42 Updater: service started. Auto-update class is MINOR
12/01/25 20:31:43 Updater: Auto-update is current for class MINOR.
12/01/25 20:49:39 HVAC: Started
12/01/25 20:49:42 HVAC: Last log entry 11/10/25 09:25:35
12/01/25 20:49:42 TotalPower: Started
12/01/25 20:49:44 TotalPower: Last log entry 11/10/25 09:25:35
12/01/25 20:49:45 WaterSystem: Started
12/01/25 20:49:47 WaterSystem: Last log entry 11/10/25 09:25:30
12/19/25 19:39:30 WiFi disconnected.
12/19/25 19:39:34 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -95db
12/21/25 11:13:50 WiFi disconnected.
12/21/25 11:18:07 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -92db
12/21/25 11:22:27 WiFi disconnected.
12/21/25 11:23:50 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -92db
12/21/25 14:19:08 WiFi disconnected.
12/21/25 14:20:53 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -91db
12/21/25 14:41:07 WiFi disconnected.
12/21/25 14:45:32 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -91db
12/21/25 15:23:40 WiFi disconnected.
12/21/25 15:29:09 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -90db
12/21/25 20:14:43 WiFi disconnected.
12/21/25 20:14:46 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -63db
12/24/25 15:20:59 WiFi disconnected.
12/24/25 15:21:03 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -83db
12/24/25 21:07:31 WiFi disconnected.
12/24/25 21:07:35 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -66db
12/28/25 22:51:21 WiFi disconnected.
12/28/25 22:51:34 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -89db
12/30/25 23:08:56 WiFi disconnected.
12/30/25 23:08:59 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -62db

** Restart **

SD initialized.
1/09/26 13:28:14z Real Time Clock is running. Unix time 1767965294 
1/09/26 13:28:14z Reset Reason: Power-fail restart.
1/09/26 13:28:14z ESP8266 ID: 16295196, RTC PCF8523 (68)
1/09/26 13:28:14z IoTaWatt 5.0, Firmware version 02_08_03
1/09/26 13:28:14z SPIFFS mounted.
1/09/26 08:28:15 Local time zone: -5:00, using DST/BST when in effect.
1/09/26 08:28:15 device name: IotaWatt
1/09/26 08:28:18 Connecting with WiFiManager.
1/09/26 08:30:27 Did not connect after power-fail. Restarting to reset WiFi.

** Restart **

SD initialized.
1/09/26 13:30:28z Real Time Clock is running. Unix time 1767965428 
1/09/26 13:30:28z Reset reason: Software/System restart
1/09/26 13:30:28z Trace:  34:5, 34:6[2], 34:25[43], 34:28[1], 34:5, 34:5, 34:5, 34:6[14], 34:25[43], 34:28[1], 34:30, 34:10[4], 34:30, 34:10[3], 34:30, 34:10[5], 34:30, 34:10[6], 34:30, 34:10[7], 34:30, 34:10[8], 11:31[3], 11:30[3], 11:35, 11:36, 11:35, 11:40, 11:45, 11:50, 11:55, 11:70
1/09/26 13:30:28z ESP8266 ID: 16295196, RTC PCF8523 (68)
1/09/26 13:30:28z IoTaWatt 5.0, Firmware version 02_08_03
1/09/26 13:30:28z SPIFFS mounted.
1/09/26 08:30:28 Local time zone: -5:00, using DST/BST when in effect.
1/09/26 08:30:28 device name: IotaWatt
1/09/26 08:30:28 HTTP server started
1/09/26 08:30:28 timeSync: service started.
1/09/26 08:30:28 statService: started.
1/09/26 08:30:28 dataLog: service started.
1/09/26 08:30:31 dataLog: Last log entry 01/09/26 08:28:05
1/09/26 08:30:33 historyLog: service started.
1/09/26 08:30:34 historyLog: Last log entry 01/09/26 08:28:00
1/09/26 08:30:34 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -56db
1/09/26 08:30:34 Updater: service started. Auto-update class is MINOR
1/09/26 08:30:34 HVAC: Started
1/09/26 08:30:38 HVAC: Last log entry 01/09/26 08:28:05
1/09/26 08:30:38 Updater: Auto-update is current for class MINOR.
1/09/26 08:30:38 TotalPower: Started
1/09/26 08:30:42 TotalPower: Last log entry 01/09/26 08:28:05
1/09/26 08:30:42 WaterSystem: Started
1/09/26 08:30:46 WaterSystem: Last log entry 01/09/26 08:28:00
1/24/26 05:57:41 Updater: Invalid response from server. HTTPcode: -4
2/10/26 17:35:02 WiFi disconnected.
2/10/26 17:35:05 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -88db
2/10/26 17:58:44 WiFi disconnected.
2/10/26 17:58:47 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -63db
2/11/26 03:50:15 WiFi disconnected.
2/11/26 03:50:18 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -84db
2/11/26 11:43:40 WiFi disconnected.
2/11/26 11:43:43 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -62db
2/12/26 03:55:55 WiFi disconnected.
2/12/26 03:56:01 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -86db
2/12/26 13:53:03 WiFi disconnected.
2/12/26 13:53:06 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -59db
2/20/26 09:24:31 timeSync: Six week routine restart.

** Restart **

SD initialized.
2/20/26 14:24:32z Real Time Clock is running. Unix time 1771597472 
2/20/26 14:24:32z Reset reason: Software/System restart
2/20/26 14:24:32z Trace:  1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:3, 1:1[7], 1:2[8], 9:0[8], 9:0, 9:1, 8:4, 8:6, 8:8, 9:3, 9:5, 9:9, 1:3, 1:3, 1:6[1], 1:6[2], 1:6[2], 1:6[3], 1:5[20], 1:6[4], 20:0, 20:1
2/20/26 14:24:32z ESP8266 ID: 16295196, RTC PCF8523 (68)
2/20/26 14:24:32z IoTaWatt 5.0, Firmware version 02_08_03
2/20/26 14:24:32z SPIFFS mounted.
2/20/26 09:24:32 Local time zone: -5:00, using DST/BST when in effect.
2/20/26 09:24:32 device name: IotaWatt
2/20/26 09:24:32 HTTP server started
2/20/26 09:24:32 timeSync: service started.
2/20/26 09:24:32 statService: started.
2/20/26 09:24:32 dataLog: service started.
2/20/26 09:24:37 dataLog: Last log entry 02/20/26 09:24:30
2/20/26 09:24:37 historyLog: service started.
2/20/26 09:24:38 historyLog: Last log entry 02/20/26 09:24:00
2/20/26 09:24:39 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -56db
2/20/26 09:24:39 Updater: service started. Auto-update class is MINOR
2/20/26 09:24:39 HVAC: Started
2/20/26 09:24:40 HVAC: Last log entry 02/20/26 09:24:30
2/20/26 09:24:41 Updater: Auto-update is current for class MINOR.
2/20/26 09:24:41 TotalPower: Started
2/20/26 09:24:42 TotalPower: Last log entry 02/20/26 09:24:30
2/20/26 09:24:43 WaterSystem: Started
2/20/26 09:24:44 WaterSystem: Last log entry 02/20/26 09:24:30
2/27/26 09:41:46 Updater: Invalid response from server. HTTPcode: -4
3/01/26 02:27:17 WiFi disconnected.
3/01/26 02:27:20 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -83db
3/04/26 14:15:24 WiFi disconnected.
3/04/26 14:15:26 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -96db
3/06/26 13:09:19 WiFi disconnected.
3/06/26 13:10:21 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -90db
3/06/26 15:20:33 WiFi disconnected.
3/06/26 15:20:36 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -57db
3/18/26 10:48:26 WiFi disconnected.
3/18/26 10:49:27 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -85db
3/18/26 10:49:34 WiFi disconnected.
3/18/26 10:49:36 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=9, RSSI -87db

** Restart **

SD initialized.
3/19/26 01:41:09z Real Time Clock is running. Unix time 1773884469 
3/19/26 01:41:09z Reset Reason: Power-fail restart.
3/19/26 01:41:09z ESP8266 ID: 16295196, RTC PCF8523 (68)
3/19/26 01:41:09z IoTaWatt 5.0, Firmware version 02_08_03
3/19/26 01:41:09z SPIFFS mounted.
3/18/26 21:41:10 Local time zone: -5:00, using DST/BST when in effect.
3/18/26 21:41:10 device name: IotaWatt
3/18/26 21:41:13 HTTP server started
3/18/26 21:41:13 WiFi connected. SSID=Pegasus, IP=192.168.1.85, channel=1, RSSI -54db
3/18/26 21:41:13 timeSync: service started.
3/18/26 21:41:13 statService: started.
3/18/26 21:41:13 Updater: service started. Auto-update class is MINOR
3/18/26 21:41:13 dataLog: service started.
3/18/26 21:41:17 dataLog: Last log entry 03/18/26 21:26:55
3/18/26 21:41:17 Updater: Auto-update is current for class MINOR.
3/18/26 21:41:18 historyLog: service started.
3/18/26 21:41:20 historyLog: Last log entry 03/18/26 21:26:00
3/18/26 21:41:20 HVAC: Started
3/18/26 21:41:22 HVAC: Last log entry 03/18/26 21:26:55
3/18/26 21:41:23 TotalPower: Started
3/18/26 21:41:24 TotalPower: Last log entry 03/18/26 21:26:55
3/18/26 21:41:25 WaterSystem: Started
3/18/26 21:41:26 WaterSystem: Last log entry 03/18/26 21:26:50

I see the two power failure gaps. This is very unusual. There is a fairly obscure and random boot problem in older units that may be at play here. When was the unit installed?

I bought it in November 2021

Thanks. This doesn’t fit the profile for the random boot problem. Is this repeatable within a reasonable number of power cycles?

OK, I did some testing and only managed to get it stuck in the dull red state one time out of maybe 30-40 cycles. I tried a few different things:

  • Unplug just the 5v and plug back in
  • Unplug both 5v and 9v-ref and plug back in at the same time
  • Switch off and on the breaker that both are connected to

None of those reproduced the failed startup except for one time, and I think I just got lucky.

This is 100% repeatable with a real mains power loss though, perhaps there’s something unique about how that looks on the line (voltage sag before loss? I have no idea)

So you are saying that it does this every time you cycle the main off? How many times?

Sorry I wasn’t clear, the failed boot happens every time there is a real utility loss that I don’t cause. I did not cycle the main breaker to test this, just the dedicated circuit for the iotawatt (I figured that would be functionally equivalent and didnt want to turn the whole house on and off repeatedly). I was not able to reproduce the failure in that way.

Just a hypothesis to consider… When a full house power outage occurs, does your home’s WiFi system go down as well? If yes, I wonder if there is a race condition that occurs between the IoTaWatt rebooting (pretty quickly) and your home’s networking system, including WiFi, coming up fully? One this that the IoTaWatt is somewhat dependent on the Internet for is properly setting its clock, I believe. IIRC, the IoTaWatt does have a battery backed-up real-time clock onboard. What if that battery is dead, the whole house power goes out, and the IoTaWatt boots up before the home’s Internet/WiFi is available? Perhaps that scenario leads to such a scenario that @f1xedgear is experiencing?

Again, just a hypothesis. Changing the RTC battery should not hurt to try, though… Just wondering if the battery were dead, and there is no WiFi/Internet available when the IoTaWatt boots, perhaps the date/time is so far off that the IoTaWatt software does not know where to store the sampled data in the logs? :man_shrugging:

I have two IoTaWatt systems, one for each electrical panel. Neither of these typically have any issues as described in this thread. However, my entire Ubiquiti UniFi network is connected to a pair of UPS’s. Thus, the power would need to be out for an extended period of time before the IoTaWatt systems would have a chance to finish powering up before the WiFi access points were available.

Also, not wanting to distract and TL;DR, but I had a full house outage (major transformer in sub station take out +15K households) last week. I happened to be working at home so used the opportunity to pop my panel cover (after flipping off the mains) and cleaned up some wiring. Utility restored power to my area of town, but my mains were still off. Since no one was home, I decided to do a controlled “power on” to see how much surge I my have when flipping over to generator.

So I turned off all branch circuits and turned on the mains. First branch circuit I turned on was the IotaWatt circuit (Vref and 5V). I waited a minute or so before turning on my second circuit which has what I call my BDF board that is about half of my network (various provider equipment/router/firewall/network controller which does DHCP/switch/WiFi bridge to rental house across street) and my office PC. So the IotaWatt did NOT have WiFi access yet as the AP it connects to is run via my rack equipment in a different part of the basement.

After a few more minutes I turned on my rack circuit which powers my servers and the AP the IotaWatt connects to. Since it had been too long, the IotaWatt had already entered AP mode. I of course couldn’t connect to it via my configured DNS hostname or IP so I power cycled the IotaWatt. All was happy with that IotaWatt (forgot to mention I have two IotaWatts… :smile:

I couldn’t connect to my second IotaWatt in the house across the street as it powered up when the utility power was restored and had no network path back to the DHCP server. It looked like it also came up before the PoE switch and AP came up. Here is the part of its log starting with utility power being restored to house.

** Restart **

SD initialized.
3/19/26 15:03:24z Real Time Clock is running. Unix time 1773932604 
3/19/26 15:03:24z Reset Reason: Power-fail restart.
3/19/26 15:03:24z ESP8266 ID: 15842189, RTC PCF8523 (68)
3/19/26 15:03:24z IoTaWatt 5.0, Firmware version 02_08_03
3/19/26 15:03:24z SPIFFS mounted.
3/19/26 11:03:24 Local time zone: -5:00, using DST/BST when in effect.
3/19/26 11:03:24 device name: IotaWatt
3/19/26 11:03:27 Connecting with WiFiManager.
3/19/26 11:05:35 Did not connect after power-fail. Restarting to reset WiFi.

** Restart **

SD initialized.
3/19/26 15:05:37z Real Time Clock is running. Unix time 1773932737 
3/19/26 15:05:37z Reset reason: Software/System restart
3/19/26 15:05:37z Trace:  34:30, 34:10[11], 34:30, 34:10[6], 34:30, 34:10[9], 34:30, 34:5, 34:5, 34:5, 34:6[11], 34:10[14], 34:30, 34:30, 34:10[3], 34:30, 34:10[12], 34:30, 34:10[5], 34:30, 34:10[10], 34:30, 11:31[3], 11:30[3], 11:35, 11:36, 11:35, 11:40, 11:45, 11:50, 11:55, 11:70
3/19/26 15:05:37z ESP8266 ID: 15842189, RTC PCF8523 (68)
3/19/26 15:05:37z IoTaWatt 5.0, Firmware version 02_08_03
3/19/26 15:05:37z SPIFFS mounted.
3/19/26 11:05:37 Local time zone: -5:00, using DST/BST when in effect.
3/19/26 11:05:37 device name: IotaWatt
3/19/26 11:05:37 HTTP server started
3/19/26 11:05:37 timeSync: service started.
3/19/26 11:05:37 statService: started.
3/19/26 11:05:37 dataLog: service started.
3/19/26 11:05:37 dataLog: Last log entry 03/19/26 09:08:00
3/19/26 11:05:42 historyLog: service started.
3/19/26 11:05:42 historyLog: Last log entry 03/19/26 09:08:00
3/19/26 11:10:15 WiFi connected. SSID=XXXXXXXXX_Infra, IP=169.254.142.187, channel=1, RSSI -61db
3/19/26 11:10:15 Updater: service started. Auto-update class is MINOR

So on the second restart the AP was up and running and the IotaWatt was able to connect, BUT since the WiFi bridge at my house was still down it couldn’t get back to the DHCP server to get its normal 10/8 address and went with a link-local address. Several hours later (after finishing restoring power to my house, doing some other tinkering, dinner, etc) I had the IotaWatt across the street power cycled and all was happy. (Here is where in my dreams the ESP32 version will have PoE and could be power cycled remotely. :person_in_bed: :thought_balloon: :grinning_face_with_smiling_eyes: Or, at least have the firmware do DHCP first, but be able to have a hard coded fall back IP address if no response…which in practice would be the same IPs. That is what we do at $DAYJOB’s VoIP emergency call/blue light phones, loading dock ring down phones, etc.)

So, two take-aways….1) Be aware of dependencies like local LAN health…AP, switches, routers, DHCP, Internet access, etc and any race conditions. 2) Thanks to Bob’s forethought…..both IotaWatts were logging data from the moment they powered on. Here is a graph from the rental house across the street (log above) from 9:00 to 13:30 where the utility power went out at 09:07 and was restored at 11:05. Its network connectivity wasn’t healthy till almost 21:30 so it happily recorded data for the 10+ hours in between. :smile: :smile:

Yes, and my unifi stuff takes a little bit to boot so the iotawatt will certainly reboot long before the wifi is available again.

I wish that were my experience, during the time between mains loss and me manually rebooting it, no data is collected.

1 Like

Both @ogiewon and @DerekD have reasonable hypothesis on this, although with the information available I can see holes in all of the theories. The delayed WiFi availability, while a real thing, would not have stopped the unit from sampling and logging unless the RTC battery is dead, in which case you should have a RRG led during that time. Also note that the RTC is running after restart as indicated by the timestamp here:

The notion that only a whole house power loss causes the problem “100%” of the time and simply powering the breaker to the IoTaWatt & VT does not is what intrigues me. Ruminating on the potential difference, and I think this is far flung, but typical electrical distribution has a number of services tied to a single transformer. I’m wondering if you or one of your neighbors has some extreme loads that sag the whole thing upon power restoration, possibly causing the ESP8266 to false boot. If it’s one of your neighbors, or the transformer itself, cycling your main won’t trigger it unless it’s a load in your service, in which case it would.

Circling back the rare ESP8266 problem that I discounted earlier, some older nodeMCUs had a problem with insufficient pullup a pin that controls the boot mode, causing it to not boot from EPROM. I suppose your unit could have that defect but again, it would not discriminate between sources of power failure.

IMO we could go round and round on this but the most efficient thing would be to try a different IoTaWatt. I’ll send you one.

2 Likes