Skip to content

Fix FTMS initialization for trainers with non-readable Training Status - #74

Open
fishbone-git wants to merge 2 commits into
dudanov:mainfrom
fishbone-git:fix/ftms-training-status-read
Open

fishbone-git wants to merge 2 commits into
dudanov:mainfrom
fishbone-git:fix/ftms-training-status-read

Conversation

@fishbone-git

Copy link
Copy Markdown

Summary

Fixes Bug #73.

The Elite Suito smart trainer fails to initialize because MachineController.subscribe() attempts to read the FTMS Training Status characteristic (0x2AD3).

The trainer rejects this operation with GATT error 0x02 (Read Not Permitted), preventing initialization.

Changes

Remove the initial Training Status characteristic read while retaining the notification subscription.

Hardware verification

Tested successfully with:

  • Trainer: Elite Suito
  • Manufacturer: Elite
  • Serial: 02509
  • Software version: 196
  • Hardware version: 005
  • Environment: Home Assistant OS, Python 3.14, ESPHome Bluetooth proxy

Before: FTMS initialization failed with Read Not Permitted on GATT handle 40.

After: Home Assistant FTMS integration initializes successfully and the trainer connects.

Compatibility consideration

Removing the initial read means that Training Status will be populated when the trainer sends a notification rather than immediately upon connection. This avoids initialization failures on devices that prohibit direct reads.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant