Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dumpreminders.py and spa.py spa.getCurrentChannel() timed out #3

Open
walterb65 opened this issue Jul 9, 2020 · 23 comments
Open

dumpreminders.py and spa.py spa.getCurrentChannel() timed out #3

walterb65 opened this issue Jul 9, 2020 · 23 comments

Comments

@walterb65
Copy link

walterb65 commented Jul 9, 2020

I'm not able to get dumpreminders.py and spa.py spa.getCurrentChannel() running. The recv method always run into timeout. Anyone else with this issue? How can this be fixed

Thank you
Walter

@andreasmader
Copy link

I've had the same problem - unfortunately no solution yet in python.
I've implemented this quick and dirty in PHP and that works well for me.

@daham123
Copy link

I've had the same problem - unfortunately no solution yet in python.
I've implemented this quick and dirty in PHP and that works well for me.

can you share your code?

@daham123
Copy link

Can you share your code here in the comments? I think you tried to email them and github isnt allowing replys/attachments.

@andreasmader
Copy link

You can find the script here: https://github.com/andreasmader/divers/blob/master/ArtesianSpa.php

@nickels
Copy link

nickels commented Oct 6, 2020

You can find the script here: https://github.com/andreasmader/divers/blob/master/ArtesianSpa.php

Any luck integrating into IP Symcon? Looking at creating a module. cheers.

@gazoodle
Copy link

Inspired by this project, I built a Gecko library (https://github.com/gazoodle/geckolib) which I'm planning on consuming in a Home Assistant custom component. It has a command line client test program that I'd appreciate anyone interested taking a look and giving me feedback, especially against different configurations. I've got an in.xm2 spa.

@rct
Copy link

rct commented Oct 21, 2020

Thanks @gazoodle, as well as everyone else who worked on this. I've just ordered my in.touch2, my goal is to also get this integrated into Home Assistant.

I have an in.yt spa controller. Hopefully I'll be able to get it installed in the next week or two. I'll try to help anyway I can.

On a related note, I have a Mr. Steam unit for a steam shower. It came with a Steamlinx wifi bridge that appears to be nearly identical hardware from probably the same OEM.

Anyone know how the iOS app finds the in.touch2 on the network? The steamlinx box that I already have identifies as 'intouch2' when it DHCPs so it is already getting the hostname intouch2 on the local network. It doesn't seem to use mDNS, Bonjour, but possibly all access is via the cloud service?

It seems to periodically send UDP packets to intouch.geckoal.com. Hopefully the developers considered the case where there could be more than one gecko intouch unit on the same network.

At some point I'll probably try to sniff the RF connection between the units if it isn't encrypted.

@gazoodle
Copy link

Thanks @gazoodle, as well as everyone else who worked on this. I've just ordered my in.touch2, my goal is to also get this integrated into Home Assistant.

Do you have any experience writing Home Assistant integrations or custom components? I'm happy to do it as it was already on my plan and it will be my first foray into that, so it might take me a couple of iterations to get it going. Alternatively I'm happy to collaborate with others to achieve the same goal.

I have an in.yt spa controller. Hopefully I'll be able to get it installed in the next week or two. I'll try to help anyway I can.

Data from that would be very useful, especially when it's being flexed

On a related note, I have a Mr. Steam unit for a steam shower. It came with a Steamlinx wifi bridge that appears to be nearly identical hardware from probably the same OEM.

Yeah, I've seen the declarations for Mr Steam in the SpaPackStruct.xml file, again, useful to get diagnostics from that too!

Anyone know how the iOS app finds the in.touch2 on the network? The steamlinx box that I already have identifies as 'intouch2' when it DHCPs so it is already getting the hostname intouch2 on the local network. It doesn't seem to use mDNS, Bonjour, but possibly all access is via the cloud service?

The iOS app broadcasts a UDP packet to IP 255.255.255.255 port 10022. Every node on your local LAN can see that message, including the in.touch2 box which replies to the sender with its ID, then a handshake conversation ensues where each party gets to know the other by stages. You can see this happening in WireShark, or by looking at the client.log file after running client.py.

It seems to periodically send UDP packets to intouch.geckoal.com. Hopefully the developers considered the case where there could be more than one gecko intouch unit on the same network.

Interesting! I'm not sure that it will be a problem though, other than if you're irritated that your LAN has several items with the same hostname. They should all have unique IPv4 addresses handed out by your DHCP server and this is really all that counts since once the broadcast/discovery phase is over, all communications are be point-to-point. I've not needed to use the hostname in my investigations.

At some point I'll probably try to sniff the RF connection between the units if it isn't encrypted.

@mcfarlde
Copy link

mcfarlde commented Oct 21, 2020 via email

@gazoodle
Copy link

gazoodle commented Oct 21, 2020

I’d be happy to try the client.py on my Intouch2 if you can provide some instructions. Regards, Derek McFarland

Download the repo, then
python3 client.py

You should see some reports of activity, and it may connect to your spa.

If it does, then it should show you a prompt.

Type the following commands

config
live
version

Grab the output from that and also the file client.log and PM them to me.

I’ll add a diags command to the next release to make this easier to do.

Thanks
-Gary

@mcfarlde
Copy link

mcfarlde commented Oct 22, 2020 via email

@gazoodle
Copy link

I’m not so good at python. Dereks-Mac-mini:geckolib-main derek$ Python3 client.py Traceback (most recent call last): File "client.py", line 35, in from geckolib import gecko_constants, gecko_manager File "/Users/derek/Downloads/geckolib-main/geckolib.py", line 39, in import urllib3 ModuleNotFoundError: No module named 'urllib3' Dereks-Mac-mini:geckolib-main derek$

Looks like you’re missing a library.

pip install urllib3

That ought to fix the first problem, you may get others similar, and they often are fixed the same way, or with a quick google to see what package(s) you need.

@walterb65
Copy link
Author

Discover of the spa is not working for me. When using spa IP address instead of broadcast address the client works, but the APING command always run into timeout.

Best regards
Walter

@daham123
Copy link

Tried it. Only changed <manager = gecko_manager('XXXX') > to my handshack value

Starting discovery ...
Found 1 spas
Connecting to spa My Spa at 192.168.1.119 ... Traceback (most recent call last):
File "./client.py", line 89, in
spa.connect()
File "/opt/geckolib-main/geckolib.py", line 587, in connect
self.build_accessors()
File "/opt/geckolib-main/geckolib.py", line 632, in build_accessors
self.accessors[gecko_constants.key_rh_triac_temp] = gecko_temperature_decorator(self, self.accessors[gecko_constants.key_rh_triac_temp])
KeyError: 'RhTriacTemp'

Do I need to change anything else? I can connect with my android app.

@walterb65
Copy link
Author

This is the same behavior as for me. I had to comment two lines in build_accessors. Maybe this is because a different Model
Mine is a inYE-5

@daham123
Copy link

walterb65 thanks a lot - also use YE-5
I deleted the lines 632 key_rh_triac_temp and 635 key_econ_below_setpoint and 👍

Connecting to spa My Spa at 192.168.1.119 ... connected!
Current temp 34.0°C, Setpoint 36.0°C, Pump 1 OFF, Pump 2 OFF, Pump 3 OFF, Pump 4 OFF, Pump 5 OFF, Blower OFF, Lights OFF

@gazoodle
Copy link

Ooh, thanks for the feedback guys. I’ll fix the hard coded temp decorators today. Also, you shouldn’t need to adjust the ID sent in the manager init because it ought to be unique on your LAN. I’ll also do some work on the readme with some example commands and what you can do. Thanks!

@mcfarlde
Copy link

mcfarlde commented Oct 22, 2020 via email

@mcfarlde
Copy link

mcfarlde commented Oct 22, 2020 via email

@nickels
Copy link

nickels commented Oct 22, 2020

walterb65 thanks a lot - also use YE-5
I deleted the lines 632 key_rh_triac_temp and 635 key_econ_below_setpoint and 👍

Connecting to spa My Spa at 192.168.1.119 ... connected!
Current temp 34.0°C, Setpoint 36.0°C, Pump 1 OFF, Pump 2 OFF, Pump 3 OFF, Pump 4 OFF, Pump 5 OFF, Blower OFF, Lights OFF

Fixed it for me.

@mcfarlde
Copy link

mcfarlde commented Oct 22, 2020 via email

@gazoodle
Copy link

Thanks for your help everyone. I’ve been working hard to improve the library today and hopefully will be in a position to make another commit later. I suggest we move off of chicago6061’s issue list.

@gazoodle
Copy link

Thanks for your help everyone. I’ve been working hard to improve the library today and hopefully will be in a position to make another commit later. I suggest we move off of chicago6061’s issue list.

New update available at https://github.com/gazoodle/geckolib. I'll refrain from updating this thread now. Please open issues on that repo from now on. Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants