Closed maccident closed 2 years ago
Got the same error. I fixed locally by changing this line: https://github.com/gazoodle/gecko-home-assistant/blob/fef5ac8fb563a6fabd6b44a4fdc3117eda24f7ef/custom_components/gecko/__init__.py#L45
To this:
spa = await hass.async_add_executor_job(locator.get_spa_from_identifier, spa_identifier)
facade = await hass.async_add_executor_job(spa.get_facade, False)
It's possible only the get_facade
call needs to be wrapped with async_add_executor_job, I haven't tried as this fixes the issue locally for now
Got the same error. I fixed locally by changing this line:
To this:
spa = await hass.async_add_executor_job(locator.get_spa_from_identifier, spa_identifier) facade = await hass.async_add_executor_job(spa.get_facade, False)
It's possible only the
get_facade
call needs to be wrapped with async_add_executor_job, I haven't tried as this fixes the issue locally for now
Thanks for this but it doesn't work for me. I'm not the OP of this one, but https://github.com/gazoodle/gecko-home-assistant/issues/9
I had also tried the Gazoodle fix to SpaPackStruct.xml he suggested in February. No change. It identifies the spa without any setup or direction (how does it even know the IP address!?) but no entities listed. I check here frequently but I think Gazoodle has other things to focus on at the moment.
Got the same error. I fixed locally by changing this line:
To this:
spa = await hass.async_add_executor_job(locator.get_spa_from_identifier, spa_identifier) facade = await hass.async_add_executor_job(spa.get_facade, False)
Thanks for the reply. I greatly appreciate your help.
I applied your fix, and it just caused issues elsewhere. Looks like I'm just going to have to wait, or find another solution.
Logger: root
Source: /usr/src/homeassistant/homeassistant/bootstrap.py:310
First occurred: April 11, 2021, 10:17:32 PM (1 occurrences)
Last logged: April 11, 2021, 10:17:32 PM
Uncaught thread exception
Traceback (most recent call last):
File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/udp_socket.py", line 364, in _thread_func
self._loop_func()
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 260, in _loop_func
self._final_connect()
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 264, in _final_connect
self.struct.build_accessors([self.config_xml, self.log_xml])
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spastruct.py", line 72, in build_accessors
self.accessors = {
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spastruct.py", line 75, in <dictcomp>
for element in xml.findall(
AttributeError: 'NoneType' object has no attribute 'findall'
Logger: root
Source: /usr/src/homeassistant/homeassistant/bootstrap.py:310
First occurred: April 11, 2021, 10:17:57 PM (1 occurrences)
Last logged: April 11, 2021, 10:17:57 PM
Uncaught thread exception
Traceback (most recent call last):
File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 282, in _ping_thread_func
self.refresh()
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 311, in refresh
if not self.is_connected:
File "/usr/local/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 ...
Logger: custom_components.gecko
Source: custom_components/gecko/__init__.py:48
Integration: Gecko (documentation, issues)
First occurred: April 11, 2021, 10:17:57 PM (1 occurrences)
Last logged: April 11, 2021, 10:17:57 PM
Exception during entry setup
Traceback (most recent call last):
File "/config/custom_components/gecko/__init__.py", line 48, in async_setup_entry
while not facade.is_connected:
File "/usr/local/lib/python3.8/site-packages/geckolib/automation/facade.py", line 68, in is_connected
if not self._spa.is_connected:
File "/usr/local/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 ...
Folk, I'm sorry that I've not been able to get time to address these issues, it bugs me that you guys are trying to use this, not getting anywhere and I'm unable to really help.
There are a couple of avenues that can be followed to try to alleviate some of the issues.
As a final last-ditch effort we might construct our own XML data but we'd need to sniff the protocol using the app and being careful to operate specific devices, like power-up P1 and then off again. This would be a long uphill process so I'm not massively keen to go there.
If anyone fancies also touching base with Gecko to see if we can persuade them to work with us then this might be a good choice, always keen for win-win solutions.
I will get back to this library soon, but other commitments are ... well, important too.
Thanks Gazoodle. Sadly these things don't work for me.
Lobby https://www.facebook.com/GeckoAlliance/ to help gazoodle with this
Hi @gazoodle @RhinoRich
Sorry for being a noob in terms of HA but where in the target HA file system should one place the file SpaPackStruct.xml?
And how do you get it there? via scp?
krs
Mark
Thanks @gazoodle for the update. Your suggestion has remedied some of the issues, but I'm still left with:
Logger: root
Source: /usr/src/homeassistant/homeassistant/bootstrap.py:310
First occurred: 11:55:57 AM (1 occurrences)
Last logged: 11:55:57 AM
Uncaught thread exception
Traceback (most recent call last):
File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/udp_socket.py", line 364, in _thread_func
self._loop_func()
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 260, in _loop_func
self._final_connect()
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 264, in _final_connect
self.struct.build_accessors([self.config_xml, self.log_xml])
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spastruct.py", line 72, in build_accessors
self.accessors = {
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spastruct.py", line 75, in <dictcomp>
for element in xml.findall(
AttributeError: 'NoneType' object has no attribute 'findall'
Any guidance would be appreciated. I acknowledge that you have other, higher-priority commitments. I'm thankful that you are being considerate enough to even take on a project like this!
I'll continue to use the app until this issue gets resolved.
It doesn't work for me so I'm not the best person to ask. I did follow gazoodle's instructions for modifying the file which he thought might work, but it didn't. The problem is he's working with a version from 2018, and Gecko ignore his requests for access to the latest version, so his good work isn't compatible with the latest Spa Packs. Anyhow, you're supposed to put the file in config\custom-components\gecko. I've attached the file as it compiled from the instructions in the community thread.
Good luck!
Rich
On Thu, 29 Apr 2021 at 17:17, Mark Gibbons @.***> wrote:
Hi @gazoodle https://github.com/gazoodle @RhinoRich https://github.com/RhinoRich
Sorry for being a noob in terms of HA but where in the target HA file system should one place the file SpaPackStruct.xml?
And how do you get it there? via scp?
krs
Mark
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/gazoodle/gecko-home-assistant/issues/15#issuecomment-829377250, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASKOHHLE55I63WGRU7LW4UTTLGBAVANCNFSM42YCGPWQ .
Hi
Thanks for the reply.
My issue was not the version number but the async downloading problem.
I originally placed the file in the gecko directory which didnt work.
It started working for me when I put a copy in the config directory.
Krs
Mark
Glad it worked. You must have one of the packs that's compatible. Out of curiosity, which is it? Mine is inYT 338 v10.0 I have set a temperature control profile using Alexa, but boy is it clunky and we need to remember to mute it so it isn't yelling the temperature settings in the middle of the night!
I just tried it again more in hope than expectation. Finds the tub okay but then times out and errors. I tried the timeout fix suggested and it still times out.
On Fri, 30 Apr 2021 at 08:22, Mark Gibbons @.***> wrote:
Hi
Thanks for the reply.
My issue was not the version number but the async downloading problem.
I originally placed the file in the gecko directory which didnt work.
It started working for me when I put a copy in the config directory.
Krs
Mark
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/gazoodle/gecko-home-assistant/issues/15#issuecomment-829897559, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASKOHHODZWK5HYBG4CIHTODTLJLC5ANCNFSM42YCGPWQ .
Hi
An in.YJ 437 V2.0
New tub. Came without Wifi. Fixed that with retrofitting in.touch 2 module.
Not tried Alexa on it yet. Think i prefer phone control anyway!
All now good here. Next job integrate smart meter so I can see how much juice it is using.
Krs
Mark
On the hot tub supplier facebook page I've shared how I've optimised energy use with Octopus Go EV tariff. Essentially it boosts to 40C during the 5p/kWH overnight window and then cools before heating to 38 for evening use before cooling again. Saving about £1 a day since doing that. Like I say, using Alexa for that is clunky and would be so much better with Home Assistant :( https://www.facebook.com/groups/282823472241293/permalink/1066931077163858
Interesting.
I was going to buy from combined shipping but they had stock issues?
Where are you located?
Krs
Mark
We're in the UK also. Combined Shipping is a bulk importer of Chinese hot tubs so deliveries are never quick, but the tubs are brilliant value. We only had to wait a couple of months in any case.
On Fri, 30 Apr 2021 at 10:38, Mark Gibbons @.***> wrote:
Interesting.
I was going to buy from combined shipping but they had stock issues?
Where are you located?
Krs
Mark
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/gazoodle/gecko-home-assistant/issues/15#issuecomment-829972854, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASKOHHPSK5LZ65EK5P3CTLTTLJ3A3ANCNFSM42YCGPWQ .
We are literally about 5 miles away. Which tub did you get?
Ultimate 7 with the in.k1000 panel. Brilliant for the money.
On Fri, 30 Apr 2021 at 12:14, Mark Gibbons @.***> wrote:
We are literally about 5 miles away. Which tub did you get?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/gazoodle/gecko-home-assistant/issues/15#issuecomment-830022952, or unsubscribe https://github.com/notifications/unsubscribe-auth/ASKOHHPMXRJZCTKKYVELQCDTLKGITANCNFSM42YCGPWQ .
I tweaked the code locally to auto download SpaPackStuct.xml (same as the one linked above) but also getting errors in recognising the spa.
From Technical Info on Android app: inYT = 348 v13.0 Low-level Conf = 1 Keypad = 22 v31.0
I'll try and get the XML extracted from the app and give that a go.
Unfortunately v24 of the XML doesn't seem to help me.
I did see v2.7.4 of the APK (which is what I've got running on my phone) but haven't managed to extract anything from that yet. I'll continue to poke around another day as would be great to get this working.
@MrListerCoUk and @maccident
Did you get yourselves sorted out?
I have helped out @RhinoRich with his setup now and thats working with InYT.
Would need to get ssh access to your HA box but I can talk you through that.
Krs
Mark
@MrListerCoUk and @maccident Did you get yourselves sorted out?
Unfortunately not yet, family commitments (and researching water chemistry / learning how to balance chemicals) mean I've not had any spare HA tinkering time.
I have helped out @RhinoRich with his setup now and thats working with InYT. Would need to get ssh access to your HA box but I can talk you through that.
That would be amazing if you have a solution for inYT, I'm keen to get some automations going to make use of excess solar from current UK weather. I'll try and reach out directly to you to find a mutually agreeable time.
@MrListerCoUk
Hi, first PM me your email address, together with details of environment i.e. hardware, os, distribution, etc
I will then send you initial instructions together with rsa key file for access.
Krs
Mark
@maegibbons —
I haven't. I've tried all of the fixes here, and none of them work. To be honest, I've just put it on the back burner. I have the iOS app, and that solves my problems. Home-assistant integration would be great, but not worth the extra effort at this time. I'm fine with patiently waiting for someone to fix the code or for me to get to a point where I have the time to learn enough about HAs plugins and the spa's protocol to dig into it.
@maccident
What is your controller version?. We now have the InYT working.
Would need to check your versions. Also patched a bug and created an autopatch script to redo the patch when HA is updated.
Krs
Mark
@maegibbons I'm not sure of which value maps, so here goes everything: in.touch EN - 70 v14.0 in.touch CO - 69 v11.0 inYT 565 v11.0 Keypad — 111 v13.0 in.mix - 113 v1.0
Hmm.
Not familiar with those versions? Which location are you in?
It is an InYT so we should be able to get it working. However, I would need access to your HA server to test the Config and Log revisions.
If you want me to take a look then PM me your email address and I can email you instructions.
Krs
Mark
@maegibbons
Mark, I've been unable to find info to reach out to you directly but I've updated website field of my github profile. If you want to drop me an email at that domain then we can pick up the conversation. Thanks. Daniel
Sent you an email to both daniel@ and daniellister@
@maegibbons https://github.com/maegibbons
Those are the values I’ve pulled from the intouch2 iOS app. I’m in Washington State, so it’s a US or NA device.
Is there a better source for the info you’re asking for?
On Jun 10, 2021, at 12:28 PM, Mark Gibbons @.***> wrote:
Hmm.
Not familiar with those versions? Which location are you in?
It is an InYT so we should be able to get it working. However, I would need access to your HA server to test the Config and Log revisions.
If you want me to take a look then PM me your email address and I can email you instructions.
Krs
Mark
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/gazoodle/gecko-home-assistant/issues/15#issuecomment-858955178, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAKD53IUJQS6F4F75GZRIRTTSEG4XANCNFSM42YCGPWQ.
No those values are fine just not what i'm used to in the UK!
As I said its an InYT so should not be a problem.
Message me on https://www.facebook.com/mark.ae.gibbons/ and we can arrange access.
I'm trying to understand the current state of things with the custom component and geckolib. It looks like there are similar issues reported in at least #7 and #9. So these 3 issues might be somewhat redundant.
Here's my current understanding, please correct me where I'm wrong:
The first problem seems to be that Home Assistant is throwing an exception because of I/O not being done async. This seems to be related to the download of SpaPackStruct.xml
and is preventing it from getting downloaded.
The fix seems to be to change line 45 in gecko/__init__.py
I think this fix was identified by @EiNSTeiN- (apologies if I got that wrong.)
To this:
spa = await hass.async_add_executor_job(locator.get_spa_from_identifier, spa_identifier) facade = await hass.async_add_executor_job(spa.get_facade, False)
Also a quick test showed breaking those two operations up into separate lines was still needed. In other words just adding await
to the original line did not resolve the problem.
When I made the change to __init__.py
and restarted, version 19 of SpaPackStruct.xml
was automatically downloaded and placed in the Home Assistant configuration directory(*).
It sounds like there is a workaround that doesn't require changing the code if you manually download SpaPackStruct.xml
and put it in Home Assistant's configuration directory()? Note: I did not test this
( This is the directory where Home Assistant's configuration.yaml
and home-assistant.log
is located. Depending on your system/method of access this could be /config
, /usr/share/hassio/homeassistant
, or other.)
As far as I can tell there is no PR submitted for this.
It there any consensus that fix is correct and a PR should be opened for this change?
Version 19 of SpaPackStruct.xml
is what is available for download. Some newer controllers either aren't defined, or aren't defined correctly in that version. It sounds like newer versions may be embedded and extractable from the Android APK.(?) (The current version might be version 24.)
It looks like there might be or have been an issue for controllers that have pumps that run at more than one speed. It looks to me like that might be a functionality issue rather than something that would prevent start up
So for a new user starting out, at a minimum, the first issue needs to be resolved.
Depending on what model controller is in your tub, you may need to obtain a newer SpaPackStruct.xml
or modify it.
Does this capture the current state of play?
Any other fixes/workarounds needed to get people up and running?
Yes.
After sorting out the SpaPackStruct.xml by either patch or manual download.
If you then get an error ending in a line with "None" in then that is an Xml problem which is what I was offering to help out on with regards to InYT boards.
Krs
Mark
I do have a In.YT controller. I've not seen the NoneType
exception that others have reported so far. Hass shows the version string as inYT 501 v10.0
which matches the iOS app. I've got 11 entities, which seems about right.
I did get a warning about PACKS
, so I'm guessing that attribute isn't defined or there is no code to handle it.
2021-06-12 13:20:22 WARNING (Thread-6) [geckolib.driver.udp_socket] Couldn't find new handler for b'PACKS'
I didn't see any reference to PACKS
in the XML file.
My pump 1 has two speed settings. So I'll be trying PR #19 soon
Please setup logger logging in HA to debug for geckolib and post a full log from an HA Restart
Krs
Mark
So are all your entities displayed correctly now?
Other fixes are pointless if your controller is not recognised first.
So are all your entities displayed correctly now?
I've got 11 entities. Looks about right, I think. Sorry I should have put that in my post above.
curiously if I run Geckolib's shell, I don't get any warnings about PACKS
but I do get a number of warnings about STATV
:
r\x00\x00\x02\x8c\x01\x05\x00\x00\x00\x00\x04\n,\xff\xff\xff\x00\x00\x01\x0e\x01T\x00\x01\x06\x00\x00\x00\x00\x15\x06\x00\n\x03\x00\x14\x1d\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x00\x01'\r\x00\x00\x02\x8c\x01\x05\x00\x00\x00\x00\x04\n,\
xff\xff\xff\x00\x00\x01\x0e\x01T\x00\x01\x06\x00\x00\x00\x00\x15\x06\x00\n\x03\x00\x14\x1d\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x01\x02':9\x01\xf5\n\x00\x00\x08\x16\x00\x00\x00\x00\x00\x
00\x00\x03\x84\x00\x00\x00\x00\x01O\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x01\x02':9\x01\xf5\n\x00\x00\x08\x16\x00\x00\x00\x00\x00\$
00\x00\x03\x84\x00\x00\x00\x00\x01O\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x02\x03'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x1f\x15\x00\x17\x01\x00\xfd\x85\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x02\x03'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x1f\x15\x00\x17\x01\x00\xfd\x85\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x03\x04'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x03\x04'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x04\x05'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03"
LOG> WARNING Couldn't find new handler for b"STATV\x04\x05'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03"
LOG> WARNING Couldn't find new handler for b"STATV\x05\x06'\x04\x05\x06\x07\x08\xff\xff\xff\xff\xff\xff\xff\x
ff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffinYT_C58.x"
LOG> WARNING Couldn't find new handler for b"STATV\x05\x06'\x04\x05\x06\x07\x08\xff\xff\xff\xff\xff\xff\xff\x
ff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffinYT_C58.x"
LOG> WARNING Couldn't find new handler for b"STATV\x06\x07'ml\x00\x00\x00\x00inYT_S57.xml\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x06\x07'ml\x00\x00\x00\x00inYT_S57.xml\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x07\x08'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x07\x08'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x08\t'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14$D\x86\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x08\t'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x14$D\x86\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\t\n'\x01\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x
00\x03\x05\x00\x00\x00\x00\xff\x0e\x02\x00 \x02\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\t\n'\x01\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x
00\x03\x05\x00\x00\x00\x00\xff\x0e\x02\x00 \x02\x00\x02\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\n\x0b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\n\x0b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x0b\x0c'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b"STATV\x0b\x0c'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x
00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
LOG> WARNING Couldn't find new handler for b'STATV\x0c\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
LOG> WARNING Couldn't find new handler for b'STATV\x0c\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
connected!
Heater: Temperature 66.0°F, SetPoint 59.0°F, Real SetPoint 59.0°F, Operation Cooling
Pump 2: OFF
Pump 1: HIGH
Waterfall: ON
Lights: OFF
WaterCare: Waiting...
Smart Winter Mode:Risk = NO
Circulating Pump = ON
Ozone = ON
Smart Winter Mode:Active = False
Filter Status:Clean = False
Filter Status:Purge = False
Other idea. Instead of giving me Direct access, why not sort out root access from your PC to HASS OS and then we can use screen share to your PC. If you dont like what I am doing you can pull the plug.
Krs
Mark
Ok.
Thats all good. Dont worry about warnings. (Unless they happen continuously)
Make sure you apply STATP patch spa.py which is in one of my comments in geckolib.
You are good to go!
Krs
Mark
@maegibbons — can you share your fix here?
I'm still getting the error ending in:
AttributeError: 'NoneType' object has no attribute 'findall'
followed up by two errors, one Gecko (custom integration), the other home assistant bootstrap.py… both end in:
RuntimeError: Spa took too long to connect ...
Thats all good. Dont worry about warnings. (Unless they happen continuously)
I think some of the warnings I'm seeing are due to the iOS Gecko app interacting with the Gecko. It looks like any connected device may get all of the replies. With Home Assistant running, when I also run GeckoShell, I see warnings that I hadn't seen before WARNING Out-of-sequence status block segment 0 - ignored
Make sure you apply STATP patch spa.py which is in one of my comments in geckolib.
So to be clear for others reading this, you are talking about https://github.com/gazoodle/geckolib/issues/20
The problem you are talking about is:
The red line (current temperature) keeps briefly returning to the original starting value, because there is a bug in the way partial status updates are applied. Processed updates aren't being cleared out, which your fix from above fixes.
There is also a different problem here, which may be related. I changed the setpoint using the iOS app. Home Assistant is still showing the power-up value of 59 F.
EDIT: - because there is a lot of stuff going on in this thread, I've moved the STATP handling bug that causes erratic current temperature to it's own issue #22
@maegibbons — can you share your fix here?
I'm still getting the error ending in:
AttributeError: 'NoneType' object has no attribute 'findall'
followed up by two errors, one Gecko (custom integration), the other home assistant bootstrap.py… both end in:
RuntimeError: Spa took too long to connect ...
Yes. Because the xml is not available for your controller!!!!!!!!!!!!!!!!!!!
I feel as though I am beating my head against a brick wall!!!
If you dont want to let me interrogate your spa directly (I understand) then enable full logging in HA logger for geckolib library. Then post me the complete log. I (may) be then able to give you an xml that will work for your spa.
I usually like to test it. But I can give you it blind once I see the log output. I will at some stagge need your email address for the revised xml.
Mine is mgibbons@ (domain shown for weblink in profile)
Krs
Mark
Yes
The fix fixes that.
The else makes sure that what follows is executed outside the for loop.
Code it how you wish. The important point is that the handlers list is cleared AFTER FOR LOOP COMPLETION and is not reprocessed when another STATP packet is received.
Krs
Mark
OK, I'm sorry for frustrating you. There are multiple conversations going on here simultaneously, and I'm trying to thoroughly contextualize them.
Here is the log file, it's been generated with the directive:
default: info
logs:
custom_components.gecko: debug
geckolib: debug
I do appreciate the help that you've been providing. debug.log
Hi
hmm strange!! that gave absolutely NO DEBUG output
Mine is
logger:
default: warning
logs:
custom_components.gecko: warning
geckolib: debug
geckolib.locator: warning
geckolib.driver.accessor: info
geckolib.driver.spastruct: warning
geckolib.driver.udp_socket: warning
geckolib.driver.protocol.statusblock: info
And it should give LOADS of debug before the point it crashes
Rerun with your logger config… debug-2.log
Ok. Good news! I already have a version that will fix that. Email me mgibbons@ (domain shown for weblink in profile) and I will send it across to you.
Krs
Mark
Sent. Once it is working. Please also do the STATP patch otherwise you will get issues
Well, would you look at that.
Replaced the XML file, restarted Home Assistant, and voila! It's loaded up, error free!
Thank you @maegibbons!!!!!!!
Hi, new user of the integration here. I also had the IO error with a new install, but the fix posted here worked for me (changing line 45 to)
spa = await hass.async_add_executor_job(locator.get_spa_from_identifier, spa_identifier)
facade = await hass.async_add_executor_job(spa.get_facade, False)
Everything seems to be working best I can tell, awesome integration!!! :)
First, thank you for taking your time to write this integration.
Describe the bug
Just installed the integration via HACS, and enabled the integration in the UI (Configuration -> Integrations -> Gecko)
I wasn't asked for any information, and after completing, I had an integration listed with my spa name.
No devices or entities are listed, and the logs under Configuration -> Logs show the following relevant information:
Home Assistant Info
Error: