homebridge-rivian 1.3.0 → 1.3.2

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
@@ -3,6 +3,18 @@
3
3
  All notable changes to this project are documented here. This project adheres
4
4
  to [Semantic Versioning](https://semver.org/).
5
5
 
6
+ ## 1.3.2
7
+
8
+ - Rename the windows control to "Vent Windows" to better reflect what it does
9
+ (vent/open all windows or close all).
10
+
11
+ ## 1.3.1
12
+
13
+ - Fix the cabin climate (Thermostat) flipping back on a few seconds after you
14
+ turn it Off. The vehicle's preconditioning status lags a command, and the
15
+ state poll was reflecting the stale value. Recent user actions are now honored
16
+ for a short grace period, and Off is reflected immediately.
17
+
6
18
  ## 1.3.0
7
19
 
8
20
  - Front seats are now **Heater/Cooler tiles** (Driver + Passenger) that switch
@@ -91,7 +103,7 @@ to [Semantic Versioning](https://semver.org/).
91
103
 
92
104
  Initial release.
93
105
 
94
- - Dynamic platform plugin for Rivian vehicles (R1T / R1S / R2).
106
+ - Dynamic platform plugin for Rivian vehicles (R1T / R1S).
95
107
  - In-browser setup wizard (no command line): sign in, MFA, vehicle selection,
96
108
  and phone-key enrollment from the plugin's settings page.
97
109
  - `rivian-homebridge-auth` CLI as a headless alternative (enroll / status /
package/README.md CHANGED
@@ -6,9 +6,13 @@
6
6
 
7
7
  [![npm](https://img.shields.io/npm/v/homebridge-rivian.svg)](https://www.npmjs.com/package/homebridge-rivian)
8
8
  [![npm downloads](https://img.shields.io/npm/dt/homebridge-rivian.svg)](https://www.npmjs.com/package/homebridge-rivian)
9
- [![license](https://img.shields.io/npm/l/homebridge-rivian.svg)](LICENSE)
9
+ [![Homebridge](https://img.shields.io/badge/Homebridge-491F59?logo=homebridge&logoColor=white)](https://homebridge.io)
10
+ [![homebridge/homebridge](https://img.shields.io/badge/homebridge%2Fhomebridge-181717?logo=github&logoColor=white)](https://github.com/homebridge/homebridge)
11
+ [![license](https://img.shields.io/github/license/tvearl/homebridge-rivian)](LICENSE)
12
+ [![Sponsor](https://img.shields.io/badge/Sponsor-tvearl-EA4AAA?logo=githubsponsors&logoColor=white)](https://github.com/sponsors/tvearl)
13
+ [![Donate](https://img.shields.io/badge/donate-Venmo-008CFF?logo=venmo&logoColor=white)](https://venmo.com/u/thomas-whippld)
10
14
 
11
- Control your **Rivian** (R1T, R1S, R2) from the Apple **Home** app and Siri, through [Homebridge](https://homebridge.io).
15
+ Control your **Rivian** (R1T, R1S) from the Apple **Home** app and Siri, through [Homebridge](https://homebridge.io).
12
16
 
13
17
  - Lock / unlock
14
18
  - Battery % and charging status
@@ -139,7 +143,7 @@ The plugin creates one accessory per vehicle, with these services (each can be t
139
143
  | Front seats | Heater/Cooler (Driver + Passenger) | One tile per seat: Off / Heat / Cool. Off by default. |
140
144
  | Second-row seat heat | Switch | Heats both second-row seats. Off by default. |
141
145
  | Steering wheel heat | Switch | Off by default. |
142
- | Windows | Switch | On = open/vent all windows, off = close all (no per-window or partial vent via Rivian's API). |
146
+ | Vent Windows | Switch | On = vent/open all windows, off = close all (no per-window or partial vent via Rivian's API). |
143
147
  | Frunk | Garage Door | Open / close with Open/Closed state (R1T and R1S). |
144
148
  | Rear trunk | Garage Door (R1S liftgate) or Switch (R1T tailgate) | Auto-selected by model. R1S powered liftgate opens AND closes with state; R1T tailgate opens/drops (the API can't close it or report its position). |
145
149
  | Tonneau | Garage Door | R1T with the powered tonneau only; automatically hidden on R1S. |
@@ -63,7 +63,7 @@
63
63
  "default": false
64
64
  },
65
65
  "enableWindows": {
66
- "title": "Open / close all windows",
66
+ "title": "Vent windows (open / close all)",
67
67
  "type": "boolean",
68
68
  "default": true
69
69
  },
@@ -17,6 +17,7 @@ export declare class ClimateAccessory implements RivianAccessory {
17
17
  private readonly vehicle;
18
18
  private readonly service;
19
19
  private targetTempC;
20
+ private lastCommandAt;
20
21
  constructor(platform: RivianHomebridgePlatform, accessory: PlatformAccessory, vehicle: StoredVehicle);
21
22
  private setMode;
22
23
  private setTargetTemp;
@@ -7,6 +7,10 @@ const state_1 = require("../state");
7
7
  const MIN_TEMP_C = 16;
8
8
  const MAX_TEMP_C = 29;
9
9
  const DEFAULT_TEMP_C = 21;
10
+ // After a user changes the thermostat, ignore polled state for this long. The
11
+ // vehicle's reported preconditioning status lags a command by several seconds,
12
+ // and reflecting that stale value would flip the tile back to its old state.
13
+ const COMMAND_GRACE_MS = 90_000;
10
14
  /**
11
15
  * Cabin preconditioning as a Thermostat tile.
12
16
  *
@@ -22,6 +26,7 @@ class ClimateAccessory {
22
26
  vehicle;
23
27
  service;
24
28
  targetTempC = DEFAULT_TEMP_C;
29
+ lastCommandAt = 0;
25
30
  constructor(platform, accessory, vehicle) {
26
31
  this.platform = platform;
27
32
  this.vehicle = vehicle;
@@ -52,7 +57,10 @@ class ClimateAccessory {
52
57
  }
53
58
  async setMode(value) {
54
59
  const { Characteristic } = this.platform;
60
+ this.lastCommandAt = Date.now();
55
61
  if (value === Characteristic.TargetHeatingCoolingState.OFF) {
62
+ // Reflect Off immediately so a lagging state poll can't snap it back on.
63
+ this.service.updateCharacteristic(Characteristic.CurrentHeatingCoolingState, Characteristic.CurrentHeatingCoolingState.OFF);
56
64
  await this.platform.sendCommand(this.vehicle, commands_1.Command.PRECONDITION_DISABLE);
57
65
  return;
58
66
  }
@@ -64,6 +72,7 @@ class ClimateAccessory {
64
72
  async setTargetTemp(value) {
65
73
  const temp = Math.min(MAX_TEMP_C, Math.max(MIN_TEMP_C, Number(value)));
66
74
  this.targetTempC = temp;
75
+ this.lastCommandAt = Date.now();
67
76
  await this.platform.sendCommand(this.vehicle, commands_1.Command.SET_CABIN_TEMP, {
68
77
  HVAC_set_temp: String(temp),
69
78
  });
@@ -74,6 +83,10 @@ class ClimateAccessory {
74
83
  if (interior !== undefined) {
75
84
  this.service.updateCharacteristic(Characteristic.CurrentTemperature, interior);
76
85
  }
86
+ // Don't let a lagging state poll override a recent user action.
87
+ if (Date.now() - this.lastCommandAt < COMMAND_GRACE_MS) {
88
+ return;
89
+ }
77
90
  const driverSet = (0, state_1.toNumber)(values.cabinClimateDriverTemperature);
78
91
  if (driverSet !== undefined && driverSet >= MIN_TEMP_C && driverSet <= MAX_TEMP_C) {
79
92
  this.targetTempC = driverSet;
@@ -1 +1 @@
1
- {"version":3,"file":"climate.js","sourceRoot":"","sources":["../../src/accessories/climate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"climate.js","sourceRoot":"","sources":["../../src/accessories/climate.ts"],"names":[],"mappings":"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"}
@@ -30,8 +30,8 @@ class WindowsAccessory {
30
30
  }
31
31
  this.service =
32
32
  accessory.getServiceById(Service.Switch, 'rivian-windows') ||
33
- accessory.addService(Service.Switch, `${vehicle.name} Windows`, 'rivian-windows');
34
- (0, util_1.nameService)(this.platform, this.service, `${vehicle.name} Windows`);
33
+ accessory.addService(Service.Switch, `${vehicle.name} Vent Windows`, 'rivian-windows');
34
+ (0, util_1.nameService)(this.platform, this.service, `${vehicle.name} Vent Windows`);
35
35
  this.service.getCharacteristic(Characteristic.On).onSet(this.setOn.bind(this));
36
36
  }
37
37
  async setOn(value) {
@@ -1 +1 @@
1
- {"version":3,"file":"windows.js","sourceRoot":"","sources":["../../src/accessories/windows.ts"],"names":[],"mappings":";;;AAGA,0CAA0D;AAC1D,oCAAkC;AAClC,iCAAqC;AAErC,MAAM,YAAY,GAAG;IACnB,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,uBAAuB;CACxB,CAAC;AAEF;;;;GAIG;AACH,MAAa,gBAAgB;IAIR;IAEA;IALF,OAAO,CAAU;IAElC,YACmB,QAAkC,EACnD,SAA4B,EACX,OAAsB;QAFtB,aAAQ,GAAR,QAAQ,CAA0B;QAElC,YAAO,GAAP,OAAO,CAAe;QAEvC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAElD,2DAA2D;QAC3D,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC/E,IAAI,WAAW,EAAE,CAAC;YAChB,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,OAAO;YACV,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC;gBAC1D,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,UAAU,EAAE,gBAAgB,CAAC,CAAC;QACpF,IAAA,kBAAW,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,UAAU,CAAC,CAAC;QAEpE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,KAA0B;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAO,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAO,CAAC,aAAa,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,CAAC,MAA0B;QAC/B,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,cAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QACzF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;CACF;AArCD,4CAqCC"}
1
+ {"version":3,"file":"windows.js","sourceRoot":"","sources":["../../src/accessories/windows.ts"],"names":[],"mappings":";;;AAGA,0CAA0D;AAC1D,oCAAkC;AAClC,iCAAqC;AAErC,MAAM,YAAY,GAAG;IACnB,uBAAuB;IACvB,wBAAwB;IACxB,sBAAsB;IACtB,uBAAuB;CACxB,CAAC;AAEF;;;;GAIG;AACH,MAAa,gBAAgB;IAIR;IAEA;IALF,OAAO,CAAU;IAElC,YACmB,QAAkC,EACnD,SAA4B,EACX,OAAsB;QAFtB,aAAQ,GAAR,QAAQ,CAA0B;QAElC,YAAO,GAAP,OAAO,CAAe;QAEvC,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAElD,2DAA2D;QAC3D,MAAM,WAAW,GAAG,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAC/E,IAAI,WAAW,EAAE,CAAC;YAChB,SAAS,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC,OAAO;YACV,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,gBAAgB,CAAC;gBAC1D,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,eAAe,EAAE,gBAAgB,CAAC,CAAC;QACzF,IAAA,kBAAW,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,eAAe,CAAC,CAAC;QAEzE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,CAAC;IAEO,KAAK,CAAC,KAAK,CAAC,KAA0B;QAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,kBAAO,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAO,CAAC,aAAa,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,CAAC,MAA0B;QAC/B,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,cAAM,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QACzF,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;CACF;AArCD,4CAqCC"}
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "displayName": "Homebridge Rivian",
3
3
  "name": "homebridge-rivian",
4
- "version": "1.3.0",
5
- "description": "Control your Rivian (R1T / R1S / R2) from Apple Home via Homebridge: lock/unlock, cabin preconditioning, windows, frunk, tailgate, tonneau, and battery/charge status. Unofficial, not affiliated with Rivian.",
4
+ "version": "1.3.2",
5
+ "description": "Control your Rivian (R1T / R1S) from Apple Home via Homebridge: lock/unlock, cabin preconditioning, windows, frunk, tailgate/liftgate, tonneau, seats, and battery/charge status. Unofficial, not affiliated with Rivian.",
6
6
  "license": "MIT",
7
7
  "author": "homebridge-rivian contributors",
8
8
  "homepage": "https://github.com/tvearl/homebridge-rivian#readme",
@@ -44,7 +44,6 @@
44
44
  "rivian",
45
45
  "r1t",
46
46
  "r1s",
47
- "r2",
48
47
  "ev",
49
48
  "electric-vehicle",
50
49
  "homekit",