Skip to content

Support request for Gymstick GB6.0 bike #43

@s1shed

Description

@s1shed

https://www.gymstick.com/gb-6-0-exercise-bike.html

The sensors are detected, but some controls (such as resistance level) are not. I see buttons for pause, reset, start_resume, and stop as well as a switch for connection.

It's advertised as being Kinomap and Zwift compatible, so I'm assuming it should be possible to support this.

❯ python -m pyftms
Scanning for available FTMS devices...
1. INDOOR_BIKE: name: FS-F716FE, address: 69:9E:AB:35:D2:3D

Connection to INDOOR_BIKE: name: FS-F716FE, address: 69:9E:AB:35:D2:3D
A message handler raised an exception: 'IndoorBike' object has no attribute '_cli'
Traceback (most recent call last):
  File "src/dbus_fast/message_bus.py", line 819, in dbus_fast.message_bus.BaseMessageBus._process_message
  File "/home/user/.virtualenvs/pyftms/lib/python3.13/site-packages/bleak/backends/bluezdbus/manager.py", line 1121, in _parse_msg
    watcher.on_connected_changed(new_connected)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/home/user/.virtualenvs/pyftms/lib/python3.13/site-packages/bleak/backends/bluezdbus/client.py", line 183, in on_connected_changed
    self._disconnected_callback()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/home/user/.virtualenvs/pyftms/lib/python3.13/site-packages/pyftms/client/client.py", line 245, in _on_disconnect
    del self._cli
        ^^^^^^^^^
AttributeError: 'IndoorBike' object has no attribute '_cli'
 1. Device Info: {'manufacturer': 'FITSHOW', 'model': 'FS-BT-D2', 'sw_version': '1.1.7', 'hw_version': '1.0'}
 2. Supported settings: []
 3. Supported ranges: {}
 4. Supported properties: ['speed_instant', 'distance_total', 'energy_total', 'energy_per_hour', 'energy_per_minute', 'heart_rate', 'time_elapsed', 'training_status']
 5. Available properties: ['speed_instant', 'speed_average', 'cadence_instant', 'cadence_average', 'distance_total', 'resistance_level', 'power_instant', 'power_average', 'energy_total', 'energy_per_hour', 'energy_per_minute', 'heart_rate', 'metabolic_equivalent', 'time_elapsed', 'time_remaining', 'training_status']
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/home/user/.virtualenvs/pyftms/lib/python3.13/site-packages/pyftms/__main__.py", line 36, in <module>
    asyncio.run(run())
    ~~~~~~~~~~~^^^^^^^
  File "/usr/lib/python3.13/asyncio/runners.py", line 195, in run
    return runner.run(main)
           ~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.13/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/usr/lib/python3.13/asyncio/base_events.py", line 725, in run_until_complete
    return future.result()
           ~~~~~~~~~~~~~^^
  File "/home/user/.virtualenvs/pyftms/lib/python3.13/site-packages/pyftms/__main__.py", line 26, in run
    async with get_client(dev, machine_type) as c:
               ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/home/user/.virtualenvs/pyftms/lib/python3.13/site-packages/pyftms/client/client.py", line 109, in __aexit__
    await self.disconnect()
  File "/home/user/.virtualenvs/pyftms/lib/python3.13/site-packages/pyftms/client/client.py", line 176, in disconnect
    await self._cli.disconnect()
  File "/home/user/.virtualenvs/pyftms/lib/python3.13/site-packages/bleak/__init__.py", line 631, in disconnect
    await self._backend.disconnect()
  File "/home/user/.virtualenvs/pyftms/lib/python3.13/site-packages/bleak/backends/bluezdbus/client.py", line 452, in disconnect
    reply = await self._bus.call(
            ^^^^^^^^^^^^^^^^^^^^^
    ...<6 lines>...
    )
    ^
  File "/home/user/.virtualenvs/pyftms/lib/python3.13/site-packages/dbus_fast/aio/message_bus.py", line 409, in call
    await future
  File "src/dbus_fast/aio/message_reader.py", line 25, in dbus_fast.aio.message_reader._message_reader
  File "src/dbus_fast/_private/unmarshaller.py", line 870, in dbus_fast._private.unmarshaller.Unmarshaller._unmarshall
  File "src/dbus_fast/_private/unmarshaller.py", line 734, in dbus_fast._private.unmarshaller.Unmarshaller._read_header
  File "src/dbus_fast/_private/unmarshaller.py", line 455, in dbus_fast._private.unmarshaller.Unmarshaller._read_to_pos
  File "src/dbus_fast/_private/unmarshaller.py", line 395, in dbus_fast._private.unmarshaller.Unmarshaller._read_sock_with_fds
EOFError

Please let me know if I can provide any other info.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions