From 28ade3260b57002425bb0745d941448d16033788 Mon Sep 17 00:00:00 2001 From: Jatus Date: Tue, 30 Jan 2024 15:18:30 +0100 Subject: [PATCH] minor fixes --- matter-bridge/config.yml | 2 +- matter-bridge/docker-compose.yml | 11 ----------- matter-bridge/dockerfile.standalone | 12 ------------ .../src/home-assistant/HAmiddleware.ts | 18 +++++------------- .../devices/lights/DimmerableLightDevice.ts | 2 +- .../mapper/devices/lights/OnOffLightDevice.ts | 2 +- repository.yml | 2 ++ 7 files changed, 10 insertions(+), 39 deletions(-) delete mode 100644 matter-bridge/docker-compose.yml delete mode 100644 matter-bridge/dockerfile.standalone diff --git a/matter-bridge/config.yml b/matter-bridge/config.yml index acd229e..87de988 100644 --- a/matter-bridge/config.yml +++ b/matter-bridge/config.yml @@ -1,6 +1,6 @@ --- name: 'HA Matter Bridge' -version: '0.0.1-alpha' +version: '0.0.2-alpha' slug: ha-matter-bridge description: This project serves as a proof of concept to connect HomeAssistant devices to Voice Assistants through the Matter Protocol. init: false diff --git a/matter-bridge/docker-compose.yml b/matter-bridge/docker-compose.yml deleted file mode 100644 index fab69ae..0000000 --- a/matter-bridge/docker-compose.yml +++ /dev/null @@ -1,11 +0,0 @@ -version: '3' -services: - ha-bridge: - build: . - environment: - - HA_HOST=${HA_HOST} - - HA_PORT=${HA_PORT} - - HA_ACCESS_TOKEN=${HA_ACCESS_TOKEN} - volumes: - - ./deviceData:/app/deviceData:rw - network_mode: host \ No newline at end of file diff --git a/matter-bridge/dockerfile.standalone b/matter-bridge/dockerfile.standalone deleted file mode 100644 index 86a6b18..0000000 --- a/matter-bridge/dockerfile.standalone +++ /dev/null @@ -1,12 +0,0 @@ -FROM node:18.19.0-alpine -WORKDIR /app -COPY ./package.json ./ -COPY ./package-lock.json ./ -COPY ./src ./src -COPY ./tsconfig.json ./ - - -RUN npm install -RUN npm install ts-node - -CMD [ "npm", "run", "start" ] \ No newline at end of file diff --git a/matter-bridge/src/home-assistant/HAmiddleware.ts b/matter-bridge/src/home-assistant/HAmiddleware.ts index d7f1d85..1272a42 100644 --- a/matter-bridge/src/home-assistant/HAmiddleware.ts +++ b/matter-bridge/src/home-assistant/HAmiddleware.ts @@ -2,8 +2,6 @@ import { Logger } from '@project-chip/matter-node.js/log'; import { HassEntity, StateChangedEvent } from './HAssTypes'; import hass, { HassApi, HassWsOptions } from 'homeassistant-ws'; -const sleep = (ms: number) => new Promise((r) => setTimeout(r, ms)); - export class HAMiddleware { private logger = new Logger('HAMiddleware'); private hassClient: HassApi; @@ -15,22 +13,13 @@ export class HAMiddleware { [k: string]: ((data: StateChangedEvent) => void) | undefined; } = {}; - async waitCompletition(): Promise { - let waited = 0; - const timeOut = 5000; - while (!this.requestFulfilled && waited < timeOut) { - await sleep(1000); - waited += 1000; - } - } - stop(): void { this.hassClient.rawClient.ws.close(); } async callAService(domain: string, service: string, extraArgs?: unknown) { this.requestFulfilled = false; - this.hassClient.callService(domain, service, extraArgs); + await this.hassClient.callService(domain, service, extraArgs); } subscribe() { @@ -43,7 +32,10 @@ export class HAMiddleware { }); } - subscrieToDevice(deviceId: string, fn: (event: StateChangedEvent) => void) { + subscribeToDevice( + deviceId: string, + fn: (event: StateChangedEvent) => void + ) { this.functionsToCallOnChange[deviceId] = fn; this.logger.debug(this.functionsToCallOnChange); } diff --git a/matter-bridge/src/mapper/devices/lights/DimmerableLightDevice.ts b/matter-bridge/src/mapper/devices/lights/DimmerableLightDevice.ts index 74da1b2..1c2269c 100644 --- a/matter-bridge/src/mapper/devices/lights/DimmerableLightDevice.ts +++ b/matter-bridge/src/mapper/devices/lights/DimmerableLightDevice.ts @@ -63,7 +63,7 @@ export const addDimmerableLightDevice: AddHaDeviceToBridge = ( ); }); - haMiddleware.subscrieToDevice( + haMiddleware.subscribeToDevice( haEntity.entity_id, (event: StateChangedEvent) => { LOGGER.debug(`Event for device ${haEntity.entity_id}`); diff --git a/matter-bridge/src/mapper/devices/lights/OnOffLightDevice.ts b/matter-bridge/src/mapper/devices/lights/OnOffLightDevice.ts index c31e05a..faa3941 100644 --- a/matter-bridge/src/mapper/devices/lights/OnOffLightDevice.ts +++ b/matter-bridge/src/mapper/devices/lights/OnOffLightDevice.ts @@ -42,7 +42,7 @@ export const addOnOffLightDevice: AddHaDeviceToBridge = ( `Identify called for OnOffDevice ${haEntity.attributes['friendly_name']} with id: ${serialFromId} and identifyTime: ${identifyTime}` ) ); - haMiddleware.subscrieToDevice( + haMiddleware.subscribeToDevice( haEntity.entity_id, (event: StateChangedEvent) => { LOGGER.debug(`Event for device ${haEntity.entity_id}`); diff --git a/repository.yml b/repository.yml index 7cf72e7..fc29bf1 100644 --- a/repository.yml +++ b/repository.yml @@ -1 +1,3 @@ name: ha-matter-bridge +maintainer: Jatus93 +url: https://github.com/Jatus93/ha-matter-bridge \ No newline at end of file