@homebridge-plugins/homebridge-govee 11.27.1-beta.1 → 11.27.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 +7 -3
- package/README.md +0 -2
- package/lib/device/light.js +1 -1
- package/lib/platform.js +21 -3
- package/lib/utils/lang-en.js +0 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,13 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to `@homebridge-plugins/homebridge-govee` will be documented in this file.
|
|
4
4
|
|
|
5
|
-
## v11.27.1 (
|
|
5
|
+
## v11.27.1 (2026-07-15)
|
|
6
6
|
|
|
7
|
-
###
|
|
7
|
+
### Changed
|
|
8
8
|
|
|
9
|
-
- fix:
|
|
9
|
+
- fix: do not treat lights controllable via the openapi as bluetooth only (#1263) (@methodicallychaotic)
|
|
10
|
+
- fix: do not initialise matter-ignored devices found on the lan (#1315)
|
|
11
|
+
- fix: never pass external accessories to the homebridge cache so saving no longer fails
|
|
12
|
+
- chore: remove the looking-for-maintainers message
|
|
10
13
|
- fix: restore the online status update helper for thermo and leak sensors (#1317)
|
|
11
14
|
- fix: skip app device groups found in the http device list (#1317)
|
|
15
|
+
- fix: only treat fresh real-time gateway records as leak events, not periodic sync records (#1314)
|
|
12
16
|
|
|
13
17
|
## v11.27.0 (2026-07-13)
|
|
14
18
|
|
package/README.md
CHANGED
|
@@ -24,8 +24,6 @@ Homebridge plugin to integrate Govee devices into HomeKit
|
|
|
24
24
|
- can control certain models locally via LAN control without any Govee credentials
|
|
25
25
|
- may use different connection methods depending on device model and account capabilities
|
|
26
26
|
|
|
27
|
-
> I'm looking for some lovely people to help maintain this plugin, please get in touch on GitHub or Discord if you'd like to help out 😄
|
|
28
|
-
|
|
29
27
|
### Prerequisites
|
|
30
28
|
|
|
31
29
|
- To use this plugin, you will need to already have:
|
package/lib/device/light.js
CHANGED
|
@@ -27,7 +27,7 @@ export default class {
|
|
|
27
27
|
this.colourSafeMode = platform.config.colourSafeMode
|
|
28
28
|
this.minKelvin = accessory.context?.supportedCmdsOpts?.colorTem?.range?.min || 2000
|
|
29
29
|
this.maxKelvin = accessory.context?.supportedCmdsOpts?.colorTem?.range?.max || 9000
|
|
30
|
-
this.isBLEOnly = !accessory.context.useAwsControl && !accessory.context.useLanControl
|
|
30
|
+
this.isBLEOnly = !accessory.context.useAwsControl && !accessory.context.useLanControl && !accessory.context.useOpenApiControl
|
|
31
31
|
|
|
32
32
|
// Set up custom variables for this device type
|
|
33
33
|
const deviceConf = platform.deviceConf[accessory.context.gvDeviceId] || {}
|
package/lib/platform.js
CHANGED
|
@@ -711,6 +711,14 @@ export default class {
|
|
|
711
711
|
return
|
|
712
712
|
}
|
|
713
713
|
|
|
714
|
+
// Check it's not a matter-ignored device, if the config has been set, since a
|
|
715
|
+
// device skipped by the http/openapi loops for this reason still has an
|
|
716
|
+
// unmatched lan record, which would otherwise be added here and then removed
|
|
717
|
+
// again by the cleanup below on every restart (#1315)
|
|
718
|
+
if (this.config.ignoreMatter && platformConsts.matterModels.includes(lanDevice.sku)) {
|
|
719
|
+
return
|
|
720
|
+
}
|
|
721
|
+
|
|
714
722
|
// Initialise the device into Homebridge
|
|
715
723
|
// Since LAN does not provide a name, we will use the configured label or device id
|
|
716
724
|
this.initialiseDevice({
|
|
@@ -880,7 +888,7 @@ export default class {
|
|
|
880
888
|
this.logConnectionSummary()
|
|
881
889
|
|
|
882
890
|
// Setup successful
|
|
883
|
-
this.log('%s.
|
|
891
|
+
this.log('%s.', platformLang.complete)
|
|
884
892
|
} catch (err) {
|
|
885
893
|
// Catch any errors during setup
|
|
886
894
|
this.log.warn('***** %s [v%s]. *****', platformLang.disabling, plugin.version)
|
|
@@ -1421,7 +1429,9 @@ export default class {
|
|
|
1421
1429
|
)
|
|
1422
1430
|
|
|
1423
1431
|
// Update any changes to the accessory to the platform
|
|
1424
|
-
|
|
1432
|
+
if (!accessory.context.isExternal) {
|
|
1433
|
+
this.api.updatePlatformAccessories([accessory])
|
|
1434
|
+
}
|
|
1425
1435
|
devicesInHB.set(accessory.UUID, accessory)
|
|
1426
1436
|
} catch (err) {
|
|
1427
1437
|
// Catch any errors during device initialisation
|
|
@@ -1656,6 +1666,12 @@ export default class {
|
|
|
1656
1666
|
.setCharacteristic(this.api.hap.Characteristic.Model, device.model)
|
|
1657
1667
|
.setCharacteristic(this.api.hap.Characteristic.Identify, true)
|
|
1658
1668
|
|
|
1669
|
+
// Mark the accessory as external so it is never passed to
|
|
1670
|
+
// updatePlatformAccessories, since Homebridge 2 adds any accessory passed
|
|
1671
|
+
// there to its cached list, and an external accessory has no associated
|
|
1672
|
+
// platform so every cache save then fails to serialize it
|
|
1673
|
+
accessory.context.isExternal = true
|
|
1674
|
+
|
|
1659
1675
|
// Register the accessory
|
|
1660
1676
|
this.api.publishExternalAccessories(plugin.name, [accessory])
|
|
1661
1677
|
this.log('[%s] %s.', device.name, platformLang.devAdd)
|
|
@@ -1817,7 +1833,9 @@ export default class {
|
|
|
1817
1833
|
}
|
|
1818
1834
|
|
|
1819
1835
|
if (update) {
|
|
1820
|
-
|
|
1836
|
+
if (!accessory.context.isExternal) {
|
|
1837
|
+
this.api.updatePlatformAccessories([accessory])
|
|
1838
|
+
}
|
|
1821
1839
|
devicesInHB.set(accessory.UUID, accessory)
|
|
1822
1840
|
}
|
|
1823
1841
|
|
package/lib/utils/lang-en.js
CHANGED
|
@@ -131,6 +131,5 @@ export default {
|
|
|
131
131
|
storageWriteErr: 'could not save accessory to file as',
|
|
132
132
|
syncFail: 'sync failed as',
|
|
133
133
|
viaAL: 'via adaptive lighting',
|
|
134
|
-
welcome: 'I\'m looking for some lovely people to help maintain this plugin, please get in touch on GitHub or Discord if you\'d like to help out 😄',
|
|
135
134
|
unknownCommand: 'unknown command in payload received',
|
|
136
135
|
}
|
package/package.json
CHANGED