@homebridge-plugins/homebridge-govee 11.34.0 → 11.34.1
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
CHANGED
|
@@ -2,6 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@homebridge-plugins/homebridge-govee` will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## v11.34.1 (2026-08-06)
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
|
|
9
|
+
- fix: log unrecognised device status at debug, not as a warning per frame (#1341, #1342)
|
|
10
|
+
- chore(deps): dependency updates
|
|
11
|
+
|
|
5
12
|
## v11.34.0 (2026-08-05)
|
|
6
13
|
|
|
7
14
|
### Changed
|
|
@@ -466,15 +466,6 @@ export default class GoveePurifierH7123 extends GoveeDevice {
|
|
|
466
466
|
case '3316': { // display light
|
|
467
467
|
break
|
|
468
468
|
}
|
|
469
|
-
// Sent in a burst when the connection comes up. What each one carries
|
|
470
|
-
// has not been worked out, and nothing here needs them, so they are
|
|
471
|
-
// known-and-ignored rather than reported every time (#1340)
|
|
472
|
-
case 'aa12':
|
|
473
|
-
case 'aa17':
|
|
474
|
-
case 'aa1f': {
|
|
475
|
-
this.accessory.logDebug(`startup status [${deviceFunction}]: ${hexString}`)
|
|
476
|
-
break
|
|
477
|
-
}
|
|
478
469
|
default:
|
|
479
470
|
logUnknownData(this.accessory, {
|
|
480
471
|
kind: 'status',
|
|
@@ -325,22 +325,6 @@ export default class extends GoveeDevice {
|
|
|
325
325
|
}
|
|
326
326
|
break
|
|
327
327
|
}
|
|
328
|
-
// Sent in a burst when the connection comes up. What each one carries
|
|
329
|
-
// has not been worked out, and nothing here needs them, so they are
|
|
330
|
-
// known-and-ignored rather than reported every time (#1340)
|
|
331
|
-
case '0500':
|
|
332
|
-
case '0502':
|
|
333
|
-
case '0503':
|
|
334
|
-
case '0800':
|
|
335
|
-
case '1202':
|
|
336
|
-
case '1300':
|
|
337
|
-
case '1301':
|
|
338
|
-
case '1702':
|
|
339
|
-
case '1900':
|
|
340
|
-
case '2600': {
|
|
341
|
-
this.accessory.logDebug(`startup status [${deviceFunction}]: ${hexString}`)
|
|
342
|
-
break
|
|
343
|
-
}
|
|
344
328
|
default:
|
|
345
329
|
logUnknownData(this.accessory, {
|
|
346
330
|
kind: 'status',
|
|
@@ -41,6 +41,25 @@ function frameShape(hex) {
|
|
|
41
41
|
: undefined
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
/**
|
|
45
|
+
* Kinds of message that arrive without anyone asking for them.
|
|
46
|
+
*
|
|
47
|
+
* A device describes itself whenever it connects, and sends far more than the
|
|
48
|
+
* plugin needs - a purifier sends nine such frames, a presence sensor nine, an
|
|
49
|
+
* outlet seven, and every model and firmware sends a different set. None of it
|
|
50
|
+
* means anything is wrong, and there is nothing the owner can do about any of
|
|
51
|
+
* it, so warning about them puts a wall of red in the log of someone whose
|
|
52
|
+
* devices are working perfectly (#1340, #1341, #1342).
|
|
53
|
+
*
|
|
54
|
+
* They still matter for adding support later, so they are logged in full - just
|
|
55
|
+
* at debug level, where they can be fetched when someone actually wants them.
|
|
56
|
+
*
|
|
57
|
+
* Everything else stays loud, because everything else is either something the
|
|
58
|
+
* owner asked for that did not work, or a device whose whole message was
|
|
59
|
+
* unreadable - both of which are worth interrupting someone for.
|
|
60
|
+
*/
|
|
61
|
+
const unsolicitedKinds = new Set(['status'])
|
|
62
|
+
|
|
44
63
|
/**
|
|
45
64
|
* Reset the record of what has been reported. Only needed by tests, and when
|
|
46
65
|
* the platform restarts and wants a fresh session.
|
|
@@ -165,6 +184,13 @@ export function logUnknownData(accessory, {
|
|
|
165
184
|
})
|
|
166
185
|
|
|
167
186
|
const line = `unrecognised ${kind} - please include this line if you report it: ${JSON.stringify(report)}`
|
|
187
|
+
|
|
188
|
+
// Nobody asked for this one, so record it quietly - see unsolicitedKinds.
|
|
189
|
+
if (unsolicitedKinds.has(kind)) {
|
|
190
|
+
accessory.logDebug?.(line)
|
|
191
|
+
return
|
|
192
|
+
}
|
|
193
|
+
|
|
168
194
|
// Only the callers that pass `hex` are handing over a real device frame. The
|
|
169
195
|
// rest report things like a settings object, and base64ToHex will happily
|
|
170
196
|
// turn any string into hex that looks like one - two different messages can
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@homebridge-plugins/homebridge-govee",
|
|
3
3
|
"alias": "Govee",
|
|
4
4
|
"type": "module",
|
|
5
|
-
"version": "11.34.
|
|
5
|
+
"version": "11.34.1",
|
|
6
6
|
"description": "Homebridge plugin to integrate Govee devices into HomeKit.",
|
|
7
7
|
"author": {
|
|
8
8
|
"name": "bwp91",
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
"@stoprocent/noble": "^2.7.1"
|
|
77
77
|
},
|
|
78
78
|
"devDependencies": {
|
|
79
|
-
"@antfu/eslint-config": "^9.
|
|
79
|
+
"@antfu/eslint-config": "^9.3.0",
|
|
80
80
|
"@vitest/coverage-v8": "^4.1.10",
|
|
81
81
|
"vitest": "^4.1.10"
|
|
82
82
|
},
|