Add virtual device emulator (Flask) for relay and button types
- New tools/virtual_devices/ with Flask emulator, CLI, and web UI
- Supports relay (4 ch, set_state) and button (4 ch, click events)
- CLI: create, start, stop, list, status, click, remove, register
- Emulates full device REST contract: /about, /status, /action, /set_token, /reset, /channels_schema
- Web UI for visual control and monitoring
- Integrate with server registration via /api/v1/devices/setup/new-device
- Allow IP:port in setup_new_device validation for virtual devs

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code)
1 parent 84f0345 commit 25be204bd127563be2fb638cd6e41a2b91ad4e84
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored 2 days ago
Showing 13 changed files
View
server/SHServ/Controllers/DevicesRESTAPIController.php
View
tools/virtual_devices/.gitignore 0 → 100644
View
tools/virtual_devices/README.md 0 → 100644
View
tools/virtual_devices/cli.py 0 → 100644
View
tools/virtual_devices/device/__init__.py 0 → 100644
View
tools/virtual_devices/device/base.py 0 → 100644
View
tools/virtual_devices/device/button.py 0 → 100644
View
tools/virtual_devices/device/relay.py 0 → 100644
View
tools/virtual_devices/devices/.gitignore 0 → 100644
View
tools/virtual_devices/emulator.py 0 → 100644
View
tools/virtual_devices/pids/.gitignore 0 → 100644
View
tools/virtual_devices/requirements.txt 0 → 100644
View
tools/virtual_devices/state.py 0 → 100644