@thecloudseeker/homebridge-skoda 0.1.1 → 0.1.3
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 +9 -0
- package/README.md +11 -3
- package/dist/platform.js +17 -8
- package/dist/platform.js.map +1 -1
- package/package.json +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.3
|
|
4
|
+
|
|
5
|
+
- The author link on npm points to [eikedreier.com](https://eikedreier.com/).
|
|
6
|
+
|
|
7
|
+
## 0.1.2
|
|
8
|
+
|
|
9
|
+
- **Fixed:** while pairing, the Home app could replace the sensor names with generic ones ("Contact Sensor 2"). A new vehicle was published to HomeKit before its sensors existed, so they were added during pairing. Now a new vehicle is published once the first update has created all its sensors. If your sensors already have generic names, remove the bridge from the Home app and pair it again.
|
|
10
|
+
- The README shows the install command for the Homebridge terminal: `hb-service add @thecloudseeker/homebridge-skoda`.
|
|
11
|
+
|
|
3
12
|
## 0.1.1
|
|
4
13
|
|
|
5
14
|
- **Fixed:** the Homebridge UI stored the sections of the vehicle form (commands, home location, polling, features) as separate vehicle entries without VIN and key. All fields of a vehicle now stay in one entry. If you saved the config with 0.1.0, remove the extra entries or add the vehicle again.
|
package/README.md
CHANGED
|
@@ -66,13 +66,21 @@ and flashing, waking the vehicle up, cabin temperature, and push updates.
|
|
|
66
66
|
|
|
67
67
|
## Installation
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
in the Homebridge
|
|
69
|
+
In the Homebridge UI, open **Plugins**, search for `@thecloudseeker/homebridge-skoda` and click
|
|
70
|
+
**Install**. Or run this in the Homebridge terminal:
|
|
71
71
|
|
|
72
72
|
```sh
|
|
73
|
-
|
|
73
|
+
hb-service add @thecloudseeker/homebridge-skoda
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
+
Running the plugin as a child bridge is recommended, so problems with the Škoda API never hold up
|
|
77
|
+
your other accessories.
|
|
78
|
+
|
|
79
|
+
A newly configured vehicle appears in HomeKit after the first successful update from the API,
|
|
80
|
+
usually a few seconds after Homebridge has started. That way it shows up complete, and the Home app
|
|
81
|
+
keeps the names of its sensors. If it does not appear, check the log for an error about the API
|
|
82
|
+
key or the VIN.
|
|
83
|
+
|
|
76
84
|
## Creating an API key
|
|
77
85
|
|
|
78
86
|
1. Open the **MyŠkoda app** and go to **Profile › Smart Home**. On your phone you can also open
|
package/dist/platform.js
CHANGED
|
@@ -71,14 +71,8 @@ export class SkodaPlatform {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
setUpVehicle(settings, uuid, log) {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
accessory = new this.api.platformAccessory(settings.name, uuid);
|
|
77
|
-
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [
|
|
78
|
-
accessory,
|
|
79
|
-
]);
|
|
80
|
-
log.info("Added vehicle");
|
|
81
|
-
}
|
|
74
|
+
const cached = this.cachedAccessories.get(uuid);
|
|
75
|
+
const accessory = cached ?? new this.api.platformAccessory(settings.name, uuid);
|
|
82
76
|
// The rate limit applies per VIN, so both keys of a vehicle share one budget.
|
|
83
77
|
const budget = new RateBudget();
|
|
84
78
|
const userAgent = `homebridge-skoda/${PLUGIN_VERSION}`;
|
|
@@ -116,6 +110,21 @@ export class SkodaPlatform {
|
|
|
116
110
|
settings,
|
|
117
111
|
log,
|
|
118
112
|
});
|
|
113
|
+
if (!cached) {
|
|
114
|
+
// A new vehicle is published once the first poll has created its services. Services added
|
|
115
|
+
// after publishing change the accessory while the Home app may be pairing it, and the Home
|
|
116
|
+
// app then replaces the service names with generic ones ("Contact Sensor 2").
|
|
117
|
+
const unsubscribe = controller.onUpdate((snapshot) => {
|
|
118
|
+
if (!snapshot) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
unsubscribe();
|
|
122
|
+
this.api.registerPlatformAccessories(PLUGIN_NAME, PLATFORM_NAME, [
|
|
123
|
+
accessory,
|
|
124
|
+
]);
|
|
125
|
+
log.info("Added vehicle");
|
|
126
|
+
});
|
|
127
|
+
}
|
|
119
128
|
log.info(`Polling every ${settings.pollingIntervalMinutes} min${settings.commandToken ? ", separate command key" : ""}`);
|
|
120
129
|
controller.start();
|
|
121
130
|
}
|
package/dist/platform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@thecloudseeker/homebridge-skoda",
|
|
3
3
|
"displayName": "Homebridge Škoda",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.3",
|
|
5
5
|
"description": "Homebridge plugin for Škoda vehicles using the official MyŠkoda Public API.",
|
|
6
|
-
"author":
|
|
6
|
+
"author": {
|
|
7
|
+
"name": "thecloudseeker",
|
|
8
|
+
"url": "https://eikedreier.com/"
|
|
9
|
+
},
|
|
7
10
|
"license": "BSD-3-Clause",
|
|
8
11
|
"homepage": "https://github.com/thecloudseeker/homebridge-skoda#readme",
|
|
9
12
|
"repository": {
|