Add homeassistant
This commit is contained in:
12
src/main.py
12
src/main.py
@@ -3,6 +3,7 @@ from contextlib import asynccontextmanager
|
||||
from fastapi import FastAPI
|
||||
from pydantic import BaseModel
|
||||
|
||||
from src.cloud_util.homeassistant import HomeAssistant
|
||||
from src.cloud_util.mqtt import MQTT
|
||||
from src.cloud_util.notion import NotionAsync
|
||||
from src.cloud_util.ticktick import TickTick
|
||||
@@ -15,6 +16,7 @@ ticktick = TickTick()
|
||||
notion = NotionAsync(token=Config.get_env(key="NOTION_TOKEN"))
|
||||
mqtt = MQTT()
|
||||
poo_recorder = PooRecorder(mqtt=mqtt, notion=notion)
|
||||
homeassistant = HomeAssistant(ticktick=ticktick)
|
||||
|
||||
|
||||
@asynccontextmanager
|
||||
@@ -31,6 +33,16 @@ class PooRecordField(BaseModel):
|
||||
app = FastAPI(lifespan=_lifespan)
|
||||
|
||||
|
||||
@app.get("/homeassistant/status")
|
||||
async def get_status() -> dict:
|
||||
return {"Status": "Ok"}
|
||||
|
||||
|
||||
@app.post("/homeassistant/publish")
|
||||
async def homeassistant_publish(payload: HomeAssistant.PublishMessage) -> dict:
|
||||
return homeassistant.process_publish_message(message=payload)
|
||||
|
||||
|
||||
# Poo recorder
|
||||
@app.post("/poo/record")
|
||||
async def record(record_detail: PooRecordField) -> PooRecordField:
|
||||
|
||||
Reference in New Issue
Block a user