diff --git a/main.py b/main.py index dc2bd43..03dd06d 100644 --- a/main.py +++ b/main.py @@ -7,10 +7,9 @@ Extracts sensor data from Gadgetbridge SQLite database and publishes to Home Ass import os import sqlite3 import json -import time import logging from datetime import datetime, timedelta -from typing import Dict, List, Optional, Any +from typing import Dict, Any import asyncio import aiomqtt import re @@ -292,10 +291,16 @@ class GadgetbridgeMQTTPublisher: row = cursor.fetchone() if row and row[0]: ts = row[0] - # If timestamp is in milliseconds, convert to seconds - if ts > 1e12: - ts = ts // 1000 - return datetime.fromtimestamp(ts).isoformat() + try: + # Convert to int if needed + ts = int(float(ts)) + # If timestamp is in milliseconds, convert to seconds + if ts > 1e12: + ts = ts // 1000 + return datetime.fromtimestamp(ts).isoformat() + except Exception as e: + self.logger.error(f"Invalid WAKEUP_TIME timestamp: {ts} ({e})") + return None return None def query_is_awake(self, cursor) -> Any: