@homebridge-plugins/homebridge-govee 11.36.1-beta.13 → 11.36.1-beta.14

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
@@ -22,6 +22,7 @@ All notable changes to `@homebridge-plugins/homebridge-govee` will be documented
22
22
  - fix: stop calling a ceiling fan's speed report unrecognised while the fan is off (#1352)
23
23
  - fix: read a ceiling fan's airflow direction from what the fan reports, so the tile follows the govee app (#1352)
24
24
  - fix: show each of a ceiling fan's two lights as on or off from what the fan reports (#1352)
25
+ - fix: lead a ceiling fan's tile with the fan rather than one of its lights (#1352)
25
26
 
26
27
  ## v11.36.0 (2026-08-11)
27
28
 
@@ -17,7 +17,7 @@ import GoveeDevice from './base.js'
17
17
  /*
18
18
  Codes below were decoded from a real device's AWS status reports in
19
19
  https://github.com/homebridge-plugins/homebridge-govee/issues/1307
20
- Status aa 31 [running] [speed] = fan speed (1 to the model's step count)
20
+ Status aa 31 [?] [speed] [direction] = fan speed and airflow direction
21
21
  Status aa 36 01 01 / aa 36 00 00 = fan power on/off
22
22
  The light reports through the standard state/brightness/kelvin fields
23
23
  (colour temperature only, 2700-6500K)
@@ -45,6 +45,12 @@ export default class GoveeFanH1370 extends GoveeDevice {
45
45
  // Add the fan service if it doesn't already exist
46
46
  this.service = this.accessory.getService(this.hapServ.Fanv2) || this.accessory.addService(this.hapServ.Fanv2)
47
47
 
48
+ // This accessory is a fan that happens to have lights on it, so the fan is
49
+ // what its tile should lead with. Without saying so the Home app picks for
50
+ // itself and lands on a light, leaving an owner tapping through to reach
51
+ // the fan they came for (#1352)
52
+ this.service.setPrimaryService(true)
53
+
48
54
  // Add the set handler to the fan on/off characteristic
49
55
  this.service
50
56
  .getCharacteristic(this.hapChar.Active)
@@ -319,11 +325,12 @@ export default class GoveeFanH1370 extends GoveeDevice {
319
325
  const deviceFunction = `${getTwoItemPosition(hexParts, 2)}${getTwoItemPosition(hexParts, 3)}`
320
326
 
321
327
  switch (deviceFunction) {
322
- // aa 31 <running> <speed>. The third byte is the fan's running flag,
323
- // not part of the code - a stopped fan reports 3100 and still names the
324
- // speed it will return to. Reading only 3101 meant that every status
325
- // sent while the fan was off was announced as unrecognised, which is
326
- // the noise that sent this model's owner to the issue tracker (#1352)
328
+ // aa 31 <?> <speed> <direction>. The third byte is not part of the
329
+ // code: an H1310 has been seen reporting both 00 and 01 for it with the
330
+ // fan running either way, so what it means is still unknown - but
331
+ // matching only 3101 announced every other status as unrecognised,
332
+ // which is the noise that sent this model's owner here (#1352).
333
+ // `aa 36` is the reliable word on whether the fan is running.
327
334
  case '3100':
328
335
  case '3101': {
329
336
  // Fan speed
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.36.1-beta.13",
5
+ "version": "11.36.1-beta.14",
6
6
  "description": "Homebridge plugin to integrate Govee devices into HomeKit.",
7
7
  "author": {
8
8
  "name": "bwp91",