@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.0",
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.2.0",
79
+ "@antfu/eslint-config": "^9.3.0",
80
80
  "@vitest/coverage-v8": "^4.1.10",
81
81
  "vitest": "^4.1.10"
82
82
  },