@homebridge-plugins/homebridge-govee 11.37.1 → 11.38.0-beta.0

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,12 @@
2
2
 
3
3
  All notable changes to `@homebridge-plugins/homebridge-govee` will be documented in this file.
4
4
 
5
+ ## v11.38.0 (Pending Release)
6
+
7
+ ### Changed
8
+
9
+ - feat: show which slot the kettle target temperature comes from, settled by two owner runs
10
+
5
11
  ## v11.37.1 (2026-08-21)
6
12
 
7
13
  ### Changed
@@ -503,14 +503,53 @@ export default class extends GoveeDevice {
503
503
  }
504
504
 
505
505
  switch (deviceFunction) {
506
- case '0500': { // current mode
506
+ case '0500': { // which slot the target temperature comes from
507
+ // Settled by two owner runs in #1337, both with the kettle at 212°F
508
+ // so that only the control used differed:
509
+ //
510
+ // aa 05 00 02 after tapping the first memory preset in the app
511
+ // aa 05 00 01 after setting 212°F by hand with the slider
512
+ //
513
+ // So the byte points at the temperature slot the target comes from:
514
+ // 01 is the custom target slot, 02-05 are the memory presets - the
515
+ // same numbering as the aa 05 <slot> frames above. And it tracks
516
+ // which CONTROL was used, not the number: 212°F set by slider still
517
+ // reads slot 1, even though the first preset holds exactly 212°F.
518
+ //
519
+ // Two honest gaps. Slots 03-05 are inferred from the pattern - only
520
+ // 01 and 02 have been seen. And the switch-command examples below,
521
+ // which predate those runs, number the drink modes differently
522
+ // (green tea 02, oolong 03...); both cannot be right for this
523
+ // kettle, so they are kept only until a mode-switch run settles it:
524
+ //
507
525
  // switch to green tea_: aa050002000000000000000000000000000000ad
508
526
  // switch to oolong tea: aa050003000000000000000000000000000000ac
509
527
  // switch to coffee____: aa050004000000000000000000000000000000ab
510
528
  // switch to black tea_: aa050005000000000000000000000000000000aa
511
529
  // switch to preset1___: aa050001010000000000000000000000000000af
512
530
  // switch to preset2___: aa050001020000000000000000000000000000ac
513
- // No point in changing any switches for the sake of three seconds, no action taken here
531
+ const slot = Number.parseInt(getTwoItemPosition(hexParts, 4), 16)
532
+ if (slot < 1 || slot > 5) {
533
+ logUnknownData(this.accessory, {
534
+ kind: 'status',
535
+ source: 'AWS',
536
+ raw: hexString,
537
+ hex: hexParts.join(''),
538
+ extra: { note: 'aa 05 00 frame pointing at a slot the kettle does not have' },
539
+ })
540
+ break
541
+ }
542
+ const line = slot === 1
543
+ ? 'target temperature set from [custom temperature]'
544
+ : `target temperature set from [memory preset ${slot - 1}]`
545
+ // The kettle repeats this in every startup burst - a change is worth
546
+ // a normal log line, a repeat is not
547
+ if (this.cacheTargetSlot === slot) {
548
+ this.accessory.logDebug(line)
549
+ } else {
550
+ this.cacheTargetSlot = slot
551
+ this.accessory.log(line)
552
+ }
514
553
  break
515
554
  }
516
555
  case '1001': { // current temperature of the water
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.37.1",
5
+ "version": "11.38.0-beta.0",
6
6
  "description": "Homebridge plugin to integrate Govee devices into HomeKit.",
7
7
  "author": {
8
8
  "name": "bwp91",