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

  1. Log in to Wyze again to refresh the access token
  2. Check the Result value after the "wyse: wrong result: " prefix for the vendor's specific reason
  3. Verify the camera is online and reachable in the Wyze app
  4. 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

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)