{% csrf_token %}
{% with repeat_value=form_params.repeat %} {% endwith %}
{% if cp.running %}Running{% else %}Stopped{% endif %}
{{ cp.last_status|default:"-" }} {{ cp.phase|default:"-" }} {{ cp.last_message|default:"-" }} {{ cp.last_command|default:"-" }} {{ cp.start_time|default:"-" }} {{ cp.stop_time|default:"-" }} {{ target_ws_url|default:"-" }}
{% if is_service_queued %} {% endif %} {% if cp.last_error %}
Error:
{{ cp.last_error }}
{% endif %}

How simulation works

When you click Start, the simulator opens a WebSocket connection to the Host (including port), registers using Serial Number and CP Path, optionally waits for Charge Delay, and then sends periodic charging activity updates until Duration ends (or indefinitely when Repeat is Yes). Stop requests a graceful shutdown and updates the status panel with the latest phase, command, and messages.