37 lines
1.3 KiB
TypeScript
37 lines
1.3 KiB
TypeScript
export * from './core/index.js';
|
|
export * from './protocols/index.js';
|
|
export * from './integrations/index.js';
|
|
|
|
import { HueIntegration } from './integrations/hue/index.js';
|
|
import { CastIntegration } from './integrations/cast/index.js';
|
|
import { MqttIntegration } from './integrations/mqtt/index.js';
|
|
import { RokuIntegration } from './integrations/roku/index.js';
|
|
import { ShellyIntegration } from './integrations/shelly/index.js';
|
|
import { SonosIntegration } from './integrations/sonos/index.js';
|
|
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 CastIntegration(),
|
|
new HueIntegration(),
|
|
new MqttIntegration(),
|
|
new RokuIntegration(),
|
|
new ShellyIntegration(),
|
|
new SonosIntegration(),
|
|
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;
|
|
};
|