| route-pattern | /_view_fragments/voltron/pull_requests/show/:user_id/:repository/:id/pull_request_layout(.:format) |
| route-controller | voltron_pull_requests_fragments |
| route-action | pull_request_layout |
| fetch-nonce | v2:174b821c-4cff-01e3-35ac-87d59d1b2113 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | B8D4:30B17E:CE12B3:1130809:6A4C4A00 |
| html-safe-nonce | 40a63ecfbf0b3e65adcd7e787607f23039c9319843bab6a3f60b9d8a8f7257bf |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCOEQ0OjMwQjE3RTpDRTEyQjM6MTEzMDgwOTo2QTRDNEEwMCIsInZpc2l0b3JfaWQiOiIyODI1MDEyMjIyNzQ3MTQxMTIiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | b3dc5b5dda146016d96a56f36d8531c0885f3e3ef44dd06b363e802db05d7af6 |
| hovercard-subject-tag | pull_request:3703588938 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | ///voltron/pull_requests_fragments/pull_request_layout |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/voltron/pull_requests/show/dudanov/python-pyftms/67/pull_request_layout |
| twitter:image | https://opengraph.githubassets.com/e74dd809497356e0359b08e713c6cd33e0150b830c71b9cbb2125f10dd492bc0/dudanov/python-pyftms/pull/67 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/e74dd809497356e0359b08e713c6cd33e0150b830c71b9cbb2125f10dd492bc0/dudanov/python-pyftms/pull/67 |
| og:image:alt | This pull request improves the ability of the FTMS device discovery process to correctly identify machine types, especially for devices that do not advertise their type in service data. The main en... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | netsoft-ruidias |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3d11bb817438277de2a940854450e83a7d32b6aeb5014e9e6b00a6423900251c |
| turbo-cache-control | no-cache |
| go-import | github.com/dudanov/python-pyftms git https://github.com/dudanov/python-pyftms.git |
| octolytics-dimension-user_id | 10439739 |
| octolytics-dimension-user_login | dudanov |
| octolytics-dimension-repository_id | 795517748 |
| octolytics-dimension-repository_nwo | dudanov/python-pyftms |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 795517748 |
| octolytics-dimension-repository_network_root_nwo | dudanov/python-pyftms |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 65d78903193f110d7a9d1f8587c6dc3cb911aae0 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
| Skip to content | https://github.com/dudanov/python-pyftms/pull/67#start-of-content |
|
| https://github.com/ |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdudanov%2Fpython-pyftms%2Fpull%2F67 |
| GitHub CopilotWrite better code with AI | https://github.com/features/copilot |
| GitHub Copilot appDirect agents from issue to merge | https://github.com/features/ai/github-app |
| MCP RegistryNewIntegrate external tools | https://github.com/mcp |
| ActionsAutomate any workflow | https://github.com/features/actions |
| CodespacesInstant dev environments | https://github.com/features/codespaces |
| IssuesPlan and track work | https://github.com/features/issues |
| Code ReviewManage code changes | https://github.com/features/code-review |
| GitHub Advanced SecurityFind and fix vulnerabilities | https://github.com/security/advanced-security |
| Code securitySecure your code as you build | https://github.com/security/advanced-security/code-security |
| Secret protectionStop leaks before they start | https://github.com/security/advanced-security/secret-protection |
| Why GitHub | https://github.com/why-github |
| Documentation | https://docs.github.com |
| Blog | https://github.blog |
| Changelog | https://github.blog/changelog |
| Marketplace | https://github.com/marketplace |
| View all features | https://github.com/features |
| Enterprises | https://github.com/enterprise |
| Small and medium teams | https://github.com/team |
| Startups | https://github.com/enterprise/startups |
| Nonprofits | https://github.com/solutions/industry/nonprofits |
| App Modernization | https://github.com/solutions/use-case/app-modernization |
| DevSecOps | https://github.com/solutions/use-case/devsecops |
| DevOps | https://github.com/solutions/use-case/devops |
| CI/CD | https://github.com/solutions/use-case/ci-cd |
| View all use cases | https://github.com/solutions/use-case |
| Healthcare | https://github.com/solutions/industry/healthcare |
| Financial services | https://github.com/solutions/industry/financial-services |
| Manufacturing | https://github.com/solutions/industry/manufacturing |
| Government | https://github.com/solutions/industry/government |
| View all industries | https://github.com/solutions/industry |
| View all solutions | https://github.com/solutions |
| AI | https://github.com/resources/articles?topic=ai |
| Software Development | https://github.com/resources/articles?topic=software-development |
| DevOps | https://github.com/resources/articles?topic=devops |
| Security | https://github.com/resources/articles?topic=security |
| View all topics | https://github.com/resources/articles |
| Customer stories | https://github.com/customer-stories |
| Events & webinars | https://github.com/resources/events |
| Ebooks & reports | https://github.com/resources/whitepapers |
| Business insights | https://github.com/solutions/executive-insights |
| GitHub Skills | https://skills.github.com |
| Documentation | https://docs.github.com |
| Customer support | https://support.github.com |
| Community forum | https://github.com/orgs/community/discussions |
| Trust center | https://github.com/trust-center |
| Partners | https://github.com/partners |
| View all resources | https://github.com/resources |
| GitHub SponsorsFund open source developers | https://github.com/sponsors |
| Security Lab | https://securitylab.github.com |
| Maintainer Community | https://maintainers.github.com |
| Accelerator | https://github.com/accelerator |
| GitHub Stars | https://stars.github.com |
| Archive Program | https://archiveprogram.github.com |
| Topics | https://github.com/topics |
| Trending | https://github.com/trending |
| Collections | https://github.com/collections |
| Enterprise platformAI-powered developer platform | https://github.com/enterprise |
| GitHub Advanced SecurityEnterprise-grade security features | https://github.com/security/advanced-security |
| Copilot for BusinessEnterprise-grade AI features | https://github.com/features/copilot/copilot-business |
| Premium SupportEnterprise-grade 24/7 support | https://github.com/premium-support |
| Pricing | https://github.com/pricing |
| Search syntax tips | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
| documentation | https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax |
|
Sign in
| https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdudanov%2Fpython-pyftms%2Fpull%2F67 |
|
Sign up
| https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fpull_requests_fragments%2Fpull_request_layout&source=header-repo&source_repo=dudanov%2Fpython-pyftms |
| Reload | https://github.com/dudanov/python-pyftms/pull/67 |
| Reload | https://github.com/dudanov/python-pyftms/pull/67 |
| Reload | https://github.com/dudanov/python-pyftms/pull/67 |
|
dudanov
| https://github.com/dudanov |
| python-pyftms | https://github.com/dudanov/python-pyftms |
|
Notifications
| https://github.com/login?return_to=%2Fdudanov%2Fpython-pyftms |
|
Fork
17
| https://github.com/login?return_to=%2Fdudanov%2Fpython-pyftms |
|
Star
35
| https://github.com/login?return_to=%2Fdudanov%2Fpython-pyftms |
|
Code
| https://github.com/dudanov/python-pyftms |
|
Issues
6
| https://github.com/dudanov/python-pyftms/issues |
|
Pull requests
12
| https://github.com/dudanov/python-pyftms/pulls |
|
Actions
| https://github.com/dudanov/python-pyftms/actions |
|
Projects
| https://github.com/dudanov/python-pyftms/projects |
|
Security and quality
0
| https://github.com/dudanov/python-pyftms/security |
|
Insights
| https://github.com/dudanov/python-pyftms/pulse |
|
Code
| https://github.com/dudanov/python-pyftms |
|
Issues
| https://github.com/dudanov/python-pyftms/issues |
|
Pull requests
| https://github.com/dudanov/python-pyftms/pulls |
|
Actions
| https://github.com/dudanov/python-pyftms/actions |
|
Projects
| https://github.com/dudanov/python-pyftms/projects |
|
Security and quality
| https://github.com/dudanov/python-pyftms/security |
|
Insights
| https://github.com/dudanov/python-pyftms/pulse |
| netsoft-ruidias | https://github.com/netsoft-ruidias |
| dudanov:main | https://github.com/dudanov/python-pyftms/tree/main |
| netsoft-ruidias:feat/bodytone | https://github.com/netsoft-ruidias/python-pyftms/tree/feat/bodytone |
| Conversation | https://github.com/dudanov/python-pyftms/pull/67 |
| Commits5 (5) | https://github.com/dudanov/python-pyftms/pull/67/commits |
| Checks | https://github.com/dudanov/python-pyftms/pull/67/checks |
| Files changed | https://github.com/dudanov/python-pyftms/pull/67/files |
| Add Bodytone DU30-B1D8 Fitness Bike | https://github.com/dudanov/python-pyftms/pull/67#top |
| netsoft-ruidias | https://github.com/netsoft-ruidias |
| dudanov:main | https://github.com/dudanov/python-pyftms/tree/main |
| netsoft-ruidias:feat/bodytone | https://github.com/netsoft-ruidias/python-pyftms/tree/feat/bodytone |
|
| https://github.com/netsoft-ruidias |
| netsoft-ruidias | https://github.com/netsoft-ruidias |
| May 18, 2026 | https://github.com/dudanov/python-pyftms/pull/67#issue-4471128157 |
| [1] | https://github.com/dudanov/python-pyftms/pull/67/files#diff-7846896d1aa06323f9d8dad3a9a18edc0e85ca985898112d75745966fcdbdb57L12-R20 |
| [2] | https://github.com/dudanov/python-pyftms/pull/67/files#diff-c10fe1af6238516d16c2c62ac0c394e07700d47bdaee4f520eeda8d02281598eR35 |
| [1] | https://github.com/dudanov/python-pyftms/pull/67/files#diff-c10fe1af6238516d16c2c62ac0c394e07700d47bdaee4f520eeda8d02281598eL9-R12 |
| [2] | https://github.com/dudanov/python-pyftms/pull/67/files#diff-02862fa5cf482a945a5931486f0221ad5aeaeae9b76236637b70e9c4edaf30bfR8-R18 |
| Please reload this page | https://github.com/dudanov/python-pyftms/pull/67 |
|
| https://github.com/netsoft-ruidias |
| Add Bodytone DU30-B1D8 Fitness Bike | https://github.com/dudanov/python-pyftms/pull/67/commits/47db30f669b595d3d62aa35cccc6825f67ec3c75 |
| 47db30f | https://github.com/dudanov/python-pyftms/pull/67/commits/47db30f669b595d3d62aa35cccc6825f67ec3c75 |
|
| https://github.com/apps/copilot-pull-request-reviewer |
| Copilot | https://github.com/apps/copilot-pull-request-reviewer |
| May 18, 2026 17:21 | https://github.com/dudanov/python-pyftms/pull/67#event-25669020366 |
| started reviewing | https://github.com/dudanov/python-pyftms/sessions/258fd182-542e-4df8-bba6-fe2d77e5b905 |
| netsoft-ruidias | https://github.com/netsoft-ruidias |
| May 18, 2026 17:22 | https://github.com/dudanov/python-pyftms/pull/67#event-25669043751 |
|
View session
| https://github.com/dudanov/python-pyftms/sessions/258fd182-542e-4df8-bba6-fe2d77e5b905 |
|
| https://github.com/apps/copilot-pull-request-reviewer |
| Copilot | https://github.com/apps/copilot-pull-request-reviewer |
|
May 18, 2026
| https://github.com/dudanov/python-pyftms/pull/67#pullrequestreview-4312303156 |
|
View reviewed changes
| https://github.com/dudanov/python-pyftms/pull/67/files/47db30f669b595d3d62aa35cccc6825f67ec3c75 |
| Copilot | https://github.com/apps/copilot-pull-request-reviewer |
| https://github.com/dudanov/python-pyftms/pull/67#pullrequestreview-4312303156 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Add Copilot custom instructions | https://github.com/dudanov/python-pyftms/new/main?filename=.github/instructions/*.instructions.md |
| Learn how to get started | https://docs.github.com/en/copilot/customizing-copilot/adding-repository-custom-instructions-for-github-copilot |
| Please reload this page | https://github.com/dudanov/python-pyftms/pull/67 |
| src/pyftms/client/__init__.py | https://github.com/dudanov/python-pyftms/pull/67/files/47db30f669b595d3d62aa35cccc6825f67ec3c75#diff-c10fe1af6238516d16c2c62ac0c394e07700d47bdaee4f520eeda8d02281598e |
| Please reload this page | https://github.com/dudanov/python-pyftms/pull/67 |
| src/pyftms/client/__init__.py | https://github.com/dudanov/python-pyftms/pull/67/files/47db30f669b595d3d62aa35cccc6825f67ec3c75#diff-c10fe1af6238516d16c2c62ac0c394e07700d47bdaee4f520eeda8d02281598e |
| src/pyftms/client/properties/machine_type.py | https://github.com/dudanov/python-pyftms/pull/67/files/47db30f669b595d3d62aa35cccc6825f67ec3c75#diff-02862fa5cf482a945a5931486f0221ad5aeaeae9b76236637b70e9c4edaf30bf |
| Please reload this page | https://github.com/dudanov/python-pyftms/pull/67 |
| src/pyftms/client/properties/__init__.py | https://github.com/dudanov/python-pyftms/pull/67/files/47db30f669b595d3d62aa35cccc6825f67ec3c75#diff-7846896d1aa06323f9d8dad3a9a18edc0e85ca985898112d75745966fcdbdb57 |
| Please reload this page | https://github.com/dudanov/python-pyftms/pull/67 |
| src/pyftms/client/__init__.py | https://github.com/dudanov/python-pyftms/pull/67/files/47db30f669b595d3d62aa35cccc6825f67ec3c75#diff-c10fe1af6238516d16c2c62ac0c394e07700d47bdaee4f520eeda8d02281598e |
| Please reload this page | https://github.com/dudanov/python-pyftms/pull/67 |
|
| https://github.com/netsoft-ruidias |
| Add fallback | https://github.com/dudanov/python-pyftms/pull/67/commits/021491ede67bb5dc83a5a69797f5bde573bc450d |
| 021491e | https://github.com/dudanov/python-pyftms/pull/67/commits/021491ede67bb5dc83a5a69797f5bde573bc450d |
| https://github.com/netsoft-ruidias |
| netsoft-ruidias | https://github.com/netsoft-ruidias |
| Copilot | https://github.com/apps/copilot-pull-request-reviewer |
| May 18, 2026 18:12 | https://github.com/dudanov/python-pyftms/pull/67#event-25670877066 |
| started reviewing | https://github.com/dudanov/python-pyftms/sessions/e7a26055-2e2f-4b0f-a1aa-26b9b399ab98 |
| netsoft-ruidias | https://github.com/netsoft-ruidias |
| May 18, 2026 18:13 | https://github.com/dudanov/python-pyftms/pull/67#event-25670902904 |
|
View session
| https://github.com/dudanov/python-pyftms/sessions/e7a26055-2e2f-4b0f-a1aa-26b9b399ab98 |
|
| https://github.com/apps/copilot-pull-request-reviewer |
| Copilot | https://github.com/apps/copilot-pull-request-reviewer |
|
May 18, 2026
| https://github.com/dudanov/python-pyftms/pull/67#pullrequestreview-4312639706 |
|
View reviewed changes
| https://github.com/dudanov/python-pyftms/pull/67/files/021491ede67bb5dc83a5a69797f5bde573bc450d |
| Copilot | https://github.com/apps/copilot-pull-request-reviewer |
| https://github.com/dudanov/python-pyftms/pull/67#pullrequestreview-4312639706 |
| Learn more | https://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment |
| Please reload this page | https://github.com/dudanov/python-pyftms/pull/67 |
| src/pyftms/client/properties/__init__.py | https://github.com/dudanov/python-pyftms/pull/67/files/021491ede67bb5dc83a5a69797f5bde573bc450d#diff-7846896d1aa06323f9d8dad3a9a18edc0e85ca985898112d75745966fcdbdb57 |
| Please reload this page | https://github.com/dudanov/python-pyftms/pull/67 |
| src/pyftms/client/__init__.py | https://github.com/dudanov/python-pyftms/pull/67/files/021491ede67bb5dc83a5a69797f5bde573bc450d#diff-c10fe1af6238516d16c2c62ac0c394e07700d47bdaee4f520eeda8d02281598e |
| Please reload this page | https://github.com/dudanov/python-pyftms/pull/67 |
| src/pyftms/client/__init__.py | https://github.com/dudanov/python-pyftms/pull/67/files/021491ede67bb5dc83a5a69797f5bde573bc450d#diff-c10fe1af6238516d16c2c62ac0c394e07700d47bdaee4f520eeda8d02281598e |
| src/pyftms/client/properties/machine_type.py | https://github.com/dudanov/python-pyftms/pull/67/files/021491ede67bb5dc83a5a69797f5bde573bc450d#diff-02862fa5cf482a945a5931486f0221ad5aeaeae9b76236637b70e9c4edaf30bf |
| Please reload this page | https://github.com/dudanov/python-pyftms/pull/67 |
| src/pyftms/client/__init__.py | https://github.com/dudanov/python-pyftms/pull/67/files/021491ede67bb5dc83a5a69797f5bde573bc450d#diff-c10fe1af6238516d16c2c62ac0c394e07700d47bdaee4f520eeda8d02281598e |
| src/pyftms/client/__init__.py | https://github.com/dudanov/python-pyftms/pull/67/files/021491ede67bb5dc83a5a69797f5bde573bc450d#diff-c10fe1af6238516d16c2c62ac0c394e07700d47bdaee4f520eeda8d02281598e |
| https://github.com/netsoft-ruidias |
| netsoft-ruidias | https://github.com/netsoft-ruidias |
| May 18, 2026 | https://github.com/dudanov/python-pyftms/pull/67#issuecomment-4480622881 |
| Please reload this page | https://github.com/dudanov/python-pyftms/pull/67 |
| netsoft-ruidias | https://github.com/netsoft-ruidias |
| May 18, 2026 20:00 | https://github.com/dudanov/python-pyftms/pull/67#commits-pushed-0376d9f |
|
| https://github.com/netsoft-ruidias |
| bump python dependency | https://github.com/dudanov/python-pyftms/pull/67/commits/0376d9fd690118a94fff070ed6ad3c008b54298a |
| 0376d9f | https://github.com/dudanov/python-pyftms/pull/67/commits/0376d9fd690118a94fff070ed6ad3c008b54298a |
|
| https://github.com/netsoft-ruidias |
| update | https://github.com/dudanov/python-pyftms/pull/67/commits/bbeae6cd00ab0479dc956fb864f4fb185623484e |
| bbeae6c | https://github.com/dudanov/python-pyftms/pull/67/commits/bbeae6cd00ab0479dc956fb864f4fb185623484e |
|
| https://github.com/netsoft-ruidias |
| fix: guard against missing _cli in _on_disconnect | https://github.com/dudanov/python-pyftms/pull/67/commits/ce1670d05358b62a7777434d7e608f6cf139e70c |
| ce1670d | https://github.com/dudanov/python-pyftms/pull/67/commits/ce1670d05358b62a7777434d7e608f6cf139e70c |
| https://github.com/michaelw |
| michaelw | https://github.com/michaelw |
|
Jun 19, 2026
| https://github.com/dudanov/python-pyftms/pull/67#ref-pullrequest-4702657424 |
|
Port Bodytone GATT machine type detection
#70
| https://github.com/dudanov/python-pyftms/pull/70 |
| https://github.com/michaelw |
| michaelw | https://github.com/michaelw |
| Jun 19, 2026 | https://github.com/dudanov/python-pyftms/pull/67#issuecomment-4754014862 |
| Please reload this page | https://github.com/dudanov/python-pyftms/pull/67 |
| @netsoft-ruidias | https://github.com/netsoft-ruidias |
| #67 | https://github.com/dudanov/python-pyftms/pull/67 |
| pyftms fork | https://github.com/michaelw/python-pyftms |
| #70 | https://github.com/dudanov/python-pyftms/pull/70 |
| hassio-ftms fork | https://github.com/michaelw/hassio-ftms |
| Please reload this page | https://github.com/dudanov/python-pyftms/pull/67 |
| https://github.co/hiddenchars |
| https://github.com/dudanov/python-pyftms/pull/{{ revealButtonHref }} |
| Sign up for free | https://github.com/join?source=comment-repo |
| Sign in to comment | https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fdudanov%2Fpython-pyftms%2Fpull%2F67 |
|
Copilot code review
| https://github.com/apps/copilot-pull-request-reviewer |
|
Copilot
| https://github.com/apps/copilot-pull-request-reviewer |
|
| https://github.com/dudanov/python-pyftms/pull/67/files/021491ede67bb5dc83a5a69797f5bde573bc450d |
| Please reload this page | https://github.com/dudanov/python-pyftms/pull/67 |
|
| https://github.com/netsoft-ruidias |
|
| https://github.com/michaelw |
|
| https://github.com/apps/copilot-pull-request-reviewer |
|
| https://github.com |
| Terms | https://docs.github.com/site-policy/github-terms/github-terms-of-service |
| Privacy | https://docs.github.com/site-policy/privacy-policies/github-privacy-statement |
| Security | https://github.com/security |
| Status | https://www.githubstatus.com/ |
| Community | https://github.community/ |
| Docs | https://docs.github.com/ |
| Contact | https://support.github.com?tags=dotcom-footer |