Add notion table

This commit is contained in:
2024-07-23 15:33:23 +02:00
parent b90d519fcb
commit 4a8f656daf
3 changed files with 52 additions and 0 deletions

33
recorder/notion_handle.py Normal file
View File

@@ -0,0 +1,33 @@
import os
from datetime import datetime
from dotenv import load_dotenv
from notion_client import AsyncClient as Client
class NotionClient:
def __init__(self) -> None:
load_dotenv()
self._notion = Client(auth=os.environ["NOTION_TOKEN"])
self._page_id = "3cf594afd0754497ba0a93b94912b897"
self._table_id = "9828b56c53de46c794673fe1d01ad522"
async def note(self, now: datetime, status: str) -> None:
formatted_date = now.strftime("%Y-%m-%d")
formatted_time = now.strftime("%H:%M")
await self._notion.blocks.children.append(
block_id=self._table_id,
children=[
{
"object": "block",
"type": "table_row",
"table_row": {
"cells": [
[{"type": "text", "text": {"content": formatted_date}}],
[{"type": "text", "text": {"content": formatted_time}}],
[{"type": "text", "text": {"content": status}}],
],
},
},
],
)

View File

@@ -2,9 +2,12 @@ from datetime import datetime
from fastapi_mqtt import FastMQTT, MQTTConfig
from recorder.notion_handle import NotionClient
class PooRecorder:
mqtt_config = MQTTConfig(username="mqtt", password="mqtt", reconnect_retries=-1) # noqa: S106
notion = NotionClient()
mqtt = FastMQTT(config=mqtt_config, client_id="poo_recorder")
CONFIG_TOPIC = "homeassistant/text/poo_recorder/config"
AVAILABILITY_TOPIC = "studiotj/poo_recorder/status"
@@ -29,6 +32,7 @@ class PooRecorder:
PooRecorder.publish_text(status)
now = datetime.now(tz=datetime.now().astimezone().tzinfo)
PooRecorder.publish_time(now)
await PooRecorder.notion.note(now, status)
@staticmethod
@mqtt.on_connect()