import type { HomeAssistantEntity } from "@dpu/shared"; import { BaseClient } from "@dpu/shared/dist/fastify"; import { printNetworkError } from "@dpu/shared/dist/logger.js"; export class HomeAssistantClient extends BaseClient { async getEntityStates(entityIds: string[]): Promise { try { const promises = entityIds.map((id) => this.getEntityState(id)); return await Promise.all(promises); } catch (error) { printNetworkError(error); throw error; } } async getEntityState(entityId: string): Promise { try { const response = await this.getAxios().get( `states/${entityId}`, ); return response.data; } catch (error) { printNetworkError(error); throw error; } } async triggerWebhook(webhookId: string): Promise { try { const response = await this.getAxios().post( `webhook/${webhookId}`, ); return response.data; } catch (error) { printNetworkError(error); throw error; } } }