AlexxIT/go2rtc · error
wyse: wrong result:
Error message
wyse: wrong result:
What it means
In the Wyze camera KVS handshake, the JSON response's `Result` field must be "ok"; otherwise wyzeClient aborts with this error (note the intentional vendor misspelling "wyse"). The message includes the actual Result value returned by Wyze's API.
Solutions
- Log in to Wyze again to refresh the access token
- Check the Result value after the "wyse: wrong result: " prefix for the vendor's specific reason
- Verify the camera is online and reachable in the Wyze app
- Reduce request frequency if the Wyze API is rate-limiting
Defensive patterns
Strategy: try-catch
Try / catch
prod, err := wyzeClient(...)
if err != nil && strings.HasPrefix(err.Error(), "wyse: wrong result: ") {
result := strings.TrimPrefix(err.Error(), "wyse: wrong result: ")
if strings.Contains(strings.ToLower(result), "token") {
// trigger Wyze re-auth flow
}
} Prevention
- Refresh Wyze tokens on schedule before expiry
- Check camera online status in the Wyze app before streaming
- Respect Wyze API rate limits to avoid throttled results
When it happens
Trigger: The Wyze API returned a non-ok result during the KVS session setup — e.g. expired/invalid Wyze access token, camera offline, or API rate limiting, and kvs.Result was an error string instead of "ok".
Common situations: Wyze credentials/refresh tokens expired; camera asleep or offline; Wyze API throttling; wrong API key region.
Related errors
AI-assisted analysis of AlexxIT/go2rtc@c245815e75 (2026-09-07).
Data as JSON: /api/errors/65fb069b992d93e9.
Report an issue: GitHub.
Appendix: source
Thrown at internal/webrtc/kinesis.go:226
func wyzeClient(rawURL string) (core.Producer, error) {
client := http.Client{Timeout: 5 * time.Second}
res, err := client.Get(rawURL)
if err != nil {
return nil, err
}
b, err := io.ReadAll(res.Body)
if err != nil {
return nil, err
}
var kvs wyzeKVS
if err = json.Unmarshal(b, &kvs); err != nil {
return nil, err
}
if kvs.Result != "ok" {
return nil, errors.New("wyse: wrong result: " + kvs.Result)
}
query := url.Values{
"client_id": []string{kvs.ClientId},
"ice_servers": []string{string(kvs.Servers)},
}
return kinesisClient(kvs.URL, query, "webrtc/wyze", nil)
}
View on GitHub (pinned to c245815e75)