Version 1.0.0 - sticky footer with visible links
This commit is contained in:
parent
bbdc02786b
commit
96abc9bff9
329
server.log
329
server.log
|
|
@ -1,307 +1,84 @@
|
||||||
INFO: Started server process [101298]
|
INFO: Started server process [102941]
|
||||||
INFO: Waiting for application startup.
|
INFO: Waiting for application startup.
|
||||||
|
2026-02-20 22:26:01,858 - fan_controller - INFO - Loaded config from /home/devmatrix/projects/fan-controller-v2/data/config.json
|
||||||
|
2026-02-20 22:26:01,859 - __main__ - INFO - Auto-starting fan control (enabled in config)
|
||||||
|
2026-02-20 22:26:02,047 - fan_controller - INFO - Connected to IPMI at 192.168.5.191
|
||||||
|
2026-02-20 22:26:02,048 - fan_controller - INFO - HTTP sensor client initialized for http://192.168.5.200:8888
|
||||||
|
2026-02-20 22:26:02,049 - fan_controller - INFO - IPMI Controller service started
|
||||||
INFO: Application startup complete.
|
INFO: Application startup complete.
|
||||||
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
|
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
|
||||||
INFO: 127.0.0.1:54560 - "GET / HTTP/1.1" 200 OK
|
2026-02-20 22:26:02,254 - fan_controller - INFO - Manual fan control enabled
|
||||||
INFO: 192.168.5.30:64163 - "GET / HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:57456 - "GET /api/status HTTP/1.1" 401 Unauthorized
|
||||||
INFO: 192.168.5.30:64163 - "GET /icons/favicon.svg HTTP/1.1" 304 Not Modified
|
INFO: 192.168.5.30:57456 - "GET /login HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:64163 - "GET /favicon.ico HTTP/1.1" 200 OK
|
2026-02-20 22:26:09,026 - fan_controller - INFO - Fan 0xff speed set to 14%
|
||||||
INFO: 192.168.5.30:52794 - "GET /favicon.ico HTTP/1.1" 200 OK
|
2026-02-20 22:26:09,026 - fan_controller - INFO - All fans set to 14% (Temp 38.0°C)
|
||||||
INFO: 192.168.5.30:56655 - "POST /api/setup/test-ipmi HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /login HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:56655 - "GET /favicon.ico HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /favicon.ico HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:56655 - "POST /api/setup/test-http HTTP/1.1" 200 OK
|
|
||||||
2026-02-20 22:20:12,413 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
|
|
||||||
2026-02-20 22:20:12,563 - fan_controller - INFO - Connected to IPMI at 192.168.5.191
|
|
||||||
2026-02-20 22:20:12,563 - fan_controller - INFO - HTTP sensor client initialized for http://192.168.5.200:8888
|
|
||||||
2026-02-20 22:20:12,563 - __main__ - INFO - Setup complete - auto fan control enabled, starting service...
|
|
||||||
2026-02-20 22:20:12,718 - fan_controller - INFO - Connected to IPMI at 192.168.5.191
|
|
||||||
2026-02-20 22:20:12,875 - fan_controller - INFO - Connected to IPMI at 192.168.5.191
|
|
||||||
2026-02-20 22:20:12,875 - fan_controller - INFO - HTTP sensor client initialized for http://192.168.5.200:8888
|
|
||||||
2026-02-20 22:20:12,876 - fan_controller - INFO - IPMI Controller service started
|
|
||||||
2026-02-20 22:20:12,876 - __main__ - INFO - Fan control service started successfully
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:156: 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).
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:156: 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))
|
self._sessions[token] = (username, datetime.utcnow() + timedelta(days=7))
|
||||||
INFO: 192.168.5.30:56655 - "POST /api/setup HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "POST /api/auth/login HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:56655 - "GET / HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET / HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:56655 - "GET /icons/sun.svg HTTP/1.1" 304 Not Modified
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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).
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:
|
if datetime.utcnow() > expiry:
|
||||||
INFO: 192.168.5.30:58779 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:59906 - "GET /icons/lock-closed.svg HTTP/1.1" 304 Not Modified
|
INFO: 192.168.5.30:55757 - "GET /favicon.ico HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:60838 - "GET /icons/arrow-right-on-rectangle.svg HTTP/1.1" 304 Not Modified
|
|
||||||
INFO: 192.168.5.30:56655 - "GET /icons/thermometer.svg HTTP/1.1" 304 Not Modified
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /icons/server-stack.svg HTTP/1.1" 304 Not Modified
|
|
||||||
INFO: 192.168.5.30:49400 - "GET /icons/auto-mode.svg HTTP/1.1" 304 Not Modified
|
|
||||||
INFO: 192.168.5.30:60838 - "GET /icons/chart-bar.svg HTTP/1.1" 304 Not Modified
|
|
||||||
INFO: 192.168.5.30:59906 - "GET /icons/adjustments-horizontal.svg HTTP/1.1" 304 Not Modified
|
|
||||||
INFO: 192.168.5.30:58779 - "GET /icons/list-bullet.svg HTTP/1.1" 304 Not Modified
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /icons/document-text.svg HTTP/1.1" 304 Not Modified
|
|
||||||
2026-02-20 22:20:13,043 - fan_controller - INFO - Manual fan control enabled
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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).
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:
|
if datetime.utcnow() > expiry:
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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).
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:
|
if datetime.utcnow() > expiry:
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
2026-02-20 22:20:19,802 - fan_controller - INFO - Fan 0xff speed set to 14%
|
INFO: 127.0.0.1:41586 - "GET /?theme=light HTTP/1.1" 200 OK
|
||||||
2026-02-20 22:20:19,802 - fan_controller - INFO - All fans set to 14% (Temp 38.0°C)
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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).
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:
|
if datetime.utcnow() > expiry:
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=light HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=dark HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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).
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:
|
if datetime.utcnow() > expiry:
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=light HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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).
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:
|
if datetime.utcnow() > expiry:
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=dark HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=light HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
2026-02-20 22:20:35,769 - fan_controller - INFO - Fan 0xff speed set to 15%
|
|
||||||
2026-02-20 22:20:35,770 - fan_controller - INFO - All fans set to 15% (Temp 40.0°C)
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=dark HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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).
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:
|
if datetime.utcnow() > expiry:
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=light HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 127.0.0.1:57826 - "GET / HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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).
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:
|
if datetime.utcnow() > expiry:
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
2026-02-20 22:20:50,970 - fan_controller - INFO - Fan 0xff speed set to 14%
|
|
||||||
2026-02-20 22:20:50,971 - fan_controller - INFO - All fans set to 14% (Temp 39.0°C)
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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).
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:
|
if datetime.utcnow() > expiry:
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=dark HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=light HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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).
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:
|
if datetime.utcnow() > expiry:
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=dark HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=light HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=dark HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=light HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=dark HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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).
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:
|
if datetime.utcnow() > expiry:
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
2026-02-20 22:21:07,072 - fan_controller - INFO - Fan 0xff speed set to 13%
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
2026-02-20 22:21:07,073 - fan_controller - INFO - All fans set to 13% (Temp 37.0°C)
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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).
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:
|
if datetime.utcnow() > expiry:
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=light HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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).
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:
|
if datetime.utcnow() > expiry:
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
2026-02-20 22:21:22,471 - fan_controller - INFO - Fan 0xff speed set to 14%
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
2026-02-20 22:21:22,471 - fan_controller - INFO - All fans set to 14% (Temp 38.0°C)
|
INFO: 192.168.5.30:55757 - "GET /api/status HTTP/1.1" 200 OK
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /?theme=dark HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
2026-02-20 22:22:03,963 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
|
|
||||||
INFO: 192.168.5.30:52699 - "POST /api/fans/groups HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:
|
|
||||||
2026-02-20 22:23:04,090 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
|
|
||||||
2026-02-20 22:23:04,287 - fan_controller - INFO - Fan 0xff speed set to 14%
|
|
||||||
INFO: 192.168.5.30:52699 - "POST /api/control/manual HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
2026-02-20 22:23:06,092 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
|
|
||||||
2026-02-20 22:23:06,291 - fan_controller - INFO - Automatic fan control restored
|
|
||||||
INFO: 192.168.5.30:52699 - "POST /api/control/auto HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
2026-02-20 22:23:07,738 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
|
|
||||||
2026-02-20 22:23:08,186 - fan_controller - INFO - Manual fan control enabled
|
|
||||||
INFO: 192.168.5.30:52699 - "POST /api/control/auto HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
2026-02-20 22:23:26,377 - fan_controller - INFO - Fan 0xff speed set to 15%
|
|
||||||
2026-02-20 22:23:26,377 - fan_controller - INFO - All fans set to 15% (Temp 40.0°C)
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
2026-02-20 22:23:42,197 - fan_controller - INFO - Fan 0xff speed set to 14%
|
|
||||||
2026-02-20 22:23:42,197 - fan_controller - INFO - All fans set to 14% (Temp 38.0°C)
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
2026-02-20 22:24:58,799 - fan_controller - INFO - Fan 0xff speed set to 13%
|
|
||||||
2026-02-20 22:24:58,799 - fan_controller - INFO - All fans set to 13% (Temp 37.0°C)
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
2026-02-20 22:25:30,481 - fan_controller - INFO - Fan 0xff speed set to 14%
|
|
||||||
2026-02-20 22:25:30,482 - fan_controller - INFO - All fans set to 14% (Temp 39.0°C)
|
|
||||||
/home/devmatrix/projects/fan-controller-v2/web_server.py:163: 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:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
INFO: 192.168.5.30:52699 - "GET /api/status HTTP/1.1" 200 OK
|
|
||||||
|
|
|
||||||
|
|
@ -1413,14 +1413,15 @@ def get_html(theme="dark"):
|
||||||
fetchStatus();
|
fetchStatus();
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<footer style="text-align:center;padding:20px;color:var(--text-secondary);font-size:0.85rem;border-top:1px solid var(--border);margin-top:20px;">
|
<footer style="position:fixed;bottom:0;left:0;right:0;text-align:center;padding:15px;color:var(--text-secondary);font-size:0.85rem;border-top:1px solid var(--border);background:var(--bg-card);z-index:100;">
|
||||||
<div style="margin-bottom:10px;">
|
<div style="margin-bottom:8px;">
|
||||||
<a href="https://github.com/ImpulsiveFPS/IPMI-Controller/issues" target="_blank" style="color:var(--accent-primary);text-decoration:none;margin:0 10px;">🐛 Report Bug</a>
|
<a href="https://github.com/ImpulsiveFPS/IPMI-Controller/issues" target="_blank" style="color:var(--accent-primary);text-decoration:none;margin:0 10px;">🐛 Report Bug</a>
|
||||||
<a href="https://github.com/ImpulsiveFPS/IPMI-Controller" target="_blank" style="color:var(--accent-primary);text-decoration:none;margin:0 10px;">📁 GitHub Repo</a>
|
<a href="https://github.com/ImpulsiveFPS/IPMI-Controller" target="_blank" style="color:var(--accent-primary);text-decoration:none;margin:0 10px;">📁 GitHub Repo</a>
|
||||||
<a href="https://ko-fi.com/impulsivefps" target="_blank" style="color:var(--accent-primary);text-decoration:none;margin:0 10px;">☕ Support on Ko-fi</a>
|
<a href="https://ko-fi.com/impulsivefps" target="_blank" style="color:var(--accent-primary);text-decoration:none;margin:0 10px;">☕ Support on Ko-fi</a>
|
||||||
</div>
|
</div>
|
||||||
<div>IPMI Controller v3.0.0 - Built by ImpulsiveFPS</div>
|
<div>IPMI Controller v1.0.0 - Built by ImpulsiveFPS</div>
|
||||||
</footer>
|
</footer>
|
||||||
|
<style>body{padding-bottom:80px !important;}</style>
|
||||||
</body>
|
</body>
|
||||||
</html>'''
|
</html>'''
|
||||||
|
|
||||||
|
|
@ -1558,7 +1559,7 @@ async def lifespan(app: FastAPI):
|
||||||
app = FastAPI(
|
app = FastAPI(
|
||||||
title="IPMI Controller",
|
title="IPMI Controller",
|
||||||
description="Advanced fan control for Dell servers",
|
description="Advanced fan control for Dell servers",
|
||||||
version="3.0.0",
|
version="1.0.0",
|
||||||
lifespan=lifespan
|
lifespan=lifespan
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue