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

HA not on same vlan as Gecko in.touch2 ? #6

Closed
PaulMalmqvist opened this issue Jan 9, 2021 · 24 comments
Closed

HA not on same vlan as Gecko in.touch2 ? #6

PaulMalmqvist opened this issue Jan 9, 2021 · 24 comments

Comments

@PaulMalmqvist
Copy link

Version of the custom_component

2d3e2d7

Configuration

None

2021-01-09 12:50:51 INFO (MainThread) [geckolib.locator] Discovery process started
2021-01-09 12:50:51 DEBUG (Thread-13) [geckolib.locator] Locator retry thread started
2021-01-09 12:50:51 INFO (MainThread) [custom_components.gecko.config_flow] Async step user, we have GeckoLocator(age=0.00041642598807811737,has_had_enough_time=False,spas=[])
2021-01-09 12:50:51 DEBUG (Thread-14) [geckolib.driver.udp_socket] Sending b'1' to ('', 10022)
2021-01-09 12:50:52 DEBUG (Thread-14) [geckolib.driver.udp_socket] Sending b'1' to ('', 10022)
2021-01-09 12:50:53 DEBUG (Thread-14) [geckolib.driver.udp_socket] Sending b'1' to ('', 10022)
2021-01-09 12:50:54 DEBUG (Thread-14) [geckolib.driver.udp_socket] Sending b'1' to ('', 10022)
2021-01-09 12:50:55 DEBUG (Thread-13) [geckolib.locator] Locator retry thread stopped
2021-01-09 12:50:55 INFO (Thread-14) [geckolib.driver.udp_socket] GeckoUdpSocket thread finished
2021-01-09 12:50:55 WARNING (MainThread) [custom_components.gecko.config_flow] No spas found on the local network


## Describe the bug
Installed the Gecko integration from HACS.
When trying to start it from configuration/Integrations it tries to find my SPA, but returns with a notice that it can't find my SPA.
Is there any way to manually specify the IP-address of the in.touch2-device?


## Debug log

<!-- To enable debug logs check this https://www.home-assistant.io/components/logger/ -->

```text

Add your logs here.

@gazoodle
Copy link
Owner

We could add the capability to specify an IP address, but I'm not sure that would work if UDP traffic is unable to flow between your VLANs (which seems to currently be the case). Do you have any way to allow UDP traffic between your HA instance and your intouch2 module?

@PaulMalmqvist
Copy link
Author

Yes, there is no problem with permitting UDP unicast traffic between the vlan's. But multicast UDP-traffic is not routed between vlan's, and I think you are using multicast in this case to find the intouch2-module?

@awakefie
Copy link

Yep, specifying an IP address would be a great option as I also have VLANs causing it to not find my hot tub

@leacho73
Copy link

+1 for this requirement if its possible - my Gecko also sits on a separate LAN.

@MrListerCoUk
Copy link

+1 to specify IP address.
I'm running HA in docker container using bridge networking and with default settings I'm unable to find spa on network.

@rct
Copy link
Contributor

rct commented Jun 11, 2021

The option to specify an IP address for a specific Gecko unit may also help with ignoring the Steamlinx Gecko unit in #20

@ahochsteger
Copy link

+1 to specify an IP address.
I'm too running Home Assistant in a docker container thus manually specifying the IP address would help.
@gazoodle I'd be willing to help if you could get some pointers ...

@Johan-Arens
Copy link

+1 to add the ip manually.

@jasondefuria
Copy link

Yes, I'm most interested in this feature as well. I keep devices like this on a separate VLAN, so being able to specify it would be great!

@aspapunktse
Copy link

+1, have the same issues with Multicast UDP traversing over VLAN:s.....When putting the module on the same VLAN it works like a charm, but when switching back to IoT VLAN it looses connection again

@simonk1969
Copy link

+1 for manually adding IP.

@Johan-Arens
Copy link

Johan-Arens commented Nov 8, 2021 via email

@TangoMikeOscar
Copy link

+1

Same for me, my Unraid VMs are on a seperate VLAN traffic can be permitted.

Thanks

@gazoodle
Copy link
Owner

gazoodle commented Feb 4, 2022

v0.0.8 should fix this

@gazoodle gazoodle closed this as completed Feb 4, 2022
@PaulMalmqvist
Copy link
Author

I stiil can't add my SPA to HA. Get this in the logs:
Logger: geckolib.locator
Source: /usr/local/lib/python3.9/site-packages/geckolib/locator.py:145
First occurred: 9:31:04 AM (6 occurrences)
Last logged: 9:34:19 AM

Cannot find spa from name Kotten10

@gazoodle
Copy link
Owner

gazoodle commented Feb 5, 2022

Reopening to allow investigation

@gazoodle gazoodle reopened this Feb 5, 2022
@gazoodle
Copy link
Owner

gazoodle commented Feb 5, 2022

Can you try from an command prompt?

pip install geckolib
python3

>>> from geckolib import GeckoShell
>>> GeckoShell.run(["logfile client.log", ‘discover <ip of spa>‘])

  :

>>> 

Then post client.log?

(This off the top of my head 😀, so there might be syntax errors … )

@PaulMalmqvist
Copy link
Author

Hi
client.log

Yes, here is the logfile.

@gazoodle
Copy link
Owner

gazoodle commented Feb 5, 2022

Thanks, can you remove the <> around the IP address and try again. I expect that the shell will find your spa then.

@PaulMalmqvist
Copy link
Author

That did the trick:
➜ ~ python3
Python 3.9.7 (default, Nov 24 2021, 21:15:59)
[GCC 10.3.1 20211027] on linux
Type "help", "copyright", "credits" or "license" for more information.

from geckolib import GeckoShell
GeckoShell.run(["logfile client.log", "discover 10.129.0.10"])

    <Disclaimer>
    ----------------------------- USE AT YOUR OWN RISK -----------------------------

    This code will allow you to make changes to your spa configuration that is
    outside of what the app, top panel and side panel settings allow. I've not
    tested every setting and it might be that you prevent your spa pack from
    operating as it used to do.

    I strongly suggest dumping the configuration values with the "config" command
    and recording them somewhere safe.

    </Disclaimer>

Starting discovery process...Found 1 spas
Connecting to spa Kotten10 at 10.129.0.10 ... connected!
Heater: Temperature 21.0°C, SetPoint 21.0°C, Real SetPoint 21.0°C, Operation Idle
Pump 2: OFF
Pump 1: OFF
Waterfall: ON
Lights: OFF
WaterCare: Waiting...
Smart Winter Mode:Risk = NO
Circulating Pump = ON
Ozone = OFF
Smart Winter Mode:Active = False
Filter Status:Clean = True
Filter Status:Purge = False
Welcome to the Gecko shell. Type help or ? to list commands.

(Gecko)

@jasondefuria
Copy link

jasondefuria commented Feb 5, 2022

I had the exact same issue as @PaulMalmqvist, and the solution provided by @gazoodle basically worked. Here's the syntax that I had to use:

pip install geckolib
python3

>>> from geckolib import GeckoShell
>>> GeckoShell.run(["logfile client.log", "discover 192.168.x.x"])

@gazoodle
Copy link
Owner

gazoodle commented Feb 5, 2022

Ok, that’s good news. Basically the library can handle the topology but the integration can’t. I’m pretty sure I know why and I’m just setting up an environment to replicate what you’ve got so I can be sure of a fix. I’ll do my best to get it done this weekend.

@gazoodle
Copy link
Owner

gazoodle commented Feb 6, 2022

Thanks for your patience folks, this should now be fixed. I assumed that passing a static IP was going to be the same as when that IP was on a different sub net that had peer routing working, just not broadcast, but I was wrong, the way the code was structured lead to the locator still trying to do a broadcast which of course didn't work. The shell doesn't do this which is why I asked @PaulMalmqvist to try that way just to be sure that was the problem.

I ended up building a whole new vlan at home and making sure that my dev box was on that lan to make sure ... in hindsight it would have been much easier to shove the in.touch2 module there instead and then test but hey ho, I had a heap of fun with my networking gear so it was a nice learning experience ... every day's a school day right?

Anyway, fingers crossed that this works for you folk.

@gazoodle gazoodle closed this as completed Feb 6, 2022
@wolfiegrr
Copy link

I'm in a similar situation with this library. From the GeckoShell.run, I can find the Spa by specifying the IP, but when trying to integrate with a python3 script, I'm unsure of how I can specify the IP on the other subnet to be included in the discovery.

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