kw123 / Hue-Lights-Indigo-plugin

Philips Hue control from Indigo
MIT License
7 stars 11 forks source link

Repeated Error in logs - Connection reset by peer #22

Open virtzilla opened 11 months ago

virtzilla commented 11 months ago
   Hue Lights                      Starting plugin initialization.
   Hue Lights                      initializing  ... 
   Hue Lights                      path To files:          =================
   Hue Lights                      detailed logging        /Library/Application Support/Perceptive Automation/Indigo 2022.2/Logs/com.nathansheldon.indigoplugin.HueLights/plugin.log
   Hue Lights                      testing logging levels, for info only: 
   Hue Lights                      logger  enabled for     INFO           ==> TEST ONLY 
   Hue Lights Warning              logger  enabled for     WARNING        ==> TEST ONLY 
   Hue Lights Error                logger  enabled for     ERROR          ==> TEST ONLY 
   Hue Lights Error                logger  enabled for     CRITICAL       ==> TEST ONLY 
   Started plugin "Hue Lights 2022.14.47"
   Hue Lights                      debug areas:[]
   Hue

 Hue Lights Error                
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 438, in _error_catcher
    yield
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 519, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 465, in read
    s = self.fp.read(amt)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 54] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 760, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 576, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 512, in read
    with self._error_catcher():
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 455, in _error_catcher
    raise ProtocolError("Connection broken: %r" % e, e)
urllib3.exceptions.ProtocolError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "plugin.py", line 827, in commandToHub_HTTP
    r = requests.get(command, timeout=kTimeout, headers={'Connection':'close'})
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 529, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 687, in send
    r.content
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 838, in content
    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 763, in generate
    raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))
kw123 commented 11 months ago

This looks like a python issue There was a discussion about a wrongly installed python on the indigo forum in the hue thread

virtzilla commented 11 months ago

Can you point me at at specific link to the thread where this is discussed? Indigo appears to have installed its own python, and I confirmed that is what is in use.

kw123 commented 11 months ago

I can find it, but I remember that Jay answered it .. it was about one - two months ago

kw123 commented 11 months ago

.. and when and how did it start?

virtzilla commented 11 months ago

It started right after updating to the latest hue plugin which has me thinking it's not the python issue and is rather a plug-in issue, but I'm trying to remain unbiased in troubleshooting/narrowing it down.

FYI - I reinstalled Indigo (which reinstalls python) and the error continues.

kw123 commented 11 months ago

Could you go back to the previous version?

virtzilla commented 11 months ago

I will try that.

That said, I may have jumped one or more intermediate versions as I had let my indigo setup sit in the background sans any "plugin update maintenance" for much longer than I usually do. I was touching Indogo to add a new hue device and it seemed prudent to update the plugin.

I'll see if I can pull the former version in use from the logs.

virtzilla commented 11 months ago

FYI - I was previously running the 2022.13.42 version of the plugin.

Started plugin "Hue Lights 2022.13.42"

I presume that if I revert to that version of the plugin, there aren't any potential issues around any state changes/stored values/object structures that might have gotten changed with the new version and I'm safe to revert?

kw123 commented 11 months ago

Stupid questionUserid passwd ip correct in config? And may be reconnect to hub would helpKarlOn 31.07.2023, at 11:00, virtzilla @.***> wrote: FYI - I was previously running the 2022.13.42 version of the plugin. Started plugin "Hue Lights 2022.13.42" I presume that if I revert to that version of the plugin, there aren't any potential issues around any state changes/stored values/object structures that might have gotten changed with the new version and I'm safe to revert?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

virtzilla commented 11 months ago

Stupid questionUserid passwd ip correct in config? And may be reconnect to hub would helpKarlOn

It appears to be. Note that I have two bridges. Control of devices on both works fine.

In terms of the errors, they are not constant. On the first day I saw them much more frequently. They are more occasional now:

 206 plugin.log.2023-07-26
  66 plugin.log.2023-07-27
  14 plugin.log.2023-07-28
   7 plugin.log.2023-07-29
  16 plugin.log.2023-07-30

The errors are prefaced with a line like this in the log:

ERROR Plugin.commandToHub_HTTP

Is there an easy option to turn on a debug log to see which hub it's erroring on and the specific command being invoked?

virtzilla commented 11 months ago

In examining the logs a bit further for activity around the errors, the errors always seem to be preceded by sensor activity. It doesn't error consistently after a single sensor/in the same place when it logs an error (at least not from what is depicted in the logs). If the error occurs, it's preceded by either temperature or luminance sensors being received seemingly anywhere from 10 or so seconds before to a couple of min before.

kw123 commented 11 months ago

Can we do online session ie AnyDesk Then I can normally quickly diagnose the issue Karl On 31.07.2023, at 18:15, virtzilla @.***> wrote: In examining the logs a bit further for activity around the errors, the errors always seem to be preceded by sensor activity. It doesn't error consistently after a single sensor/in the same place when it logs an error (at least not from what is depicted in the logs). If the error occurs, it's preceded by either temperature or luminance sensors being received seemingly anywhere from 10 or so seconds before to a couple of min before.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

virtzilla commented 11 months ago

Can we do online session ie AnyDesk Then I can normally quickly diagnose the issue Karl

I am open to an online session.

FYI - I reduced the polling interval to default (it was set to 1 second for devices, .4 for sensors) and haven't seen any errors since.

On a tangent, for some reason I was under the impression the plugin was using the push functionality of the Hue v2 API and polling would be much less than it is (which made changing the frequency less of a concern in my mind when I originally set it). I may have blurred discussions from the Home Assistant plugin in my mind. Turning on debug for "Send Commands to Bridge" produces an impressive stream of data! That said, I have found the push functionality far more responsive (esp. for driving derivative actions from sensors) and efficient outside this plugin.

kw123 commented 11 months ago

So no more error messages when you reduce the frequency?The version  2 is still in beta by Philips hue- as far as I know And v 2 it does not just change pull / push but also the data structure changes completely, Names as well. That will require an almost complete rewrite of the plug-in. KarlOn Aug 2, 2023, at 01:06, virtzilla @.***> wrote:

Can we do online session ie AnyDesk Then I can normally quickly diagnose the issue Karl

I am open to an online session. FYI - I reduced the polling interval to default (it was set to 1 second for devices, .4 for sensors) and haven't seen any errors since. On a tangent, for some reason I was under the impression the plugin was using the push functionality of the Hue v2 API and polling would be much less than it is (which made changing the frequency less of a concern in my mind when I originally set it). I may have blurred discussions from the Home Assistant plugin in my mind. Turning on debug for "Send Commands to Bridge" produces an impressive stream of data! That said, I have found the push functionality far more responsive (esp. for driving derivative actions from sensors) and efficient outside this plugin.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

virtzilla commented 11 months ago

So no more error messages when you reduce the frequency?

Correct no more error message with the reduced (to default) frequency. My hunch is a race condition/triggering a new poll before the a prior salvo completes.

What time zone do you operate in for doing a session online?

kw123 commented 11 months ago

Check the new version I published.  That will serialize all http  connections So no overlapping connections.  That should fix your issue also for high frequencies. Karl I live in Vienna.  I am out of town Friday - Wednesday But Thursday I am open. On Aug 2, 2023, at 19:11, virtzilla @.***> wrote:

So no more error messages when you reduce the frequency?

Correct no more error message with the reduced (to default) frequency. My hunch is a race condition/triggering a new poll before the a prior salvo completes. What time zone do you operate in for doing a session online?

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

virtzilla commented 11 months ago

Check the new version I published.  That will serialize all http  connections So no overlapping connections.  That should fix your issue also for high frequencies.

I installed 2022.14.48 this morning and changed the polling interval back to 1 sec/.4 second.

The errors returned - first about an hour after installing, and a cluster of them, and none since:

$ egrep ERROR plugin.log

2023-08-03 08:57:00.140 ERROR           Plugin.__init__                  logger  enabled for     ERROR          ==> TEST ONLY
2023-08-03 09:59:28.334 ERROR           Plugin.commandToHub_HTTP
2023-08-03 09:59:28.891 ERROR           Plugin.commandToHub_HTTP
2023-08-03 09:59:32.840 ERROR           Plugin.commandToHub_HTTP
2023-08-03 09:59:34.878 ERROR           Plugin.commandToHub_HTTP

I will work to find some time next week for an online session.

I think the errors are the same, but for the sake of (over)communicating:

2023-08-03 09:59:28.334 ERROR           Plugin.commandToHub_HTTP
Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 438, in _error_catcher
    yield
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 519, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 465, in read
    s = self.fp.read(amt)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 54] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 760, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 576, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 512, in read
    with self._error_catcher():
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 455, in _error_catcher
    raise ProtocolError("Connection broken: %r" % e, e)
urllib3.exceptions.ProtocolError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "plugin.py", line 845, in commandToHub_HTTP
    r = requests.get(command, timeout=kTimeout, headers={'Connection':'close'})
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 529, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 687, in send
    r.content
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 838, in content
    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 763, in generate
    raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))
2023-08-03 09:59:28.891 ERROR           Plugin.commandToHub_HTTP
Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 438, in _error_catcher
    yield
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 519, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 465, in read
    s = self.fp.read(amt)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 54] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 760, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 576, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 512, in read
    with self._error_catcher():
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 455, in _error_catcher
    raise ProtocolError("Connection broken: %r" % e, e)
urllib3.exceptions.ProtocolError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "plugin.py", line 845, in commandToHub_HTTP
    r = requests.get(command, timeout=kTimeout, headers={'Connection':'close'})
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 529, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 687, in send
    r.content
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 838, in content
    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 763, in generate
    raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))
2023-08-03 09:59:32.840 ERROR           Plugin.commandToHub_HTTP
Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 438, in _error_catcher
    yield
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 519, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 465, in read
    s = self.fp.read(amt)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 54] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 760, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 576, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 512, in read
    with self._error_catcher():
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 455, in _error_catcher
    raise ProtocolError("Connection broken: %r" % e, e)
urllib3.exceptions.ProtocolError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "plugin.py", line 845, in commandToHub_HTTP
    r = requests.get(command, timeout=kTimeout, headers={'Connection':'close'})
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 529, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 687, in send
    r.content
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 838, in content
    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 763, in generate
    raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))
2023-08-03 09:59:34.878 ERROR           Plugin.commandToHub_HTTP
Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 438, in _error_catcher
    yield
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 519, in read
    data = self._fp.read(amt) if not fp_closed else b""
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/http/client.py", line 465, in read
    s = self.fp.read(amt)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [Errno 54] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 760, in generate
    for chunk in self.raw.stream(chunk_size, decode_content=True):
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 576, in stream
    data = self.read(amt=amt, decode_content=decode_content)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 512, in read
    with self._error_catcher():
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/contextlib.py", line 153, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/urllib3/response.py", line 455, in _error_catcher
    raise ProtocolError("Connection broken: %r" % e, e)
urllib3.exceptions.ProtocolError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "plugin.py", line 845, in commandToHub_HTTP
    r = requests.get(command, timeout=kTimeout, headers={'Connection':'close'})
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 75, in get
    return request('get', url, params=params, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 529, in request
    resp = self.send(prep, **send_kwargs)
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/sessions.py", line 687, in send
    r.content
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 838, in content
    self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
  File "/Library/Application Support/Perceptive Automation/Indigo 2022.2/IndigoPluginHost3.app/Contents/Resources/PlugIns/requests/models.py", line 763, in generate
    raise ChunkedEncodingError(e)
requests.exceptions.ChunkedEncodingError: ("Connection broken: ConnectionResetError(54, 'Connection reset by peer')", ConnectionResetError(54, 'Connection reset by peer'))