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 16:20:10 +00:00
|
|
|
import { AndroidtvIntegration } from './integrations/androidtv/index.js';
|
2026-05-05 17:13:54 +00:00
|
|
|
import { AxisIntegration } from './integrations/axis/index.js';
|
|
|
|
|
import { BraviatvIntegration } from './integrations/braviatv/index.js';
|
2026-05-05 12:41:31 +00:00
|
|
|
import { CastIntegration } from './integrations/cast/index.js';
|
2026-05-05 14:57:06 +00:00
|
|
|
import { DeconzIntegration } from './integrations/deconz/index.js';
|
2026-05-05 16:20:10 +00:00
|
|
|
import { DenonavrIntegration } from './integrations/denonavr/index.js';
|
2026-05-05 17:13:54 +00:00
|
|
|
import { DlnaDmrIntegration } from './integrations/dlna_dmr/index.js';
|
2026-05-05 14:57:06 +00:00
|
|
|
import { EsphomeIntegration } from './integrations/esphome/index.js';
|
|
|
|
|
import { HomekitControllerIntegration } from './integrations/homekit_controller/index.js';
|
2026-05-05 17:13:54 +00:00
|
|
|
import { JellyfinIntegration } from './integrations/jellyfin/index.js';
|
2026-05-05 16:20:10 +00:00
|
|
|
import { KodiIntegration } from './integrations/kodi/index.js';
|
2026-05-05 14:57:06 +00:00
|
|
|
import { MatterIntegration } from './integrations/matter/index.js';
|
2026-05-05 12:56:38 +00:00
|
|
|
import { MqttIntegration } from './integrations/mqtt/index.js';
|
2026-05-05 17:13:54 +00:00
|
|
|
import { MpdIntegration } from './integrations/mpd/index.js';
|
2026-05-05 14:57:06 +00:00
|
|
|
import { NanoleafIntegration } from './integrations/nanoleaf/index.js';
|
2026-05-05 17:13:54 +00:00
|
|
|
import { OnvifIntegration } from './integrations/onvif/index.js';
|
|
|
|
|
import { PlexIntegration } from './integrations/plex/index.js';
|
|
|
|
|
import { RainbirdIntegration } from './integrations/rainbird/index.js';
|
2026-05-05 12:32:02 +00:00
|
|
|
import { RokuIntegration } from './integrations/roku/index.js';
|
2026-05-05 16:20:10 +00:00
|
|
|
import { SamsungtvIntegration } from './integrations/samsungtv/index.js';
|
2026-05-05 12:01:30 +00:00
|
|
|
import { ShellyIntegration } from './integrations/shelly/index.js';
|
2026-05-05 17:13:54 +00:00
|
|
|
import { SnapcastIntegration } from './integrations/snapcast/index.js';
|
2026-05-05 12:23:14 +00:00
|
|
|
import { SonosIntegration } from './integrations/sonos/index.js';
|
2026-05-05 16:20:10 +00:00
|
|
|
import { TplinkIntegration } from './integrations/tplink/index.js';
|
2026-05-05 14:57:06 +00:00
|
|
|
import { TradfriIntegration } from './integrations/tradfri/index.js';
|
2026-05-05 16:20:10 +00:00
|
|
|
import { UnifiIntegration } from './integrations/unifi/index.js';
|
2026-05-05 17:13:54 +00:00
|
|
|
import { VolumioIntegration } from './integrations/volumio/index.js';
|
2026-05-05 12:01:30 +00:00
|
|
|
import { WolfSmartsetIntegration } from './integrations/wolf_smartset/index.js';
|
2026-05-05 14:57:06 +00:00
|
|
|
import { WizIntegration } from './integrations/wiz/index.js';
|
|
|
|
|
import { XiaomiMiioIntegration } from './integrations/xiaomi_miio/index.js';
|
|
|
|
|
import { YeelightIntegration } from './integrations/yeelight/index.js';
|
2026-05-05 17:13:54 +00:00
|
|
|
import { YamahaMusiccastIntegration } from './integrations/yamaha_musiccast/index.js';
|
2026-05-05 14:57:06 +00:00
|
|
|
import { ZhaIntegration } from './integrations/zha/index.js';
|
2026-05-05 13:09:56 +00:00
|
|
|
import { ZwaveJsIntegration } from './integrations/zwave_js/index.js';
|
2026-05-05 12:01:30 +00:00
|
|
|
import { generatedHomeAssistantPortIntegrations } from './integrations/generated/index.js';
|
|
|
|
|
import { IntegrationRegistry } from './core/index.js';
|
|
|
|
|
|
|
|
|
|
export const integrations = [
|
2026-05-05 16:20:10 +00:00
|
|
|
new AndroidtvIntegration(),
|
2026-05-05 17:13:54 +00:00
|
|
|
new AxisIntegration(),
|
|
|
|
|
new BraviatvIntegration(),
|
2026-05-05 12:41:31 +00:00
|
|
|
new CastIntegration(),
|
2026-05-05 14:57:06 +00:00
|
|
|
new DeconzIntegration(),
|
2026-05-05 16:20:10 +00:00
|
|
|
new DenonavrIntegration(),
|
2026-05-05 17:13:54 +00:00
|
|
|
new DlnaDmrIntegration(),
|
2026-05-05 14:57:06 +00:00
|
|
|
new EsphomeIntegration(),
|
|
|
|
|
new HomekitControllerIntegration(),
|
2026-05-05 12:01:30 +00:00
|
|
|
new HueIntegration(),
|
2026-05-05 17:13:54 +00:00
|
|
|
new JellyfinIntegration(),
|
2026-05-05 16:20:10 +00:00
|
|
|
new KodiIntegration(),
|
2026-05-05 14:57:06 +00:00
|
|
|
new MatterIntegration(),
|
2026-05-05 12:56:38 +00:00
|
|
|
new MqttIntegration(),
|
2026-05-05 17:13:54 +00:00
|
|
|
new MpdIntegration(),
|
2026-05-05 14:57:06 +00:00
|
|
|
new NanoleafIntegration(),
|
2026-05-05 17:13:54 +00:00
|
|
|
new OnvifIntegration(),
|
|
|
|
|
new PlexIntegration(),
|
|
|
|
|
new RainbirdIntegration(),
|
2026-05-05 12:32:02 +00:00
|
|
|
new RokuIntegration(),
|
2026-05-05 16:20:10 +00:00
|
|
|
new SamsungtvIntegration(),
|
2026-05-05 12:01:30 +00:00
|
|
|
new ShellyIntegration(),
|
2026-05-05 17:13:54 +00:00
|
|
|
new SnapcastIntegration(),
|
2026-05-05 12:23:14 +00:00
|
|
|
new SonosIntegration(),
|
2026-05-05 16:20:10 +00:00
|
|
|
new TplinkIntegration(),
|
2026-05-05 14:57:06 +00:00
|
|
|
new TradfriIntegration(),
|
2026-05-05 16:20:10 +00:00
|
|
|
new UnifiIntegration(),
|
2026-05-05 17:13:54 +00:00
|
|
|
new VolumioIntegration(),
|
2026-05-05 12:01:30 +00:00
|
|
|
new WolfSmartsetIntegration(),
|
2026-05-05 14:57:06 +00:00
|
|
|
new WizIntegration(),
|
|
|
|
|
new XiaomiMiioIntegration(),
|
|
|
|
|
new YeelightIntegration(),
|
2026-05-05 17:13:54 +00:00
|
|
|
new YamahaMusiccastIntegration(),
|
2026-05-05 14:57:06 +00:00
|
|
|
new ZhaIntegration(),
|
2026-05-05 13:09:56 +00:00
|
|
|
new ZwaveJsIntegration(),
|
2026-05-05 12:01:30 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
};
|