ipmi-fan-control/server.log

469 lines
41 KiB
Plaintext

INFO: Started server process [86031]
INFO: Waiting for application startup.
INFO: Application startup complete.
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
INFO: 127.0.0.1:52194 - "GET / HTTP/1.1" 200 OK
INFO: 127.0.0.1:52206 - "GET / HTTP/1.1" 200 OK
INFO: 192.168.5.30:65213 - "GET / HTTP/1.1" 200 OK
INFO: 192.168.5.30:65213 - "GET /icons/favicon.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:65213 - "GET /favicon.ico HTTP/1.1" 200 OK
INFO: 192.168.5.30:49755 - "GET /favicon.ico HTTP/1.1" 200 OK
INFO: 192.168.5.30:60215 - "POST /api/setup/test-ipmi HTTP/1.1" 200 OK
INFO: 192.168.5.30:60215 - "GET /favicon.ico HTTP/1.1" 200 OK
INFO: 192.168.5.30:60215 - "POST /api/setup/test-http HTTP/1.1" 200 OK
2026-02-20 21:14:12,721 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
2026-02-20 21:14:12,969 - fan_controller - INFO - Connected to IPMI at 192.168.5.191
2026-02-20 21:14:12,969 - fan_controller - INFO - HTTP sensor client initialized for http://192.168.5.200:8888
/home/devmatrix/projects/fan-controller-v2/web_server.py:154: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
self._sessions[token] = (username, datetime.utcnow() + timedelta(days=7))
INFO: 192.168.5.30:60215 - "POST /api/setup HTTP/1.1" 200 OK
INFO: 192.168.5.30:60215 - "GET / HTTP/1.1" 200 OK
INFO: 192.168.5.30:60215 - "GET /icons/sun.svg HTTP/1.1" 304 Not Modified
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60215 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:49551 - "GET /icons/lock-closed.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:57842 - "GET /icons/arrow-right-on-rectangle.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:60455 - "GET /icons/server-stack.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:49786 - "GET /icons/auto-mode.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:50500 - "GET /icons/thermometer.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:60215 - "GET /icons/list-bullet.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:49551 - "GET /icons/adjustments-horizontal.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:57842 - "GET /icons/chart-bar.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:60455 - "GET /icons/document-text.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "POST /api/test HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 21:21:00,661 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
2026-02-20 21:21:00,824 - fan_controller - INFO - Manual fan control enabled
2026-02-20 21:21:00,981 - fan_controller - INFO - Connected to IPMI at 192.168.5.191
2026-02-20 21:21:00,981 - fan_controller - INFO - HTTP sensor client initialized for http://192.168.5.200:8888
2026-02-20 21:21:00,983 - fan_controller - INFO - IPMI Controller service started
INFO: 192.168.5.30:60455 - "POST /api/control/auto HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 21:21:01,180 - fan_controller - INFO - Manual fan control enabled
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 21:21:07,293 - fan_controller - INFO - Fan 0xff speed set to 13%
2026-02-20 21:21:07,293 - fan_controller - INFO - All fans set to 13% (Temp 36.0°C)
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 21:21:37,253 - fan_controller - INFO - Fan 0xff speed set to 14%
2026-02-20 21:21:37,253 - fan_controller - INFO - All fans set to 14% (Temp 38.0°C)
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 21:21:53,341 - fan_controller - INFO - Fan 0xff speed set to 13%
2026-02-20 21:21:53,342 - fan_controller - INFO - All fans set to 13% (Temp 36.0°C)
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 21:24:12,026 - fan_controller - INFO - Fan 0xff speed set to 14%
2026-02-20 21:24:12,026 - fan_controller - INFO - All fans set to 14% (Temp 38.0°C)
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 21:24:57,318 - fan_controller - INFO - Fan 0xff speed set to 13%
2026-02-20 21:24:57,318 - fan_controller - INFO - All fans set to 13% (Temp 37.0°C)
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 21:25:13,055 - fan_controller - INFO - Fan 0xff speed set to 15%
2026-02-20 21:25:13,056 - fan_controller - INFO - All fans set to 15% (Temp 40.0°C)
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 21:25:28,522 - fan_controller - INFO - Fan 0xff speed set to 14%
2026-02-20 21:25:28,522 - fan_controller - INFO - All fans set to 14% (Temp 38.0°C)
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 21:25:43,706 - fan_controller - INFO - Fan 0xff speed set to 13%
2026-02-20 21:25:43,706 - fan_controller - INFO - All fans set to 13% (Temp 37.0°C)
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 21:25:58,865 - fan_controller - INFO - Fan 0xff speed set to 14%
2026-02-20 21:25:58,866 - fan_controller - INFO - All fans set to 14% (Temp 38.0°C)
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 21:26:45,316 - fan_controller - INFO - Fan 0xff speed set to 13%
2026-02-20 21:26:45,316 - fan_controller - INFO - All fans set to 13% (Temp 37.0°C)
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 21:27:00,582 - fan_controller - INFO - Fan 0xff speed set to 14%
2026-02-20 21:27:00,582 - fan_controller - INFO - All fans set to 14% (Temp 38.0°C)
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:161: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
if datetime.utcnow() > expiry:
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:60455 - "GET /api/status HTTP/1.1" 200 OK