@homebridge-plugins/homebridge-govee 11.32.2-beta.18 → 11.32.2-beta.19
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/lib/connection/openapi.js +18 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -37,6 +37,8 @@ All notable changes to `@homebridge-plugins/homebridge-govee` will be documented
|
|
|
37
37
|
- refactor: move the settings parsing into its own file, away from the code that talks to devices
|
|
38
38
|
- refactor: move the work of describing a device to its handler into its own file
|
|
39
39
|
- refactor: move the rules for combining govee's device lists, and for letting go of a device that has gone, into their own file with tests
|
|
40
|
+
- test: check what the plugin sends over aws, the local network and the public api, none of which was covered before
|
|
41
|
+
- feat: say when govee has not listed a capability the plugin is about to use, since the request then succeeds and the device does nothing
|
|
40
42
|
|
|
41
43
|
## v11.32.1 (2026-08-02)
|
|
42
44
|
|
|
@@ -3,6 +3,7 @@ import mqtt from 'mqtt'
|
|
|
3
3
|
|
|
4
4
|
import { k2rgb } from '../utils/colour.js'
|
|
5
5
|
import { describeControlFailure, parseError } from '../utils/functions.js'
|
|
6
|
+
import { isFirstReport } from '../utils/report-unknown.js'
|
|
6
7
|
|
|
7
8
|
const BASE_URL = 'https://openapi.api.govee.com'
|
|
8
9
|
|
|
@@ -381,6 +382,23 @@ export default class {
|
|
|
381
382
|
if (capability?.type && capability?.instance) {
|
|
382
383
|
return capability
|
|
383
384
|
}
|
|
385
|
+
|
|
386
|
+
// The device never listed this one. Govee will still accept the request and
|
|
387
|
+
// answer as though it worked, then do nothing - so without saying something
|
|
388
|
+
// here the control simply appears broken with no clue why. Said once per
|
|
389
|
+
// device and capability, then dropped to debug
|
|
390
|
+
const fingerprint = `openapi-unlisted|${accessory.context.gvDeviceId}|${instance}`
|
|
391
|
+
const message = `govee did not list [${instance}] for this device, so that command may be ignored - please report this line if the control does not work: ${JSON.stringify({
|
|
392
|
+
model: accessory.context.gvModel,
|
|
393
|
+
instance,
|
|
394
|
+
listed: Object.keys(lookup),
|
|
395
|
+
})}`
|
|
396
|
+
if (isFirstReport(fingerprint)) {
|
|
397
|
+
accessory.logDebugWarn(message)
|
|
398
|
+
} else {
|
|
399
|
+
accessory.logDebug(message)
|
|
400
|
+
}
|
|
401
|
+
|
|
384
402
|
return {
|
|
385
403
|
type: fallbackType,
|
|
386
404
|
instance,
|
package/package.json
CHANGED