28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
|
|
# @smarthome.exchange/integrations
|
||
|
|
|
||
|
|
TypeScript-native device integrations for smarthome.exchange.
|
||
|
|
|
||
|
|
This package owns discovery, configuration flows, vendor clients, mappers, events, and normalized service calls for device ecosystems such as Hue and Wolf Smartset.
|
||
|
|
|
||
|
|
The package also includes generated native TypeScript port skeletons for every upstream Home Assistant component domain under `ts/integrations/<domain>`. These are not Python wrappers and not a compatibility namespace. They are TypeScript classes that start as `descriptor-only` integrations and are replaced by handwritten clients/mappers/runtime code as each port matures.
|
||
|
|
|
||
|
|
It does not own the canonical device registry, approvals, audit receipts, automations, or persistent home state. Those stay in `@smarthome.exchange/hub`.
|
||
|
|
|
||
|
|
Publishing is restricted to `https://packages.foss.global/` through `publishConfig`.
|
||
|
|
|
||
|
|
## CLI
|
||
|
|
|
||
|
|
```bash
|
||
|
|
pnpm cli list
|
||
|
|
pnpm cli inspect hue
|
||
|
|
pnpm cli discover
|
||
|
|
```
|
||
|
|
|
||
|
|
## Regenerating Home Assistant Port Skeletons
|
||
|
|
|
||
|
|
```bash
|
||
|
|
pnpm generate:ha
|
||
|
|
```
|
||
|
|
|
||
|
|
The generator reads `HA_CORE_COMPONENTS_DIR` or `/tmp/opencode/homeassistant-core/homeassistant/components`, preserves handwritten integration folders, and regenerates only folders with the `.generated-by-smarthome-exchange` marker.
|