Add auto-mode icon for Mode status

This commit is contained in:
devmatrix 2026-02-20 19:56:40 +00:00
parent cd50fff372
commit a837ba2c03
3 changed files with 17 additions and 107 deletions

View File

@ -1,109 +1,6 @@
INFO: Started server process [68185] INFO: Started server process [68799]
INFO: Waiting for application startup. INFO: Waiting for application startup.
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: 192.168.5.30:57869 - "GET /api/status HTTP/1.1" 401 Unauthorized INFO: 127.0.0.1:48966 - "GET / HTTP/1.1" 200 OK
INFO: 192.168.5.30:57869 - "GET /login HTTP/1.1" 200 OK INFO: 127.0.0.1:56088 - "GET / HTTP/1.1" 200 OK
INFO: 192.168.5.30:57869 - "GET /icons/fan.svg HTTP/1.1" 304 Not Modified
/home/devmatrix/projects/fan-controller-v2/web_server.py:153: 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:58782 - "POST /api/auth/login HTTP/1.1" 200 OK
INFO: 192.168.5.30:58782 - "GET / HTTP/1.1" 200 OK
INFO: 192.168.5.30:58782 - "GET /icons/fan-propeller.svg HTTP/1.1" 304 Not Modified
/home/devmatrix/projects/fan-controller-v2/web_server.py:160: 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 19:52:52,583 - fan_controller - INFO - Loaded config from /home/devmatrix/projects/fan-controller-v2/data/config.json
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /favicon.ico HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 127.0.0.1:46350 - "GET /login HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 19:54:08,518 - fan_controller - INFO - Connected to IPMI at 192.168.5.191
INFO: 192.168.5.30:59190 - "POST /api/test HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:160: 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:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 19:54:27,369 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
2026-02-20 19:54:27,369 - fan_controller - INFO - HTTP sensor client initialized for http://192.168.5.200:8888
INFO: 192.168.5.30:59190 - "POST /api/config/http HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 19:54:30,668 - fan_controller - INFO - Saved config to /home/devmatrix/projects/fan-controller-v2/data/config.json
2026-02-20 19:54:30,834 - fan_controller - INFO - Manual fan control enabled
2026-02-20 19:54:30,994 - fan_controller - INFO - Connected to IPMI at 192.168.5.191
2026-02-20 19:54:30,994 - fan_controller - INFO - HTTP sensor client initialized for http://192.168.5.200:8888
2026-02-20 19:54:30,995 - fan_controller - INFO - IPMI Controller service started
INFO: 192.168.5.30:59190 - "POST /api/control/auto HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:160: 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:59190 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 19:54:31,149 - fan_controller - INFO - Manual fan control enabled
/home/devmatrix/projects/fan-controller-v2/web_server.py:160: 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:59190 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:160: 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:59190 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 19:54:37,530 - fan_controller - INFO - Fan 0xff speed set to 27%
2026-02-20 19:54:37,531 - fan_controller - INFO - All fans set to 27% (Temp 36.0°C)
/home/devmatrix/projects/fan-controller-v2/web_server.py:160: 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:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:160: 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:59190 - "GET /api/status HTTP/1.1" 200 OK
/home/devmatrix/projects/fan-controller-v2/web_server.py:160: 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:59190 - "GET /api/status HTTP/1.1" 200 OK
2026-02-20 19:54:53,287 - fan_controller - INFO - Fan 0xff speed set to 31%
2026-02-20 19:54:53,287 - fan_controller - INFO - All fans set to 31% (Temp 38.0°C)
INFO: 192.168.5.30:59190 - "GET / HTTP/1.1" 200 OK
INFO: 192.168.5.30:59190 - "GET /icons/fan.svg HTTP/1.1" 304 Not Modified
/home/devmatrix/projects/fan-controller-v2/web_server.py:160: 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:59190 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:51993 - "GET /icons/sun.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:64648 - "GET /icons/lock-closed.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:59631 - "GET /icons/arrow-right-on-rectangle.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:51865 - "GET /icons/clock.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:62718 - "GET /icons/server-stack.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:59190 - "GET /icons/fire.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:64648 - "GET /icons/list-bullet.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:51993 - "GET /icons/fan-propeller.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:59631 - "GET /icons/adjustments-horizontal.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:59190 - "GET /icons/document-text.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:62718 - "GET /icons/chart-bar.svg HTTP/1.1" 304 Not Modified
INFO: 192.168.5.30:62718 - "GET /favicon.ico HTTP/1.1" 200 OK
INFO: 192.168.5.30:62718 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:62718 - "GET /api/status HTTP/1.1" 200 OK
INFO: 192.168.5.30:62718 - "GET /login HTTP/1.1" 200 OK

View File

@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">
<circle cx="12" cy="12" r="3"/>
<path d="M12 2v2"/>
<path d="M12 20v2"/>
<path d="M4.93 4.93l1.41 1.41"/>
<path d="M17.66 17.66l1.41 1.41"/>
<path d="M2 12h2"/>
<path d="M20 12h2"/>
<path d="M4.93 19.07l1.41-1.41"/>
<path d="M17.66 6.34l1.41-1.41"/>
<path d="M12 2a10 10 0 0 1 10 10" stroke-dasharray="4 4"/>
<path d="M12 22a10 10 0 0 1-10-10" stroke-dasharray="4 4"/>
</svg>

After

Width:  |  Height:  |  Size: 558 B

View File

@ -492,7 +492,7 @@ def get_html(theme="dark"):
<div class="value" id="val-ipmi">-</div> <div class="value" id="val-ipmi">-</div>
</div> </div>
<div class="status-item" id="status-mode"> <div class="status-item" id="status-mode">
<div class="icon"><img src="/icons/clock.svg" alt=""></div> <div class="icon"><img src="/icons/auto-mode.svg" alt=""></div>
<div class="label">Mode</div> <div class="label">Mode</div>
<div class="value" id="val-mode">-</div> <div class="value" id="val-mode">-</div>
</div> </div>