SurfSense/surfsense_backend/app/routes/__init__.py
Claude 4f279b06c3
Add Home Assistant connector for smart home data indexing
## New Files
- connectors/home_assistant_connector.py: API client for Home Assistant REST API
- tasks/connector_indexers/home_assistant_indexer.py: Data indexer for HA items
- routes/home_assistant_add_connector_route.py: Authentication route for token setup

## Modified Files
- db.py: Add HOME_ASSISTANT_CONNECTOR to DocumentType and SearchSourceConnectorType enums
- connector_service.py: Add search_home_assistant() method
- nodes.py: Add HOME_ASSISTANT_CONNECTOR to search_single_connector
- utils.py: Add connector metadata (emoji, result name, friendly name)
- routes/__init__.py: Register Home Assistant route
- search_source_connectors_routes.py: Add indexing endpoint and run function
- celery_tasks/connector_tasks.py: Add Celery task for background indexing
- connector_indexers/__init__.py: Export index_home_assistant_data

## Features
- Index automations, scripts, scenes, and logbook events
- Long-Lived Access Token authentication (simple setup)
- Markdown formatting for indexed content
- Incremental indexing based on last_indexed_at
- Full integration with existing search infrastructure
2025-11-18 23:58:57 +00:00

41 lines
1.7 KiB
Python

from fastapi import APIRouter
from .airtable_add_connector_route import (
router as airtable_add_connector_router,
)
from .chats_routes import router as chats_router
from .documents_routes import router as documents_router
from .google_calendar_add_connector_route import (
router as google_calendar_add_connector_router,
)
from .google_gmail_add_connector_route import (
router as google_gmail_add_connector_router,
)
from .home_assistant_add_connector_route import (
router as home_assistant_add_connector_router,
)
from .llm_config_routes import router as llm_config_router
from .logs_routes import router as logs_router
from .luma_add_connector_route import router as luma_add_connector_router
from .podcasts_routes import router as podcasts_router
from .search_source_connectors_routes import router as search_source_connectors_router
from .search_spaces_routes import router as search_spaces_router
from .site_configuration_routes import router as site_configuration_router
from .social_media_links_routes import router as social_media_links_router
router = APIRouter()
router.include_router(search_spaces_router)
router.include_router(documents_router)
router.include_router(podcasts_router)
router.include_router(chats_router)
router.include_router(search_source_connectors_router)
router.include_router(google_calendar_add_connector_router)
router.include_router(google_gmail_add_connector_router)
router.include_router(airtable_add_connector_router)
router.include_router(luma_add_connector_router)
router.include_router(home_assistant_add_connector_router)
router.include_router(llm_config_router)
router.include_router(logs_router)
router.include_router(site_configuration_router)
router.include_router(social_media_links_router)