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 +13 -1
- package/README.md +7 -3
- package/config.schema.json +1 -1
- package/dist/accessories/climate.d.ts +1 -0
- package/dist/accessories/climate.js +13 -0
- package/dist/accessories/climate.js.map +1 -1
- package/dist/accessories/windows.js +2 -2
- package/dist/accessories/windows.js.map +1 -1
- package/package.json +2 -3
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
|
|
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
|
[](https://www.npmjs.com/package/homebridge-rivian)
|
|
8
8
|
[](https://www.npmjs.com/package/homebridge-rivian)
|
|
9
|
-
[](https://homebridge.io)
|
|
10
|
+
[](https://github.com/homebridge/homebridge)
|
|
11
|
+
[](LICENSE)
|
|
12
|
+
[](https://github.com/sponsors/tvearl)
|
|
13
|
+
[](https://venmo.com/u/thomas-whippld)
|
|
10
14
|
|
|
11
|
-
Control your **Rivian** (R1T, R1S
|
|
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
|
|
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. |
|
package/config.schema.json
CHANGED
|
@@ -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":";;;AAGA,0CAA0D;AAC1D,oCAAuD;AAEvD,2EAA2E;AAC3E,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,cAAc,GAAG,EAAE,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAa,gBAAgB;
|
|
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,
|
|
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.
|
|
5
|
-
"description": "Control your Rivian (R1T / R1S
|
|
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",
|