gazoodle / geckolib

Library to interface with Gecko Alliance spa pack systems via in.touch2 module
GNU General Public License v3.0
62 stars 24 forks source link

Installing Gecko V0.0.8 on fresh HA install #27

Closed simonk1969 closed 2 years ago

simonk1969 commented 2 years ago

I've recently done a fresh installation of HA and this evening decided to try and set up the Gecko integration.

I'm installing through HACS, installation completes and then I reboot, when I then go to add integration I get a blank box popup waiting for input with a submit button (see picture), not sure what it is wanting but I tried the IP of Hot Tub, it then comes back with a box that show Hot Tub and a Submit button (see picture), press Submit and its sits there for ages with spinning icon and then after quit a while it comes back and says Created Configuration for Hot Tub (see picture), click Finish. The intergration then shows Failed to set up (see picture). If I click on configure I see a options windows with six tick boxes but no writing (see picture). If I check the logs there are lots of Gecko errors and warnings (see picture).

Any idea as to what is wrong or what I've done wrong?

Thanks Simon

Gecko 6 Gecko 5 Gecko 4 Gecko 3 Gecko 2 Gecko 1

System Health

version core-2022.2.1
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.9.7
os_name Linux
os_version 5.10.91
arch x86_64
timezone Europe/London
Home Assistant Community Store GitHub API | ok -- | -- Github API Calls Remaining | 4846 Installed Version | 1.21.0 Stage | running Available Repositories | 970 Downloaded Repositories | 4
Home Assistant Cloud logged_in | true -- | -- subscription_expiration | 27 February 2022, 00:00 relayer_connected | true remote_enabled | true remote_connected | true alexa_enabled | true google_enabled | true remote_server | eu-west-2-0.ui.nabu.casa can_reach_cert_server | ok can_reach_cloud_auth | ok can_reach_cloud | ok
Home Assistant Supervisor host_os | Home Assistant OS 7.2 -- | -- update_channel | stable supervisor_version | supervisor-2022.01.1 docker_version | 20.10.9 disk_total | 31.3 GB disk_used | 6.6 GB healthy | true supported | true board | ova supervisor_api | ok version_api | ok installed_addons | SSH & Web Terminal (10.0.2), Home Assistant Google Drive Backup (0.105.2), Node-RED (10.4.0), File editor (5.3.3), ESPHome (2022.1.3)
Lovelace dashboards | 1 -- | -- resources | 0 views | 1 mode | storage
gazoodle commented 2 years ago

@simonk1969 If you can get the latest repo and try the diag tool again with the "old" in.touch2 module on your test lan that would be great.

Over the weekend, my turgid memory recalled very early on the module was fussy around replying unless the client ID started IOS or AND (and I also think the UUID was in uppercase). Now, my unit no longer behaves like this, in fact it was happy to reply no matter what I made the client ID look like, but maybe the firmware on your unit didn't ...

Also, I looked back through this conversation and didn't find the intouch firmware versions I had asked for, can you do them again? On my IOS app, they are found by clicking on the cog icon when the app has connected to the spa, and then on Technical Info, in fact all that info would be useful.

Thanks

simonk1969 commented 2 years ago

I took the screen shots but forgot to send them too you!

I've attached four screen shots, New Technical Info, New About and Old Technical Info, Old About.

New Technical info New About Old Technical Info Old About !

simonk1969 commented 2 years ago

client.log Client.log file attached using latest repo with the "old" in.touch2 module on test lan.

gazoodle commented 2 years ago

@simonk1969 did you do a git pull first? The log looks like it’s still got lowercase UUID in it …

Also, it’s the diag.py tool, not the shell

simonk1969 commented 2 years ago

2022-02-15 23:06:04,752> INFO Start comms diag with [] 2022-02-15 23:06:04,753> INFO Discovery process started, create socket 2022-02-15 23:06:04,753> DEBUG UDP Socket created, open it 2022-02-15 23:06:04,754> DEBUG Socket opened, set broadcast 2022-02-15 23:06:04,754> DEBUG Broadcast enabled, add hello handler 2022-02-15 23:06:04,754> DEBUG Hello handler added, queue a broadcast 2022-02-15 23:06:04,805> DEBUG Sending b'1' to ('', 10022) 2022-02-15 23:06:04,817> DEBUG Received b'SPAd8:80:39:a1:b0:44|Hot Tub' from ('192.168.1.201', 10022) 2022-02-15 23:06:04,818> INFO _on_discovered: GeckoHelloProtocolHandler(send_bytes=b'1', age=4.077700214111246e-05, has_timedout=False, should_remove_handler=False, timeout=0s, retry_count=0) (was_broadcast=False, client_id=None, spa_id=b'SPAd8:80:39:a1:b0:44', spa_name=Hot Tub ), GeckoUdpSocket on <socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=17, laddr=('0.0.0.0', 34757)> receive_handlers=[GeckoHelloProtocolHandler(send_bytes=b'1', age=0.00036030900082550943, has_timedout=False, should_remove_handler=False, timeout=0s, retry_count=0) (was_broadcast=False, client_id=None, spa_id=b'SPAd8:80:39:a1:b0:44', spa_name=Hot Tub )], send_handlers=[] isopen: True isbusy: True, ('192.168.1.201', 10022) 2022-02-15 23:06:05,755> INFO Found spa : Hot Tub (b'SPAd8:80:39:a1:b0:44') at ('192.168.1.201', 10022), try to start connection 2022-02-15 23:06:05,756> DEBUG Connection started, install ping handler 2022-02-15 23:06:05,757> DEBUG Handler installed, send ping 2022-02-15 23:06:05,757> DEBUG Ping sent, wait for a minute 2022-02-15 23:06:05,784> DEBUG Sending b'IOSE31808F4-0CAC-462B-ADE6-55EE716DAD6E' to ('192.168.1.201', 10022) 2022-02-15 23:06:05,836> DEBUG Sending b'IOSE31808F4-0CAC-462B-ADE6-55EE716DAD6E' to ('192.168.1.201', 10022) 2022-02-15 23:06:05,887> DEBUG Sending b'IOSE31808F4-0CAC-462B-ADE6-55EE716DAD6E' to ('192.168.1.201', 10022) 2022-02-15 23:06:05,939> DEBUG Sending b'IOSE31808F4-0CAC-462B-ADE6-55EE716DAD6E' to ('192.168.1.201', 10022) 2022-02-15 23:06:05,990> DEBUG Sending b'IOSE31808F4-0CAC-462B-ADE6-55EE716DAD6E' to ('192.168.1.201', 10022) 2022-02-15 23:06:06,042> DEBUG Sending b'IOSE31808F4-0CAC-462B-ADE6-55EE716DAD6ESPAd8:80:39:a1:b0:44APING' to ('192.168.1.201', 10022) 2022-02-15 23:07:05,796> ERROR Failed to get PING response 2022-02-15 23:07:05,796> INFO DIAG COMPLETE

gazoodle commented 2 years ago

Deep head scratch ... I have no idea what's going on. It's gotta be something about the directed message because all other communication works fine ... might have to do a Wireshark session if you're OK with that?

I kind of need to refresh my memory on how to drive that so we don't do too much back-and-forwarding ... let me see if I can put some thoughts together on this.

Also we need to work out how to wire things together so we can capture packets from your Android app as it's communicating with the device.

This could be quite a bit of work, so totally understand if you would rather just get on with your life as you've got a working system now :-)

simonk1969 commented 2 years ago

Does the in.touch2 need the spa part plugged in for this testing? I've put the old in.touch2 on my normal network so I can try to connect phone app to both. The app shows both devices listed but the old device shows 'Error The in.touch has lost connection with your spa' and the new one shows fine.

I've contacted the supplier and manufacturer about seeing if I can get a replacement for this faulty unit.

Where abouts in the world are you?

gazoodle commented 2 years ago

I think it will do the primary part of the conversation, but then replies with RFERR for when it can't contact the spa unit as this would be an expected condition, especially if the spa is powered off for maintenance or out-of-season.

I'm in south-east UK.

simonk1969 commented 2 years ago

To be honest now that I've got a working system, I'm not worried about why the old unit didn't work, it wasn't 100% reliable on the app either and I'll just put it down to a faulty unit.

However if you want to investigate it further then I'm more than willing to work with you or I could send it to you for a little while before hopefully getting a replacement sorted that I can then sell on.

I don't mind either way as I very much appreciate the work that you have put in with me :-)

On a side note I'm in Hertfordshire, UK and was wondering what do you find the best approach for running Hot Tub in the UK? Do you leave it at full temperature all the time, turn it down for certain hours?

Thanks Simon

gazoodle commented 2 years ago

I'd be happy to take a closer look at the unit to see it it is intermittent, or something that affects the version of firmware on your device. Email me at gazoodle@hash.fyi and then I'll give you my address.

WRT running in the UK, the whole reason that I started this project was so that I could monitor energy use and potentially take advantage of split rate energy supply, heating it during the time when the energy was cheaper ... of course, most of them are now bust so it's not so much of an issue at the moment.

Early days, some of the folk I corresponded with were very interested for the same reasons, and I think they actually use the library for just that reason, although I got the impression that they lived in places where the temperature variation was much more varied than here in the UK.

gazoodle commented 2 years ago

Ok, thanks @simonk1969. I got the unit and, well here's the results.

It's good that you have a new unit that works both with the integration and with the app, so I think we're both satisfied that you have a working system and while it's a shame not to have a better understanding of why the unit didn't work as expected, I'm of a mind to close this long thread and hope no one else gets the same behaviour as you.

For reference though, this happened with in.touch EN 88 v4.0 and CO 88 v3.0 in case anyone googles those numbers in future.