Skip to content

Device support: TryFun Black Hole SE (advertises as "DK-BHSE") — verified working via existing tryfun-blackhole protocol #939

Description

@cfanboy

Device

  • Brand / Model: TryFun (NetEase / 网易春风) Black Hole SE, a stroker in the same product family as the already-supported Black Hole Plus (TF-BHPLUS).
  • BLE advertised name: DK-BHSE (note: DK- prefix, unlike the TF- prefix used by the other TryFun devices in the DB).
  • Advertisement extras: manufacturer data company id 24517; the advertisement only carries the SPP placeholder UUID 00001101-... — the real control service shows up in GATT discovery.

GATT layout (from live discovery log)

Service 0000ffac-0000-1000-8000-00805f9b34fb — identical to Black Hole Plus:

Characteristic Properties
0000ffb4 READ
0000ffb5 WRITE
0000ffb7 WRITE_WITHOUT_RESPONSE (command tx)
0000ffb8 NOTIFY (CCCD 0x2902)

Hardware verification

Added DK-BHSE to the tryfun-blackhole btle names in a local device DB (v5.30) under Intiface Central 3.1.1, tested on physical hardware:

  • Device identified and connected via the existing tryfun-blackhole protocol; no byte format changes needed.
  • Oscillate control verified working (existing 0x0c speed packets).
  • Stop (zero-speed write) verified working.
  • Unlike the Plus, the SE has no vibration motor, so it should get a dedicated configurations entry with a single oscillate feature (0-100) rather than the protocol defaults — same approach as the existing TF-ROCK entry in that file.

Proposed change

  • Add DK-BHSE to tryfun-blackhole communication.btle.names.
  • Add a "TryFun Black Hole SE" configurations entry (oscillate 0-100 only).
  • Add test_tryfun_blackhole_se_protocol.yaml covering the new identifier (oscillate + stop sequence).

Patch is ready on my fork; test_device_protocols (including the new SE cases) and test_device_config pass locally, and the build.rs regeneration picks the entry up cleanly (left uncommitted per the separate build: regeneration convention).

Happy to open the PR once you're OK with the approach — opening this issue first per the README contribution policy.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions