346 lines
32 KiB
Plaintext
346 lines
32 KiB
Plaintext
INFO: Started server process [25918]
|
|
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: 192.168.5.30:64198 - "GET / HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:64198 - "GET /api/status HTTP/1.1" 401 Unauthorized
|
|
INFO: 192.168.5.30:64198 - "GET /login HTTP/1.1" 200 OK
|
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:149: 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: 127.0.0.1:33886 - "POST /api/auth/login HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:61387 - "POST /api/auth/login HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:61387 - "GET / HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
2026-02-20 17:07:43,397 - fan_controller - INFO - Loaded config from /home/devmatrix/projects/fan-controller-v2/data/config.json
|
|
INFO: 192.168.5.30:61387 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:61387 - "GET /favicon.ico HTTP/1.1" 200 OK
|
|
INFO: 127.0.0.1:44038 - "GET /api/curves HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:61387 - "GET /api/status HTTP/1.1" 200 OK
|
|
2026-02-20 17:07:48,925 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
|
|
2026-02-20 17:07:49,084 - fan_controller - INFO - Connected to IPMI at 192.168.5.191
|
|
INFO: 192.168.5.30:61387 - "POST /api/config/ipmi HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:61387 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:61387 - "GET /favicon.ico HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:61387 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:61387 - "GET /api/status HTTP/1.1" 200 OK
|
|
2026-02-20 17:07:56,586 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
|
|
2026-02-20 17:07:56,769 - fan_controller - INFO - Manual fan control enabled
|
|
2026-02-20 17:07:56,924 - fan_controller - INFO - Connected to IPMI at 192.168.5.191
|
|
2026-02-20 17:07:56,925 - fan_controller - INFO - HTTP sensor client initialized for http://192.168.5.200:8888
|
|
2026-02-20 17:07:56,926 - fan_controller - INFO - IPMI Controller service started
|
|
INFO: 192.168.5.30:61387 - "POST /api/control/auto HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:61387 - "GET /api/status HTTP/1.1" 200 OK
|
|
2026-02-20 17:07:57,084 - fan_controller - INFO - Manual fan control enabled
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:61387 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
2026-02-20 17:08:01,333 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
|
|
2026-02-20 17:08:01,540 - fan_controller - INFO - Fan 0xff speed set to 45%
|
|
INFO: 192.168.5.30:61387 - "POST /api/control/manual HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:57617 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:57617 - "GET /api/status HTTP/1.1" 200 OK
|
|
2026-02-20 17:08:03,050 - fan_controller - INFO - Fan 0xff speed set to 32%
|
|
2026-02-20 17:08:03,050 - fan_controller - INFO - All fans set to 32% (Temp 51.0°C)
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:57617 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:57617 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:57617 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:57617 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:57617 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/home/devmatrix/projects/fan-controller-v2/web_server.py:149: 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: 127.0.0.1:53770 - "POST /api/auth/login HTTP/1.1" 200 OK
|
|
INFO: 127.0.0.1:53786 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 127.0.0.1:46972 - "POST /api/auth/login HTTP/1.1" 200 OK
|
|
2026-02-20 17:10:19,582 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
|
|
2026-02-20 17:10:19,744 - fan_controller - INFO - Manual fan control enabled
|
|
INFO: 127.0.0.1:46980 - "POST /api/control/auto HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 127.0.0.1:33742 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
2026-02-20 17:10:34,455 - fan_controller - INFO - Fan 0xff speed set to 30%
|
|
2026-02-20 17:10:34,456 - fan_controller - INFO - All fans set to 30% (Temp 50.0°C)
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
2026-02-20 17:11:07,821 - fan_controller - INFO - Fan 0xff speed set to 32%
|
|
2026-02-20 17:11:07,822 - fan_controller - INFO - All fans set to 32% (Temp 51.0°C)
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
2026-02-20 17:11:54,564 - fan_controller - INFO - Fan 0xff speed set to 30%
|
|
2026-02-20 17:11:54,564 - fan_controller - INFO - All fans set to 30% (Temp 50.0°C)
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
2026-02-20 17:12:24,621 - fan_controller - INFO - Fan 0xff speed set to 32%
|
|
2026-02-20 17:12:24,622 - fan_controller - INFO - All fans set to 32% (Temp 51.0°C)
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET / HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
2026-02-20 17:12:50,306 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
|
|
INFO: 192.168.5.30:55959 - "POST /api/curves/active HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
2026-02-20 17:12:51,151 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
|
|
INFO: 192.168.5.30:55959 - "POST /api/curves/active HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
2026-02-20 17:13:04,319 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
|
|
2026-02-20 17:13:04,478 - fan_controller - INFO - Manual fan control enabled
|
|
INFO: 192.168.5.30:55959 - "POST /api/control/auto HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
/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).
|
|
if datetime.utcnow() > expiry:
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|
|
INFO: 192.168.5.30:55959 - "GET /api/status HTTP/1.1" 200 OK
|