walkpan
3ea47d471e
feat(规则管理): 添加主题规则自动发现设备功能
...
实现设备自动发现规则管理系统,包含以下主要功能:
1. 新增规则管理页面和API,支持创建、编辑和删除主题匹配规则
2. 添加规则匹配引擎,支持+和#通配符匹配设备主题
3. 实现Broker设备注册表,自动发现并管理符合规则的设备
4. 扩展仪表盘显示Broker信息和活跃主题
5. 修改设备卡片和详情页以区分规则发现的设备
6. 添加相关测试用例确保功能稳定性
2026-03-30 19:28:22 +08:00
walkpan
38766ca792
feat: production build with FastAPI static file serving for SPA
...
- Add StaticFiles mount for /assets
- Add catch-all route serving index.html for SPA client routing
- Frontend build: 101KB gzipped total
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-29 22:05:56 +08:00
walkpan
5f09c6f144
feat: device detail page with controls and logs, broker management page
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-29 22:04:49 +08:00
walkpan
4c16e5c0c9
feat: dashboard and devices list pages with cards, toggle, and add device modal
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-29 22:02:23 +08:00
walkpan
52fbb1a15a
feat: API client, WebSocket composable, and Pinia device store
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-29 21:59:50 +08:00
walkpan
f02ff5db0c
feat: Vue 3 project scaffolding with Tailwind, Router, Pinia, and Sidebar
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-29 21:58:14 +08:00
walkpan
c4d35be54d
fix: Windows event loop compatibility, EMQX API response handling, and test fix
...
- Add WindowsSelectorEventLoopPolicy for paho-mqtt on Windows
- Handle EMQX /status plain text and /metrics list responses
- Fix test_default_settings to ignore .env file
- Add __main__.py for python -m mqtt_home support
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-29 21:52:20 +08:00
walkpan
bac099c805
feat: CLI commands for device management, broker monitoring, and serve
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-29 21:48:08 +08:00
walkpan
957f489a0d
feat: FastAPI app with REST API routes and WebSocket endpoint
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-29 21:46:00 +08:00
walkpan
abb170ace6
feat: HA Discovery protocol handler for auto-registering devices
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-29 21:42:49 +08:00
walkpan
2614ae8880
feat: device registry with CRUD, state tracking, command sending, and log management
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-29 21:40:52 +08:00
walkpan
afe9de51c5
feat: MQTT client with reconnection, topic matching, and callback dispatch
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-29 21:37:03 +08:00
walkpan
79b2878b3d
feat: Pydantic schemas and EMQX REST API client
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-29 21:32:45 +08:00
walkpan
455ed4ad5e
feat: database setup with SQLAlchemy ORM models for Device and DeviceLog
...
- Replace minimal database.py with full SQLAlchemy async setup
- Create Device and DeviceLog models with proper relationships
- Add tests for model creation and relationship functionality
- Fixed lazy loading issue in tests by avoiding .count() on dynamic relationships
2026-03-29 21:28:55 +08:00
walkpan
8b925263a2
feat: project skeleton with config, dependencies, and test setup
...
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com >
2026-03-29 21:26:00 +08:00
walkpan
ce10907619
docs: design spec and backend implementation plan
2026-03-29 21:21:44 +08:00