@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 +6 -0
- package/lib/device/kettle.js +41 -2
- package/package.json +1 -1
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
|
package/lib/device/kettle.js
CHANGED
|
@@ -503,14 +503,53 @@ export default class extends GoveeDevice {
|
|
|
503
503
|
}
|
|
504
504
|
|
|
505
505
|
switch (deviceFunction) {
|
|
506
|
-
case '0500': { //
|
|
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
|
-
|
|
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