in.touch2 icon indicating copy to clipboard operation
in.touch2 copied to clipboard

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

Open walterb65 opened this issue 4 years ago • 23 comments

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

walterb65 avatar Jul 09 '20 21:07 walterb65

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.

andreasmader avatar Jul 10 '20 05:07 andreasmader

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 avatar Sep 10 '20 09:09 daham123

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

daham123 avatar Sep 11 '20 06:09 daham123

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

andreasmader avatar Sep 11 '20 08:09 andreasmader

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.

nickels avatar Oct 06 '20 11:10 nickels

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.

gazoodle avatar Oct 21 '20 15:10 gazoodle

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.

rct avatar Oct 21 '20 16:10 rct

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.

gazoodle avatar Oct 21 '20 18:10 gazoodle

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

Regards, Derek McFarland

On Oct 21, 2020, at 9:16 AM, gazoodle [email protected] wrote:

Inspired by this project, I built a Gecko library (https://github.com/gazoodle/geckolib 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.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/chicago6061/in.touch2/issues/3#issuecomment-713651230, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHOJDTLBCM45XEEAZFB4ZVTSL33LHANCNFSM4OV7W2UQ.

mcfarlde avatar Oct 21 '20 21:10 mcfarlde

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

gazoodle avatar Oct 21 '20 21:10 gazoodle

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$

On Oct 21, 2020, at 3:27 PM, gazoodle [email protected] wrote:

I’d be happy to try the client.py on my Intouch2 if you can provide some instructions. Regards, Derek McFarland … x-msg://4/# 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

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/chicago6061/in.touch2/issues/3#issuecomment-713887521, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHOJDTMQPFCTOOY3E47SNDTSL5G5BANCNFSM4OV7W2UQ.

mcfarlde avatar Oct 22 '20 03:10 mcfarlde

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.

gazoodle avatar Oct 22 '20 05:10 gazoodle

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

walterb65 avatar Oct 22 '20 06:10 walterb65

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.

daham123 avatar Oct 22 '20 06:10 daham123

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

walterb65 avatar Oct 22 '20 06:10 walterb65

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

daham123 avatar Oct 22 '20 06:10 daham123

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!

gazoodle avatar Oct 22 '20 07:10 gazoodle

Starting discovery ... No spas found, check that you are on the same LAN as your in.touch2 device client.py:74: DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead logger.warn("Try using the iOS or Android app to confirm they are functioning correctly") Try using the iOS or Android app to confirm they are functioning correctly

I do have three router radios. At the weekend, I’ll disable two to ensure this pc and the spa are on the same.

Derek

On Oct 21, 2020, at 11:25 PM, gazoodle [email protected] wrote:

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$ … x-msg://7/# 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.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/chicago6061/in.touch2/issues/3#issuecomment-714237164, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHOJDTPTX5Y46VTDW6SSUBLSL664XANCNFSM4OV7W2UQ.

mcfarlde avatar Oct 22 '20 12:10 mcfarlde

Starting discovery ... Found 1 spas Connecting to spa 349 Schooner Cove at 10.0.1.79 ... Traceback (most recent call last): File "client.py", line 89, in spa.connect() File "/Users/derek/Downloads/geckolib-main/geckolib.py", line 587, in connect self.build_accessors() File "/Users/derek/Downloads/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' Dereks-Mac-mini:geckolib-main derek$

On Oct 21, 2020, at 11:25 PM, gazoodle [email protected] wrote:

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$ … x-msg://9/# 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.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/chicago6061/in.touch2/issues/3#issuecomment-714237164, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHOJDTPTX5Y46VTDW6SSUBLSL664XANCNFSM4OV7W2UQ.

mcfarlde avatar Oct 22 '20 12:10 mcfarlde

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.

nickels avatar Oct 22 '20 12:10 nickels

Cool,

Starting discovery ... Found 1 spas Connecting to spa 349 Schooner Cove at 10.0.1.79 ... connected! Current temp 103.0°F, Setpoint 104.0°F, Pump 1 OFF, Pump 2 OFF, Pump 3 OFF, Pump 4 OFF, Pump 5 OFF, Blower OFF, Lights OFF 349 Schooner Cove$

On Oct 22, 2020, at 6:28 AM, Nicolaas Nijman [email protected] wrote:

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.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/chicago6061/in.touch2/issues/3#issuecomment-714459489, or unsubscribe https://github.com/notifications/unsubscribe-auth/AHOJDTLWZICXFA3VT5AVGC3SMAQQHANCNFSM4OV7W2UQ.

mcfarlde avatar Oct 22 '20 12:10 mcfarlde

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 avatar Oct 22 '20 17:10 gazoodle

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

gazoodle avatar Oct 22 '20 21:10 gazoodle