10 Commits

Author SHA1 Message Date
walkpan
3ea47d471e feat(规则管理): 添加主题规则自动发现设备功能
实现设备自动发现规则管理系统,包含以下主要功能:
1. 新增规则管理页面和API,支持创建、编辑和删除主题匹配规则
2. 添加规则匹配引擎,支持+和#通配符匹配设备主题
3. 实现Broker设备注册表,自动发现并管理符合规则的设备
4. 扩展仪表盘显示Broker信息和活跃主题
5. 修改设备卡片和详情页以区分规则发现的设备
6. 添加相关测试用例确保功能稳定性
2026-03-30 19:28:22 +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