Closed rct closed 2 years ago
I have very similar:
Starting discovery process...Found 1 spas
Connecting to spa `My Spa` at 192.168.1.73 ... LOG> WARNING Couldn't find new handler for b'RFERR'
LOG> WARNING Couldn't find new handler for b'RFERR'
LOG> WARNING Couldn't find new handler for b'RFERR'
LOG> WARNING Couldn't find new handler for b'RFERR'
LOG> WARNING Couldn't find new handler for b'RFERR'
LOG> WARNING Couldn't find new handler for b'RFERR'
LOG> WARNING Couldn't find new handler for b'RFERR'
LOG> WARNING Couldn't find new handler for b'RFERR'
LOG> WARNING Couldn't find new handler for b'RFERR'
LOG> WARNING Couldn't find new handler for b'RFERR'
LOG> WARNING Couldn't find new handler for b'RFERR'
LOG> WARNING Couldn't find new handler for b'RFERR'
Exception in thread Thread-3:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/geckolib/spa.py", line 282, in _ping_thread_func
self.refresh()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/geckolib/spa.py", line 311, in refresh
if not self.is_connected:
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/geckolib/spa.py", line 306, in is_connected
raise RuntimeError("Spa took too long to connect ...")
RuntimeError: Spa took too long to connect ...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/geckolib/utils/shared_command.py", line 37, in run
with cls(first_commands) as cmd:
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/geckolib/utils/shell.py", line 52, in __init__
self.onecmd("discover")
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/cmd.py", line 217, in onecmd
return func(arg)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/geckolib/utils/shell.py", line 80, in do_discover
self.onecmd("manage 1")
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/cmd.py", line 217, in onecmd
return func(arg)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/geckolib/utils/shell.py", line 97, in do_manage
self.facade = spa.get_facade()
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/geckolib/spa.py", line 48, in get_facade
while not facade.is_connected:
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/geckolib/automation/facade.py", line 68, in is_connected
if not self._spa.is_connected:
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/geckolib/spa.py", line 306, in is_connected
raise RuntimeError("Spa took too long to connect ...")
RuntimeError: Spa took too long to connect ...
One thing to think about is how seasonal shut downs of the spa/tub should be handle in Home Assistant?
I shut down and winterize my unit for several months - primarily to protect against an extended power outage and the damage that would be caused by having the unit freeze with water in the pumps and piping.
Removing the integration and all of the related temple entities, alerts, etc. is messy and somewhat error prone. So I prefer to just leave it enabled, but would like a way of quieting things down.
There should also be a way of seeing that the that unit isn’t connected (RF Error) and alerting on it from Home Assistant when it is in normal operation
That's a cool idea. How about a switch "Winterized" in the library which will basically stop the ping refresh thread but keep the last known entities around with some nominal values (OFF, 0C etc), and then some conditionals around that prevent the code from trying to communicate with the RF module and then report errors in the logs every 30 seconds?
I would have originally suggested making the items unavailable but I personally dislike this in the HA UI as to me that signifies errors that need investigation (I have a similar issue with seasonal items like Xmas tree lights which I put into a conditional panel).
Yes some sort of conditional that could quiet things down when powered down. Ideally it would be exposed in HA as a binary sensor or switch so we don’t need to track that state in too many separate places.
also, connected/non-connected RFERR would be nice to have exposed as a binary sensor too in order to alert on and use as data if connectivity is occasionally being lost.
For sensor data, I agree that right now, unavailable is somewhat annoying to deal with in the HA UI. Though I have to say if I think from the perspective of HA exposing the data to MQTT, InfluxDB, null/None/unavailable , that lets you distinguish no data periods would be more desirable. However highest priority right now is HA UI so distinguishable place holder data would be preferred.
Thanks!
One more consideration - how to monitor/alert on loss of power to the spa/tub?
RFERR is the error you would see if the spa/tub was powered down, but the house/network was up.
Without additional sensors is there a way to distinguish between loss of power and just an RF problem?
Backstory: I have a neighbor whose tub wound up powered down because the breaker tripped. Fortunately he came home and found it after 2 days before anything froze and cracked. He has a whole house generator, so is protected against utility power loss, but not the branch circuit.
Side thought: if your spa/tub is in a location where freezing is a concern and the house isn’t always occupied, either a power monitor or separate temperature sensor would be useful to protect against loss
I’ve been thinking about that and don’t believe there is a way to adjudicate if the tub is powered down or you have a genuine RF error, but if you have a freeze risk then either of these two conditions should prompt an investigation. If that were my setup, and I wanted to have a backup I’d be tempted to put a $5 ESP device with, say a temp sensor, on the same power circuit as the spa. But you still can’t be sure, you might have popped a fuse on the Gecko pack.
Either way, the work I’m doing on the library at the moment should enable us to surface enough information to be alerted.
v0.4.0 has functionality to deal with this situation, and is also provided in v0.1.0 of the gecko_home_assistant integration.
Not really an issue. Opening this to provide the log/behavior for what happens when the in.touch wifi unit is no longer RF sync'd with the remote hot tub side unit. (Providing this with the hope if you haven't tried this case, my logs might save you some time so you don't have to try it yourself.)
Hot tub is powered down, wifi unit still plugged in. The connect (manage) times out after a while with
RuntimeError: Spa took too long to connect
which seems reasonable, though you do get bounced out of the shell.However, there are some
RFERR
(assumed to be RF Error) log warning messages which don't seem to be handled. Looks like it retries the connection 10+ times.Log file emailed.