From 1f346eb07f409469e7e45341598efe27872eada4 Mon Sep 17 00:00:00 2001 From: Mikkeli Matlock Date: Sun, 15 Feb 2026 04:15:30 +0900 Subject: [PATCH] fixes that made it work --- mock_server.py | 52 ++++++++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 1 + 2 files changed, 53 insertions(+) create mode 100644 mock_server.py create mode 100644 requirements.txt diff --git a/mock_server.py b/mock_server.py new file mode 100644 index 0000000..4bf2450 --- /dev/null +++ b/mock_server.py @@ -0,0 +1,52 @@ +#!/usr/bin/env python3 +"""Mock WebSocket server that sends randomized Pi stats every 2 seconds.""" + +import asyncio +import json +import random +import time + +import websockets + + +def generate_stats(): + services = [ + {"name": "docker", "status": random.choice(["running", "running", "running", "stopped"])}, + {"name": "pihole", "status": random.choice(["running", "running", "running", "stopped"])}, + {"name": "nginx", "status": random.choice(["running", "running", "stopped"])}, + {"name": "sshd", "status": "running"}, + ] + return { + "cpu_pct": round(random.uniform(5, 95), 1), + "mem_pct": round(random.uniform(30, 85), 1), + "mem_used_mb": random.randint(512, 3200), + "disk_pct": round(random.uniform(20, 80), 1), + "cpu_temp": round(random.uniform(35, 78), 1), + "uptime_hrs": round(random.uniform(1, 2000), 1), + "net_rx_kbps": round(random.uniform(0, 5000), 1), + "net_tx_kbps": round(random.uniform(0, 2000), 1), + "services": services, + "timestamp": int(time.time()), + } + + +async def handler(websocket): + addr = websocket.remote_address + print(f"Client connected: {addr}") + try: + while True: + stats = generate_stats() + await websocket.send(json.dumps(stats)) + await asyncio.sleep(2) + except websockets.ConnectionClosed: + print(f"Client disconnected: {addr}") + + +async def main(): + print("Mock Pi stats server starting on ws://0.0.0.0:8765") + async with websockets.serve(handler, "0.0.0.0", 8765): + await asyncio.Future() # run forever + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..31b5e2f --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +websockets>=12.0