undera / pylgbst

Python library for LEGO® PoweredUp devices

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Technic Hub Port AB doesnt work

ProfKingKong opened this issue · comments

Hello everyone,
the library is great but I have problems with my Technic Hub.
The BLE connection works without any problems, I can also control and use any motor.
But I have problems with the AB port. Unfortunately, I cannot use two ports (A and B) at the same time.

If the Demo.py goes to "movehub.motor_AB.timed(1.5, -0.2, 0.2)" an error occurs.

With Run Debug I found out that the AB port is set to None.
Can someone help me here.

The MoveHub class is designed specifically for Lego Boost hub type, where joint motors are reported by the hardware. I'm not sure which kind of Technic Hub do you mention. Probably, for that type of Hub you'd need to issue a special command to join the motors.
Also, your hardware might already provide combined motors, just the virtual port number differs. That information is contained in the log of python app when you run it.

Thanks for the quick Message. I use this Lego Hub:
Screenshot from 2022-09-15 14-26-10
LEGO Powered Up Technic Hub 88012

I've already looked for the specific port for the AB but haven't found anything yet. But I will look again

Dear Prof. King Kong,
If you could post here the log output of the hub initialization process, that would help a lot to understand if the joined port option available automatically or not.

Ok here is the full debug log when i run the demo.py file:

24      DEBUG   comms-gatt      Starting DeviceManager...
294     INFO    comms-gatt      Discovering devices...
296     DEBUG   comms-gatt      Devices: dict_values([<gatt.gatt_linux.Device object at 0x7f0cf0fade40>, <gatt.gatt_linux.Device object at 0x7f0cf0fae740>])
297     DEBUG   comms   Checking device: Technic Hub, MAC: 90:84:2b:61:b3:41
297     INFO    comms   Found Technic Hub at 90:84:2b:61:b3:41
450     INFO    comms-gatt      Waiting for device connection...
450     DEBUG   comms-gatt      Sleeping...
1180    DEBUG   comms-gatt      Getting MoveHub services and characteristics...
1201    DEBUG   comms-gatt      [90:84:2b:61:b3:41] Resolved services
1201    DEBUG   comms-gatt      [90:84:2b:61:b3:41]  Service [00001623-1212-efde-1623-785feabcd123]
1201    DEBUG   comms-gatt      [90:84:2b:61:b3:41]    Characteristic [00001624-1212-efde-1623-785feabcd123]
1201    DEBUG   comms-gatt      MoveHub characteristic found
1201    DEBUG   comms-gatt      [90:84:2b:61:b3:41]  Service [00001801-0000-1000-8000-00805f9b34fb]
1201    DEBUG   comms-gatt      [90:84:2b:61:b3:41]    Characteristic [00002a05-0000-1000-8000-00805f9b34fb]
1451    DEBUG   comms-gatt      Enable Notifications...
1452    DEBUG   hub     Waiting for builtin devices to appear: (None, None, None, None, None, None, None)
1529    DEBUG   comms-gatt      Notification in GattDevice: b'0f000400012f000010000000100000'
1529    DEBUG   hub     Notification on 14: b'0f000400012f000010000000100000'
1529    DEBUG   hub     Decoded message: MsgHubAttachedIO({'payload': b'2f000010000000100000', 'port': 0, 'event': 1})
1529    DEBUG   hub     Handling msg with <bound method MoveHub._handle_device_change of <pylgbst.hub.MoveHub object at 0x7f0cf20ef940>>: MsgHubAttachedIO({'payload': b'2f000010000000100000', 'port': 0, 'event': 1})
1530    INFO    hub     Attached peripheral: EncodedMotor on port 0x0
1531    DEBUG   comms-gatt      Notification in GattDevice: b'0f000401012f000010000000100000'
1531    DEBUG   hub     Notification on 14: b'0f000401012f000010000000100000'
1531    DEBUG   hub     Decoded message: MsgHubAttachedIO({'payload': b'2f000010000000100000', 'port': 1, 'event': 1})
1531    DEBUG   hub     Handling msg with <bound method MoveHub._handle_device_change of <pylgbst.hub.MoveHub object at 0x7f0cf20ef940>>: MsgHubAttachedIO({'payload': b'2f000010000000100000', 'port': 1, 'event': 1})
1532    INFO    hub     Attached peripheral: EncodedMotor on port 0x1
1532    DEBUG   comms-gatt      Notification in GattDevice: b'0f000403012e000010000000100000'
1532    DEBUG   hub     Notification on 14: b'0f000403012e000010000000100000'
1532    DEBUG   hub     Decoded message: MsgHubAttachedIO({'payload': b'2e000010000000100000', 'port': 3, 'event': 1})
1533    DEBUG   hub     Handling msg with <bound method MoveHub._handle_device_change of <pylgbst.hub.MoveHub object at 0x7f0cf20ef940>>: MsgHubAttachedIO({'payload': b'2e000010000000100000', 'port': 3, 'event': 1})
1533    INFO    hub     Attached peripheral: EncodedMotor on port 0x3
1534    DEBUG   comms-gatt      Notification in GattDevice: b'0f0004320117000000001000000010'
1534    DEBUG   hub     Notification on 14: b'0f0004320117000000001000000010'
1534    DEBUG   hub     Decoded message: MsgHubAttachedIO({'payload': b'17000000001000000010', 'port': 50, 'event': 1})
1534    DEBUG   hub     Handling msg with <bound method MoveHub._handle_device_change of <pylgbst.hub.MoveHub object at 0x7f0cf20ef940>>: MsgHubAttachedIO({'payload': b'17000000001000000010', 'port': 50, 'event': 1})
1535    INFO    hub     Attached peripheral: LEDRGB on port 0x32
1535    DEBUG   comms-gatt      Notification in GattDevice: b'0f00043b0115000000001000000010'
1535    DEBUG   hub     Notification on 14: b'0f00043b0115000000001000000010'
1535    DEBUG   hub     Decoded message: MsgHubAttachedIO({'payload': b'15000000001000000010', 'port': 59, 'event': 1})
1535    DEBUG   hub     Handling msg with <bound method MoveHub._handle_device_change of <pylgbst.hub.MoveHub object at 0x7f0cf20ef940>>: MsgHubAttachedIO({'payload': b'15000000001000000010', 'port': 59, 'event': 1})
1536    INFO    hub     Attached peripheral: Current on port 0x3b
1536    DEBUG   comms-gatt      Notification in GattDevice: b'0f00043c0114000000001000000010'
1536    DEBUG   hub     Notification on 14: b'0f00043c0114000000001000000010'
1536    DEBUG   hub     Decoded message: MsgHubAttachedIO({'payload': b'14000000001000000010', 'port': 60, 'event': 1})
1537    DEBUG   hub     Handling msg with <bound method MoveHub._handle_device_change of <pylgbst.hub.MoveHub object at 0x7f0cf20ef940>>: MsgHubAttachedIO({'payload': b'14000000001000000010', 'port': 60, 'event': 1})
1537    INFO    hub     Attached peripheral: Voltage on port 0x3c
1552    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
1573    DEBUG   comms-gatt      Notification in GattDevice: b'0f00043d013c000000001000000010'
1573    DEBUG   hub     Notification on 14: b'0f00043d013c000000001000000010'
1573    DEBUG   hub     Decoded message: MsgHubAttachedIO({'payload': b'3c000000001000000010', 'port': 61, 'event': 1})
1573    DEBUG   hub     Handling msg with <bound method MoveHub._handle_device_change of <pylgbst.hub.MoveHub object at 0x7f0cf20ef940>>: MsgHubAttachedIO({'payload': b'3c000000001000000010', 'port': 61, 'event': 1})
1573    WARNING hub     Have no dedicated class for peripheral type 0x3c (TECHNIC_MEDIUM_HUB_TEMPERATURE_SENSOR) on port 0x3d
1573    INFO    hub     Attached peripheral: Peripheral on port 0x3d
1574    DEBUG   comms-gatt      Notification in GattDevice: b'0f000460013c000100000001000000'
1574    DEBUG   hub     Notification on 14: b'0f000460013c000100000001000000'
1574    DEBUG   hub     Decoded message: MsgHubAttachedIO({'payload': b'3c000100000001000000', 'port': 96, 'event': 1})
1574    DEBUG   hub     Handling msg with <bound method MoveHub._handle_device_change of <pylgbst.hub.MoveHub object at 0x7f0cf20ef940>>: MsgHubAttachedIO({'payload': b'3c000100000001000000', 'port': 96, 'event': 1})
1574    WARNING hub     Have no dedicated class for peripheral type 0x3c (TECHNIC_MEDIUM_HUB_TEMPERATURE_SENSOR) on port 0x60
1574    INFO    hub     Attached peripheral: Peripheral on port 0x60
1574    DEBUG   comms-gatt      Notification in GattDevice: b'0f0004610139000100000001000000'
1574    DEBUG   hub     Notification on 14: b'0f0004610139000100000001000000'
1574    DEBUG   hub     Decoded message: MsgHubAttachedIO({'payload': b'39000100000001000000', 'port': 97, 'event': 1})
1574    DEBUG   hub     Handling msg with <bound method MoveHub._handle_device_change of <pylgbst.hub.MoveHub object at 0x7f0cf20ef940>>: MsgHubAttachedIO({'payload': b'39000100000001000000', 'port': 97, 'event': 1})
1574    WARNING hub     Have no dedicated class for peripheral type 0x39 (TECHNIC_MEDIUM_HUB_ACCELEROMETER) on port 0x61
1574    INFO    hub     Attached peripheral: Peripheral on port 0x61
1574    DEBUG   comms-gatt      Notification in GattDevice: b'0f000462013a000100000001000000'
1574    DEBUG   hub     Notification on 14: b'0f000462013a000100000001000000'
1574    DEBUG   hub     Decoded message: MsgHubAttachedIO({'payload': b'3a000100000001000000', 'port': 98, 'event': 1})
1574    DEBUG   hub     Handling msg with <bound method MoveHub._handle_device_change of <pylgbst.hub.MoveHub object at 0x7f0cf20ef940>>: MsgHubAttachedIO({'payload': b'3a000100000001000000', 'port': 98, 'event': 1})
1575    WARNING hub     Have no dedicated class for peripheral type 0x3a (TECHNIC_MEDIUM_HUB_GYRO_SENSOR) on port 0x62
1575    INFO    hub     Attached peripheral: Peripheral on port 0x62
1575    DEBUG   comms-gatt      Notification in GattDevice: b'0f000463013b000100000001000000'
1575    DEBUG   hub     Notification on 14: b'0f000463013b000100000001000000'
1575    DEBUG   hub     Decoded message: MsgHubAttachedIO({'payload': b'3b000100000001000000', 'port': 99, 'event': 1})
1575    DEBUG   hub     Handling msg with <bound method MoveHub._handle_device_change of <pylgbst.hub.MoveHub object at 0x7f0cf20ef940>>: MsgHubAttachedIO({'payload': b'3b000100000001000000', 'port': 99, 'event': 1})
1575    INFO    hub     Attached peripheral: TiltSensor on port 0x63
1576    DEBUG   comms-gatt      Notification in GattDevice: b'0f0004640136000100000001000000'
1576    DEBUG   hub     Notification on 14: b'0f0004640136000100000001000000'
1576    DEBUG   hub     Decoded message: MsgHubAttachedIO({'payload': b'36000100000001000000', 'port': 100, 'event': 1})
1576    DEBUG   hub     Handling msg with <bound method MoveHub._handle_device_change of <pylgbst.hub.MoveHub object at 0x7f0cf20ef940>>: MsgHubAttachedIO({'payload': b'36000100000001000000', 'port': 100, 'event': 1})
1576    WARNING hub     Have no dedicated class for peripheral type 0x36 (TECHNIC_MEDIUM_HUB_GEST_SENSOR) on port 0x64
1576    INFO    hub     Attached peripheral: Peripheral on port 0x64
1652    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
1753    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
1853    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
1954    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
2054    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
2155    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
2255    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
2356    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
2456    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
2556    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
2657    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
2757    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
2858    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
2958    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
3058    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
3159    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
3259    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
3360    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
3460    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
3561    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
3661    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
3761    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
3862    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
3962    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
4063    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
4163    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
4263    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
4364    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
4464    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
4565    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
4665    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
4766    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
4866    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
4967    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
5067    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
5168    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
5268    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
5369    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
5469    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
5570    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
5670    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
5770    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
5871    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
5971    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
6072    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
6172    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
6273    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
6373    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
6474    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
6574    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
6675    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
6775    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
6876    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
6976    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
7076    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
7177    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
7277    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
7378    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
7478    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
7579    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
7679    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
7780    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
7880    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
7980    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
8081    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
8181    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
8282    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
8382    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
8483    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
8583    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
8683    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
8784    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
8884    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
8985    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
9085    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
9185    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
9286    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
9386    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
9487    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
9587    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
9688    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
9788    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
9889    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
9989    DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
10090   DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
10190   DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
10291   DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
10391   DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
10492   DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
10592   DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
10692   DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
10793   DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
10893   DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
10994   DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
11094   DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
11195   DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
11295   DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
11395   DEBUG   hub     Waiting for builtin devices to appear: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
11496   WARNING hub     Got only these devices: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
11496   DEBUG   hub     Send message: MsgHubProperties({'payload': b'', 'needs_reply': False, 'property': 1, 'operation': 5, 'parameters': b''})
11496   DEBUG   hub     Waiting for sync reply to MsgHubProperties({'payload': b'0105', 'needs_reply': True, 'property': 1, 'operation': 5, 'parameters': b''})...
11496   DEBUG   comms-gatt      Writing to handle: b'0500010105'
11609   DEBUG   comms-gatt      Notification in GattDevice: b'1000010106546563686e696320487562'
11609   DEBUG   hub     Notification on 14: b'1000010106546563686e696320487562'
11609   DEBUG   hub     Decoded message: MsgHubProperties({'payload': b'546563686e696320487562', 'needs_reply': False, 'property': 1, 'operation': 6, 'parameters': b'546563686e696320487562'})
11609   DEBUG   hub     Found matching upstream msg: MsgHubProperties({'payload': b'546563686e696320487562', 'needs_reply': False, 'property': 1, 'operation': 6, 'parameters': b'546563686e696320487562'})
11609   DEBUG   hub     Handling msg with <bound method Button._props_msg of Button on port 0x0>: MsgHubProperties({'payload': b'546563686e696320487562', 'needs_reply': False, 'property': 1, 'operation': 6, 'parameters': b'546563686e696320487562'})
11609   DEBUG   hub     Fetched sync reply: MsgHubProperties({'payload': b'546563686e696320487562', 'needs_reply': False, 'property': 1, 'operation': 6, 'parameters': b'546563686e696320487562'})
11609   DEBUG   hub     Send message: MsgHubProperties({'payload': b'', 'needs_reply': False, 'property': 13, 'operation': 5, 'parameters': b''})
11610   DEBUG   hub     Waiting for sync reply to MsgHubProperties({'payload': b'0d05', 'needs_reply': True, 'property': 13, 'operation': 5, 'parameters': b''})...
11610   DEBUG   comms-gatt      Writing to handle: b'0500010d05'
11698   DEBUG   comms-gatt      Notification in GattDevice: b'0b00010d0690842b61b341'
11699   DEBUG   hub     Notification on 14: b'0b00010d0690842b61b341'
11699   DEBUG   hub     Decoded message: MsgHubProperties({'payload': b'90842b61b341', 'needs_reply': False, 'property': 13, 'operation': 6, 'parameters': b'90842b61b341'})
11699   DEBUG   hub     Found matching upstream msg: MsgHubProperties({'payload': b'90842b61b341', 'needs_reply': False, 'property': 13, 'operation': 6, 'parameters': b'90842b61b341'})
11699   DEBUG   hub     Handling msg with <bound method Button._props_msg of Button on port 0x0>: MsgHubProperties({'payload': b'90842b61b341', 'needs_reply': False, 'property': 13, 'operation': 6, 'parameters': b'90842b61b341'})
11699   DEBUG   hub     Fetched sync reply: MsgHubProperties({'payload': b'90842b61b341', 'needs_reply': False, 'property': 13, 'operation': 6, 'parameters': b'90842b61b341'})
11699   INFO    hub     b'Technic Hub' on b'90842b61b341'
11699   DEBUG   hub     Send message: MsgHubProperties({'payload': b'', 'needs_reply': False, 'property': 6, 'operation': 5, 'parameters': b''})
11700   DEBUG   hub     Waiting for sync reply to MsgHubProperties({'payload': b'0605', 'needs_reply': True, 'property': 6, 'operation': 5, 'parameters': b''})...
11700   DEBUG   comms-gatt      Writing to handle: b'0500010605'
11788   DEBUG   comms-gatt      Notification in GattDevice: b'060001060664'
11789   DEBUG   hub     Notification on 14: b'060001060664'
11789   DEBUG   hub     Decoded message: MsgHubProperties({'payload': b'64', 'needs_reply': False, 'property': 6, 'operation': 6, 'parameters': b'64'})
11789   DEBUG   hub     Found matching upstream msg: MsgHubProperties({'payload': b'64', 'needs_reply': False, 'property': 6, 'operation': 6, 'parameters': b'64'})
11789   DEBUG   hub     Handling msg with <bound method Button._props_msg of Button on port 0x0>: MsgHubProperties({'payload': b'64', 'needs_reply': False, 'property': 6, 'operation': 6, 'parameters': b'64'})
11789   DEBUG   hub     Fetched sync reply: MsgHubProperties({'payload': b'64', 'needs_reply': False, 'property': 6, 'operation': 6, 'parameters': b'64'})
11789   INFO    hub     Voltage: 100%
11789   DEBUG   hub     Send message: MsgHubAlert({'payload': b'', 'needs_reply': False, 'atype': 1, 'operation': 3, 'status': None})
11790   DEBUG   hub     Waiting for sync reply to MsgHubAlert({'payload': b'0103', 'needs_reply': True, 'atype': 1, 'operation': 3, 'status': None})...
11790   DEBUG   comms-gatt      Writing to handle: b'0500030103'
11878   DEBUG   comms-gatt      Notification in GattDevice: b'060003010400'
11879   DEBUG   hub     Notification on 14: b'060003010400'
11879   DEBUG   hub     Decoded message: MsgHubAlert({'payload': b'', 'needs_reply': False, 'atype': 1, 'operation': 4, 'status': 0})
11879   DEBUG   hub     Found matching upstream msg: MsgHubAlert({'payload': b'', 'needs_reply': False, 'atype': 1, 'operation': 4, 'status': 0})
11879   DEBUG   hub     Fetched sync reply: MsgHubAlert({'payload': b'', 'needs_reply': False, 'atype': 1, 'operation': 4, 'status': 0})
11879   INFO    demo    Motors movement demo: timed
11879   INFO    demo    Speed level: 0.0%
11879   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80000647f03'})
11880   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'001109c80000647f03', 'needs_reply': True, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80000647f03'})...
11880   DEBUG   comms-gatt      Writing to handle: b'0c0081001109c80000647f03'
11969   DEBUG   comms-gatt      Notification in GattDevice: b'0500820001'
11969   DEBUG   hub     Notification on 14: b'0500820001'
11969   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 1})
12148   DEBUG   comms-gatt      Notification in GattDevice: b'050082000a'
12148   DEBUG   hub     Notification on 14: b'050082000a'
12149   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
12149   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
12149   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
12149   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80000647f03'})
12149   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'011109c80000647f03', 'needs_reply': True, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80000647f03'})...
12149   DEBUG   comms-gatt      Writing to handle: b'0c0081011109c80000647f03'
12238   DEBUG   comms-gatt      Notification in GattDevice: b'0500820101'
12238   DEBUG   hub     Notification on 14: b'0500820101'
12239   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 1})
12418   DEBUG   comms-gatt      Notification in GattDevice: b'050082010a'
12419   DEBUG   hub     Notification on 14: b'050082010a'
12419   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
12419   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
12419   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
12419   INFO    demo    Speed level: 10.0%
12419   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c8000a647f03'})
12419   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'001109c8000a647f03', 'needs_reply': True, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c8000a647f03'})...
12420   DEBUG   comms-gatt      Writing to handle: b'0c0081001109c8000a647f03'
12509   DEBUG   comms-gatt      Notification in GattDevice: b'0500820001'
12509   DEBUG   hub     Notification on 14: b'0500820001'
12509   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 1})
12688   DEBUG   comms-gatt      Notification in GattDevice: b'050082000a'
12688   DEBUG   hub     Notification on 14: b'050082000a'
12688   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
12688   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
12688   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
12688   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800f6647f03'})
12689   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'011109c800f6647f03', 'needs_reply': True, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800f6647f03'})...
12689   DEBUG   comms-gatt      Writing to handle: b'0c0081011109c800f6647f03'
12778   DEBUG   comms-gatt      Notification in GattDevice: b'0500820101'
12778   DEBUG   hub     Notification on 14: b'0500820101'
12778   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 1})
12958   DEBUG   comms-gatt      Notification in GattDevice: b'050082010a'
12958   DEBUG   hub     Notification on 14: b'050082010a'
12958   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
12958   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
12959   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
12959   INFO    demo    Speed level: 20.0%
12959   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80014647f03'})
12959   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'001109c80014647f03', 'needs_reply': True, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80014647f03'})...
12959   DEBUG   comms-gatt      Writing to handle: b'0c0081001109c80014647f03'
13048   DEBUG   comms-gatt      Notification in GattDevice: b'0500820001'
13049   DEBUG   hub     Notification on 14: b'0500820001'
13049   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 1})
13228   DEBUG   comms-gatt      Notification in GattDevice: b'050082000a'
13228   DEBUG   hub     Notification on 14: b'050082000a'
13228   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
13229   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
13229   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
13229   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800ec647f03'})
13229   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'011109c800ec647f03', 'needs_reply': True, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800ec647f03'})...
13229   DEBUG   comms-gatt      Writing to handle: b'0c0081011109c800ec647f03'
13318   DEBUG   comms-gatt      Notification in GattDevice: b'0500820101'
13318   DEBUG   hub     Notification on 14: b'0500820101'
13318   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 1})
13543   DEBUG   comms-gatt      Notification in GattDevice: b'050082010a'
13543   DEBUG   hub     Notification on 14: b'050082010a'
13543   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
13543   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
13544   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
13544   INFO    demo    Speed level: 30.0%
13544   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c8001e647f03'})
13544   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'001109c8001e647f03', 'needs_reply': True, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c8001e647f03'})...
13544   DEBUG   comms-gatt      Writing to handle: b'0c0081001109c8001e647f03'
13633   DEBUG   comms-gatt      Notification in GattDevice: b'0500820001'
13634   DEBUG   hub     Notification on 14: b'0500820001'
13634   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 1})
13814   DEBUG   comms-gatt      Notification in GattDevice: b'050082000a'
13814   DEBUG   hub     Notification on 14: b'050082000a'
13814   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
13814   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
13814   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
13814   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800e2647f03'})
13815   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'011109c800e2647f03', 'needs_reply': True, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800e2647f03'})...
13815   DEBUG   comms-gatt      Writing to handle: b'0c0081011109c800e2647f03'
13904   DEBUG   comms-gatt      Notification in GattDevice: b'0500820101'
13904   DEBUG   hub     Notification on 14: b'0500820101'
13904   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 1})
14083   DEBUG   comms-gatt      Notification in GattDevice: b'050082010a'
14083   DEBUG   hub     Notification on 14: b'050082010a'
14083   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
14084   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
14084   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
14084   INFO    demo    Speed level: 40.0%
14084   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80028647f03'})
14084   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'001109c80028647f03', 'needs_reply': True, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80028647f03'})...
14084   DEBUG   comms-gatt      Writing to handle: b'0c0081001109c80028647f03'
14218   DEBUG   comms-gatt      Notification in GattDevice: b'0500820001'
14219   DEBUG   hub     Notification on 14: b'0500820001'
14219   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 1})
14353   DEBUG   comms-gatt      Notification in GattDevice: b'050082000a'
14354   DEBUG   hub     Notification on 14: b'050082000a'
14354   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
14354   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
14354   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
14354   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800d8647f03'})
14354   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'011109c800d8647f03', 'needs_reply': True, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800d8647f03'})...
14354   DEBUG   comms-gatt      Writing to handle: b'0c0081011109c800d8647f03'
14443   DEBUG   comms-gatt      Notification in GattDevice: b'0500820101'
14443   DEBUG   hub     Notification on 14: b'0500820101'
14443   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 1})
14624   DEBUG   comms-gatt      Notification in GattDevice: b'050082010a'
14624   DEBUG   hub     Notification on 14: b'050082010a'
14624   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
14624   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
14624   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
14624   INFO    demo    Speed level: 50.0%
14624   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80032647f03'})
14625   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'001109c80032647f03', 'needs_reply': True, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80032647f03'})...
14625   DEBUG   comms-gatt      Writing to handle: b'0c0081001109c80032647f03'
14713   DEBUG   comms-gatt      Notification in GattDevice: b'0500820001'
14714   DEBUG   hub     Notification on 14: b'0500820001'
14714   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 1})
14938   DEBUG   comms-gatt      Notification in GattDevice: b'050082000a'
14939   DEBUG   hub     Notification on 14: b'050082000a'
14939   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
14939   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
14939   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
14939   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800ce647f03'})
14939   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'011109c800ce647f03', 'needs_reply': True, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800ce647f03'})...
14939   DEBUG   comms-gatt      Writing to handle: b'0c0081011109c800ce647f03'
15028   DEBUG   comms-gatt      Notification in GattDevice: b'0500820101'
15029   DEBUG   hub     Notification on 14: b'0500820101'
15029   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 1})
15253   DEBUG   comms-gatt      Notification in GattDevice: b'050082010a'
15254   DEBUG   hub     Notification on 14: b'050082010a'
15254   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
15254   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
15254   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
15254   INFO    demo    Speed level: 60.0%
15254   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c8003c647f03'})
15254   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'001109c8003c647f03', 'needs_reply': True, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c8003c647f03'})...
15255   DEBUG   comms-gatt      Writing to handle: b'0c0081001109c8003c647f03'
15343   DEBUG   comms-gatt      Notification in GattDevice: b'0500820001'
15343   DEBUG   hub     Notification on 14: b'0500820001'
15344   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 1})
15568   DEBUG   comms-gatt      Notification in GattDevice: b'050082000a'
15568   DEBUG   hub     Notification on 14: b'050082000a'
15568   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
15568   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
15569   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
15569   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800c4647f03'})
15569   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'011109c800c4647f03', 'needs_reply': True, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800c4647f03'})...
15569   DEBUG   comms-gatt      Writing to handle: b'0c0081011109c800c4647f03'
15703   DEBUG   comms-gatt      Notification in GattDevice: b'0500820101'
15704   DEBUG   hub     Notification on 14: b'0500820101'
15704   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 1})
15883   DEBUG   comms-gatt      Notification in GattDevice: b'050082010a'
15883   DEBUG   hub     Notification on 14: b'050082010a'
15884   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
15884   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
15884   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
15884   INFO    demo    Speed level: 70.0%
15884   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80046647f03'})
15884   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'001109c80046647f03', 'needs_reply': True, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80046647f03'})...
15884   DEBUG   comms-gatt      Writing to handle: b'0c0081001109c80046647f03'
15973   DEBUG   comms-gatt      Notification in GattDevice: b'0500820001'
15974   DEBUG   hub     Notification on 14: b'0500820001'
15974   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 1})
16153   DEBUG   comms-gatt      Notification in GattDevice: b'050082000a'
16154   DEBUG   hub     Notification on 14: b'050082000a'
16154   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
16154   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
16154   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
16154   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800ba647f03'})
16154   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'011109c800ba647f03', 'needs_reply': True, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800ba647f03'})...
16155   DEBUG   comms-gatt      Writing to handle: b'0c0081011109c800ba647f03'
16288   DEBUG   comms-gatt      Notification in GattDevice: b'0500820101'
16288   DEBUG   hub     Notification on 14: b'0500820101'
16289   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 1})
16423   DEBUG   comms-gatt      Notification in GattDevice: b'050082010a'
16423   DEBUG   hub     Notification on 14: b'050082010a'
16423   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
16423   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
16424   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
16424   INFO    demo    Speed level: 80.0%
16424   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80050647f03'})
16424   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'001109c80050647f03', 'needs_reply': True, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80050647f03'})...
16424   DEBUG   comms-gatt      Writing to handle: b'0c0081001109c80050647f03'
16513   DEBUG   comms-gatt      Notification in GattDevice: b'0500820001'
16513   DEBUG   hub     Notification on 14: b'0500820001'
16514   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 1})
16693   DEBUG   comms-gatt      Notification in GattDevice: b'050082000a'
16693   DEBUG   hub     Notification on 14: b'050082000a'
16693   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
16694   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
16694   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
16694   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800b0647f03'})
16694   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'011109c800b0647f03', 'needs_reply': True, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800b0647f03'})...
16695   DEBUG   comms-gatt      Writing to handle: b'0c0081011109c800b0647f03'
16783   DEBUG   comms-gatt      Notification in GattDevice: b'0500820101'
16783   DEBUG   hub     Notification on 14: b'0500820101'
16784   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 1})
16963   DEBUG   comms-gatt      Notification in GattDevice: b'050082010a'
16963   DEBUG   hub     Notification on 14: b'050082010a'
16964   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
16964   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
16964   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
16964   INFO    demo    Speed level: 90.0%
16964   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c8005a647f03'})
16964   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'001109c8005a647f03', 'needs_reply': True, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c8005a647f03'})...
16964   DEBUG   comms-gatt      Writing to handle: b'0c0081001109c8005a647f03'
17053   DEBUG   comms-gatt      Notification in GattDevice: b'0500820001'
17054   DEBUG   hub     Notification on 14: b'0500820001'
17054   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 1})
17233   DEBUG   comms-gatt      Notification in GattDevice: b'050082000a'
17233   DEBUG   hub     Notification on 14: b'050082000a'
17234   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
17234   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
17234   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
17234   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800a6647f03'})
17234   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'011109c800a6647f03', 'needs_reply': True, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c800a6647f03'})...
17234   DEBUG   comms-gatt      Writing to handle: b'0c0081011109c800a6647f03'
17323   DEBUG   comms-gatt      Notification in GattDevice: b'0500820101'
17323   DEBUG   hub     Notification on 14: b'0500820101'
17324   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 1})
17504   DEBUG   comms-gatt      Notification in GattDevice: b'050082010a'
17505   DEBUG   hub     Notification on 14: b'050082010a'
17505   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
17505   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
17505   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
17505   INFO    demo    Speed level: 100.0%
17506   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80064647f03'})
17506   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'001109c80064647f03', 'needs_reply': True, 'port': 0, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c80064647f03'})...
17506   DEBUG   comms-gatt      Writing to handle: b'0c0081001109c80064647f03'
17593   DEBUG   comms-gatt      Notification in GattDevice: b'0500820001'
17593   DEBUG   hub     Notification on 14: b'0500820001'
17594   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 1})
17773   DEBUG   comms-gatt      Notification in GattDevice: b'050082000a'
17774   DEBUG   hub     Notification on 14: b'050082000a'
17774   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
17774   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
17774   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 0, 'status': 10})
17774   DEBUG   hub     Send message: MsgPortOutput({'payload': b'', 'needs_reply': False, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c8009c647f03'})
17774   DEBUG   hub     Waiting for sync reply to MsgPortOutput({'payload': b'011109c8009c647f03', 'needs_reply': True, 'port': 1, 'is_buffered': False, 'do_feedback': True, 'subcommand': 9, 'params': b'c8009c647f03'})...
17774   DEBUG   comms-gatt      Writing to handle: b'0c0081011109c8009c647f03'
17863   DEBUG   comms-gatt      Notification in GattDevice: b'0500820101'
17863   DEBUG   hub     Notification on 14: b'0500820101'
17863   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 1})
18043   DEBUG   comms-gatt      Notification in GattDevice: b'050082010a'
18043   DEBUG   hub     Notification on 14: b'050082010a'
18043   DEBUG   hub     Decoded message: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
18044   DEBUG   hub     Found matching upstream msg: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
18044   DEBUG   hub     Fetched sync reply: MsgPortOutputFeedback({'payload': b'', 'port': 1, 'status': 10})
18044   DEBUG   hub     Send message: MsgHubAction({'payload': b'', 'needs_reply': False, 'action': 2})
18044   DEBUG   hub     Waiting for sync reply to MsgHubAction({'payload': b'02', 'needs_reply': True, 'action': 2})...
18044   DEBUG   comms-gatt      Writing to handle: b'04000202'
18133   DEBUG   comms-gatt      Notification in GattDevice: b'04000231'
18134   DEBUG   hub     Notification on 14: b'04000231'
18134   DEBUG   hub     Decoded message: MsgHubAction({'payload': b'', 'needs_reply': False, 'action': 49})
18134   DEBUG   hub     Found matching upstream msg: MsgHubAction({'payload': b'', 'needs_reply': False, 'action': 49})
18134   DEBUG   hub     Handling msg with <bound method Hub._handle_action of <pylgbst.hub.MoveHub object at 0x7f0cf20ef940>>: MsgHubAction({'payload': b'', 'needs_reply': False, 'action': 49})
18134   DEBUG   hub     Fetched sync reply: MsgHubAction({'payload': b'', 'needs_reply': False, 'action': 49})
18134   WARNING hub     Hub disconnects
Traceback (most recent call last):
  File "/home/korbinian/Projects/pylgbst-master/examples/demo.py", line 278, in <module>
    demo(hub)
  File "/home/korbinian/Projects/pylgbst-master/examples/demo.py", line 188, in demo_all
    demo_motors_timed(movehub)
  File "/home/korbinian/Projects/pylgbst-master/examples/demo.py", line 46, in demo_motors_timed
    movehub.motor_AB.timed(1.5, -0.2, 0.2)
AttributeError: 'NoneType' object has no attribute 'timed'

Great, it is now much more clarity. The next question is: how many motors have you attached to your hub?
I see three records of motor attached. If you have attached only two motors, the third message probably means joint motor.

If you have only two motors attached, try this line after hub initializes:

hub.motor_AB = hub.peripherals[0x03]

That's a hack-ish way of fixing it. The proper way would be to create a dedicated Hub subclass for device "Technic Hub 88012", so it would only expect specific set of devices to appear. And also create some peripheral classes for unhandled types of devices like temperature sensors.

Sorry for the late feedback.
The hub has 3 motors connected. I can control and move every single one.
The two motors for driving are on A and B. On D there is a motor that turns the whole thing.

How did you find out which port goes with what? Because I've looked at the data traffic from the Lego Handy APP and Hub and even with the BLE documentation I can't find out what is being sent. I find out the standard like Mac address etc. but not which commands are sent

There are messages like this in the log:
1530 INFO hub Attached peripheral: EncodedMotor on port 0x0
From it, you know that you can access that motor via hub.peripherals[0x0].

Regarding combining two motors, it looks like you need to do a "virtual port setup", as LEGO docs suggest here: https://lego.github.io/lego-ble-wireless-protocol-docs/index.html#virtual-port-setup

No guarantees that it would work (see REMARK in docs). But it's worth trying.
Here's how I'd try it:

import time

from pylgbst.hub import Hub
from pylgbst.messages import MsgVirtualPortSetup

hub = Hub()  # no point in using MoveHub here, should be base or dedicated class

time.sleep(5)  # might be needed for Hub to sync up first

cmd_type = MsgVirtualPortSetup.CMD_CONNECT
ports_to_combine = (0x01, 0x02)
msg_combine = MsgVirtualPortSetup(cmd_type, ports_to_combine)

hub.send(msg_combine)

time.sleep(1)

# at this time, the MsgHubAttachedIO should arrive with combined port number
combined_port = 0x0  # put here the value that comes for it 

hub.peripherals[combined_port].angled(180)  # should be used like this

This is a very interesting experiment, please keep on trying :)

I apologize for the late response.

I tried your code, added the Mac address, it establishes the connection and starts running for a moment. But only one motor is running and I get this message:

Have no dedicated class for peripheral type 0x3c (TECHNIC_MEDIUM_HUB_TEMPERATURE_SENSOR) on port 0x3d
Have no dedicated class for peripheral type 0x3c (TECHNIC_MEDIUM_HUB_TEMPERATURE_SENSOR) on port 0x60
Have no dedicated class for peripheral type 0x39 (TECHNIC_MEDIUM_HUB_ACCELEROMETER) on port 0x61
Have no dedicated class for peripheral type 0x3a (TECHNIC_MEDIUM_HUB_GYRO_SENSOR) on port 0x62
Have no dedicated class for peripheral type 0x36 (TECHNIC_MEDIUM_HUB_GEST_SENSOR) on port 0x64
Command error: Command 0x61 caused error 0x5: Command NOT recognized

with the command "combined_port", what do I have to add there?

It works, so half :)

After running your test code, the connection to the hub remains.

Then I ran the Demo.py to test it and it ran completely.
In other words, there was an error with the AB commands (the reason for this ticket) now it works.

But why is it now and on which port is now AB?

"Have no dedicated class for peripheral type" messages mean that the library does not have code to support certain onboard device types. This is harmless and there is a way to implement support for those. It's a separate story and requires running a "capability report" script like in #118. If you are willing to help, we can do that in a separate issue/PR.

Regarding port combining, I'm confused. The message "Command error: Command 0x61 caused error 0x5: Command NOT recognized" means the hub does not support combining the motors together. I couldn't understand from your message, which code did you run and was it working as expected or not.

I have now written my own little test. Everything works with this:

import time
from pylgbst import *
from pylgbst.hub import MoveHub
from pylgbst.messages import MsgVirtualPortSetup
from pylgbst import get_connection_gatt

def test(hub):
    hub.port_D.timed(3, -1)
    hub.port_D.timed(3, 1)
    hub.motor_AB.timed(2, -1, 1)
    hub.motor_AB.timed(2, 1, -1)
    
    

if __name__ == '__main__':
    logging.basicConfig(level=logging.INFO, format='%(relativeCreated)d\t%(levelname)s\t%(name)s\t%(message)s')
    parameters = get_connection_gatt(hub_mac='00:00:00:00:00:00')

    try:
        hub = MoveHub(parameters)
        cmd_type = MsgVirtualPortSetup.CMD_CONNECT
        ports_to_combine = (0x00, 0x01)
        msg_combine = MsgVirtualPortSetup(cmd_type, ports_to_combine)

        hub.send(msg_combine)

        time.sleep(1)

    except ValueError as err:
        parser.error(err.args[0])

    try:
        test(hub)
    finally:
        hub.disconnect()

The feedback is:

155 INFO comms-gatt Discovering devices...
159 INFO comms Found Technic Hub at 90:84:2b:61:b3:41
319 INFO comms-gatt Waiting for device connection...
1401 INFO hub Attached peripheral: EncodedMotor on port 0x0
1402 INFO hub Attached peripheral: EncodedMotor on port 0x1
1403 INFO hub Attached peripheral: EncodedMotor on port 0x3
1403 INFO hub Attached peripheral: LEDRGB on port 0x32
1444 INFO hub Attached peripheral: Current on port 0x3b
1444 INFO hub Attached peripheral: Voltage on port 0x3c
1445 WARNING hub Have no dedicated class for peripheral type 0x3c (TECHNIC_MEDIUM_HUB_TEMPERATURE_SENSOR) on port 0x3d
1445 INFO hub Attached peripheral: Peripheral on port 0x3d
1445 WARNING hub Have no dedicated class for peripheral type 0x3c (TECHNIC_MEDIUM_HUB_TEMPERATURE_SENSOR) on port 0x60
1445 INFO hub Attached peripheral: Peripheral on port 0x60
1446 WARNING hub Have no dedicated class for peripheral type 0x39 (TECHNIC_MEDIUM_HUB_ACCELEROMETER) on port 0x61
1446 INFO hub Attached peripheral: Peripheral on port 0x61
1446 WARNING hub Have no dedicated class for peripheral type 0x3a (TECHNIC_MEDIUM_HUB_GYRO_SENSOR) on port 0x62
1446 INFO hub Attached peripheral: Peripheral on port 0x62
1489 INFO hub Attached peripheral: TiltSensor on port 0x63
1489 WARNING hub Have no dedicated class for peripheral type 0x36 (TECHNIC_MEDIUM_HUB_GEST_SENSOR) on port 0x64
1490 INFO hub Attached peripheral: Peripheral on port 0x64
11348 WARNING hub Got only these devices: (EncodedMotor on port 0x0, EncodedMotor on port 0x1, None, LEDRGB on port 0x32, None, Current on port 0x3b, Voltage on port 0x3c)
11525 INFO hub b'Technic Hub' on b'90842b61b341'
11615 INFO hub Voltage: 100%
11840 INFO hub Attached peripheral: EncodedMotor on port 0x10
23045 WARNING hub Hub disconnects

Here you can also see that the virtual port runs on 0x10.

I thank you for your help so far.

Alright, so the combine command now works. I wonder why it did not work before.

If we're strict, the port names are likely to be wrong, 'cause the kind of brick class is different. Still I'd create a dedicated subclass of Hub() for this brick type. But that's a different story, if you want to make this world better :)

Now that it works, I'll try a few more things.
so it may well be that i write a subclass for this type of hub.
I'll let you know when the subclass is ready so you can see through it. :)