Files
labFusion/services/service-adapters/README.md

56 lines
1.7 KiB
Markdown

# Service Adapters
Python FastAPI service for integrating with external homelab services.
## Purpose
- Integrate with Home Assistant, Frigate, Immich, n8n
- Transform external service data into standardized format
- Publish events to the message bus
- Provide unified API for service data
## Technology Stack
- **Language**: Python 3.11
- **Framework**: FastAPI
- **Port**: 8000
- **Message Bus**: Redis
- **Documentation**: OpenAPI/Swagger
## Features
- Home Assistant entity integration
- Frigate event processing
- Immich asset management
- n8n workflow triggers
- Event publishing to Redis
- Comprehensive OpenAPI documentation
- Modular architecture for maintainability
## Project Structure
```
service-adapters/
├── main.py # FastAPI application (40 lines)
├── models/
│ ├── schemas.py # Pydantic models
├── routes/
│ ├── general.py # Root, health, services
│ ├── home_assistant.py # HA integration
│ ├── frigate.py # Frigate integration
│ ├── immich.py # Immich integration
│ └── events.py # Event management
└── services/
├── config.py # Service configurations
└── redis_client.py # Redis connection
```
## API Endpoints
- `GET /` - API information
- `GET /health` - Health check
- `GET /services` - Service status
- `GET /home-assistant/entities` - HA entities
- `GET /frigate/events` - Frigate events
- `GET /immich/assets` - Immich assets
- `POST /publish-event` - Publish events
- `GET /events` - Retrieve events
## Development Status
**Complete** - Core functionality implemented with modular architecture