kantlivelong / OctoPrint-PSUControl-TPLink

Adds TPLink Smart Plug support to OctoPrint-PSUControl as a sub-plugin
GNU Affero General Public License v3.0
5 stars 10 forks source link

Plug-in hangs print jobs when PSU IP address changes #7

Open JayJones65 opened 1 year ago

JayJones65 commented 1 year ago

What were you doing?

  1. Started a normal print job after a prolonged downtime.
  2. During the downtime, there were power outages and network resets that caused IP Addresses to be reassigned.
  3. ...

What did you expect to happen?

Print should proceed smoothly.

What happened instead?

Symptoms: 1: Printer would process a command from Octoprint, pause abt 2 sec, then accept the next commend, then pause , repeat infinitely. Print progress about 1000 times slower than expected. Print ruined as a result. 2: Toggle PSU status on the Octoprint header was greyed out.

Resolution: Go to DHCP server and identify the new IP address for the PSU then update the add-on with the new IP address. After doing so, restarted the job and print resumed normally.

Theory: The add-on is likely constantly polling for PSU status. Since it has the wrong IP address, the queries are timing out. During the timeout, it hangs Octoprint main thread and stops the print from progressing at normal speed.

Possible remedies: Change add-on settings to use network name rather than IP address. At start of job (or periodically if idle), resolve name to IP address, cache IP address for the remainder of the job or until errors are detected. Restructure network status polling calls to their own thread so that timeouts do not halt main thread processing on timeout.

Version of OctoPrint-PSUControl

1.0.6

Version of OctoPrint-PSUControl-TPLink

1.0.1

Operating System running OctoPrint

OctoPrint 1.8.7 Python 3.7.3 OctoPi 0.18.0

Printer model & used firmware incl. version

Ender 3v2

Attach or link DEBUG log files.

Trixster82 commented 1 year ago

Same experience here though my Octoprint is on a different subnet and VLAN to my TP Link Smartstrip. It's a fixed IP, but I guess it's polling so much the firewall cant keep up.

iListen2Sound commented 1 year ago

I think this is similar to my issue where if my wifi cuts out, it stops the print.