Using bluepy to send and read serial data
Concatenation
In computer science terms, depending on a lot of things, this:
    self.data = self.data + data

can be worst-case O(n^2). This happens when the Python runtime needs to work reallocating everything in the existing buffer before it's able to add new data. One way around this is to use BytesIO instead.
Casting to a list
Based on the documentation:

getServices() / Returns a list of Service objects

Since it's already a list, there is no need to re-cast to a list here:
    self.write_service = self.peripheral.getServiceByUUID(list(services)[s].uuid)

Disconnection safety
Since myHC08 has a disconnect method, it should be made into a context manager, and used in a with statement; or at the least:
bt.connect()
try:
    r = bt.write('1*', 1250*2, '1250H')
finally:
    bt.disconnect()