A comprehensive simulator for ASCOM Alpaca devices that provides a RESTful API for testing and developing observatory control software.
-
Complete Device Simulation: Supports all major ASCOM device types including:
- Camera
- Telescope
- Dome
- Focuser
- Filter Wheel
- Rotator
- Safety Monitor
- Switch
- Observing Conditions
- Cover Calibrator
-
Realistic Image Generation: Uses cabaret to generate authentic astronomical images for camera simulation
-
RESTful API: Fully compliant with the ASCOM Alpaca Device API specification
-
Interactive Test Interface: Web-based control panel for manual testing
-
Configurable Devices: YAML-based configuration for all device properties
The fastest way to run the simulator is using uv.
-
Clone the repository:
git clone https://github.com/ppp-one/alpaca-simulators cd alpaca-simulators -
Run the simulator:
uv run alpaca-simulators
This will automatically install dependencies and start the server at
http://0.0.0.0:11111.
The simulator supports several command-line arguments:
# Run on a different port with auto-reload enabled
uv run alpaca-simulators --port 8080 --reload
# Use a specific configuration file
uv run alpaca-simulators --config my_custom_setup.yamlThe simulator includes a web-based test UI at http://localhost:11111/test_interface that allows you to:
- GET properties: Retrieve current values from any device property
- PUT operations: Set values and trigger actions using form inputs
On first run, the simulator generates src/alpaca_simulators/config/config.yaml from a template. You can modify this file to set:
- Device names and descriptions
- Initial property values
- Capabilities and limits
- Available options (e.g., filter names, camera properties)
# Get telescope position
curl http://localhost:11111/api/v1/telescope/0/rightascension
# Set camera exposure time
curl -X PUT http://localhost:11111/api/v1/camera/0/startexposure \
-d "Duration=5.0&Light=true"
# Check if dome is at home
curl http://localhost:11111/api/v1/dome/0/athome