iotas-ts 0.2.0 → 1.0.0
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
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.0.0](https://github.com/mezaugusto/iotas-ts/compare/v0.2.0...v1.0.0) (2026-04-12)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### ⚠ BREAKING CHANGES
|
|
7
|
+
|
|
8
|
+
* :sparkles: Use fire-and-forget for feature update ([#8](https://github.com/mezaugusto/iotas-ts/issues/8))
|
|
9
|
+
|
|
10
|
+
### Features
|
|
11
|
+
|
|
12
|
+
* :sparkles: Use fire-and-forget for feature update ([#8](https://github.com/mezaugusto/iotas-ts/issues/8)) ([b144cc7](https://github.com/mezaugusto/iotas-ts/commit/b144cc7f5a277df1a945b7a36cae07beddec70ff))
|
|
13
|
+
|
|
3
14
|
## [0.2.0](https://github.com/mezaugusto/iotas-ts/compare/v0.1.1...v0.2.0) (2026-04-12)
|
|
4
15
|
|
|
5
16
|
|
|
@@ -15,6 +15,7 @@ export declare class IotasClient {
|
|
|
15
15
|
private readonly delay;
|
|
16
16
|
private unitRequest;
|
|
17
17
|
private featureIndex;
|
|
18
|
+
private deviceIndex;
|
|
18
19
|
private unit;
|
|
19
20
|
constructor(options: IotasClientOptions);
|
|
20
21
|
static withCredentials(log: IotasLogger, email: string, password: string, unitName?: string, options?: Pick<IotasClientOptions, 'fetch' | 'delay'>): IotasClient;
|
|
@@ -22,6 +23,6 @@ export declare class IotasClient {
|
|
|
22
23
|
getRooms(): Promise<Rooms>;
|
|
23
24
|
getFeature(featureId: string): Promise<Feature | null>;
|
|
24
25
|
private buildFeatureIndex;
|
|
25
|
-
updateFeature(featureId: string, value: number):
|
|
26
|
-
updateFeatureReliable
|
|
26
|
+
updateFeature(featureId: string, value: number): void;
|
|
27
|
+
private updateFeatureReliable;
|
|
27
28
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { needsReliableUpdate } from '../quirks.js';
|
|
1
2
|
import { IotasSession } from './session.js';
|
|
2
3
|
import { IotasTransport } from './transport.js';
|
|
3
4
|
const DEFAULT_RELIABLE_UPDATE_ATTEMPTS = 3;
|
|
@@ -18,6 +19,7 @@ export class IotasClient {
|
|
|
18
19
|
delay;
|
|
19
20
|
unitRequest = null;
|
|
20
21
|
featureIndex = null;
|
|
22
|
+
deviceIndex = null;
|
|
21
23
|
unit = 0;
|
|
22
24
|
constructor(options) {
|
|
23
25
|
this.log = options.log;
|
|
@@ -97,27 +99,53 @@ export class IotasClient {
|
|
|
97
99
|
}
|
|
98
100
|
buildFeatureIndex(rooms) {
|
|
99
101
|
this.featureIndex = new Map();
|
|
102
|
+
this.deviceIndex = new Map();
|
|
100
103
|
for (const room of rooms) {
|
|
101
104
|
for (const device of room.devices) {
|
|
102
105
|
for (const feature of device.features) {
|
|
103
106
|
this.featureIndex.set(feature.id.toString(), feature);
|
|
107
|
+
this.deviceIndex.set(feature.id.toString(), device);
|
|
104
108
|
}
|
|
105
109
|
}
|
|
106
110
|
}
|
|
107
111
|
}
|
|
108
|
-
|
|
109
|
-
|
|
112
|
+
updateFeature(featureId, value) {
|
|
113
|
+
if (!this.deviceIndex) {
|
|
114
|
+
this.log.error('Device index not built. Call getRooms() first.');
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const device = this.deviceIndex.get(featureId);
|
|
118
|
+
if (device && needsReliableUpdate(device)) {
|
|
119
|
+
this.updateFeatureReliable(featureId, value);
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
this.transport
|
|
123
|
+
.request(`/feature/${encodeURIComponent(featureId)}/value`, {
|
|
110
124
|
method: 'PUT',
|
|
111
125
|
body: JSON.stringify({ value }),
|
|
126
|
+
})
|
|
127
|
+
.catch((err) => {
|
|
128
|
+
this.log.warn(`Failed to update feature ${featureId}:`, err instanceof Error ? err.message : String(err));
|
|
112
129
|
});
|
|
113
130
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
131
|
+
updateFeatureReliable(featureId, value) {
|
|
132
|
+
const sendUpdates = async () => {
|
|
133
|
+
for (let attempt = 0; attempt < this.reliableUpdateAttempts; attempt++) {
|
|
134
|
+
try {
|
|
135
|
+
await this.transport.request(`/feature/${encodeURIComponent(featureId)}/value`, {
|
|
136
|
+
method: 'PUT',
|
|
137
|
+
body: JSON.stringify({ value }),
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
catch (err) {
|
|
141
|
+
this.log.warn(`Failed to update feature ${featureId} (attempt ${attempt + 1}):`, err instanceof Error ? err.message : String(err));
|
|
142
|
+
}
|
|
143
|
+
if (attempt < this.reliableUpdateAttempts - 1) {
|
|
144
|
+
await this.delay(this.reliableUpdateDelayMs);
|
|
145
|
+
}
|
|
119
146
|
}
|
|
120
|
-
}
|
|
147
|
+
};
|
|
148
|
+
sendUpdates();
|
|
121
149
|
}
|
|
122
150
|
}
|
|
123
151
|
//# sourceMappingURL=iotasClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iotasClient.js","sourceRoot":"","sources":["../../../src/api/iotasClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"iotasClient.js","sourceRoot":"","sources":["../../../src/api/iotasClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const ZWAVE_MANUFACTURERS = {
|
|
2
|
+
JASCO: '0x0063',
|
|
3
|
+
};
|
|
4
|
+
const DEVICE_CATEGORIES = {
|
|
5
|
+
DIMMER: 'dimmer',
|
|
6
|
+
};
|
|
7
|
+
export function needsReliableUpdate(device) {
|
|
8
|
+
return (device.category === DEVICE_CATEGORIES.DIMMER &&
|
|
9
|
+
device.physicalDeviceDescription?.manufacturer === ZWAVE_MANUFACTURERS.JASCO);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=quirks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quirks.js","sourceRoot":"","sources":["../../src/quirks.ts"],"names":[],"mappings":"AAEA,MAAM,mBAAmB,GAAG;IAC1B,KAAK,EAAE,QAAQ;CACP,CAAC;AAEX,MAAM,iBAAiB,GAAG;IACxB,MAAM,EAAE,QAAQ;CACR,CAAC;AAEX,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO,CACL,MAAM,CAAC,QAAQ,KAAK,iBAAiB,CAAC,MAAM;QAC5C,MAAM,CAAC,yBAAyB,EAAE,YAAY,KAAK,mBAAmB,CAAC,KAAK,CAC7E,CAAC;AACJ,CAAC"}
|