Smart plug inadvertently cut power to printer during job but Octoprint was unaffected. Is it salvageable?

What is the problem?

I had repurposed a TP-Link smart plug from my Christmas tree for use with my Qidi Tech X-Plus printer. Apparently I forgot to clear out the old schedule settings and it promptly cut power to my printer at 12:15AM with about 10%/4min of printing left. My Octopi machine and clients were all unaffected. I've since turned back on the printer and it remains at its last position but Octoprint cannot detect the connection without me restarting it (I'm using socat in my crontab to establish a connection over ethernet switch between them). Is there a way for me to salvage this print?

What did you already try to solve it?

I've searched these forums as well as on Google for a similar situation but was unable to find a relevant solution. If there is a known solution (or even resolution that there is no solution), I've been unable to find it because the number of threads about power failure to Octoprint itself seem to dominate the relevancy of my search terms.

Have you tried running in safe mode?

No. I have not touched my Octopi instance for fear of making the situation worse.

Did running in safe mode solve the problem?

N/A

Complete Logs

Excerpt from octoprint.log at the time of printer shutdown:

2021-02-03 00:15:35,823 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer.
2021-02-03 00:15:37,828 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer.
2021-02-03 00:15:38,255 - werkzeug - INFO - 127.0.0.1 - - [03/Feb/2021 00:15:38] "e[37mGET /?action=snapshot HTTP/1.1e[0m" 200 -
2021-02-03 00:15:39,832 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer.
2021-02-03 00:15:41,836 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer.
2021-02-03 00:15:43,840 - octoprint.util.comm - INFO - Communication timeout while printing, trying to trigger response from printer.
2021-02-03 00:15:43,905 - zeroconf - WARNING - Choked at offset 0 while unpacking b'\n\xba\x10\x00'

Links to download octoprint.log and all logs from /var/log:

  1. octoprint.log (15MB)
  2. logs.zip (4MB)

Additional information about your setup

  • Hardware: Raspberry Pi 4 (4gb RAM)
  • OS: Octopi offical image
  • Kernel: Linux version 5.4.83-v7l+ (dom@buildbot) (gcc version 8.4.0 (Ubuntu/Linaro 8.4.0-3ubuntu1)) #1379 SMP Mon Dec 14 13:11:54 GMT 2020
  • Octoprint: 1.5.3
  • Webcam: Logitech, Inc. Webcam C920 (USB connected to USB 3.0 port)
  • Network : Ethernet (Static IP)
  • SD: : Class 10 / Plenty of free space
  • Power: Official RasPi4 power adapter / No undervoltage warnings
  • Plugins: (All up to date)

Currently there is no way to resume failed prints in core. There might be a plugin but even if there is the chances of getting it to work on the first go without testing is incredibly slim.