Skip to content

HERO13 returns non-existent webcam status #810

@alijalaliali

Description

@alijalaliali

First ensure you are using a camera that is currently supported by Open GoPro. Any other tickets will be rejected.

Component
What is the bug in?

  • SDKs (Python / Kotlin)
  • Firmware

Describe the bug
Running this code to stream webcam over wifi (while ble and wifi connections work fine)

async with WirelessGoPro( interfaces={ WirelessGoPro.Interface.BLE, WirelessGoPro.Interface.WIFI_AP } ) as gopro: print(await gopro.http_command.webcam_status())

produces the following error when it wants to check the status of webcam. The same bug is produced with any webcam function like webcam_start, webcam_stop, etc.

Unexpected error: 1 validation error for WebcamResponse status Input should be 0, 1, 2 or 3 [type=enum, input_value=4, input_type=int] For further information visit https://errors.pydantic.dev/2.11/v/enum

It essentially returns status=4 while there are only 0-3 valid values and causes the pydantic validation to fail.

To Reproduce
Steps to reproduce the behavior:
See code above

Expected behavior
A clear and concise description of what you expected to happen.
The status of webcam must be one of the valid values and webcam streaming to udp should start.

Logs
If this is a bug in API communication, the bug report must contain parsed logs of the communication. If this bug is
regarding:

`MainThread:00:03:39.193 gopro_base.py 381 DEBUG | Sending: http://10.5.5.9:8080/gopro/webcam/status
MainThread:00:03:39.193 gopro_base.py 382 INFO |
<<<<<<<<--------------
"id" : "Webcam Status",
"protocol" : "Protocol.HTTP",
"endpoint" : "gopro/webcam/status",
<<<<<<<<--------------

MainThread:00:03:39.207 connectionpool.py 241 DEBUG | Starting new HTTP connection (1): 10.5.5.9:8080
MainThread:00:03:39.213 logger.py 88 DEBUG | send: b'GET /gopro/webcam/status HTTP/1.1\r\nHost: 10.5.5.9:8080\r\nUser-Agent: python-requests/2.32.4\r\nAccept-Encoding: gzip, deflate\r\nAccept: /\r\nConnection: keep-alive\r\n\r\n'
MainThread:00:03:39.221 logger.py 88 DEBUG | reply: 'HTTP/1.1 200 OK\r\n'
MainThread:00:03:39.227 logger.py 88 DEBUG | header: Content-Type: application/json
MainThread:00:03:39.227 logger.py 88 DEBUG | header: Content-Length: 31
MainThread:00:03:39.228 connectionpool.py 544 DEBUG | http://10.5.5.9:8080 "GET /gopro/webcam/status HTTP/1.1" 200 31
MainThread:00:03:39.231 gopro_base.py 401 ERROR | Unexpected error: 1 validation error for WebcamResponse
status
Input should be 0, 1, 2 or 3 [type=enum, input_value=4, input_type=int]
For further information visit https://errors.pydantic.dev/2.11/v/enum
MainThread:00:03:39.234 gopro_base.py 402 WARNING | Retrying #1 to send the command...
MainThread:00:03:39.239 connectionpool.py 241 DEBUG | Starting new HTTP connection (1): 10.5.5.9:8080
MainThread:00:03:39.241 logger.py 88 DEBUG | send: b'GET /gopro/webcam/status HTTP/1.1\r\nHost: 10.5.5.9:8080\r\nUser-Agent: python-requests/2.32.4\r\nAccept-Encoding: gzip, deflate\r\nAccept: /\r\nConnection: keep-alive\r\n\r\n'
MainThread:00:03:39.254 logger.py 88 DEBUG | reply: 'HTTP/1.1 200 OK\r\n'
MainThread:00:03:39.255 logger.py 88 DEBUG | header: Content-Type: application/json
MainThread:00:03:39.256 logger.py 88 DEBUG | header: Content-Length: 31
MainThread:00:03:39.256 connectionpool.py 544 DEBUG | http://10.5.5.9:8080 "GET /gopro/webcam/status HTTP/1.1" 200 31
MainThread:00:03:39.257 gopro_base.py 401 ERROR | Unexpected error: 1 validation error for WebcamResponse`

Screenshots
If applicable, add screenshots to help explain your problem.

Hardware

  • Camera: Hero13 Wide Lense
  • Desktop if applicable: Mac

Additional context
Add any other context about the problem here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriageNeeds to be reviewed and assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions