Closed PaulMalmqvist closed 2 years ago
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?
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?
Yep, specifying an IP address would be a great option as I also have VLANs causing it to not find my hot tub
+1 for this requirement if its possible - my Gecko also sits on a separate LAN.
+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.
The option to specify an IP address for a specific Gecko unit may also help with ignoring the Steamlinx Gecko unit in #20
+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 ...
+1 to add the ip manually.
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!
+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
+1 for manually adding IP.
+1
Johan
On Nov 7, 2021, at 17:08, simonk1969 @.***> wrote:
+1 for manually adding IP.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or unsubscribe. Triage notifications on the go with GitHub Mobile for iOS or Android.
+1
Same for me, my Unraid VMs are on a seperate VLAN traffic can be permitted.
Thanks
v0.0.8 should fix this
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
Reopening to allow investigation
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 … )
Hi client.log
Yes, here is the logfile.
Thanks, can you remove the <> around the IP address and try again. I expect that the shell will find your spa then.
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)
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"])
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.
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.
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.
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