gazoodle / gecko-home-assistant Goto Github PK
View Code? Open in Web Editor NEWHome Assistant integration for spas equipped with Gecko Alliance in.touch2 modules
License: MIT License
Home Assistant integration for spas equipped with Gecko Alliance in.touch2 modules
License: MIT License
Is your feature request related to a problem? Please describe.
Right now, I see that you're using an integration blueprint. It has some pretty good CI, but I can add an all-in-one GitHub action, which has a bit more stuff (actually format instead of just checking, also run isort as well as black, also run wemake-python-styleguide).
Describe the solution you'd like
If you want, I can add some advanced CI to your repo in a PR. Let me know if you want that.
Describe alternatives you've considered
Keep it as it is.
Additional context
https://github.com/KTibow/ha-blueprint
# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:
# Text to speech
tts:
- platform: google_translate
group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
climate:
- platform: generic_thermostat
name: heat_control
heater: switch.lidl_socket_1
target_sensor: sensor.climate_temperature
min_cycle_duration:
minutes: 5
Entities not showing in integration
2021-02-14 13:53:25 INFO (MainThread) [custom_components.gecko]
-------------------------------------------------------------------
Gecko
Version: 0.0.1
This is a custom integration!
If you have any issues with this you need to open an issue here:
https://github.com/gazoodle/gecko-home-assistant/issues
-------------------------------------------------------------------
2021-02-14 13:53:25 INFO (MainThread) [custom_components.gecko] Setup entry for SPA04:91:62:d3:2b:26
2021-02-14 13:53:26 INFO (MainThread) [custom_components.gecko] Locator GeckoLocator(age=1.1189897650001512,has_had_enough_time=False,spas=[Ducky Tub(SPA04:91:62:d3:2b:26)]) ready
2021-02-14 13:53:26 INFO (MainThread) [custom_components.gecko] Waiting for facade to be ready
2021-02-14 13:53:34 ERROR (Thread-6) [root] Uncaught thread exception
Traceback (most recent call last):
File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/udp_socket.py", line 364, in _thread_func
self._loop_func()
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 260, in _loop_func
self._final_connect()
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 264, in _final_connect
self.struct.build_accessors([self.config_xml, self.log_xml])
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spastruct.py", line 72, in build_accessors
self.accessors = {
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spastruct.py", line 75, in <dictcomp>
for element in xml.findall(
AttributeError: 'NoneType' object has no attribute 'findall'
2021-02-14 13:53:56 ERROR (Thread-5) [root] Uncaught thread exception
Traceback (most recent call last):
File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 282, in _ping_thread_func
self.refresh()
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 311, in refresh
if not self.is_connected:
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 306, in is_connected
raise RuntimeError("Spa took too long to connect ...")
RuntimeError: Spa took too long to connect ...
2021-02-14 13:53:56 ERROR (MainThread) [custom_components.gecko] Exception during entry setup
Traceback (most recent call last):
File "/config/custom_components/gecko/__init__.py", line 47, in async_setup_entry
while not facade.is_connected:
File "/usr/local/lib/python3.8/site-packages/geckolib/automation/facade.py", line 68, in is_connected
if not self._spa.is_connected:
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 306, in is_connected
raise RuntimeError("Spa took too long to connect ...")
RuntimeError: Spa took too long to connect ...
Tried adding and removing Options. Deleting and reinstalling. Powercycling the RPi. Same with Gecko controller and Gecko Wifi-RF bridge. Tried taking the App off the network and repeating the foregoing in case of conflict.
If I change reload the iOS app and change the spa name, then reload HA, the new name appears on the integration.
Any ideas very welcome.
Hi
Firstly, this is a great integration.
I have it working with Home Assistant and it works very well.
I have a particular issue with my spa which generates a FLO error condition.
Where are you at the moment with detecting and monitoring Error conditions?
I would really like to get an alert on it in Home Assistant but assume there is work to do in geckolib to expose it?
Krs
Mark
CI gives this report
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! ha-blueprint is being retired, it has way too many issues with it !
! please manually use hassfest and hacs in actions, ping @KTibow if you want help !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Opening this so that I can ask @KTibow to give appropriate pointers -- Thanks!
Since the change of pumps from switch to fan my pumps can not be turned on/of. The state is recognized.
Enabled debug do not show any errors. Switching back to 0.0.6 with geckolib 0.3.19 work again. I habe no vario speed pumps
v0.0.7
NA
Entity implements deprecated device_state_atribute
Entity climate.hot_tub_heater (<class 'custom_components.gecko.climate.GeckoClimate'>) implements device_state_attributes. Please report it to the custom component author.
Entity light.hot_tub_lights (<class 'custom_components.gecko.light.GeckoLight'>) implements device_state_attributes. Please report it to the custom component author.
Entity fan.hot_tub_pump_1 (<class 'custom_components.gecko.fan.GeckoFan'>) implements device_state_attributes. Please report it to the custom component author.
Entity fan.hot_tub_pump_2 (<class 'custom_components.gecko.fan.GeckoFan'>) implements device_state_attributes. Please report it to the custom component author.
Version 0.1.7
Not sure what goes here, there's no special configuration. Let me know any details I can add.
All entities are unavailable with version 0.1.7 (see screenshot). After downgrading back to 0.1.6 everything works again as expected.
I enabled debug logs and here's everything from gecko:
2022-04-15 10:30:58 INFO (MainThread) [custom_components.gecko]
-------------------------------------------------------------------
Gecko
Version: 0.1.7
Gecko Lib: 0.4.6
This is a custom integration!
If you have any issues with this you need to open an issue here:
https://github.com/gazoodle/gecko-home-assistant/issues
-------------------------------------------------------------------
2022-04-15 10:30:58 DEBUG (MainThread) [custom_components.gecko] Setup entry for UUID 6f1abf74-d4a6-43ed-9263-e7c8eddae101, ID SPA80:1f:12:43:ce:c0, address None (None)
2022-04-15 10:30:58 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.SPA_MAN_ENTER, state GeckoSpaState.IDLE
2022-04-15 10:30:58 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_STARTED, state GeckoSpaState.LOCATING_SPAS
2022-04-15 10:31:00 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_DISCOVERED_SPA, state GeckoSpaState.LOCATING_SPAS
2022-04-15 10:31:03 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_FINISHED, state GeckoSpaState.LOCATED_SPAS
2022-04-15 10:31:03 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_STARTED, state GeckoSpaState.LOCATING_SPAS
2022-04-15 10:31:05 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_DISCOVERED_SPA, state GeckoSpaState.LOCATING_SPAS
2022-04-15 10:31:05 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_FINISHED, state GeckoSpaState.LOCATED_SPAS
2022-04-15 10:31:05 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CLIENT_HAS_STATUS_SENSOR, state GeckoSpaState.LOCATED_SPAS
2022-04-15 10:31:05 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CLIENT_HAS_RECONNECT_BUTTON, state GeckoSpaState.CONNECTING
2022-04-15 10:31:05 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_STARTED, state GeckoSpaState.CONNECTING
2022-04-15 10:31:06 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTING
2022-04-15 10:31:06 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_GOT_FIRMWARE_VERSION, state GeckoSpaState.CONNECTING
2022-04-15 10:31:07 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CLIENT_HAS_PING_SENSOR, state GeckoSpaState.CONNECTING
2022-04-15 10:31:07 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_GOT_CHANNEL, state GeckoSpaState.CONNECTING
2022-04-15 10:31:08 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_GOT_CONFIG_FILES, state GeckoSpaState.CONNECTING
2022-04-15 10:31:08 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_INITIAL_DATA_BLOCK_REQUEST, state GeckoSpaState.CONNECTING
2022-04-15 10:31:12 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_SPA_COMPLETE, state GeckoSpaState.SPA_READY
2022-04-15 10:31:12 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CLIENT_FACADE_IS_READY, state GeckoSpaState.CONNECTED
2022-04-15 10:31:12 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_FINISHED, state GeckoSpaState.CONNECTED
2022-04-15 10:32:06 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTED
Is your feature request related to a problem? Please describe.
Unable to monitor tub energy usage
Describe the solution you'd like
I found this integration - https://github.com/bramstroker/homeassistant-powercalc
I set up sensors for my tub heater and pump (lo/hi) I estimated their respective power draw by checking my smart meter when they were on/off. I wonder if some of that code could be re-used in this integration ?
Describe alternatives you've considered
You can set up the virtual power sensors separately using the integration mentioned. It doesn't have to be part of this one.
Additional context
Even if this can't be integrated, I thought people might be interested to know about powercalc for tub energy monitoring.
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.
Hello there gazoodle
Great work on this project if only they all worked this well!
I am hoping you can add entities for
-current temp
-current operation mode
-switch operation mode
I know these can be accssed by lovelace but alas I have a seperate TFT sceen with only minimal interface options
many thanks
First of all this is a pretty great integration, thank you very much Gazoodle! I am seeing my spa in Home Assistant and can control the heater, blower and lights! My issue is I have no control over the jet pumps and am posting my error logs in hopes of someone being able to help. My particular spa is a Hydropool Spa with 2 jet pumps. Pump #1 has 2 settings, hi and low we'll call them, and pump #2 is either on or off. I'm not very savvy when it comes to Home Assistant but I can follow directions and tutorials fairly well, any help is greatly appreciated!! Thanks!!
2022-04-15 11:15:29 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration gecko which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2022-04-15 11:15:32 WARNING (Recorder) [homeassistant.components.recorder.util] The system could not validate that the sqlite3 database at //config/home-assistant_v2.db was shutdown cleanly
2022-04-15 11:16:03 ERROR (MainThread) [homeassistant.setup] Setup failed for button: Integration not found.
2022-04-15 11:16:03 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry My Spa for fan
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 293, in async_setup
result = await component.async_setup_entry(hass, self) # type: ignore
File "/usr/src/homeassistant/homeassistant/components/fan/init.py", line 209, in async_setup_entry
return await hass.data[DOMAIN].async_setup_entry(entry)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 149, in async_setup_entry
platform = await async_prepare_setup_platform(
File "/usr/src/homeassistant/homeassistant/setup.py", line 328, in async_prepare_setup_platform
platform = integration.get_platform(domain)
File "/usr/src/homeassistant/homeassistant/loader.py", line 498, in get_platform
cache[full_name] = self._import_platform(platform_name)
File "/usr/src/homeassistant/homeassistant/loader.py", line 503, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
File "/usr/local/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 779, in exec_module
File "", line 916, in get_code
File "", line 846, in source_to_code
File "", line 219, in _call_with_frames_removed
File "/config/custom_components/gecko/fan.py", line 1
Fan platform for Gecko.
^
SyntaxError: invalid syntax
2022-04-15 11:16:03 WARNING (MainThread) [geckolib.driver.protocol.unhandled] No handler for b'RMREQ\x01\x00\x00\x01\x02\x1e\x00\x01\x03<\x00\x01\x04b\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' from ('192.168.32.68', 10022, b'SPA80:1f:12:65:f3:28', b'IOS7aca5272-9d53-4c96-b43d-df43cc457e34') found, message ignored
Thanks again for this beautiful addon.
If possible add a Paypal Donation button on gecko-home-assistant page.
Have a nice day :)
Any chance we could have selection for which units to use?
PROXMOX 6.3-2
Home Assistant OS 6.1
Supervisor-2021.06.8
Home Assistant 2021.7.2
GECKO Install with HACS :
Gecko
Version: 0.0.6
This is a custom integration!
If you have any issues with this you need to open an issue here:
https://github.com/gazoodle/gecko-home-assistant/issues
Add your logs here.
Logger: geckolib.driver.udp_socket
Source: /usr/local/lib/python3.9/site-packages/geckolib/driver/udp_socket.py:314
First occurred: 11:12:53 (1 occurrences)
Last logged: 11:12:53
Unhandled exception in receive_handler func
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/geckolib/driver/udp_socket.py", line 312, in dispatch_recevied_data
receive_handler.handled(self, remote_end)
File "/usr/local/lib/python3.9/site-packages/geckolib/driver/udp_socket.py", line 87, in handled
self._on_handled(self, socket, sender)
File "/usr/local/lib/python3.9/site-packages/geckolib/spa.py", line 163, in _on_config_received
raise Exception(
Exception: Cannot find XML configuraton for inYT v65
A clear and concise description of what the bug is.
I just purchase a bizone SPA with SPA and SWIM SPA. Each one have a in-touch 2 module.
SPA : in.ye-5 + K800 + in-touch2
SWIM SPA : in.yt-7 + K800 + in-touch2
both are recognize on the integration UI but only SWIM SPA are connected the other one make an error. same issue if i only connect SPA or after swim spa configutration.
Both work well on the gecko app in IOS or Android
Add your logs here.
2021-07-13 11:12:50 INFO (MainThread) [custom_components.gecko]
-------------------------------------------------------------------
Gecko
Version: 0.0.6
This is a custom integration!
If you have any issues with this you need to open an issue here:
https://github.com/gazoodle/gecko-home-assistant/issues
-------------------------------------------------------------------
2021-07-13 11:12:50 INFO (MainThread) [custom_components.gecko] Setup entry for SPA80:1f:12:65:be:b8
2021-07-13 11:12:50 INFO (MainThread) [custom_components.gecko] Locator GeckoLocator(age=0.3874899409711361,has_had_enough_time=False,spas=[Piscine(SPA80:1f:12:65:be:b8)]) ready
2021-07-13 11:12:50 INFO (MainThread) [custom_components.gecko] Setup entry for SPA68:27:19:8e:33:60
2021-07-13 11:12:51 INFO (MainThread) [custom_components.gecko] Locator GeckoLocator(age=0.1089000859647058,has_had_enough_time=False,spas=[Piscine(SPA80:1f:12:65:be:b8), Spa(SPA68:27:19:8e:33:60)]) ready
2021-07-13 11:12:52 INFO (MainThread) [custom_components.gecko] Waiting for facade to be ready
2021-07-13 11:12:52 INFO (MainThread) [custom_components.gecko] Waiting for facade to be ready
2021-07-13 11:12:53 ERROR (Thread-8) [geckolib.driver.udp_socket] Unhandled exception in receive_handler func
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/geckolib/driver/udp_socket.py", line 312, in dispatch_recevied_data
receive_handler.handled(self, remote_end)
File "/usr/local/lib/python3.9/site-packages/geckolib/driver/udp_socket.py", line 87, in handled
self._on_handled(self, socket, sender)
File "/usr/local/lib/python3.9/site-packages/geckolib/spa.py", line 163, in _on_config_received
raise Exception(
Exception: Cannot find XML configuraton for inYT v65
Thanks @gazoodle for the "alpha" integration.
Here some errors in HA logs :
`Logger: homeassistant.util.async_
Source: util/async_.py:105
First occurred: 9:54:09 (1 occurrences)
Last logged: 9:54:09
Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for gecko doing I/O at custom_components/gecko/init.py, line 47: facade = locator.get_spa_from_identifier(spa_identifier).get_facade(False)`
`Logger: geckolib.driver.udp_socket
Source: /usr/local/lib/python3.8/site-packages/geckolib/driver/udp_socket.py:316
First occurred: 9:54:17 (17 occurrences)
Last logged: 10:04:31
Couldn't find new handler for b"STATV\t\n'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
Couldn't find new handler for b"STATV\n\x0b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
Couldn't find new handler for b"STATV\x0b\x0c'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
Couldn't find new handler for b'STATV\x0c\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
Couldn't find new handler for b'PACKS'`
`Logger: geckolib.driver.spastruct
Source: /usr/local/lib/python3.8/site-packages/geckolib/driver/spastruct.py:49
First occurred: 9:54:19 (46 occurrences)
Last logged: 10:09:39
Out-of-sequence status block segment 8 - ignored
Out-of-sequence status block segment 9 - ignored
Out-of-sequence status block segment 10 - ignored
Out-of-sequence status block segment 11 - ignored
Out-of-sequence status block segment 12 - ignored`
`Logger: geckolib.driver.spastruct
Source: /usr/local/lib/python3.8/site-packages/geckolib/driver/spastruct.py:53
First occurred: 9:54:22 (5 occurrences)
Last logged: 10:09:39
Retry status block request`
The version of GeckoLib is 0.3.17 that was installed when I installed the integration via HACS
Also, the Pump is set as a switch, so unable to see/set the Speed of it (you know, I have a 2 speed pump). So maybe set Pump as a "Fan" instead of a "Switch"?
0.1.0
HA core-2022.3.4 running on Debian
I just upgraded and got the following alert :
Missing entities :
The following integrations and platforms could not be set up:
gecko.button
gecko.fan
gecko.sensor
My pump and Hot Tub: Smart Winter Mode: Risk entities are both now showing 'Unavailable' (Not sure what uses the button)
-------------------------------------------------------------------
Gecko
Version: 0.1.0
Gecko Lib: 0.4.0
This is a custom integration!
If you have any issues with this you need to open an issue here:
https://github.com/gazoodle/gecko-home-assistant/issues
-------------------------------------------------------------------
2022-03-15 17:01:05 DEBUG (MainThread) [custom_components.gecko] Setup entry for UUID 6102cecf-128c-4efa-a137-24fe470a14ee, ID SPA04:91:62:d3:66:b8, address None (None)
2022-03-15 17:01:06 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.SPA_MAN_ENTER, state GeckoSpaState.IDLE
2022-03-15 17:01:06 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_STARTED, state GeckoSpaState.LOCATING_SPAS
2022-03-15 17:01:06 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_DISCOVERED_SPA, state GeckoSpaState.LOCATING_SPAS
2022-03-15 17:01:06 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_FINISHED, state GeckoSpaState.IDLE
2022-03-15 17:01:06 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CLIENT_HAS_STATUS_SENSOR, state GeckoSpaState.IDLE
2022-03-15 17:01:06 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CLIENT_HAS_RECONNECT_BUTTON, state GeckoSpaState.CONNECTING
2022-03-15 17:01:06 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_STARTED, state GeckoSpaState.CONNECTING
2022-03-15 17:01:07 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTING
2022-03-15 17:01:08 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_GOT_FIRMWARE_VERSION, state GeckoSpaState.CONNECTING
2022-03-15 17:01:08 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CLIENT_HAS_PING_SENSOR, state GeckoSpaState.CONNECTING
2022-03-15 17:01:08 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_GOT_CHANNEL, state GeckoSpaState.CONNECTING
2022-03-15 17:01:09 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_GOT_CONFIG_FILES, state GeckoSpaState.CONNECTING
2022-03-15 17:01:09 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_INITIAL_DATA_BLOCK_REQUEST, state GeckoSpaState.CONNECTING
2022-03-15 17:01:12 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_SPA_COMPLETE, state GeckoSpaState.SPA_READY
2022-03-15 17:01:12 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CLIENT_FACADE_IS_READY, state GeckoSpaState.CONNECTED
2022-03-15 17:01:12 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_FINISHED, state GeckoSpaState.CONNECTED
2022-03-15 17:01:12 DEBUG (MainThread) [custom_components.gecko.spa_manager] Load platforms ['binary_sensor', 'button', 'fan', 'sensor', 'switch', 'climate', 'light']
2022-03-15 17:01:12 INFO (MainThread) [custom_components.gecko.entity] Setup entity Circulating Pump/SPA049162d366b8-CIRCULATING PUMP
2022-03-15 17:01:12 INFO (MainThread) [custom_components.gecko.entity] Setup entity Ozone/SPA049162d366b8-OZONE
2022-03-15 17:01:12 INFO (MainThread) [custom_components.gecko.entity] Setup entity Smart Winter Mode:Active/SPA049162d366b8-SMART WINTER MODE:ACTIVE
2022-03-15 17:01:12 INFO (MainThread) [custom_components.gecko.entity] Setup entity Filter Status:Clean/SPA049162d366b8-FILTER STATUS:CLEAN
2022-03-15 17:01:12 INFO (MainThread) [custom_components.gecko.entity] Setup entity Filter Status:Purge/SPA049162d366b8-FILTER STATUS:PURGE
2022-03-15 17:01:12 INFO (MainThread) [custom_components.gecko.entity] Setup entity Economy Mode/SPA049162d366b8-EconActive
2022-03-15 17:01:12 INFO (MainThread) [custom_components.gecko.entity] Setup entity Heater/SPA049162d366b8-HEAT
2022-03-15 17:01:12 INFO (MainThread) [custom_components.gecko.entity] Setup entity Lights/SPA049162d366b8-LI
2022-03-15 17:01:12 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTED
Hi
Since this last update the integration keeps disconnecting and only reconnects once you press the reconnect button of the integration.
Never had this problem before and not sure if itโs something to do with my setup or a wider issue.
Many thanks for any help
Jamie
Add your logs here.
A clear and concise description of what the bug is.
Add your logs here.
0.0.11
- entity: sensor.hot_tub_heater_preset
name: Current Preset
I have a yaml dashboard which is dedicated to all my hot tub settings. I've noticed that the preset (standard, energy-saver, weekender etc) doesn't always seem to reflect what the tub is actually set to. I often change the preset (always via the gecko app, never this integrations service call) mid week. If I navigate to integrations and 'reload' this integration it updates though.
I can supply if needed but grep -i preset home-assistant.log
doesn't show anything (I have debug set for this integration)
My hot tub supports about 8 different colours, and a setting to cycle through them all. My preferred colour is about 5 or 6 colours in, and the only way to get to it is by turning the lights on, and then off 5 or 6 times in quick succession. This is the same on either the panel, or through this API. I'm not sure if it's even possible, but it would be fantastic to go straight to my preferred colour rather than having to cycle through them! Have I missed anything in the API, or is there any way to do this I've not considered?
Any chance to have a selection between fahrenheit and celsius?
I installed the integration yesterday and it started working at once presumably without any truble, but when I look into the home assistant logs I see that it gets filled up with warnings from the integration.
Is it normal or just some problems with my installation?
I installed by copying in the files as described. I then disabled the integration and enabled it before I looked at the logs.
When I discovered the logs I uninstalled the integration and reinstalled it, still a lot of warnings.
I have included samples of the log.
I am currently running version 0.1.6 in homeassistant 2022.4 docker version
I enabled all the possible integrations
NB, removed the mac adress and part of other number
This is the warning type that comes several times every second
2022-04-10 07:30:42 WARNING (MainThread) [geckolib.async_spa] Dropping packet from ('192.168.0.104', 10022, b'SPAe8:eb:RESTOFMAC', b'IOS70dfYYYY-NUMBER') because it didn't match ('192.168.0.104', 10022, b'SPAe8:eb:RESTOFMAC', b'IOS7b45XXXX-NUMBER')
I also get this in the log, only some entries
2022-04-10 07:30:57 WARNING (MainThread) [geckolib.driver.protocol.unhandled] No handler for b"STATV\x00\x01'\x07\x00\x00\x00\xa4\x00\x05\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x00\x00\x02\xd0\x02\xd0\x02\x01\x00\x00\x00\x00\x00@\x0e\x00\nK\x00=3\x00" from ('192.168.0.104', 10022, REST OF LINE REMOVED
Many thanks!
Hi, great integration, thanks.
Unable to control my ozone pump - blower and jets are just fine. This maps to the 'bubbles' button in the in.touch 2 app. There is just no switch entity for it, just a binary_sensor.
Any ideas please?
My "pump 1" has 2 speed options.
When I click on the pump in the official intouch.2 app, it turns on the pump in slow mode.
When I click on the pump again, it changes it to fast mode.
When I click the pump a 3rd time, it turns off.
It seems that the "pump 1" home assistant switch operates in a similar way. It's a little bit confusing though. When the switch is already on (pump running slow) and I go to toggle the switch off, it turns itself back on (pump running fast). Now that I understand this operation, I'm ok with this.
However, I'm wondering if we could expose a binary sensor that shows whether the pump is in slow/fast mode please? Or perhaps it would be best to have a 3 state switch of sorts?
looking in breaking changes ALL i can see about custom components is about correct manifest versioning?
Custom integrations now require a version key in their manifest file, this also means that all custom integrations now require a manifest file.
If you are using a legacy custom integration like custom_components/awesome.py this now needs to move to custom_components/awesome/init.py so you can add custom_components/awesome/manifest.json to it.
For more information about integration, manifests have a look here: https://developers.home-assistant.io/docs/creating_integration_manifest
Custom integrations that do not have this will be blocked from loading if itโs missing a version in the manifest starting with Home Assistant 2021.6.
If you see these errors, please report the issue with the author of that
Error in HA is below
Logger: custom_components.gecko
Source: util/async_.py:140
Integration: Gecko (documentation, issues)
First occurred: 5:27:37 (1 occurrences)
Last logged: 5:27:37
Exception during entry setup
Traceback (most recent call last):
File "/config/custom_components/gecko/init.py", line 45, in async_setup_entry
facade = locator.get_spa_from_identifier(spa_identifier).get_facade(False)
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 46, in get_facade
facade = GeckoFacade(GeckoSpa(self).start_connect())
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 73, in init
GeckoSpaPack.init(self)
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spapack.py", line 15, in init
GeckoSpaPack.download_if_needed()
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spapack.py", line 32, in download_if_needed
GeckoSpaPack.download()
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spapack.py", line 39, in download
response = http.request(
File "/usr/local/lib/python3.8/site-packages/urllib3/request.py", line 74, in request
return self.request_encode_url(
File "/usr/local/lib/python3.8/site-packages/urllib3/request.py", line 96, in request_encode_url
return self.urlopen(method, url, **extra_kw)
File "/usr/local/lib/python3.8/site-packages/urllib3/poolmanager.py", line 375, in urlopen
response = conn.urlopen(method, u.request_uri, **kw)
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 394, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 234, in request
super(HTTPConnection, self).request(method, url, body=body, headers=headers)
File "/usr/local/lib/python3.8/http/client.py", line 1252, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1263, in send_request
self.putrequest(method, url, **skips)
File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 214, in putrequest
return HTTPConnection.putrequest(self, method, url, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/util/async.py", line 151, in protected_loop_func
check_loop()
File "/usr/src/homeassistant/homeassistant/util/async.py", line 140, in check_loop
raise RuntimeError(
RuntimeError: I/O must be done in the executor; Use await hass.async_add_executor_job()
at custom_components/gecko/init.py, line 45: facade = locator.get_spa_from_identifier(spa_identifier).get_facade(False)
Version 0.0.5 - from manifest.json
Version 0.0.1 - from const.py
With local modification to line 45 of iniy.py from issue #
Original
facade = await locator.get_spa_from_identifier(spa_identifier).get_facade(False)
Changed to
spa = await hass.async_add_executor_job(locator.get_spa_from_identifier, spa_identifier)
facade = await hass.async_add_executor_job(spa.get_facade, False)
NA
The custom component generates an error on startup if the Gecko units aren't connected (RF error). (My tub was temporarily powered down for maintenance.)
Since no other errors have been generated, and things haven't changed, it doesn't look like it is going to poll at some point and recover. I've only waited 15 minutes so far.
So I'm guessing I'm going to have to restart Home Assistant to get the integration to reconnect.
2021-06-12 11:04:13 WARNING (Thread-6) [geckolib.driver.udp_socket] Couldn't find new handler for b'RFERR'
2021-06-12 11:04:15 WARNING (Thread-6) [geckolib.driver.udp_socket] Couldn't find new handler for b'RFERR'
2021-06-12 11:04:17 WARNING (Thread-6) [geckolib.driver.udp_socket] Couldn't find new handler for b'RFERR'
2021-06-12 11:04:19 WARNING (Thread-6) [geckolib.driver.udp_socket] Couldn't find new handler for b'RFERR'
2021-06-12 11:04:21 WARNING (Thread-6) [geckolib.driver.udp_socket] Couldn't find new handler for b'RFERR'
2021-06-12 11:04:23 WARNING (Thread-6) [geckolib.driver.udp_socket] Couldn't find new handler for b'RFERR'
2021-06-12 11:04:25 WARNING (Thread-6) [geckolib.driver.udp_socket] Couldn't find new handler for b'RFERR'
2021-06-12 11:04:27 WARNING (Thread-6) [geckolib.driver.udp_socket] Couldn't find new handler for b'RFERR'
2021-06-12 11:04:29 WARNING (Thread-6) [geckolib.driver.udp_socket] Couldn't find new handler for b'RFERR'
2021-06-12 11:04:39 ERROR (Thread-5) [root] Uncaught thread exception
Traceback (most recent call last):
File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 282, in _ping_thread_func
self.refresh()
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 311, in refresh
if not self.is_connected:
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 306, in is_connected
raise RuntimeError("Spa took too long to connect ...")
RuntimeError: Spa took too long to connect ...
2021-06-12 11:04:39 ERROR (MainThread) [custom_components.gecko] Exception during entry setup
Traceback (most recent call last):
File "/config/custom_components/gecko/__init__.py", line 49, in async_setup_entry
while not facade.is_connected:
File "/usr/local/lib/python3.8/site-packages/geckolib/automation/facade.py", line 68, in is_connected
if not self._spa.is_connected:
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 306, in is_connected
raise RuntimeError("Spa took too long to connect ...")
RuntimeError: Spa took too long to connect ...
0.0.5 - manifest.json
(geckolib 0.3.17)
NA
Numerous warnings may be generated in the Home Assistant log by the Gecko integration (actually Geckolib) if other applications access the Gecko unit while Home Assistant is running.
To reproduce, run the mobile app (tested with iOS) or the GeckoShell while Home Assistant is running and observe the Home Assistant log.
This is likely an issue that needs to be resolved in Geckolib, since it looks like anything connected may receive responses to commands that any connected app sends. Currently Geckolib outputs a warning if there isn't a handler for a response (because the response appears to be unsolicited from that app's perspective.)
2021-06-13 12:31:32 WARNING (Thread-6) [geckolib.driver.spastruct] Out-of-sequence status block segment 10 -
ignored
2021-06-13 12:31:32 WARNING (Thread-6) [geckolib.driver.spastruct] Out-of-sequence status block segment 11 -
ignored
2021-06-13 12:31:32 WARNING (Thread-6) [geckolib.driver.spastruct] Out-of-sequence status block segment 12 -
ignored
2021-06-13 12:31:32 WARNING (Thread-6) [geckolib.driver.spastruct] Retry status block request
2021-06-13 12:31:43 WARNING (Thread-6) [geckolib.driver.spastruct] Out-of-sequence status block segment 6 - ignored
2021-06-13 12:31:43 WARNING (Thread-6) [geckolib.driver.spastruct] Out-of-sequence status block segment 7 - ignored
2021-06-13 12:31:43 WARNING (Thread-6) [geckolib.driver.spastruct] Out-of-sequence status block segment 8 - ignored
2021-06-13 12:31:43 WARNING (Thread-6) [geckolib.driver.spastruct] Out-of-sequence status block segment 9 - ignored
2021-06-13 12:31:43 WARNING (Thread-6) [geckolib.driver.spastruct] Out-of-sequence status block segment 10 -
ignored
2021-06-13 12:31:43 WARNING (Thread-6) [geckolib.driver.spastruct] Out-of-sequence status block segment 11 -
ignored
2021-06-13 12:31:43 WARNING (Thread-6) [geckolib.driver.spastruct] Out-of-sequence status block segment 12 -
ignored
2021-06-13 12:31:43 WARNING (Thread-6) [geckolib.driver.spastruct] Retry status block request
2021-06-13 12:31:53 WARNING (Thread-6) [geckolib.driver.spastruct] Out-of-sequence status block segment 9 - ignored
2021-06-13 12:31:54 WARNING (Thread-6) [geckolib.driver.spastruct] Out-of-sequence status block segment 10 -
ignored
2021-06-13 12:31:54 WARNING (Thread-6) [geckolib.driver.spastruct] Out-of-sequence status block segment 11 -
ignored
2021-06-13 12:31:54 WARNING (Thread-6) [geckolib.driver.spastruct] Out-of-sequence status block segment 12 -
ignored
2021-06-13 12:31:54 WARNING (Thread-6) [geckolib.driver.spastruct] Retry status block request
Add your logs here.
Version 0.0.5 - from manifest.json
Version 0.0.1 - from const.py
pulled from master (default) branch at github.
Integration added through UI, no other configuration done. All options still enabled (binary sensor, climate, light, sensor, switch)
Added the gecko-home-assistant custom component. Enabled the integration. It auto detected the Mr. Steam Steamlinux Gecko unit, which isn't currently handled by Geckolib. See Geckolib issue: gazoodle/geckolib#6
Note: when I added the integration to Home Assistant the Gecko unit for the hot tub wasn't connected yet.
I'm not expecting Home Assistant support for the Mr. Steam yet, just looking to avoid the error from the auto-detection of the Mr. Steam unit.
Will report back what happens when integration/hass restarted with in.touch2 (hot tub) Gecko connected.
Logger: custom_components.gecko
Source: util/async_.py:140
Integration: Gecko (documentation, issues)
First occurred: 1:29:13 PM (1 occurrences)
Last logged: 1:29:13 PM
Exception during entry setup
Traceback (most recent call last):
File "/config/custom_components/gecko/__init__.py", line 45, in async_setup_entry
facade = locator.get_spa_from_identifier(spa_identifier).get_facade(False)
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 46, in get_facade
facade = GeckoFacade(GeckoSpa(self).start_connect())
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 73, in __init__
GeckoSpaPack.__init__(self)
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spapack.py", line 15, in __init__
GeckoSpaPack.download_if_needed()
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spapack.py", line 32, in download_if_needed
GeckoSpaPack.download()
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spapack.py", line 39, in download
response = http.request(
File "/usr/local/lib/python3.8/site-packages/urllib3/request.py", line 74, in request
return self.request_encode_url(
File "/usr/local/lib/python3.8/site-packages/urllib3/request.py", line 96, in request_encode_url
return self.urlopen(method, url, **extra_kw)
File "/usr/local/lib/python3.8/site-packages/urllib3/poolmanager.py", line 375, in urlopen
response = conn.urlopen(method, u.request_uri, **kw)
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 394, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 234, in request
super(HTTPConnection, self).request(method, url, body=body, headers=headers)
File "/usr/local/lib/python3.8/http/client.py", line 1252, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1263, in _send_request
self.putrequest(method, url, **skips)
File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 214, in putrequest
return _HTTPConnection.putrequest(self, method, url, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/util/async_.py", line 151, in protected_loop_func
check_loop()
File "/usr/src/homeassistant/homeassistant/util/async_.py", line 140, in check_loop
raise RuntimeError(
RuntimeError: I/O must be done in the executor; Use `await hass.async_add_executor_job()` at custom_components/gecko/__init__.py, line 45: facade = locator.get_spa_from_identifier(spa_identifier).get_facade(False)
This is the Home Assistant logger output. If you need me to turn up debug logging, or give logging from the geckolib shell I can do that.
First, thank you for taking your time to write this integration.
Just installed the integration via HACS, and enabled the integration in the UI (Configuration -> Integrations -> Gecko)
I wasn't asked for any information, and after completing, I had an integration listed with my spa name.
No devices or entities are listed, and the logs under Configuration -> Logs show the following relevant information:
Version | core-2021.4.3 |
---|---|
Installation Type | Home Assistant OS |
Development | false |
Supervisor | true |
Docker | true |
Virtual Environment | false |
Python Version | 3.8.7 |
Operating System Family | Linux |
Operating System Version | 5.4.109 |
CPU Architecture | x86_64 |
Timezone | America/Los_Angeles |
Error:
Logger: custom_components.gecko
Source: util/async_.py:139
Integration: Gecko (documentation, issues)
First occurred: 1:29:04 PM (1 occurrences)
Last logged: 1:29:04 PM
Exception during entry setup
Traceback (most recent call last):
File "/config/custom_components/gecko/__init__.py", line 45, in async_setup_entry
facade = locator.get_spa_from_identifier(spa_identifier).get_facade(False)
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 46, in get_facade
facade = GeckoFacade(GeckoSpa(self).start_connect())
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 73, in __init__
GeckoSpaPack.__init__(self)
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spapack.py", line 15, in __init__
GeckoSpaPack.download_if_needed()
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spapack.py", line 32, in download_if_needed
GeckoSpaPack.download()
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spapack.py", line 39, in download
response = http.request(
File "/usr/local/lib/python3.8/site-packages/urllib3/request.py", line 74, in request
return self.request_encode_url(
File "/usr/local/lib/python3.8/site-packages/urllib3/request.py", line 96, in request_encode_url
return self.urlopen(method, url, **extra_kw)
File "/usr/local/lib/python3.8/site-packages/urllib3/poolmanager.py", line 375, in urlopen
response = conn.urlopen(method, u.request_uri, **kw)
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 394, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 234, in request
super(HTTPConnection, self).request(method, url, body=body, headers=headers)
File "/usr/local/lib/python3.8/http/client.py", line 1255, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1266, in _send_request
self.putrequest(method, url, **skips)
File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 214, in putrequest
return _HTTPConnection.putrequest(self, method, url, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/util/async_.py", line 150, in protected_loop_func
check_loop()
File "/usr/src/homeassistant/homeassistant/util/async_.py", line 139, in check_loop
raise RuntimeError(
RuntimeError: I/O must be done in the executor; Use `await hass.async_add_executor_job()` at custom_components/gecko/__init__.py, line 45: facade = locator.get_spa_from_identifier(spa_identifier).get_facade(False)
Is your feature request related to a problem? Please describe.
My HA system sits in a docker container on a different VLAN from all my IoT devices. Thus, the automatic detection won't work.
Describe the solution you'd like
I'd love to see both the upstream library, and this module support adding the integration - then the integration can either search for tubs, and/or allow for a static IP address to be used.
Describe alternatives you've considered
I'm not sure what alternative I'd be able to get away with. At best, I might be able to write a python proxy that would also run on the container network that just pipes the requests to the correct IP address.
Additional context
None.
Thanks for both the Library and the Module.
Installed Gecko @ 0.0.7
via HACS on 30th Jan 2022.
Nothing shows up in the UI (Configuration > Integrations > + "Gecko" doesn't show Gecko as an option)
No errors or warnings related to gecko in logs.
version | core-2021.12.10 |
---|---|
installation_type | Home Assistant OS |
dev | false |
hassio | true |
docker | true |
user | root |
virtualenv | false |
python_version | 3.9.7 |
os_name | Linux |
os_version | 5.10.91 |
arch | aarch64 |
timezone | Europe/London |
GitHub API | ok |
---|---|
Github API Calls Remaining | 4941 |
Installed Version | 1.19.0 |
Stage | running |
Available Repositories | 965 |
Downloaded Repositories | 3 |
logged_in | false |
---|---|
can_reach_cert_server | ok |
can_reach_cloud_auth | ok |
can_reach_cloud | ok |
host_os | Home Assistant OS 7.2 |
---|---|
update_channel | stable |
supervisor_version | supervisor-2021.12.2 |
docker_version | 20.10.9 |
disk_total | 115.7 GB |
disk_used | 8.0 GB |
healthy | true |
supported | true |
board | odroid-n2 |
supervisor_api | ok |
version_api | ok |
installed_addons | File editor (5.3.3), MariaDB (2.4.0), Let's Encrypt (4.12.0), Mosquitto broker (6.0.1), Check Home Assistant configuration (3.9.0), Terminal & SSH (9.3.0), eWeLink Smart Home (1.2.3), Node-RED (10.3.4) |
dashboards | 1 |
---|---|
resources | 0 |
views | 2 |
mode | storage |
starting with the latest HA version (running core-2021.12.8) Iโve noticed the blower being switch on and off on their own.
Every X hours the blowers turn on for exactly 1 min and then they turn off. As per the logger itโs not really an automation or a user command enabling (and disabling it):
while when I turn it on it is logged in this way
Anyone seeing something similar?
Version 0.0.1
git commit 2d3e2d7
I'm running a dockerized version of home assistant using host networking.
Added the gecko custom_component as documented.
I integrated the gecko custom component and used the Integrations UI to add Gecko. The process seemed to run successfully from the front end, but no entities were exposed after the component was added. Although it does seem like my spa was discovered.
This is my docker log
home-assistant | 2021-01-18 16:20:02 WARNING (MainThread) [homeassistant.util.async_] Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for gecko doing I/O at custom_components/gecko/__init__.py, line 45: facade = locator.get_spa_from_identifier(spa_identifier).get_facade(False)
home-assistant | 2021-01-18 16:20:04 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b"STATV\x01\x02'\x08\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\x11\x00\x010\x14x\xf0\x02\x14\x02\x04\x02\x00\x00\x00s\x01\x0e\x02\xd0\x00\x00\x04\x01\x00\x00\x01\x00"
home-assistant | 2021-01-18 16:20:04 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b"STATV\x01\x02'\x08\x03\x00\x00\x00\x00\x00\x00\x00\x01\x00\x11\x00\x010\x14x\xf0\x02\x14\x02\x04\x02\x00\x00\x00s\x01\x0e\x02\xd0\x00\x00\x04\x01\x00\x00\x01\x00"
home-assistant | 2021-01-18 16:20:04 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b"STATV\x02\x03'\x00\x0f\x02\xc5\x00\x02\x00\x02\x01\x01\x03\x03\x03\x05\x05\x04\x04\x01\x03\x06\x14\x0f\x18\x0f\x0f\x14\x06\x06\x06\x06\x06\x06\x00\x00\x00\x00\x01\x00\x00"
home-assistant | 2021-01-18 16:20:04 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b"STATV\x03\x04'\x00\x14\x00x\x00\n @\x80\x02\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
home-assistant | 2021-01-18 16:20:04 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b"STATV\x04\x05'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
home-assistant | 2021-01-18 16:20:04 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b"STATV\x05\x06'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
home-assistant | 2021-01-18 16:20:04 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b"STATV\x06\x07'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x02\x0f\xff\xff\xff"
home-assistant | 2021-01-18 16:20:04 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b"STATV\x07\x08'\x00\x00\x02\xc7\x02\xc7\x00\x00\x00\x00\x00\x00\x00@\n\x00\nK\x00=%\x00<;\x01b\x01\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\n"
home-assistant | 2021-01-18 16:20:04 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b"STATV\x08\t'\x8c\x00\x00\x00\x00\x02\xcc\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
home-assistant | 2021-01-18 16:20:05 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b"STATV\t\n'\x00\x00\x00\x00\x01B\x08\x00\x18\x0f\x00\x00\x00\x00vT\x00\x00\x00\x00\x11\x0e\x1e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
home-assistant | 2021-01-18 16:20:05 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b"STATV\n\x0b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
home-assistant | 2021-01-18 16:20:05 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b"STATV\x0b\x0c'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x02\x03\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff"
home-assistant | 2021-01-18 16:20:05 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b"STATV\x0c\r'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffinYT_C60.xml\x00\x00\x00\x00inYT_S59.xm"
home-assistant | 2021-01-18 16:20:05 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b'STATV\r\x00\x05l\x00\x00\x00\x00'
home-assistant | 2021-01-18 16:20:09 WARNING (Thread-16) [geckolib.driver.udp_socket] Couldn't find new handler for b'FILES,inYT_C60.xml,inYT_S59.xml'
home-assistant | 2021-01-18 16:20:33 ERROR (Thread-15) [root] Uncaught thread exception
home-assistant | Traceback (most recent call last):
home-assistant | File "/usr/local/lib/python3.8/threading.py", line 932, in _bootstrap_inner
home-assistant | self.run()
home-assistant | File "/usr/local/lib/python3.8/threading.py", line 870, in run
home-assistant | self._target(*self._args, **self._kwargs)
home-assistant | File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 282, in _ping_thread_func
home-assistant | self.refresh()
home-assistant | File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 311, in refresh
home-assistant | if not self.is_connected:
home-assistant | File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 306, in is_connected
home-assistant | raise RuntimeError("Spa took too long to connect ...")
home-assistant | RuntimeError: Spa took too long to connect ...
home-assistant | 2021-01-18 16:20:33 ERROR (MainThread) [custom_components.gecko] Exception during entry setup
home-assistant | Traceback (most recent call last):
home-assistant | File "/config/custom_components/gecko/__init__.py", line 47, in async_setup_entry
home-assistant | while not facade.is_connected:
home-assistant | File "/usr/local/lib/python3.8/site-packages/geckolib/automation/facade.py", line 68, in is_connected
home-assistant | if not self._spa.is_connected:
home-assistant | File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 306, in is_connected
home-assistant | raise RuntimeError("Spa took too long to connect ...")
home-assistant | RuntimeError: Spa took too long to connect ...
FYI - I have been using this library for several months to log hot tub data: https://github.com/chicago6061/in.touch2
Let me know if what additional details you require from me.
Thank you so much for making this component! Looking forward to integrating my spa with HA.
0.0.5 - manifest.json
0.0.1 - const.py
(Geckolib version 0.3.17)
The current temperature reported through the Home Assistant climate device can show erratic changes due to a bug in GeckoLib's 0.3.17's handling of partial status updates. See gazoodle/geckolib#20.
(While this is a problem that needs to be resolved in Geckolib and therefore doesn't belong here, I'm opening this issue to help the Home Assistant users find and work around this issue until the problem in Geckolib is fixed.
Splitting the discussion of this issue from #15 into a separate dedicated issue thread.
The red line (current temperature) keeps briefly returning to the original starting value, because there is a bug in the way partial status updates are applied. Old processed updates aren't being cleared out and keep being reprocessed. This was discovered by @maegibbons in gazoodle/geckolib#20
Working around this requires patching Geckolib's spa.py
. Will try to add some instructions for patching below.
EDIT -- putting these instructions here for now, will integrate above later
To use a local copy of Geckolib that will survive container updates.
src/geckolib
from the Geckolib repo under /config/geckolib
,geckolib
from custom_components/gecko/manifest.json
.Note to remember it is there when Geckolib gets updated (or the custom component gets integrated)
Alternate that I haven't tested from Hass dev docs, Change manifest.json
to point to a specific GitHub repo/branch:
https://developers.home-assistant.io/docs/creating_integration_manifest#custom-requirements-during-development--testing
This would probably be more useful to anyone that isn't doing any hacking on Geckolib
, but does introduce a dependency on GitHub.
I noticed this in the logs today :
2021-03-10 17:07:07 WARNING (MainThread) [homeassistant.loader] No 'version' key in the manifest file for custom integration 'gecko'. This will not be allowed in a future version of Home Assistant. Please report this to the maintainer of 'gecko'
Hi
I'm running Home Assistant 2021.9.6 with custom component V0.0.7
My logs are full of the following:
2021-11-11 17:13:06 ERROR (Thread-6) [geckolib.driver.accessor] Enum accessor inFloErrorType out-of-range for ['FLOW_OK', 'MODE_1_FAIL', 'MODE_1_AND_2_FAIL', 'MODE_1_AND_HEATING_FAIL', 'HEATING_FAIL']
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/geckolib/driver/accessor.py", line 124, in _get_value
data = self.items[data]
IndexError: list index out of range
2021-11-11 17:13:06 ERROR (Thread-6) [geckolib.driver.accessor] Enum accessor inFloErrorType out-of-range for ['FLOW_OK', 'MODE_1_FAIL', 'MODE_1_AND_2_FAIL', 'MODE_1_AND_HEATING_FAIL', 'HEATING_FAIL']
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/geckolib/driver/accessor.py", line 124, in _get_value
data = self.items[data]
IndexError: list index out of range
2021-11-11 17:13:21 ERROR (Thread-6) [geckolib.driver.accessor] Enum accessor inFloErrorType out-of-range for ['FLOW_OK', 'MODE_1_FAIL', 'MODE_1_AND_2_FAIL', 'MODE_1_AND_HEATING_FAIL', 'HEATING_FAIL']
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/geckolib/driver/accessor.py", line 124, in _get_value
data = self.items[data]
IndexError: list index out of range
2021-11-11 17:13:21 ERROR (Thread-6) [geckolib.driver.accessor] Enum accessor inFloErrorType out-of-range for ['FLOW_OK', 'MODE_1_FAIL', 'MODE_1_AND_2_FAIL', 'MODE_1_AND_HEATING_FAIL', 'HEATING_FAIL']
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/geckolib/driver/accessor.py", line 124, in _get_value
data = self.items[data]
IndexError: list index out of range
although everything seems to be working fine - is the above normal? are others seeing the same? is there a way to solve the index out of range error?
TIA
Anything I need to ask specifically to the vendor in order for this to work ? Which types of Gecko equipment has this been tested on ? Would it be possible to share some views of the UI ?
in.touch EN 88 v15.0
in.touch CO 89 v11.0
inYT 572 v2.0
Low-level Conf. 6
Keypad 24 v25.0
The Gecko integration does not show variables containing temperature info, nor control regulation. The info is neither available at States in Developer Tools. When configuring the gecko integration i can see a blank field as data metrics. See attached image. Could this be related?
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
It would be great to have an option to chose Celcius or Fahrenheit
Describe the solution you'd like
A clear and concise description of what you want to happen.
checkbox to choose C or F
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Even if everything else is in Celcius in HA, i like to have my spa in fahrenheit
v0.1.8
inYT 380 v3.0
by Gecko Alliance
Firmware: SpaPack:v33.00 Config:61 Log:61
The radio quality is 100% when the integration starts or when the reconnect is pressed. The radio quality will after a while go to 1% and stay there until the integration is restarted or reconnect is pressed.
Hello,
I have tried to install your homeassistant integration, but I'm not able run the configuration.
I have installed geckolib 0.3.15 first and then created the gecko custom integration as described.
In Integration Gecko show up but when selecting it terminate.
Logger: aiohttp.server
Source: custom_components/gecko/config_flow.py:32
First occurred: 21:12:19 (1 occurrences)
Last logged: 21:12:19
Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/aiohttp/web_protocol.py", line 422, in _handle_request
resp = await self._request_handler(request)
File "/usr/local/lib/python3.8/site-packages/aiohttp/web_app.py", line 499, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.8/site-packages/aiohttp/web_middlewares.py", line 118, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 18, in request_context_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 72, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 127, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 129, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 136, in post
return await super().post(request)
File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 60, in wrapper
result = await method(view, request, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 69, in post
result = await self._flow_mgr.async_init(
File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 119, in async_init
flow = await self.async_create_flow(handler, context=context, data=data)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 552, in async_create_flow
flow = cast(ConfigFlow, handler())
File "/config/custom_components/gecko/config_flow.py", line 32, in init
self._locator.start_discovery()
AttributeError: 'GeckoLocator' object has no attribute 'start_discovery'
best regards
Walter
Version 0.0.5 - from manifest.json
Version 0.0.1 - from const.py
NA - Configured through UI
With the current version of the Gecko custom component (0.0.5), as of 2021-06-14, the Gecko integration will fail to set up in Home Assistant due to trying to download SpaPackStruct.xml
when the component is starting up.
To fix the problem, apply the change in PR #24 to custom_components/gecko/__init__.py
in your Home Assistant configuration directory. The configuration directory path is often /config
or /usr/share/hassio/homeassistant/config
but may be different based on installation method or the way you are accessing the files.
You can download the patched file directly from the PR https://github.com/gazoodle/gecko-home-assistant/blob/a7ad5024a656f01525a4d4340be9e1d7c8caf910/custom_components/gecko/__init__.py
(The fix was provided originally by @EiNSTeiN- in #15. The problem was also reported in #7 and #9.)
A workaround that doesn't require changing the code is to manually download SpaPackStruct.xml
and a place a copy in your Home Assistant configuration directory. (Note the correct directory is the top level configuration directory, not the custom_component/gecko
directory. This is the same directory that contains configuration.yaml
. Use curl
or wget
to download http://intouch.geckoal.com/gecko/prod/SpaPackStruct.xml
Note: this information was originally in issue #15. I've moved the information about the fix and the workaround here to make it easier for people to quickly find without having to sort through a long issue.
Note 2: The SpaPackStruct.xml
that is currently available for download is version 19, which is somewhat out-of-date, but appears to be the last version easily accessible without having to extract it from the mobile app. Some new spa controllers (spa packs) will require an updated SpaPackStruct.xml
to work correctly.
Exception during entry setup
Traceback (most recent call last):
File "/config/custom_components/gecko/__init__.py", line 45, in async_setup_entry
facade = locator.get_spa_from_identifier(spa_identifier).get_facade(False)
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 46, in get_facade
facade = GeckoFacade(GeckoSpa(self).start_connect())
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 73, in __init__
GeckoSpaPack.__init__(self)
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spapack.py", line 15, in __init__
GeckoSpaPack.download_if_needed()
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spapack.py", line 32, in download_if_needed
GeckoSpaPack.download()
File "/usr/local/lib/python3.8/site-packages/geckolib/driver/spapack.py", line 39, in download
response = http.request(
File "/usr/local/lib/python3.8/site-packages/urllib3/request.py", line 74, in request
return self.request_encode_url(
File "/usr/local/lib/python3.8/site-packages/urllib3/request.py", line 96, in request_encode_url
return self.urlopen(method, url, **extra_kw)
File "/usr/local/lib/python3.8/site-packages/urllib3/poolmanager.py", line 375, in urlopen
response = conn.urlopen(method, u.request_uri, **kw)
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 699, in urlopen
httplib_response = self._make_request(
File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 394, in _make_request
conn.request(method, url, **httplib_request_kw)
File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 234, in request
super(HTTPConnection, self).request(method, url, body=body, headers=headers)
File "/usr/local/lib/python3.8/http/client.py", line 1255, in request
self._send_request(method, url, body, headers, encode_chunked)
File "/usr/local/lib/python3.8/http/client.py", line 1266, in _send_request
self.putrequest(method, url, **skips)
File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 214, in putrequest
return _HTTPConnection.putrequest(self, method, url, *args, **kwargs)
File "/usr/src/homeassistant/homeassistant/util/async_.py", line 150, in protected_loop_func
check_loop()
File "/usr/src/homeassistant/homeassistant/util/async_.py", line 139, in check_loop
raise RuntimeError(
RuntimeError: I/O must be done in the executor; Use `await hass.async_add_executor_job()` at custom_components/gecko/__init__.py, line 45: facade = locator.get_spa_from_identifier(spa_identifier).get_facade(False)
I am still stuck with the following error and cannot get past the setup.
2021-09-06 22:32:08 ERROR (Thread-69) [geckolib.driver.udp_socket] Unhandled exception in receive_handler func
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/geckolib/driver/udp_socket.py", line 312, in dispatch_recevied_data
receive_handler.handled(self, remote_end)
File "/usr/local/lib/python3.9/site-packages/geckolib/driver/udp_socket.py", line 87, in handled
self._on_handled(self, socket, sender)
File "/usr/local/lib/python3.9/site-packages/geckolib/spa.py", line 163, in _on_config_received
raise Exception(
Exception: Cannot find XML configuraton for inYT v65
2021-09-06 22:32:37 ERROR (Thread-68) [root] Uncaught thread exception
Traceback (most recent call last):
File "/usr/local/lib/python3.9/threading.py", line 973, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.9/threading.py", line 910, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.9/site-packages/geckolib/spa.py", line 295, in _ping_thread_func
self.refresh()
File "/usr/local/lib/python3.9/site-packages/geckolib/spa.py", line 324, in refresh
if not self.is_connected:
File "/usr/local/lib/python3.9/site-packages/geckolib/spa.py", line 319, in is_connected
raise RuntimeError("Spa took too long to connect ...")
RuntimeError: Spa took too long to connect ...
2021-09-06 22:32:37 ERROR (MainThread) [custom_components.gecko] Exception during entry setup
Traceback (most recent call last):
File "/config/custom_components/gecko/init.py", line 50, in async_setup_entry
while not facade.is_connected:
File "/usr/local/lib/python3.9/site-packages/geckolib/automation/facade.py", line 68, in is_connected
if not self._spa.is_connected:
File "/usr/local/lib/python3.9/site-packages/geckolib/spa.py", line 319, in is_connected
raise RuntimeError("Spa took too long to connect ...")
RuntimeError: Spa took too long to connect ...
Good Morning all,
I just installed the integration and I'm running into the following. can anyone assist me with this
Exception during entry setup
Traceback (most recent call last):
File "/config/custom_components/gecko/init.py", line 47, in async_setup_entry
while not facade.is_connected:
File "/usr/local/lib/python3.8/site-packages/geckolib/automation/facade.py", line 68, in is_connected
if not self._spa.is_connected:
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 306, in is_connected
raise RuntimeError("Spa took too long to connect ...")
RuntimeError: Spa took too long to connect ...
Hi, first, thank for this really nice addon.
When i add this climate sensor on google home i can't change temperature or ask to google current temperature. Climate sensor look standard but i dont know what is option google not like. Im sorry i speak english little bit. I know i can add Gecko direct to google home but i cant use because work only in english language.... Thank you :)
Version: 0.1.2
Gecko Lib: 0.4.1
inYT: 567 v5.0
Low-level Conf.: 8
Keypad: 109 v6.0
When the integration is enabled CPU usage pegs a single core of my system to 100%. Verified disabling the integration brings system usage back in line.
<!-- To enable debug logs check this https://www.home-assistant.io/components/logger/ -->
2022-03-16 15:02:50 INFO (MainThread) [custom_components.gecko]
-------------------------------------------------------------------
Gecko
Version: 0.1.2
Gecko Lib: 0.4.1
This is a custom integration!
If you have any issues with this you need to open an issue here:
https://github.com/gazoodle/gecko-home-assistant/issues
-------------------------------------------------------------------
2022-03-16 15:02:50 DEBUG (MainThread) [custom_components.gecko] Setup entry for UUID 85e308fd-e9e7-4cbd-bc2a-1f5274c52060, ID SPA04:91:62:ce:e4:9b, address None (None)
2022-03-16 15:02:50 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.SPA_MAN_ENTER, state GeckoSpaState.IDLE
2022-03-16 15:02:51 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_STARTED, state GeckoSpaState.LOCATING_SPAS
2022-03-16 15:02:51 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_DISCOVERED_SPA, state GeckoSpaState.LOCATING_SPAS
2022-03-16 15:02:55 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_FINISHED, state GeckoSpaState.LOCATED_SPAS
2022-03-16 15:02:55 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_STARTED, state GeckoSpaState.LOCATING_SPAS
2022-03-16 15:02:55 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_DISCOVERED_SPA, state GeckoSpaState.LOCATING_SPAS
2022-03-16 15:02:55 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.LOCATING_FINISHED, state GeckoSpaState.LOCATED_SPAS
2022-03-16 15:02:55 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CLIENT_HAS_STATUS_SENSOR, state GeckoSpaState.LOCATED_SPAS
2022-03-16 15:02:55 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CLIENT_HAS_RECONNECT_BUTTON, state GeckoSpaState.CONNECTING
2022-03-16 15:02:55 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_STARTED, state GeckoSpaState.CONNECTING
2022-03-16 15:02:55 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTING
2022-03-16 15:02:55 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_GOT_FIRMWARE_VERSION, state GeckoSpaState.CONNECTING
2022-03-16 15:02:55 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CLIENT_HAS_PING_SENSOR, state GeckoSpaState.CONNECTING
2022-03-16 15:02:55 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_GOT_CHANNEL, state GeckoSpaState.CONNECTING
2022-03-16 15:02:55 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_GOT_CONFIG_FILES, state GeckoSpaState.CONNECTING
2022-03-16 15:02:55 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_INITIAL_DATA_BLOCK_REQUEST, state GeckoSpaState.CONNECTING
2022-03-16 15:02:59 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_SPA_COMPLETE, state GeckoSpaState.SPA_READY
2022-03-16 15:02:59 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CLIENT_FACADE_IS_READY, state GeckoSpaState.CONNECTED
2022-03-16 15:02:59 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.CONNECTION_FINISHED, state GeckoSpaState.CONNECTED
2022-03-16 15:02:59 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTED
2022-03-16 15:03:01 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTED
2022-03-16 15:03:02 DEBUG (MainThread) [custom_components.gecko.spa_manager] Load platforms ['binary_sensor', 'button', 'fan', 'sensor', 'switch', 'climate', 'light']
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Circulating Pump/SPA049162cee49b-CIRCULATING PUMP
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Ozone/SPA049162cee49b-OZONE
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Smart Winter Mode:Active/SPA049162cee49b-SMART WINTER MODE:ACTIVE
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Filter Status:Clean/SPA049162cee49b-FILTER STATUS:CLEAN
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Filter Status:Purge/SPA049162cee49b-FILTER STATUS:PURGE
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Reconnect/SPA049162cee49b-RECONNECT
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Pump 2/SPA049162cee49b-P2
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Pump 1/SPA049162cee49b-P1
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Status/SPA049162cee49b-STATUS
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Last Ping/SPA049162cee49b-PING
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Smart Winter Mode:Risk/SPA049162cee49b-SMART WINTER MODE:RISK
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Rinse filter due/SPA049162cee49b-RinseFilter
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Clean filter due/SPA049162cee49b-CleanFilter
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Change water due/SPA049162cee49b-ChangeWater
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Check Spa due/SPA049162cee49b-CheckSpa
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Economy Mode/SPA049162cee49b-EconActive
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Heater/SPA049162cee49b-HEAT
2022-03-16 15:03:02 INFO (MainThread) [custom_components.gecko.entity] Setup entity Lights/SPA049162cee49b-LI
2022-03-16 15:03:03 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTED
2022-03-16 15:03:05 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTED
2022-03-16 15:03:07 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTED
2022-03-16 15:03:09 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTED
2022-03-16 15:03:11 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTED
2022-03-16 15:03:13 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTED
2022-03-16 15:03:15 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTED
2022-03-16 15:03:18 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTED
2022-03-16 15:03:20 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTED
2022-03-16 15:03:22 DEBUG (MainThread) [custom_components.gecko.spa_manager] Event: GeckoSpaEvent.RUNNING_PING_RECEIVED, state GeckoSpaState.CONNECTED
Version core-2021.7.4
supervisor-2021.06.8
Getting following fault message
"Failed to set up"
Logger: custom_components.gecko
Source: custom_components/gecko/init.py:50
Integration: Gecko (documentation, issues)
First occurred: 11:36:13 PM (1 occurrences)
Last logged: 11:36:13 PM
Hello folks
Not probably the right forum for that, but am I the only one to experience some instabilities with the gecko unit ?
Every 5 to 6 days, I have to power-cycle it, even the native IOS app doesn't work when the unit looks to be frozen, not only HA.
Let me know, thanks !
Johan
Latest available version
Add your logs here.
Not able to connect my inyt spa pack.
Logger: custom_components.gecko
Source: custom_components/gecko/__init__.py:49
Integration: Gecko (documentation, issues)
First occurred: 8:24:09 PM (1 occurrences)
Last logged: 8:24:09 PM
Exception during entry setup
Traceback (most recent call last):
File "/config/custom_components/gecko/__init__.py", line 49, in async_setup_entry
while not facade.is_connected:
File "/usr/local/lib/python3.8/site-packages/geckolib/automation/facade.py", line 68, in is_connected
if not self._spa.is_connected:
File "/usr/local/lib/python3.8/site-packages/geckolib/spa.py", line 306, in is_connected
raise RuntimeError("Spa took too long to connect ...")
RuntimeError: Spa took too long to connect ...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.