Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial 'RequestGetPresetStatus' response throws 'InvalidProtocolBufferException' if custom presets exist #649

Closed
sepp89117 opened this issue Jan 4, 2025 · 7 comments
Assignees
Labels
bug Something isn't working feedback requested Further information is requested

Comments

@sepp89117
Copy link

sepp89117 commented Jan 4, 2025

Hello everyone,

I work with Java and Android.
When parsing the initial protobuf response (Feature ID: 0xF5 and Action ID: 0xF2) from RequestGetPresetStatus I get an InvalidProtocolBufferException ('Protocol message contained an invalid tag (zero).').
Asynchronous notification (Feature ID: 0xF5 and Action ID: 0xF3) on preset change is parsed without errors.

Aren't both responses of type PresetStatus.NotifyPresetStatus and parsed using the same method?

I'm testing it with H23.01.02.32.00 and the current protocol buffers from 'https://github.com/gopro/OpenGoPro/tree/main/protobuf'.
I also tested it with different presets loaded before the request.

EDIT
After I deleted all custom presets from the camera, the parsing works. If I create a custom preset again (exact copy of a standard preset), the problem occurs again

Thank you!

@sepp89117 sepp89117 added the bug Something isn't working label Jan 4, 2025
@github-actions github-actions bot added the triage Needs to be reviewed and assigned label Jan 4, 2025
@tcamise-gpsw tcamise-gpsw self-assigned this Jan 8, 2025
@tcamise-gpsw
Copy link
Collaborator

Yes both initial and asynchronous responses use the same protobuf object. I just tested the following and didn't see any problems on Hero 13:

  1. Factory reset
  2. connect, pair
  3. Register for Preset Status (and print the current status)
  4. Using the camera UI, create a new Video Preset
  5. Print the Preset Status update

Here is a log that includes that byte data. Can you try parsing this byte data with your generated Protobuf code to see if there are any issues. This would tell us if the problem is the Protobuf code or the data.

<<<<<<<<--------------
    "id" : "ActionId.GET_PRESET_STATUS",
    "feature_id" : "FeatureId.QUERY",
    "protocol" : "Protocol.BLE",
    "uuid" : "Query",
    "register_preset_status" : [
        "1"
    ],
    "unregister_preset_status" : [
        
    ],
<<<<<<<<--------------

   MainThread:11:55:58.920 gopro_wireless.py                         730 DEBUG    | Writing to [Query] UUID: 20:04:f5:72:08:01
   MainThread:11:55:58.920 bleak_wrapper.py                          101 DEBUG    | Writing to Query: b5f90076aa8d11e390460002a5d5c51b
   MainThread:11:55:59.067 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 22:52:f5:f2:0a:78:08:e8:07:12:2f:08:00:10:0c:18:0a:28:00:30
   MainThread:11:55:59.068 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 80:00:3a:07:08:e8:01:10:01:18:01:3a:06:08:02:10:01:18:01:3a
   MainThread:11:55:59.068 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 81:07:08:ea:01:10:08:18:01:3a:07:08:e5:01:10:00:18:01:40:00
   MainThread:11:55:59.069 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 82:12:38:08:01:10:20:18:6a:28:00:30:66:3a:07:08:e8:01:10:01
   MainThread:11:55:59.070 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 83:18:01:3a:06:08:02:10:64:18:01:3a:07:08:ea:01:10:01:18:01
   MainThread:11:55:59.074 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 84:3a:07:08:e5:01:10:00:18:01:3a:07:08:9c:01:10:0a:18:01:40
   MainThread:11:55:59.075 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 85:00:18:01:20:00:28:0c:28:20:28:0f:0a:81:01:08:e9:07:12:1f
   MainThread:11:55:59.076 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 86:08:80:80:04:10:10:18:03:28:00:30:03:3a:06:08:7d:10:03:18
   MainThread:11:55:59.076 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 87:01:3a:07:08:e6:01:10:1f:18:01:40:00:12:28:08:82:80:04:10
   MainThread:11:55:59.082 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 88:13:18:05:28:00:30:05:3a:06:08:7e:10:00:18:01:3a:07:08:93
   MainThread:11:55:59.082 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 89:01:10:09:18:01:3a:07:08:e7:01:10:1f:18:01:40:00:12:27:08
   MainThread:11:55:59.083 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8a:83:80:04:10:12:18:06:28:00:30:06:3a:06:08:7d:10:00:18:01
   MainThread:11:55:59.083 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8b:3a:06:08:13:10:00:18:01:3a:07:08:e6:01:10:1f:18:01:40:00
   MainThread:11:55:59.084 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8c:18:01:20:01:28:10:28:13:28:12:0a:c3:02:08:ea:07:12:30:08
   MainThread:11:55:59.089 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8d:80:80:08:10:18:18:07:28:00:30:07:3a:07:08:e8:01:10:01:18
   MainThread:11:55:59.090 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8e:01:3a:06:08:02:10:01:18:01:3a:06:08:6f:10:0a:18:01:3a:07
   MainThread:11:55:59.090 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8f:08:e5:01:10:00:18:01:40:00:12:31:08:83:80:08:10:1d:18:4c
   MainThread:11:55:59.091 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 80:28:00:30:4c:3a:07:08:e9:01:10:01:18:01:3a:06:08:02:10:01
   MainThread:11:55:59.092 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 81:18:01:3a:07:08:20:10:91:1c:18:01:3a:07:08:e5:01:10:00:18
   MainThread:11:55:59.096 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 82:01:40:00:12:31:08:84:80:08:10:1e:18:4d:28:00:30:4d:3a:07
   MainThread:11:55:59.097 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 83:08:e9:01:10:01:18:01:3a:06:08:02:10:01:18:01:3a:07:08:20
   MainThread:11:55:59.098 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 84:10:91:1c:18:01:3a:07:08:e5:01:10:00:18:01:40:00:12:31:08
   MainThread:11:55:59.098 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 85:85:80:08:10:1f:18:4e:28:00:30:4e:3a:07:08:e9:01:10:01:18
   MainThread:11:55:59.100 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 86:01:3a:06:08:02:10:01:18:01:3a:07:08:20:10:91:1c:18:01:3a
   MainThread:11:55:59.104 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 87:07:08:e5:01:10:00:18:01:40:00:12:30:08:81:80:08:10:0d:18
   MainThread:11:55:59.105 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 88:08:28:00:30:08:3a:07:08:e8:01:10:01:18:01:3a:06:08:02:10
   MainThread:11:55:59.105 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 89:01:18:01:3a:06:08:05:10:00:18:01:3a:07:08:e5:01:10:00:18
   MainThread:11:55:59.106 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8a:01:40:00:12:31:08:82:80:08:10:1a:18:09:28:00:30:09:3a:07
   MainThread:11:55:59.107 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8b:08:e9:01:10:01:18:01:3a:06:08:02:10:01:18:01:3a:07:08:20
   MainThread:11:55:59.111 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8c:10:91:1c:18:01:3a:07:08:e5:01:10:00:18:01:40:00:18:01:20
   MainThread:11:55:59.113 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8d:02:28:18:28:1d:28:1e:28:1f:28:0d:28:1a:12:04:08:12:10:21
   MainThread:11:55:59.127 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8e:1a:04:08:13:10:20
   MainThread:11:55:59.153 gopro_wireless.py                         659 INFO     | 
-------------->>>>>>>>
    "id" : "ActionId.GET_PRESET_STATUS_RSP",
    "status" : "ErrorCode.UNKNOWN",
    "protocol" : "Protocol.BLE",
    "data" : {
        "preset_group_array" : [
            {
                "id" : "EnumPresetGroup.PRESET_GROUP_ID_VIDEO",
                "preset_array" : [
                    {
                        "id" : "0",
                        "mode" : "EnumFlatMode.FLAT_MODE_VIDEO",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_VIDEO",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_VIDEO",
                        "setting_array" : [
                            {
                                "id" : "232",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "234",
                                "value" : "8",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "1",
                        "mode" : "EnumFlatMode.FLAT_MODE_VIDEO_BURST_SLOMO",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_BURST_SLOMO",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_BURST_SLOMO",
                        "setting_array" : [
                            {
                                "id" : "232",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "100",
                                "is_caption" : "True",
                            }, {
                                "id" : "234",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }, {
                                "id" : "156",
                                "value" : "10",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }
                ],
                "can_add_preset" : "True",
                "icon" : "EnumPresetGroupIcon.PRESET_GROUP_VIDEO_ICON_ID",
                "mode_array" : [
                    "EnumFlatMode.FLAT_MODE_VIDEO", "EnumFlatMode.FLAT_MODE_VIDEO_BURST_SLOMO", "EnumFlatMode.FLAT_MODE_LOOPING"
                ],
            }, {
                "id" : "EnumPresetGroup.PRESET_GROUP_ID_PHOTO",
                "preset_array" : [
                    {
                        "id" : "65536",
                        "mode" : "EnumFlatMode.FLAT_MODE_PHOTO_SINGLE",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_PHOTO",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_PHOTO",
                        "setting_array" : [
                            {
                                "id" : "125",
                                "value" : "3",
                                "is_caption" : "True",
                            }, {
                                "id" : "230",
                                "value" : "31",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "65538",
                        "mode" : "EnumFlatMode.FLAT_MODE_PHOTO_BURST",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_BURST",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_BURST",
                        "setting_array" : [
                            {
                                "id" : "126",
                                "value" : "0",
                                "is_caption" : "True",
                            }, {
                                "id" : "147",
                                "value" : "9",
                                "is_caption" : "True",
                            }, {
                                "id" : "231",
                                "value" : "31",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "65539",
                        "mode" : "EnumFlatMode.FLAT_MODE_PHOTO_NIGHT",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_NIGHT",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_PHOTO_NIGHT",
                        "setting_array" : [
                            {
                                "id" : "125",
                                "value" : "0",
                                "is_caption" : "True",
                            }, {
                                "id" : "19",
                                "value" : "0",
                                "is_caption" : "True",
                            }, {
                                "id" : "230",
                                "value" : "31",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }
                ],
                "can_add_preset" : "True",
                "icon" : "EnumPresetGroupIcon.PRESET_GROUP_PHOTO_ICON_ID",
                "mode_array" : [
                    "EnumFlatMode.FLAT_MODE_PHOTO_SINGLE", "EnumFlatMode.FLAT_MODE_PHOTO_BURST", "EnumFlatMode.FLAT_MODE_PHOTO_NIGHT"
                ],
            }, {
                "id" : "EnumPresetGroup.PRESET_GROUP_ID_TIMELAPSE",
                "preset_array" : [
                    {
                        "id" : "131072",
                        "mode" : "EnumFlatMode.FLAT_MODE_TIME_WARP_VIDEO",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_TIME_WARP",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_TIMEWARP",
                        "setting_array" : [
                            {
                                "id" : "232",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "111",
                                "value" : "10",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "131075",
                        "mode" : "EnumFlatMode.FLAT_MODE_VIDEO_STAR_TRAIL",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_STAR_TRAIL",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_STAR_TRAIL",
                        "setting_array" : [
                            {
                                "id" : "233",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "32",
                                "value" : "3601",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "131076",
                        "mode" : "EnumFlatMode.FLAT_MODE_VIDEO_LIGHT_PAINTING",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_LIGHT_PAINTING",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_LIGHT_PAINTING",
                        "setting_array" : [
                            {
                                "id" : "233",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "32",
                                "value" : "3601",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "131077",
                        "mode" : "EnumFlatMode.FLAT_MODE_VIDEO_LIGHT_TRAIL",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_LIGHT_TRAIL",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_LIGHT_TRAIL",
                        "setting_array" : [
                            {
                                "id" : "233",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "32",
                                "value" : "3601",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "131073",
                        "mode" : "EnumFlatMode.FLAT_MODE_TIME_LAPSE_VIDEO",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_TIME_LAPSE",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_TIMELAPSE",
                        "setting_array" : [
                            {
                                "id" : "232",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "5",
                                "value" : "0",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "131074",
                        "mode" : "EnumFlatMode.FLAT_MODE_NIGHT_LAPSE_VIDEO",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_NIGHT_LAPSE",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_NIGHTLAPSE",
                        "setting_array" : [
                            {
                                "id" : "233",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "32",
                                "value" : "3601",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }
                ],
                "can_add_preset" : "True",
                "icon" : "EnumPresetGroupIcon.PRESET_GROUP_TIMELAPSE_ICON_ID",
                "mode_array" : [
                    "EnumFlatMode.FLAT_MODE_TIME_WARP_VIDEO", "EnumFlatMode.FLAT_MODE_VIDEO_STAR_TRAIL", "EnumFlatMode.FLAT_MODE_VIDEO_LIGHT_PAINTING", "EnumFlatMode.FLAT_MODE_VIDEO_LIGHT_TRAIL", "EnumFlatMode.FLAT_MODE_TIME_LAPSE_VIDEO", "EnumFlatMode.FLAT_MODE_NIGHT_LAPSE_VIDEO"
                ],
            }
        ],
    },
-------------->>>>>>>>

   MainThread:11:56:19.512 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 20:8e:f5:f3:0a:42:08:e8:07:12:31:08:06:10:0c:18:16:28:01:30
   MainThread:11:56:19.513 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 80:14:3a:07:08:e8:01:10:01:18:01:3a:06:08:02:10:01:18:01:3a
   MainThread:11:56:19.513 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 81:07:08:ea:01:10:08:18:01:3a:07:08:e5:01:10:00:18:01:40:00
   MainThread:11:56:19.514 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 82:48:00:12:02:08:00:12:02:08:01:18:01:20:00:0a:19:08:e9:07
   MainThread:11:56:19.515 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 83:12:04:08:80:80:04:12:04:08:82:80:04:12:04:08:83:80:04:18
   MainThread:11:56:19.519 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 84:01:20:01:0a:2b:08:ea:07:12:04:08:80:80:08:12:04:08:83:80
   MainThread:11:56:19.520 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 85:08:12:04:08:84:80:08:12:04:08:85:80:08:12:04:08:81:80:08
   MainThread:11:56:19.528 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 86:12:04:08:82:80:08:18:01:20:02
   MainThread:11:56:19.531 gopro_wireless.py                         665 INFO     | 
----ASYNC----->>>>>>>>
    "id" : "ActionId.PRESET_MODIFIED_NOTIFICATION",
    "status" : "ErrorCode.UNKNOWN",
    "protocol" : "Protocol.BLE",
    "data" : {
        "preset_group_array" : [
            {
                "id" : "EnumPresetGroup.PRESET_GROUP_ID_VIDEO",
                "preset_array" : [
                    {
                        "id" : "6",
                        "mode" : "EnumFlatMode.FLAT_MODE_VIDEO",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_INDOOR",
                        "user_defined" : "True",
                        "icon" : "EnumPresetIcon.PRESET_ICON_BIKE",
                        "setting_array" : [
                            {
                                "id" : "232",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "234",
                                "value" : "8",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                        "is_fixed" : "False",
                    }, {
                        "id" : "0",
                    }, {
                        "id" : "1",
                    }
                ],
                "can_add_preset" : "True",
                "icon" : "EnumPresetGroupIcon.PRESET_GROUP_VIDEO_ICON_ID",
            }, {
                "id" : "EnumPresetGroup.PRESET_GROUP_ID_PHOTO",
                "preset_array" : [
                    {
                        "id" : "65536",
                    }, {
                        "id" : "65538",
                    }, {
                        "id" : "65539",
                    }
                ],
                "can_add_preset" : "True",
                "icon" : "EnumPresetGroupIcon.PRESET_GROUP_PHOTO_ICON_ID",
            }, {
                "id" : "EnumPresetGroup.PRESET_GROUP_ID_TIMELAPSE",
                "preset_array" : [
                    {
                        "id" : "131072",
                    }, {
                        "id" : "131075",
                    }, {
                        "id" : "131076",
                    }, {
                        "id" : "131077",
                    }, {
                        "id" : "131073",
                    }, {
                        "id" : "131074",
                    }
                ],
                "can_add_preset" : "True",
                "icon" : "EnumPresetGroupIcon.PRESET_GROUP_TIMELAPSE_ICON_ID",
            }
        ],
    },
----ASYNC----->>>>>>>>


@tcamise-gpsw tcamise-gpsw added feedback requested Further information is requested and removed triage Needs to be reviewed and assigned labels Jan 8, 2025
@tcamise-gpsw
Copy link
Collaborator

I just realized that I didn't actually test your bug which if I understand, is getting the initial presets after a custom preset is created. I just did that and also saw now problems. Here is the log. This is the one you should try parsing.

<<<<<<<<--------------
    "id" : "ActionId.GET_PRESET_STATUS",
    "feature_id" : "FeatureId.QUERY",
    "protocol" : "Protocol.BLE",
    "uuid" : "Query",
    "register_preset_status" : [
        "1"
    ],
    "unregister_preset_status" : [
        
    ],
<<<<<<<<--------------

   MainThread:12:04:52.717 gopro_wireless.py                         730 DEBUG    | Writing to [Query] UUID: 20:04:f5:72:08:01
   MainThread:12:04:52.717 bleak_wrapper.py                          101 DEBUG    | Writing to Query: b5f90076aa8d11e390460002a5d5c51b
   MainThread:12:04:52.940 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 22:84:f5:f2:0a:a9:01:08:e8:07:12:2f:08:06:10:0c:18:16:28:01
   MainThread:12:04:52.940 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 80:30:14:3a:07:08:e8:01:10:01:18:01:3a:06:08:02:10:01:18:01
   MainThread:12:04:52.941 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 81:3a:07:08:ea:01:10:08:18:01:3a:07:08:e5:01:10:00:18:01:40
   MainThread:12:04:52.947 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 82:00:12:2f:08:00:10:0c:18:0a:28:00:30:00:3a:07:08:e8:01:10
   MainThread:12:04:52.947 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 83:01:18:01:3a:06:08:02:10:01:18:01:3a:07:08:ea:01:10:08:18
   MainThread:12:04:52.948 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 84:01:3a:07:08:e5:01:10:00:18:01:40:00:12:38:08:01:10:20:18
   MainThread:12:04:52.948 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 85:6a:28:00:30:66:3a:07:08:e8:01:10:01:18:01:3a:06:08:02:10
   MainThread:12:04:52.949 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 86:64:18:01:3a:07:08:ea:01:10:01:18:01:3a:07:08:e5:01:10:00
   MainThread:12:04:52.954 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 87:18:01:3a:07:08:9c:01:10:0a:18:01:40:00:18:01:20:00:28:0c
   MainThread:12:04:52.955 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 88:28:20:28:0f:0a:81:01:08:e9:07:12:1f:08:80:80:04:10:10:18
   MainThread:12:04:52.955 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 89:03:28:00:30:03:3a:06:08:7d:10:03:18:01:3a:07:08:e6:01:10
   MainThread:12:04:52.956 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8a:1f:18:01:40:00:12:28:08:82:80:04:10:13:18:05:28:00:30:05
   MainThread:12:04:52.957 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8b:3a:06:08:7e:10:00:18:01:3a:07:08:93:01:10:09:18:01:3a:07
   MainThread:12:04:52.961 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8c:08:e7:01:10:1f:18:01:40:00:12:27:08:83:80:04:10:12:18:06
   MainThread:12:04:52.962 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8d:28:00:30:06:3a:06:08:7d:10:00:18:01:3a:06:08:13:10:00:18
   MainThread:12:04:52.963 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8e:01:3a:07:08:e6:01:10:1f:18:01:40:00:18:01:20:01:28:10:28
   MainThread:12:04:52.963 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8f:13:28:12:0a:c3:02:08:ea:07:12:30:08:80:80:08:10:18:18:07
   MainThread:12:04:52.964 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 80:28:00:30:07:3a:07:08:e8:01:10:01:18:01:3a:06:08:02:10:01
   MainThread:12:04:52.969 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 81:18:01:3a:06:08:6f:10:0a:18:01:3a:07:08:e5:01:10:00:18:01
   MainThread:12:04:52.970 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 82:40:00:12:31:08:83:80:08:10:1d:18:4c:28:00:30:4c:3a:07:08
   MainThread:12:04:52.970 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 83:e9:01:10:01:18:01:3a:06:08:02:10:01:18:01:3a:07:08:20:10
   MainThread:12:04:52.971 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 84:91:1c:18:01:3a:07:08:e5:01:10:00:18:01:40:00:12:31:08:84
   MainThread:12:04:52.972 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 85:80:08:10:1e:18:4d:28:00:30:4d:3a:07:08:e9:01:10:01:18:01
   MainThread:12:04:52.977 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 86:3a:06:08:02:10:01:18:01:3a:07:08:20:10:91:1c:18:01:3a:07
   MainThread:12:04:52.977 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 87:08:e5:01:10:00:18:01:40:00:12:31:08:85:80:08:10:1f:18:4e
   MainThread:12:04:52.978 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 88:28:00:30:4e:3a:07:08:e9:01:10:01:18:01:3a:06:08:02:10:01
   MainThread:12:04:52.979 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 89:18:01:3a:07:08:20:10:91:1c:18:01:3a:07:08:e5:01:10:00:18
   MainThread:12:04:52.980 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8a:01:40:00:12:30:08:81:80:08:10:0d:18:08:28:00:30:08:3a:07
   MainThread:12:04:52.984 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8b:08:e8:01:10:01:18:01:3a:06:08:02:10:01:18:01:3a:06:08:05
   MainThread:12:04:52.985 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8c:10:00:18:01:3a:07:08:e5:01:10:00:18:01:40:00:12:31:08:82
   MainThread:12:04:52.986 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8d:80:08:10:1a:18:09:28:00:30:09:3a:07:08:e9:01:10:01:18:01
   MainThread:12:04:52.986 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8e:3a:06:08:02:10:01:18:01:3a:07:08:20:10:91:1c:18:01:3a:07
   MainThread:12:04:52.987 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8f:08:e5:01:10:00:18:01:40:00:18:01:20:02:28:18:28:1d:28:1e
   MainThread:12:04:52.999 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 80:28:1f:28:0d:28:1a:12:04:08:12:10:21:1a:04:08:13:10:20
   MainThread:12:04:53.027 gopro_wireless.py                         659 INFO     | 
-------------->>>>>>>>
    "id" : "ActionId.GET_PRESET_STATUS_RSP",
    "status" : "ErrorCode.UNKNOWN",
    "protocol" : "Protocol.BLE",
    "data" : {
        "preset_group_array" : [
            {
                "id" : "EnumPresetGroup.PRESET_GROUP_ID_VIDEO",
                "preset_array" : [
                    {
                        "id" : "6",
                        "mode" : "EnumFlatMode.FLAT_MODE_VIDEO",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_INDOOR",
                        "user_defined" : "True",
                        "icon" : "EnumPresetIcon.PRESET_ICON_BIKE",
                        "setting_array" : [
                            {
                                "id" : "232",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "234",
                                "value" : "8",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "0",
                        "mode" : "EnumFlatMode.FLAT_MODE_VIDEO",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_VIDEO",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_VIDEO",
                        "setting_array" : [
                            {
                                "id" : "232",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "234",
                                "value" : "8",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "1",
                        "mode" : "EnumFlatMode.FLAT_MODE_VIDEO_BURST_SLOMO",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_BURST_SLOMO",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_BURST_SLOMO",
                        "setting_array" : [
                            {
                                "id" : "232",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "100",
                                "is_caption" : "True",
                            }, {
                                "id" : "234",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }, {
                                "id" : "156",
                                "value" : "10",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }
                ],
                "can_add_preset" : "True",
                "icon" : "EnumPresetGroupIcon.PRESET_GROUP_VIDEO_ICON_ID",
                "mode_array" : [
                    "EnumFlatMode.FLAT_MODE_VIDEO", "EnumFlatMode.FLAT_MODE_VIDEO_BURST_SLOMO", "EnumFlatMode.FLAT_MODE_LOOPING"
                ],
            }, {
                "id" : "EnumPresetGroup.PRESET_GROUP_ID_PHOTO",
                "preset_array" : [
                    {
                        "id" : "65536",
                        "mode" : "EnumFlatMode.FLAT_MODE_PHOTO_SINGLE",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_PHOTO",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_PHOTO",
                        "setting_array" : [
                            {
                                "id" : "125",
                                "value" : "3",
                                "is_caption" : "True",
                            }, {
                                "id" : "230",
                                "value" : "31",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "65538",
                        "mode" : "EnumFlatMode.FLAT_MODE_PHOTO_BURST",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_BURST",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_BURST",
                        "setting_array" : [
                            {
                                "id" : "126",
                                "value" : "0",
                                "is_caption" : "True",
                            }, {
                                "id" : "147",
                                "value" : "9",
                                "is_caption" : "True",
                            }, {
                                "id" : "231",
                                "value" : "31",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "65539",
                        "mode" : "EnumFlatMode.FLAT_MODE_PHOTO_NIGHT",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_NIGHT",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_PHOTO_NIGHT",
                        "setting_array" : [
                            {
                                "id" : "125",
                                "value" : "0",
                                "is_caption" : "True",
                            }, {
                                "id" : "19",
                                "value" : "0",
                                "is_caption" : "True",
                            }, {
                                "id" : "230",
                                "value" : "31",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }
                ],
                "can_add_preset" : "True",
                "icon" : "EnumPresetGroupIcon.PRESET_GROUP_PHOTO_ICON_ID",
                "mode_array" : [
                    "EnumFlatMode.FLAT_MODE_PHOTO_SINGLE", "EnumFlatMode.FLAT_MODE_PHOTO_BURST", "EnumFlatMode.FLAT_MODE_PHOTO_NIGHT"
                ],
            }, {
                "id" : "EnumPresetGroup.PRESET_GROUP_ID_TIMELAPSE",
                "preset_array" : [
                    {
                        "id" : "131072",
                        "mode" : "EnumFlatMode.FLAT_MODE_TIME_WARP_VIDEO",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_TIME_WARP",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_TIMEWARP",
                        "setting_array" : [
                            {
                                "id" : "232",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "111",
                                "value" : "10",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "131075",
                        "mode" : "EnumFlatMode.FLAT_MODE_VIDEO_STAR_TRAIL",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_STAR_TRAIL",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_STAR_TRAIL",
                        "setting_array" : [
                            {
                                "id" : "233",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "32",
                                "value" : "3601",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "131076",
                        "mode" : "EnumFlatMode.FLAT_MODE_VIDEO_LIGHT_PAINTING",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_LIGHT_PAINTING",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_LIGHT_PAINTING",
                        "setting_array" : [
                            {
                                "id" : "233",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "32",
                                "value" : "3601",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "131077",
                        "mode" : "EnumFlatMode.FLAT_MODE_VIDEO_LIGHT_TRAIL",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_LIGHT_TRAIL",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_LIGHT_TRAIL",
                        "setting_array" : [
                            {
                                "id" : "233",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "32",
                                "value" : "3601",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "131073",
                        "mode" : "EnumFlatMode.FLAT_MODE_TIME_LAPSE_VIDEO",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_TIME_LAPSE",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_TIMELAPSE",
                        "setting_array" : [
                            {
                                "id" : "232",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "5",
                                "value" : "0",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }, {
                        "id" : "131074",
                        "mode" : "EnumFlatMode.FLAT_MODE_NIGHT_LAPSE_VIDEO",
                        "title_id" : "EnumPresetTitle.PRESET_TITLE_NIGHT_LAPSE",
                        "user_defined" : "False",
                        "icon" : "EnumPresetIcon.PRESET_ICON_NIGHTLAPSE",
                        "setting_array" : [
                            {
                                "id" : "233",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "2",
                                "value" : "1",
                                "is_caption" : "True",
                            }, {
                                "id" : "32",
                                "value" : "3601",
                                "is_caption" : "True",
                            }, {
                                "id" : "229",
                                "value" : "0",
                                "is_caption" : "True",
                            }
                        ],
                        "is_modified" : "False",
                    }
                ],
                "can_add_preset" : "True",
                "icon" : "EnumPresetGroupIcon.PRESET_GROUP_TIMELAPSE_ICON_ID",
                "mode_array" : [
                    "EnumFlatMode.FLAT_MODE_TIME_WARP_VIDEO", "EnumFlatMode.FLAT_MODE_VIDEO_STAR_TRAIL", "EnumFlatMode.FLAT_MODE_VIDEO_LIGHT_PAINTING", "EnumFlatMode.FLAT_MODE_VIDEO_LIGHT_TRAIL", "EnumFlatMode.FLAT_MODE_TIME_LAPSE_VIDEO", "EnumFlatMode.FLAT_MODE_NIGHT_LAPSE_VIDEO"
                ],
            }
        ],
    },
-------------->>>>>>>>

@tcamise-gpsw tcamise-gpsw changed the title Initial 'RequestGetPresetStatus' response throws 'InvalidProtocolBufferException' Initial 'RequestGetPresetStatus' response throws 'InvalidProtocolBufferException' if custom presets exist Jan 8, 2025
@sepp89117
Copy link
Author

Hello and thank you for your answer!

To be clear, the steps to reproduce the bug are:

  1. Factory reset
  2. Create a custom preset
  3. Connect, pair
  4. Register for Preset Status (RequestGetPresetStatus)
  5. Parse the initial response of RequestGetPresetStatus

I tested both of the (initial) response data from your logs.

The first one without error.

Here is a log that includes that byte data. Can you try parsing this byte data with your generated Protobuf code to see if there are any issues. This would tell us if the problem is the Protobuf code or the data.

byte[] unproblematicProtoResp = {0xf5, 0xf2, 0x0a, 0x78, 0x08, 0xe8, 0x07, 0x12, 0x2f, 0x08, 0x00, 0x10, 0x0c, 0x18, 0x0a, 0x28, 0x00, 0x30, 0x00, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xea, 0x01, 0x10, 0x08, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x38, 0x08, 0x01, 0x10, 0x20, 0x18, 0x6a, 0x28, 0x00, 0x30, 0x66, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x64, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xea, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x9c, 0x01, 0x10, 0x0a, 0x18, 0x01, 0x40, 0x00, 0x18, 0x01, 0x20, 0x00, 0x28, 0x0c, 0x28, 0x20, 0x28, 0x0f, 0x0a, 0x81, 0x01, 0x08, 0xe9, 0x07, 0x12, 0x1f, 0x08, 0x80, 0x80, 0x04, 0x10, 0x10, 0x18, 0x03, 0x28, 0x00, 0x30, 0x03, 0x3a, 0x06, 0x08, 0x7d, 0x10, 0x03, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe6, 0x01, 0x10, 0x1f, 0x18, 0x01, 0x40, 0x00, 0x12, 0x28, 0x08, 0x82, 0x80, 0x04, 0x10, 0x13, 0x18, 0x05, 0x28, 0x00, 0x30, 0x05, 0x3a, 0x06, 0x08, 0x7e, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x93, 0x01, 0x10, 0x09, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe7, 0x01, 0x10, 0x1f, 0x18, 0x01, 0x40, 0x00, 0x12, 0x27, 0x08, 0x83, 0x80, 0x04, 0x10, 0x12, 0x18, 0x06, 0x28, 0x00, 0x30, 0x06, 0x3a, 0x06, 0x08, 0x7d, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x13, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe6, 0x01, 0x10, 0x1f, 0x18, 0x01, 0x40, 0x00, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x28, 0x13, 0x28, 0x12, 0x0a, 0xc3, 0x02, 0x08, 0xea, 0x07, 0x12, 0x30, 0x08, 0x80, 0x80, 0x08, 0x10, 0x18, 0x18, 0x07, 0x28, 0x00, 0x30, 0x07, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x6f, 0x10, 0x0a, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x83, 0x80, 0x08, 0x10, 0x1d, 0x18, 0x4c, 0x28, 0x00, 0x30, 0x4c, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x84, 0x80, 0x08, 0x10, 0x1e, 0x18, 0x4d, 0x28, 0x00, 0x30, 0x4d, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x85, 0x80, 0x08, 0x10, 0x1f, 0x18, 0x4e, 0x28, 0x00, 0x30, 0x4e, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x30, 0x08, 0x81, 0x80, 0x08, 0x10, 0x0d, 0x18, 0x08, 0x28, 0x00, 0x30, 0x08, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x05, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x82, 0x80, 0x08, 0x10, 0x1a, 0x18, 0x09, 0x28, 0x00, 0x30, 0x09, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x18, 0x01, 0x20, 0x02, 0x28, 0x18, 0x28, 0x1d, 0x28, 0x1e, 0x28, 0x1f, 0x28, 0x0d, 0x28, 0x1a, 0x12, 0x04, 0x08, 0x12, 0x10, 0x21, 0x1a, 0x04, 0x08, 0x13, 0x10, 0x20};

The second one with the same error com.google.protobuf.InvalidProtocolBufferException: Protocol message contained an invalid tag (zero).

I just realized that I didn't actually test your bug which if I understand, is getting the initial presets after a custom preset is created. I just did that and also saw now problems. Here is the log. This is the one you should try parsing.

byte[] problematicProtoResp = {0xf5, 0xf2, 0x0a, 0xa9, 0x01, 0x08, 0xe8, 0x07, 0x12, 0x2f, 0x08, 0x06, 0x10, 0x0c, 0x18, 0x16, 0x28, 0x01, 0x30, 0x14, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xea, 0x01, 0x10, 0x08, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x2f, 0x08, 0x00, 0x10, 0x0c, 0x18, 0x0a, 0x28, 0x00, 0x30, 0x00, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xea, 0x01, 0x10, 0x08, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x38, 0x08, 0x01, 0x10, 0x20, 0x18, 0x6a, 0x28, 0x00, 0x30, 0x66, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x64, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xea, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x9c, 0x01, 0x10, 0x0a, 0x18, 0x01, 0x40, 0x00, 0x18, 0x01, 0x20, 0x00, 0x28, 0x0c, 0x28, 0x20, 0x28, 0x0f, 0x0a, 0x81, 0x01, 0x08, 0xe9, 0x07, 0x12, 0x1f, 0x08, 0x80, 0x80, 0x04, 0x10, 0x10, 0x18, 0x03, 0x28, 0x00, 0x30, 0x03, 0x3a, 0x06, 0x08, 0x7d, 0x10, 0x03, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe6, 0x01, 0x10, 0x1f, 0x18, 0x01, 0x40, 0x00, 0x12, 0x28, 0x08, 0x82, 0x80, 0x04, 0x10, 0x13, 0x18, 0x05, 0x28, 0x00, 0x30, 0x05, 0x3a, 0x06, 0x08, 0x7e, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x93, 0x01, 0x10, 0x09, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe7, 0x01, 0x10, 0x1f, 0x18, 0x01, 0x40, 0x00, 0x12, 0x27, 0x08, 0x83, 0x80, 0x04, 0x10, 0x12, 0x18, 0x06, 0x28, 0x00, 0x30, 0x06, 0x3a, 0x06, 0x08, 0x7d, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x13, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe6, 0x01, 0x10, 0x1f, 0x18, 0x01, 0x40, 0x00, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x28, 0x13, 0x28, 0x12, 0x0a, 0xc3, 0x02, 0x08, 0xea, 0x07, 0x12, 0x30, 0x08, 0x80, 0x80, 0x08, 0x10, 0x18, 0x18, 0x07, 0x28, 0x00, 0x30, 0x07, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x6f, 0x10, 0x0a, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x83, 0x80, 0x08, 0x10, 0x1d, 0x18, 0x4c, 0x28, 0x00, 0x30, 0x4c, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x84, 0x80, 0x08, 0x10, 0x1e, 0x18, 0x4d, 0x28, 0x00, 0x30, 0x4d, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x85, 0x80, 0x08, 0x10, 0x1f, 0x18, 0x4e, 0x28, 0x00, 0x30, 0x4e, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x30, 0x08, 0x81, 0x80, 0x08, 0x10, 0x0d, 0x18, 0x08, 0x28, 0x00, 0x30, 0x08, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x05, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x82, 0x80, 0x08, 0x10, 0x1a, 0x18, 0x09, 0x28, 0x00, 0x30, 0x09, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x18, 0x01, 0x20, 0x02, 0x28, 0x18, 0x28, 0x1d, 0x28, 0x1e, 0x28, 0x1f, 0x28, 0x0d, 0x28, 0x1a, 0x12, 0x04, 0x08, 0x12, 0x10, 0x21, 0x1a, 0x04, 0x08, 0x13, 0x10, 0x20};

But as I understand it, you also had problems with that, right?

@tcamise-gpsw
Copy link
Collaborator

Sorry I mistyped above. To be clear: I did not see any problems parsing any of the data above. I took the logs from the Python SDK.

Anyway it is good that we now have a test vector (problematicProtoResp) to replicate the issue from your perspective.

Now here is where it gets weird...I just tried to parse the problematicProtoResp directly using the structures from the Python SDK and I do actually see a similar error now: Field number 0 is illegal.

I can't explain this but will do some debugging.

@sepp89117
Copy link
Author

Okay, that sounds really strange at first. But it's the data from your log that I should test.

   MainThread:12:04:52.940 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 22:84:f5:f2:0a:a9:01:08:e8:07:12:2f:08:06:10:0c:18:16:28:01
   MainThread:12:04:52.940 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 80:30:14:3a:07:08:e8:01:10:01:18:01:3a:06:08:02:10:01:18:01
   MainThread:12:04:52.941 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 81:3a:07:08:ea:01:10:08:18:01:3a:07:08:e5:01:10:00:18:01:40
   MainThread:12:04:52.947 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 82:00:12:2f:08:00:10:0c:18:0a:28:00:30:00:3a:07:08:e8:01:10
   MainThread:12:04:52.947 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 83:01:18:01:3a:06:08:02:10:01:18:01:3a:07:08:ea:01:10:08:18
   MainThread:12:04:52.948 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 84:01:3a:07:08:e5:01:10:00:18:01:40:00:12:38:08:01:10:20:18
   MainThread:12:04:52.948 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 85:6a:28:00:30:66:3a:07:08:e8:01:10:01:18:01:3a:06:08:02:10
   MainThread:12:04:52.949 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 86:64:18:01:3a:07:08:ea:01:10:01:18:01:3a:07:08:e5:01:10:00
   MainThread:12:04:52.954 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 87:18:01:3a:07:08:9c:01:10:0a:18:01:40:00:18:01:20:00:28:0c
   MainThread:12:04:52.955 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 88:28:20:28:0f:0a:81:01:08:e9:07:12:1f:08:80:80:04:10:10:18
   MainThread:12:04:52.955 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 89:03:28:00:30:03:3a:06:08:7d:10:03:18:01:3a:07:08:e6:01:10
   MainThread:12:04:52.956 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8a:1f:18:01:40:00:12:28:08:82:80:04:10:13:18:05:28:00:30:05
   MainThread:12:04:52.957 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8b:3a:06:08:7e:10:00:18:01:3a:07:08:93:01:10:09:18:01:3a:07
   MainThread:12:04:52.961 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8c:08:e7:01:10:1f:18:01:40:00:12:27:08:83:80:04:10:12:18:06
   MainThread:12:04:52.962 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8d:28:00:30:06:3a:06:08:7d:10:00:18:01:3a:06:08:13:10:00:18
   MainThread:12:04:52.963 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8e:01:3a:07:08:e6:01:10:1f:18:01:40:00:18:01:20:01:28:10:28
   MainThread:12:04:52.963 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8f:13:28:12:0a:c3:02:08:ea:07:12:30:08:80:80:08:10:18:18:07
   MainThread:12:04:52.964 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 80:28:00:30:07:3a:07:08:e8:01:10:01:18:01:3a:06:08:02:10:01
   MainThread:12:04:52.969 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 81:18:01:3a:06:08:6f:10:0a:18:01:3a:07:08:e5:01:10:00:18:01
   MainThread:12:04:52.970 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 82:40:00:12:31:08:83:80:08:10:1d:18:4c:28:00:30:4c:3a:07:08
   MainThread:12:04:52.970 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 83:e9:01:10:01:18:01:3a:06:08:02:10:01:18:01:3a:07:08:20:10
   MainThread:12:04:52.971 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 84:91:1c:18:01:3a:07:08:e5:01:10:00:18:01:40:00:12:31:08:84
   MainThread:12:04:52.972 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 85:80:08:10:1e:18:4d:28:00:30:4d:3a:07:08:e9:01:10:01:18:01
   MainThread:12:04:52.977 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 86:3a:06:08:02:10:01:18:01:3a:07:08:20:10:91:1c:18:01:3a:07
   MainThread:12:04:52.977 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 87:08:e5:01:10:00:18:01:40:00:12:31:08:85:80:08:10:1f:18:4e
   MainThread:12:04:52.978 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 88:28:00:30:4e:3a:07:08:e9:01:10:01:18:01:3a:06:08:02:10:01
   MainThread:12:04:52.979 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 89:18:01:3a:07:08:20:10:91:1c:18:01:3a:07:08:e5:01:10:00:18
   MainThread:12:04:52.980 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8a:01:40:00:12:30:08:81:80:08:10:0d:18:08:28:00:30:08:3a:07
   MainThread:12:04:52.984 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8b:08:e8:01:10:01:18:01:3a:06:08:02:10:01:18:01:3a:06:08:05
   MainThread:12:04:52.985 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8c:10:00:18:01:3a:07:08:e5:01:10:00:18:01:40:00:12:31:08:82
   MainThread:12:04:52.986 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8d:80:08:10:1a:18:09:28:00:30:09:3a:07:08:e9:01:10:01:18:01
   MainThread:12:04:52.986 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8e:3a:06:08:02:10:01:18:01:3a:07:08:20:10:91:1c:18:01:3a:07
   MainThread:12:04:52.987 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 8f:08:e5:01:10:00:18:01:40:00:18:01:20:02:28:18:28:1d:28:1e
   MainThread:12:04:52.999 gopro_wireless.py                         684 DEBUG    | Received response on BleUUID [Query Response]: 80:28:1f:28:0d:28:1a:12:04:08:12:10:21:1a:04:08:13:10:20

I copied the log and edited it using regex.
Here are the steps using regex:

  1. Replace ^.*: ..: with empty string (Removes everything from the beginning of each line up to and including the first byte (packet header))
  2. Replace \n with : (Bundles the individual packages into one)
  3. Replace : with , 0x (Formats the data for my needs)
  4. Remove 84, from the beginning of the payload. (Removes the rest of the first package header)
    In this way I get a payload of the received data to parse, as in my program

The only logical explanation for me is that your software changes the data before parsing it. So I checked your code and saw here that you remove the FeatureID from the payload. I will run the data without the FeatureID through the Proto-PresetStatus parser and see what happens.

@sepp89117
Copy link
Author

sepp89117 commented Jan 10, 2025

Without the FeatureID I was now able to parse both payloads without errors.

byte[] unproblematicProtoResp = {0xf2, 0x0a, 0x78, 0x08, 0xe8, 0x07, 0x12, 0x2f, 0x08, 0x00, 0x10, 0x0c, 0x18, 0x0a, 0x28, 0x00, 0x30, 0x00, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xea, 0x01, 0x10, 0x08, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x38, 0x08, 0x01, 0x10, 0x20, 0x18, 0x6a, 0x28, 0x00, 0x30, 0x66, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x64, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xea, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x9c, 0x01, 0x10, 0x0a, 0x18, 0x01, 0x40, 0x00, 0x18, 0x01, 0x20, 0x00, 0x28, 0x0c, 0x28, 0x20, 0x28, 0x0f, 0x0a, 0x81, 0x01, 0x08, 0xe9, 0x07, 0x12, 0x1f, 0x08, 0x80, 0x80, 0x04, 0x10, 0x10, 0x18, 0x03, 0x28, 0x00, 0x30, 0x03, 0x3a, 0x06, 0x08, 0x7d, 0x10, 0x03, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe6, 0x01, 0x10, 0x1f, 0x18, 0x01, 0x40, 0x00, 0x12, 0x28, 0x08, 0x82, 0x80, 0x04, 0x10, 0x13, 0x18, 0x05, 0x28, 0x00, 0x30, 0x05, 0x3a, 0x06, 0x08, 0x7e, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x93, 0x01, 0x10, 0x09, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe7, 0x01, 0x10, 0x1f, 0x18, 0x01, 0x40, 0x00, 0x12, 0x27, 0x08, 0x83, 0x80, 0x04, 0x10, 0x12, 0x18, 0x06, 0x28, 0x00, 0x30, 0x06, 0x3a, 0x06, 0x08, 0x7d, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x13, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe6, 0x01, 0x10, 0x1f, 0x18, 0x01, 0x40, 0x00, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x28, 0x13, 0x28, 0x12, 0x0a, 0xc3, 0x02, 0x08, 0xea, 0x07, 0x12, 0x30, 0x08, 0x80, 0x80, 0x08, 0x10, 0x18, 0x18, 0x07, 0x28, 0x00, 0x30, 0x07, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x6f, 0x10, 0x0a, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x83, 0x80, 0x08, 0x10, 0x1d, 0x18, 0x4c, 0x28, 0x00, 0x30, 0x4c, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x84, 0x80, 0x08, 0x10, 0x1e, 0x18, 0x4d, 0x28, 0x00, 0x30, 0x4d, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x85, 0x80, 0x08, 0x10, 0x1f, 0x18, 0x4e, 0x28, 0x00, 0x30, 0x4e, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x30, 0x08, 0x81, 0x80, 0x08, 0x10, 0x0d, 0x18, 0x08, 0x28, 0x00, 0x30, 0x08, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x05, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x82, 0x80, 0x08, 0x10, 0x1a, 0x18, 0x09, 0x28, 0x00, 0x30, 0x09, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x18, 0x01, 0x20, 0x02, 0x28, 0x18, 0x28, 0x1d, 0x28, 0x1e, 0x28, 0x1f, 0x28, 0x0d, 0x28, 0x1a, 0x12, 0x04, 0x08, 0x12, 0x10, 0x21, 0x1a, 0x04, 0x08, 0x13, 0x10, 0x20};

and

byte[] nowUnproblematicProtoResp = {0xf2, 0x0a, 0xa9, 0x01, 0x08, 0xe8, 0x07, 0x12, 0x2f, 0x08, 0x06, 0x10, 0x0c, 0x18, 0x16, 0x28, 0x01, 0x30, 0x14, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xea, 0x01, 0x10, 0x08, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x2f, 0x08, 0x00, 0x10, 0x0c, 0x18, 0x0a, 0x28, 0x00, 0x30, 0x00, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xea, 0x01, 0x10, 0x08, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x38, 0x08, 0x01, 0x10, 0x20, 0x18, 0x6a, 0x28, 0x00, 0x30, 0x66, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x64, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xea, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x9c, 0x01, 0x10, 0x0a, 0x18, 0x01, 0x40, 0x00, 0x18, 0x01, 0x20, 0x00, 0x28, 0x0c, 0x28, 0x20, 0x28, 0x0f, 0x0a, 0x81, 0x01, 0x08, 0xe9, 0x07, 0x12, 0x1f, 0x08, 0x80, 0x80, 0x04, 0x10, 0x10, 0x18, 0x03, 0x28, 0x00, 0x30, 0x03, 0x3a, 0x06, 0x08, 0x7d, 0x10, 0x03, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe6, 0x01, 0x10, 0x1f, 0x18, 0x01, 0x40, 0x00, 0x12, 0x28, 0x08, 0x82, 0x80, 0x04, 0x10, 0x13, 0x18, 0x05, 0x28, 0x00, 0x30, 0x05, 0x3a, 0x06, 0x08, 0x7e, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x93, 0x01, 0x10, 0x09, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe7, 0x01, 0x10, 0x1f, 0x18, 0x01, 0x40, 0x00, 0x12, 0x27, 0x08, 0x83, 0x80, 0x04, 0x10, 0x12, 0x18, 0x06, 0x28, 0x00, 0x30, 0x06, 0x3a, 0x06, 0x08, 0x7d, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x13, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe6, 0x01, 0x10, 0x1f, 0x18, 0x01, 0x40, 0x00, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x28, 0x13, 0x28, 0x12, 0x0a, 0xc3, 0x02, 0x08, 0xea, 0x07, 0x12, 0x30, 0x08, 0x80, 0x80, 0x08, 0x10, 0x18, 0x18, 0x07, 0x28, 0x00, 0x30, 0x07, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x6f, 0x10, 0x0a, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x83, 0x80, 0x08, 0x10, 0x1d, 0x18, 0x4c, 0x28, 0x00, 0x30, 0x4c, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x84, 0x80, 0x08, 0x10, 0x1e, 0x18, 0x4d, 0x28, 0x00, 0x30, 0x4d, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x85, 0x80, 0x08, 0x10, 0x1f, 0x18, 0x4e, 0x28, 0x00, 0x30, 0x4e, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x30, 0x08, 0x81, 0x80, 0x08, 0x10, 0x0d, 0x18, 0x08, 0x28, 0x00, 0x30, 0x08, 0x3a, 0x07, 0x08, 0xe8, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x05, 0x10, 0x00, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x12, 0x31, 0x08, 0x82, 0x80, 0x08, 0x10, 0x1a, 0x18, 0x09, 0x28, 0x00, 0x30, 0x09, 0x3a, 0x07, 0x08, 0xe9, 0x01, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x06, 0x08, 0x02, 0x10, 0x01, 0x18, 0x01, 0x3a, 0x07, 0x08, 0x20, 0x10, 0x91, 0x1c, 0x18, 0x01, 0x3a, 0x07, 0x08, 0xe5, 0x01, 0x10, 0x00, 0x18, 0x01, 0x40, 0x00, 0x18, 0x01, 0x20, 0x02, 0x28, 0x18, 0x28, 0x1d, 0x28, 0x1e, 0x28, 0x1f, 0x28, 0x0d, 0x28, 0x1a, 0x12, 0x04, 0x08, 0x12, 0x10, 0x21, 0x1a, 0x04, 0x08, 0x13, 0x10, 0x20};

EDIT:
Parsing the data from my Hero12 didn't work. Only after I removed the ActionID too.
Result: You have to parse the payload without the FeatureID and without the ActionID.
Learned something new again

@sepp89117
Copy link
Author

I think the issue can be closed. Thanks for the support

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working feedback requested Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants