@mxpicture/tesla-superchargers-mate 0.1.7 → 0.1.8
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.
|
@@ -34,6 +34,12 @@ export declare class ChargingProcessesStore extends IMateStore<ChargingProcesses
|
|
|
34
34
|
* Best-effort match of a CSV row to a TeslaMate charging_processes.id by
|
|
35
35
|
* VIN + start time (Supercharger session start vs. logged start can differ
|
|
36
36
|
* by a couple of minutes). Adjust the tolerance to taste.
|
|
37
|
+
*
|
|
38
|
+
* `start_date` is a naive `timestamp` holding UTC wall time (TeslaMate's
|
|
39
|
+
* convention), so the invoice instant is converted to naive UTC before
|
|
40
|
+
* comparing — a bare `timestamp`-vs-`timestamptz` comparison would shift
|
|
41
|
+
* `start_date` by the session timezone and miss the window on any server
|
|
42
|
+
* not running UTC.
|
|
37
43
|
*/
|
|
38
44
|
lookupChargingProcessId(vin: string, chargeStart: Date, tx?: SqlTx): Promise<number | null>;
|
|
39
45
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChargingProcessesStore.d.ts","sourceRoot":"","sources":["../../src/store/ChargingProcessesStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAChC,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAO,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAS3C;;;;;;;;GAQG;AACH,qBAAa,sBAAuB,SAAQ,UAAU,CACpD,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,wBAAwB,CACzB;IACC,SAAgB,WAAW,EAAE,MAAM,CAAiC;IACpE,SAAgB,kBAAkB,EAAE,MAAM,CAAgC;;IAU7D,kBAAkB,CAC7B,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAuBxB,WAAW,CACtB,SAAS,EAAE,mBAAmB,EAC9B,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,iBAAiB,CAAC;IAQhB,QAAQ,CACnB,SAAS,EAAE,mBAAmB,EAC9B,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAO9B,UAAU,CACrB,SAAS,EAAE,mBAAmB,EAC9B,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;OAIG;IACU,eAAe,CAC1B,SAAS,EAAE,MAAM,EACjB,cAAc,UAAQ,EACtB,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAWxC,iFAAiF;IACpE,kBAAkB,CAC7B,QAAQ,EAAE,0BAA0B,EAAE,EACtC,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,IAAI,CAAC;IAMhB,kGAAkG;IACrF,cAAc,CAAC,EAAE,GAAE,KAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAKlD,oBAAoB,CAC/B,SAAS,EAAE,mBAAmB,EAC9B,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,MAAM,CAAC;IAYlB
|
|
1
|
+
{"version":3,"file":"ChargingProcessesStore.d.ts","sourceRoot":"","sources":["../../src/store/ChargingProcessesStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,KAAK,wBAAwB,EAC7B,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAChC,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAO,KAAK,KAAK,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EACV,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,mCAAmC,CAAC;AAS3C;;;;;;;;GAQG;AACH,qBAAa,sBAAuB,SAAQ,UAAU,CACpD,mBAAmB,EACnB,iBAAiB,EACjB,4BAA4B,EAC5B,wBAAwB,CACzB;IACC,SAAgB,WAAW,EAAE,MAAM,CAAiC;IACpE,SAAgB,kBAAkB,EAAE,MAAM,CAAgC;;IAU7D,kBAAkB,CAC7B,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,uBAAuB,EAAE,CAAC;IAuBxB,WAAW,CACtB,SAAS,EAAE,mBAAmB,EAC9B,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,iBAAiB,CAAC;IAQhB,QAAQ,CACnB,SAAS,EAAE,mBAAmB,EAC9B,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAO9B,UAAU,CACrB,SAAS,EAAE,mBAAmB,EAC9B,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,IAAI,CAAC;IAIhB;;;;OAIG;IACU,eAAe,CAC1B,SAAS,EAAE,MAAM,EACjB,cAAc,UAAQ,EACtB,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,0BAA0B,EAAE,CAAC;IAWxC,iFAAiF;IACpE,kBAAkB,CAC7B,QAAQ,EAAE,0BAA0B,EAAE,EACtC,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,IAAI,CAAC;IAMhB,kGAAkG;IACrF,cAAc,CAAC,EAAE,GAAE,KAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IAKlD,oBAAoB,CAC/B,SAAS,EAAE,mBAAmB,EAC9B,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,MAAM,CAAC;IAYlB;;;;;;;;;;OAUG;IACU,uBAAuB,CAClC,GAAG,EAAE,MAAM,EACX,WAAW,EAAE,IAAI,EACjB,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAazB;;;;;;OAMG;IACU,0BAA0B,CACrC,cAAc,UAAQ,EACtB,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAoCpC,gGAAgG;IACnF,4BAA4B,CACvC,UAAU,EAAE,mBAAmB,EAAE,EACjC,EAAE,GAAE,KAAa,GAChB,OAAO,CAAC,IAAI,CAAC;CASjB;AAGD,eAAO,MAAM,sBAAsB,8BACQ,CAAC"}
|
|
@@ -91,6 +91,12 @@ export class ChargingProcessesStore extends IMateStore {
|
|
|
91
91
|
* Best-effort match of a CSV row to a TeslaMate charging_processes.id by
|
|
92
92
|
* VIN + start time (Supercharger session start vs. logged start can differ
|
|
93
93
|
* by a couple of minutes). Adjust the tolerance to taste.
|
|
94
|
+
*
|
|
95
|
+
* `start_date` is a naive `timestamp` holding UTC wall time (TeslaMate's
|
|
96
|
+
* convention), so the invoice instant is converted to naive UTC before
|
|
97
|
+
* comparing — a bare `timestamp`-vs-`timestamptz` comparison would shift
|
|
98
|
+
* `start_date` by the session timezone and miss the window on any server
|
|
99
|
+
* not running UTC.
|
|
94
100
|
*/
|
|
95
101
|
async lookupChargingProcessId(vin, chargeStart, tx = sql()) {
|
|
96
102
|
const rows = await tx `
|
|
@@ -98,9 +104,9 @@ export class ChargingProcessesStore extends IMateStore {
|
|
|
98
104
|
FROM charging_processes cp
|
|
99
105
|
INNER JOIN cars c ON c.id = cp.car_id
|
|
100
106
|
WHERE c.vin = ${vin}
|
|
101
|
-
AND cp.start_date BETWEEN ${chargeStart}::timestamptz - interval '15 minutes'
|
|
102
|
-
AND ${chargeStart}::timestamptz + interval '15 minutes'
|
|
103
|
-
ORDER BY abs(extract(epoch FROM cp.start_date - ${chargeStart}::timestamptz))
|
|
107
|
+
AND cp.start_date BETWEEN (${chargeStart}::timestamptz AT TIME ZONE 'UTC') - interval '15 minutes'
|
|
108
|
+
AND (${chargeStart}::timestamptz AT TIME ZONE 'UTC') + interval '15 minutes'
|
|
109
|
+
ORDER BY abs(extract(epoch FROM cp.start_date - (${chargeStart}::timestamptz AT TIME ZONE 'UTC')))
|
|
104
110
|
LIMIT 1`;
|
|
105
111
|
return rows[0]?.id ?? null;
|
|
106
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChargingProcessesStore.js","sourceRoot":"","sources":["../../src/store/ChargingProcessesStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,wBAAwB,GAOzB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,GAAG,EAAc,MAAM,SAAS,CAAC;AAO1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;GAQG;AACH,MAAM,OAAO,sBAAuB,SAAQ,UAK3C;IACiB,WAAW,GAAW,6BAA6B,CAAC;IACpD,kBAAkB,GAAW,4BAA4B,CAAC;IAE1E;QACE,KAAK,CACH,oBAAoB,EACpB,4BAA4B,EAC5B,wBAAwB,CACzB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC7B,KAAY,GAAG,EAAE;QAEjB,OAAO,MAAM,EAAE,CAA2B;;;;;;;;;;;;;;;;;;;uCAmBP,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,WAAW,CACtB,SAA8B,EAC9B,IAAmB,EACnB,KAAY,GAAG,EAAE;QAEjB,OAAO,MAAM,IAAI,CAAC,MAAM,CACtB,SAAS,EACT,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,EACpD,EAAE,CACH,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,QAAQ,CACnB,SAA8B,EAC9B,KAAY,GAAG,EAAE;QAEjB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAErB,iBAAiB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,kCAAkC,SAAS,EAAE,CAAC;QACpF,OAAO,GAAG,IAAI,IAAI,CAAC;IACrB,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,SAA8B,EAC9B,KAAY,GAAG,EAAE;QAEjB,MAAM,EAAE,CAAA,eAAe,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,kCAAkC,SAAS,EAAE,CAAC;IAC3F,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAC1B,SAAiB,EACjB,cAAc,GAAG,KAAK,EACtB,KAAY,GAAG,EAAE;QAEjB,OAAO,MAAM,EAAE,CAA8B;;eAElC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;;mCAEA,SAAS;UAClC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAA,mCAAmC,CAAC,CAAC,CAAC,EAAE,CAAA,EAAE;;KAElE,CAAC;IACJ,CAAC;IAED,iFAAiF;IAC1E,KAAK,CAAC,kBAAkB,CAC7B,QAAsC,EACtC,KAAY,GAAG,EAAE;QAEjB,MAAM,EAAE,CAAA,UAAU,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;;uBAEnB,QAA+B,aAAa,CAAC;IAClE,CAAC;IAED,kGAAkG;IAC3F,KAAK,CAAC,cAAc,CAAC,KAAY,GAAG,EAAE;QAC3C,MAAM,MAAM,GAAG,MAAM,EAAE,CAAA,eAAe,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QAC7D,OAAO,MAAM,CAAC,KAAK,CAAC;IACtB,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAC/B,SAA8B,EAC9B,KAAY,GAAG,EAAE;QAEjB,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,EAAE,CAAuB;oBAC7B,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;wDACgB,SAAS;;wCAEzB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC;;;OAGrD,CAAC;QACJ,OAAO,GAAG,CAAC,aAAa,CAAC;IAC3B,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"ChargingProcessesStore.js","sourceRoot":"","sources":["../../src/store/ChargingProcessesStore.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mxpicture/tesla-superchargers-mate",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "TeslaMate integration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"author": "MXPicture",
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"access": "public"
|
|
49
49
|
},
|
|
50
50
|
"dependencies": {
|
|
51
|
-
"@mxpicture/tesla-superchargers-generated": "^0.1.
|
|
51
|
+
"@mxpicture/tesla-superchargers-generated": "^0.1.8",
|
|
52
52
|
"postgres": "^3.4.9",
|
|
53
53
|
"short-uuid": "^6.0.3",
|
|
54
54
|
"zod": "^4.3.6"
|