{% extends "campermode/base.html" %} {% block title %}Dashboard — CamperMode{% endblock %} {% block head %} {% endblock %} {% block content %}
{# Warning banner #} {# Status card #}
{% if state.current_phase == 'heating' %} Heating {% elif state.current_phase == 'paused' %} Paused {% else %} Idle {% endif %}

Cycle: {{ state.cycle_number }}

Phase remaining:

Total remaining:

Car climate: {% if state.climatization_state == "off" %} OFF {% elif state.climatization_state %} {{ state.climatization_state | upper }} {% else %} — {% endif %}

Battery: {% if state.current_battery_level is not none %} {{ state.current_battery_level }}% {% else %} — {% endif %}
Avg. cycle consumption: {%- if state.avg_battery_consumption is not none %}{{ "%.1f"|format(state.avg_battery_consumption) }}%{%- endif -%} Half cycle
{% if state.stopped_reason == "manual" %}Stopped manually {% elif state.stopped_reason == "battery" %}Stopped: battery too low {% elif state.stopped_reason == "vehicle_offline" %}Stopped: vehicle went offline {% elif state.stopped_reason == "vehicle_climatization_off" %}Stopped: heating reported off by vehicle {% elif state.stopped_reason == "battery_predicted" %}Stopped: battery level predicted too low {% elif state.stopped_reason == "duration_reached" %}Session complete {% elif state.stopped_reason == "shutdown" %}Stopped: plugin shutdown {% elif state.stopped_reason %}{{ state.stopped_reason }} {% endif %}
{# Start section — hidden while session is active #}
{% for mins in [0, 30, 45, 60, 75, 90] %} {% endfor %}
{# Stop section — hidden while session is idle #}
{% endblock %}