chicago6061 / in.touch2

https://geckointouch.com/
23 stars 2 forks source link

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

Open walterb65 opened 4 years ago

walterb65 commented 4 years ago

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 commented 4 years ago

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 commented 3 years ago

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 commented 3 years ago

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

andreasmader commented 3 years ago

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

nickels commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 notifications@github.com 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.

gazoodle commented 3 years ago

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 commented 3 years ago

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 notifications@github.com 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.

gazoodle commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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 notifications@github.com 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 commented 3 years ago

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 notifications@github.com 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.

nickels commented 3 years ago

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 commented 3 years ago

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 notifications@github.com 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.

gazoodle commented 3 years ago

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 commented 3 years ago

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