Files
integrations/ts/index.ts
T

33 lines
1.1 KiB
TypeScript
Raw Normal View History

2026-05-05 12:01:30 +00:00
export * from './core/index.js';
export * from './protocols/index.js';
export * from './integrations/index.js';
import { HueIntegration } from './integrations/hue/index.js';
2026-05-05 12:32:02 +00:00
import { RokuIntegration } from './integrations/roku/index.js';
2026-05-05 12:01:30 +00:00
import { ShellyIntegration } from './integrations/shelly/index.js';
2026-05-05 12:23:14 +00:00
import { SonosIntegration } from './integrations/sonos/index.js';
2026-05-05 12:01:30 +00:00
import { WolfSmartsetIntegration } from './integrations/wolf_smartset/index.js';
import { generatedHomeAssistantPortIntegrations } from './integrations/generated/index.js';
import { IntegrationRegistry } from './core/index.js';
export const integrations = [
new HueIntegration(),
2026-05-05 12:32:02 +00:00
new RokuIntegration(),
2026-05-05 12:01:30 +00:00
new ShellyIntegration(),
2026-05-05 12:23:14 +00:00
new SonosIntegration(),
2026-05-05 12:01:30 +00:00
new WolfSmartsetIntegration(),
];
export const createDefaultIntegrationRegistry = (): IntegrationRegistry => {
const registry = new IntegrationRegistry();
for (const integration of integrations) {
registry.register(integration);
}
for (const integration of generatedHomeAssistantPortIntegrations) {
if (!registry.get(integration.domain)) {
registry.register(integration);
}
}
return registry;
};