Open virtzilla opened 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
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.
I can find it, but I remember that Jay answered it .. it was about one - two months ago
.. and when and how did it start?
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.
Could you go back to the previous version?
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.
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?
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: @.***>
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?
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.
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: @.***>
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.
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: @.***>
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?
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: @.***>
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'))