Add support for pushing things to OpenHAB

This commit is contained in:
2024-11-15 20:19:25 +01:00
parent c2e401eb95
commit d5031b9c1a
2 changed files with 7 additions and 6 deletions

View File

@@ -21,10 +21,6 @@ export const importThings = async (config: Config, options: ImportOptions) => {
return new constructor(source, cfg).loadThings();
}))).flat();
if (options.force) {
await openhab.deleteThings(...things.map(t => t.UID));
}
const existingThings = await openhab.getThings();
const existingThingsUIDs = existingThings.map(t => t.UID);
@@ -36,6 +32,11 @@ export const importThings = async (config: Config, options: ImportOptions) => {
.filter(t => !existingThingsUIDs.includes(t.UID))
.filter(filter);
if (options.force) {
await openhab.deleteThings(...thingsToImport.map(t => t.UID));
}
await openhab.createThings(...thingsToImport);
return thingsToImport;
}

View File

@@ -28,8 +28,8 @@ export class OpenHAB {
}
async createThings(...things: Thing[]): Promise<Thing[]> {
const response = await this.#api.post<Thing[]>('/things');
return response.data;
const responses = await Promise.all(things.map(thing => this.#api.post<Thing>('/things', thing)));
return responses.map(r => r.data);
}
}