{% extends 'base.html' %} {% block head %} {% endblock %} {% block header %}

{% block title %}Vehicle Status for {{vehicle.nickname.value}}{% endblock %}

{% endblock %} {% block content %}
{% if vehicle.statusExists('parking', 'parkingPosition') and vehicle.domains['parking']['parkingPosition'].enabled and not vehicle.domains['parking']['parkingPosition'].hasError() %}
{% endif %}

{% if vehicle.statusExists('vehicleHealthWarnings', 'warningLights') and vehicle.domains['vehicleHealthWarnings']['warningLights'].enabled and vehicle.domains['vehicleHealthWarnings']['warningLights'].warningLights|length > 0 %}

Warnings (From {{vehicle.domains['vehicleHealthWarnings']['warningLights'].carCapturedTimestamp.value.isoformat()}})

{% for warningLight in vehicle.domains['vehicleHealthWarnings']['warningLights'].warningLights.values() %}
  • {{warningLight.text.value}}
{% endfor %}

{% endif %} {% if vehicle.statusExists('fuelStatus', 'rangeStatus') and vehicle.domains['fuelStatus']['rangeStatus'].enabled and not vehicle.domains['fuelStatus']['rangeStatus'].hasError() and vehicle.domains['fuelStatus']['rangeStatus'].carCapturedTimestamp.value is not none %}

Range Status (From {{vehicle.domains['fuelStatus']['rangeStatus'].carCapturedTimestamp.value.isoformat()}})

    {% if vehicle.domains['fuelStatus']['rangeStatus'].carType.enabled %}
  • Car type: {{vehicle.domains['fuelStatus']['rangeStatus'].carType.value.value}}
  • {% endif %} {% if vehicle.domains['fuelStatus']['rangeStatus'].totalRange_km.enabled %}
  • Total Range: {{vehicle.domains['fuelStatus']['rangeStatus'].totalRange_km.value}}km
  • {% endif %} {% if vehicle.domains['fuelStatus']['rangeStatus'].primaryEngine.enabled %}
  • Primary engine: {{vehicle.domains['fuelStatus']['rangeStatus'].primaryEngine}}
  • {% endif %} {% if vehicle.domains['fuelStatus']['rangeStatus'].secondaryEngine.enabled %}
  • Secondary engine: {{vehicle.domains['fuelStatus']['rangeStatus'].secondaryEngine}}
  • {% endif %}

{% endif %} {% if vehicle.statusExists('charging', 'batteryStatus') and vehicle.domains['charging']['batteryStatus'].enabled and not vehicle.domains['charging']['batteryStatus'].hasError() and vehicle.domains['charging']['batteryStatus'].carCapturedTimestamp.value is not none %}

Battery Status (From {{vehicle.domains['charging']['batteryStatus'].carCapturedTimestamp.value.isoformat()}})

    {% if vehicle.domains['charging']['batteryStatus'].currentSOC_pct.enabled %}
  • Current SoC: {{vehicle.domains['charging']['batteryStatus'].currentSOC_pct.value}}%
  • {% endif %} {% if vehicle.domains['charging']['batteryStatus'].cruisingRangeElectric_km.enabled %}
  • Cruising Range Electric: {{vehicle.domains['charging']['batteryStatus'].cruisingRangeElectric_km.value}}km
  • {% endif %}

{% endif %} {% if vehicle.statusExists('charging', 'chargingStatus') and vehicle.domains['charging']['chargingStatus'].enabled and not vehicle.domains['charging']['chargingStatus'].hasError() and vehicle.domains['charging']['chargingStatus'].carCapturedTimestamp.value is not none %}

Charging Status (From {{vehicle.domains['charging']['chargingStatus'].carCapturedTimestamp.value.isoformat()}})

    {% if vehicle.domains['charging']['chargingStatus'].remainingChargingTimeToComplete_min.enabled and vehicle.domains['charging']['chargingStatus'].remainingChargingTimeToComplete_min.value > 0 %}
  • Charging time to complete: {{vehicle.domains['charging']['chargingStatus'].remainingChargingTimeToComplete_min.value}}min
  • {% endif %} {% if vehicle.domains['charging']['chargingStatus'].chargingState.enabled %}
  • Charging State: {{vehicle.domains['charging']['chargingStatus'].chargingState.value.value}}
  • {% endif %} {% if vehicle.domains['charging']['chargingStatus'].chargeMode.enabled %}
  • Charge Mode: {{vehicle.domains['charging']['chargingStatus'].chargeMode.value.value}}
  • {% endif %} {% if vehicle.domains['charging']['chargingStatus'].chargePower_kW.enabled and vehicle.domains['charging']['chargingStatus'].chargePower_kW.value > 0 %}
  • Charge Power: {{vehicle.domains['charging']['chargingStatus'].chargePower_kW.value}}kW
  • {% endif %} {% if vehicle.domains['charging']['chargingStatus'].chargeRate_kmph.enabled and vehicle.domains['charging']['chargingStatus'].chargeRate_kmph.value > 0 %}
  • Charge Rate: {{vehicle.domains['charging']['chargingStatus'].chargeRate_kmph.value}}km/h
  • {% endif %}

{% endif %} {% if vehicle.statusExists('charging', 'chargingSettings') and vehicle.domains['charging']['chargingSettings'].enabled and not vehicle.domains['charging']['chargingSettings'].hasError() and vehicle.domains['charging']['chargingSettings'].carCapturedTimestamp.value is not none %}

Charging Settings (From {{vehicle.domains['charging']['chargingSettings'].carCapturedTimestamp.value.isoformat()}})

    {% if vehicle.domains['charging']['chargingSettings'].maxChargeCurrentAC.enabled %}
  • Max charge current AC: {{vehicle.domains['charging']['chargingSettings'].maxChargeCurrentAC.value.value}}
  • {% endif %} {% if vehicle.domains['charging']['chargingSettings'].autoUnlockPlugWhenCharged.enabled %}
  • Auto unlock plug when charged: {{vehicle.domains['charging']['chargingSettings'].autoUnlockPlugWhenCharged.value.value}}
  • {% endif %} {% if vehicle.domains['charging']['chargingSettings'].autoUnlockPlugWhenChargedAC.enabled %}
  • Auto unlock plug when charged (AC): {{vehicle.domains['charging']['chargingSettings'].autoUnlockPlugWhenChargedAC.value.value}}
  • {% endif %} {% if vehicle.domains['charging']['chargingSettings'].targetSOC_pct.enabled %}
  • Target SoC: {{vehicle.domains['charging']['chargingSettings'].targetSOC_pct.value}}%
  • {% endif %}

{% endif %} {% if vehicle.statusExists('charging', 'plugStatus') and vehicle.domains['charging']['plugStatus'].enabled and not vehicle.domains['charging']['plugStatus'].hasError() and vehicle.domains['charging']['plugStatus'].carCapturedTimestamp.value is not none %}

Plug Status (From {{vehicle.domains['charging']['plugStatus'].carCapturedTimestamp.value.isoformat()}})

    {% if vehicle.domains['charging']['plugStatus'].plugConnectionState.enabled %}
  • Plug Connection State: {{vehicle.domains['charging']['plugStatus'].plugConnectionState.value.value}}
  • {% endif %} {% if vehicle.domains['charging']['plugStatus'].plugLockState.enabled %}
  • Plug Lock State: {{vehicle.domains['charging']['plugStatus'].plugLockState.value.value}}
  • {% endif %} {% if vehicle.domains['charging']['plugStatus'].externalPower.enabled %}
  • External Power: {{vehicle.domains['charging']['plugStatus'].externalPower.value.value}}
  • {% endif %} {% if vehicle.domains['charging']['plugStatus'].ledColor.enabled %}
  • LED Color: {{vehicle.domains['charging']['plugStatus'].ledColor.value.value}}
  • {% endif %}

{% endif %} {% if vehicle.statusExists('climatisation', 'climatisationStatus') and vehicle.domains['climatisation']['climatisationStatus'].enabled and not vehicle.domains['climatisation']['climatisationStatus'].hasError() and vehicle.domains['climatisation']['climatisationStatus'].carCapturedTimestamp.value is not none %}

Climatization Status (From {{vehicle.domains['climatisation']['climatisationStatus'].carCapturedTimestamp.value.isoformat()}})

    {% if vehicle.domains['climatisation']['climatisationStatus'].climatisationState.enabled %}
  • Climatization State: {{vehicle.domains['climatisation']['climatisationStatus'].climatisationState.value.value}}
  • {% endif %} {% if vehicle.domains['climatisation']['climatisationStatus'].remainingClimatisationTime_min.enabled and vehicle.domains['climatisation']['climatisationStatus'].climatisationState.value.value != 'off'%}
  • Remaining climatization time: {{vehicle.domains['climatisation']['climatisationStatus'].remainingClimatisationTime_min.value}}min
  • {% endif %}

{% endif %} {% if vehicle.statusExists('climatisation', 'climatisationSettings') and vehicle.domains['climatisation']['climatisationSettings'].enabled and not vehicle.domains['climatisation']['climatisationSettings'].hasError() and vehicle.domains['climatisation']['climatisationSettings'].carCapturedTimestamp.value is not none %}

Climatization Settings (From {{vehicle.domains['climatisation']['climatisationSettings'].carCapturedTimestamp.value.isoformat()}})

    {% if vehicle.domains['climatisation']['climatisationSettings'].targetTemperature_C.enabled %}
  • Target temperature: {{vehicle.domains['climatisation']['climatisationSettings'].targetTemperature_C.value}}°C
  • {% endif %} {% if vehicle.domains['climatisation']['climatisationSettings'].climatisationWithoutExternalPower.enabled %}
  • Climatization without external power: {{vehicle.domains['climatisation']['climatisationSettings'].climatisationWithoutExternalPower.value}}
  • {% endif %} {% if vehicle.domains['climatisation']['climatisationSettings'].climatizationAtUnlock.enabled %}
  • Climatization at unlock: {{vehicle.domains['climatisation']['climatisationSettings'].climatizationAtUnlock.value}}
  • {% endif %} {% if vehicle.domains['climatisation']['climatisationSettings'].windowHeatingEnabled.enabled %}
  • Window heating: {{vehicle.domains['climatisation']['climatisationSettings'].windowHeatingEnabled.value}}
  • {% endif %} {% if vehicle.domains['climatisation']['climatisationSettings'].zoneFrontLeftEnabled.enabled %}
  • Zone front left: {{vehicle.domains['climatisation']['climatisationSettings'].zoneFrontLeftEnabled.value}}
  • {% endif %} {% if vehicle.domains['climatisation']['climatisationSettings'].zoneFrontRightEnabled.enabled %}
  • Zone front right: {{vehicle.domains['climatisation']['climatisationSettings'].zoneFrontRightEnabled.value}}
  • {% endif %} {% if vehicle.domains['climatisation']['climatisationSettings'].zoneRearLeftEnabled.enabled %}
  • Zone rear left: {{vehicle.domains['climatisation']['climatisationSettings'].zoneRearLeftEnabled.value}}
  • {% endif %} {% if vehicle.domains['climatisation']['climatisationSettings'].zoneRearRightEnabled.enabled %}
  • Zone rear right: {{vehicle.domains['climatisation']['climatisationSettings'].zoneRearRightEnabled.value}}
  • {% endif %}

{% endif %} {% if vehicle.statusExists('climatisation', 'windowHeatingStatus') and vehicle.domains['climatisation']['windowHeatingStatus'].enabled and not vehicle.domains['climatisation']['windowHeatingStatus'].hasError() and vehicle.domains['climatisation']['windowHeatingStatus'].carCapturedTimestamp.value is not none %}

Window heating Status (From {{vehicle.domains['climatisation']['windowHeatingStatus'].carCapturedTimestamp.value.isoformat()}})

    {% if vehicle.domains['climatisation']['windowHeatingStatus'].windows.enabled %} {% for windowName, window in vehicle.domains['climatisation']['windowHeatingStatus'].windows.items() %}
  • {{window}}
  • {% endfor %} {% endif %}

{% endif %} {% if vehicle.statusExists('automation', 'climatisationTimer') and vehicle.domains['automation']['climatisationTimer'].enabled and not vehicle.domains['automation']['climatisationTimer'].hasError() and vehicle.domains['automation']['climatisationTimer'].carCapturedTimestamp.value is not none %}

Climatization Timer (From {{vehicle.domains['automation']['climatisationTimer'].carCapturedTimestamp.value.isoformat()}})

    {% if vehicle.domains['automation']['climatisationTimer'].timeInCar.enabled %}
  • Time in car: {{vehicle.domains['automation']['climatisationTimer'].timeInCar.value.isoformat()}}
  • {% endif %} {% if vehicle.domains['automation']['climatisationTimer'].timers.enabled %}
  • Timers:
      {% for timerName, timer in vehicle.domains['automation']['climatisationTimer'].timers.items() %}
    • {{timer}}
    • {% endfor %}
  • {% endif %}

{% endif %} {% if vehicle.statusExists('lvBattery', 'lvBatteryStatus') and vehicle.domains['lvBattery']['lvBatteryStatus'].enabled and not vehicle.domains['lvBattery']['lvBatteryStatus'].hasError() %}

12V battery status

    {% if vehicle.domains['lvBattery']['lvBatteryStatus'].batterySupport.enabled %}
  • Battery support: {{vehicle.domains['lvBattery']['lvBatteryStatus'].batterySupport.value.value}}
  • {% endif %}

{% endif %} {% if vehicle.statusExists('measurements', 'odometerStatus') and vehicle.domains['measurements']['odometerStatus'].enabled and not vehicle.domains['measurements']['odometerStatus'].hasError() and vehicle.domains['measurements']['odometerStatus'].carCapturedTimestamp.value is not none %}

Odometer status (From {{vehicle.domains['measurements']['odometerStatus'].carCapturedTimestamp.value.isoformat()}})

    {% if vehicle.domains['measurements']['odometerStatus'].odometer.enabled %}
  • Odometer: {{vehicle.domains['measurements']['odometerStatus'].odometer.value}}km
  • {% endif %}

{% endif %} {% if vehicle.statusExists('readiness', 'readinessStatus') and vehicle.domains['readiness']['readinessStatus'].enabled and not vehicle.domains['readiness']['readinessStatus'].hasError() %}

Readiness status

    {% if vehicle.domains['readiness']['readinessStatus'].connectionState.enabled %}
  • Connection State:
      {% if vehicle.domains['readiness']['readinessStatus'].connectionState.isOnline.enabled %}
    • Is Online: {{vehicle.domains['readiness']['readinessStatus'].connectionState.isOnline.value}}
    • {% endif %} {% if vehicle.domains['readiness']['readinessStatus'].connectionState.isActive.enabled %}
    • Is Active: {{vehicle.domains['readiness']['readinessStatus'].connectionState.isActive.value}}
    • {% endif %} {% if vehicle.domains['readiness']['readinessStatus'].connectionState.batteryPowerLevel.enabled %}
    • Battery Power Level: {{vehicle.domains['readiness']['readinessStatus'].connectionState.batteryPowerLevel.value.value}}
    • {% endif %} {% if vehicle.domains['readiness']['readinessStatus'].connectionState.dailyPowerBudgetAvailable.enabled %}
    • Daily Power Budget Available: {{vehicle.domains['readiness']['readinessStatus'].connectionState.dailyPowerBudgetAvailable.value}}
    • {% endif %}
  • {% endif %} {% if vehicle.domains['readiness']['readinessStatus'].connectionWarning.enabled %}
  • Connection Warning:
      {% if vehicle.domains['readiness']['readinessStatus'].connectionWarning.insufficientBatteryLevelWarning.enabled %}
    • Insufficient Battery Level Warning {{vehicle.domains['readiness']['readinessStatus'].connectionWarning.insufficientBatteryLevelWarning.value}}
    • {% endif %} {% if vehicle.domains['readiness']['readinessStatus'].connectionWarning.dailyPowerBudgetWarning.enabled %}
    • Daily Power Budget Warning: {{vehicle.domains['readiness']['readinessStatus'].connectionWarning.dailyPowerBudgetWarning.value}}
    • {% endif %}
  • {% endif %}

{% endif %} {% if vehicle.statusExists('vehicleHealthInspection', 'maintenanceStatus') and vehicle.domains['vehicleHealthInspection']['maintenanceStatus'].enabled and not vehicle.domains['vehicleHealthInspection']['maintenanceStatus'].hasError() and vehicle.domains['vehicleHealthInspection']['maintenanceStatus'].carCapturedTimestamp.value is not none %}

Maintenance Status (From {{vehicle.domains['vehicleHealthInspection']['maintenanceStatus'].carCapturedTimestamp.value.isoformat()}})

    {% if vehicle.domains['vehicleHealthInspection']['maintenanceStatus'].mileage_km.enabled %}
  • Current mileage: {{vehicle.domains['vehicleHealthInspection']['maintenanceStatus'].mileage_km.value}} km
  • {% endif %} {% if vehicle.domains['vehicleHealthInspection']['maintenanceStatus'].inspectionDue_days.enabled %}
  • Inspection due in: {{vehicle.domains['vehicleHealthInspection']['maintenanceStatus'].inspectionDue_days.value}} days
  • {% endif %} {% if vehicle.domains['vehicleHealthInspection']['maintenanceStatus'].inspectionDue_km.enabled %}
  • Inspection due in: {{vehicle.domains['vehicleHealthInspection']['maintenanceStatus'].inspectionDue_km.value}} km
  • {% endif %} {% if vehicle.domains['vehicleHealthInspection']['maintenanceStatus'].oilServiceDue_days.enabled %}
  • Oil service in: {{vehicle.domains['vehicleHealthInspection']['maintenanceStatus'].oilServiceDue_days.value}} days
  • {% endif %} {% if vehicle.domains['vehicleHealthInspection']['maintenanceStatus'].oilServiceDue_km.enabled %}
  • Oil service in: {{vehicle.domains['vehicleHealthInspection']['maintenanceStatus'].oilServiceDue_km.value}} km
  • {% endif %}

{% endif %} {% if vehicle.statusExists('access', 'accessStatus') and vehicle.domains['access']['accessStatus'].enabled and not vehicle.domains['access']['accessStatus'].hasError() and vehicle.domains['access']['accessStatus'].carCapturedTimestamp.value is not none %}

Access Status (From {{vehicle.domains['access']['accessStatus'].carCapturedTimestamp.value.isoformat()}})

    {% if vehicle.domains['access']['accessStatus'].overallStatus.enabled %}
  • Overall Status: {{vehicle.domains['access']['accessStatus'].overallStatus.value.value}}
  • {% endif %} {% if vehicle.domains['access']['accessStatus'].doors.enabled %} {% endif %} {% if vehicle.domains['access']['accessStatus'].windows.enabled %} {% endif %}
    DoorsWindows
    {% if vehicle.domains['access']['accessStatus'].doors.enabled %}
      {% for doorName, door in vehicle.domains['access']['accessStatus'].doors.items() %}
    • {{door}}
    • {% endfor %}
    {% endif %}
    {% if vehicle.domains['access']['accessStatus'].windows.enabled %}
      {% for windowName, window in vehicle.domains['access']['accessStatus'].windows.items() %}
    • {{window}}
    • {% endfor %}
    {% endif %}

{% endif %} {% if vehicle.statusExists('vehicleLights', 'lightsStatus') and vehicle.domains['vehicleLights']['lightsStatus'].enabled and not vehicle.domains['vehicleLights']['lightsStatus'].hasError() and vehicle.domains['vehicleLights']['lightsStatus'].carCapturedTimestamp.value is not none %}

Lights Status (From {{vehicle.domains['vehicleLights']['lightsStatus'].carCapturedTimestamp.value.isoformat()}})

    {% if vehicle.domains['vehicleLights']['lightsStatus'].lights.enabled %} {% for lightName, light in vehicle.domains['vehicleLights']['lightsStatus'].lights.items() %}
  • {{light}}
  • {% endfor %} {% endif %}

{% endif %} {% if vehicle.statusExists('parking', 'parkingPosition') and vehicle.domains['parking']['parkingPosition'].enabled and not vehicle.domains['parking']['parkingPosition'].hasError() and vehicle.domains['parking']['parkingPosition'].carCapturedTimestamp.value is not none %}

Parking position (From {{vehicle.domains['parking']['parkingPosition'].carCapturedTimestamp.value.isoformat()}})

    {% if vehicle.domains['parking']['parkingPosition'].error.enabled %}
  • Error: {{vehicle.domains['parking']['parkingPosition'].error}}
  • {% endif %} {% if vehicle.domains['parking']['parkingPosition'].latitude.enabled %}
  • Latitude: {{vehicle.domains['parking']['parkingPosition'].latitude.value}}
  • {% endif %} {% if vehicle.domains['parking']['parkingPosition'].longitude.enabled %}
  • Longitude: {{vehicle.domains['parking']['parkingPosition'].longitude.value}}
  • {% endif %}

{% endif %}
{% if vehicle.capabilities.enabled %}

Vehicle capabilities

    {% for capabilityName, capability in vehicle.capabilities.items() %}
  • {{capability}}
  • {% endfor %}

{% endif %}

Vehicle Information

    {% if vehicle.vin.enabled %}
  • VIN: {{vehicle.vin.value}}
  • {% endif %} {% if vehicle.role.enabled %}
  • User Role: {{vehicle.role.value.value}}
  • {% endif %} {% if vehicle.enrollmentStatus.enabled %}
  • Enrollment Status: {{vehicle.enrollmentStatus.value.value}}
  • {% endif %} {% if vehicle.userRoleStatus.enabled %}
  • User Status: {{vehicle.userRoleStatus.value.value}}
  • {% endif %} {% if vehicle.model.enabled %}
  • Model: {{vehicle.model.value}}
  • {% endif %} {% if vehicle.devicePlatform.enabled %}
  • Device Platform: {{vehicle.devicePlatform.value.value}}
  • {% endif %} {% if vehicle.nickname.enabled %}
  • Nickname: {{vehicle.nickname.value}}
  • {% endif %} {% if vehicle.brandCode.enabled %}
  • Brand Code: {{vehicle.brandCode.value.value}}
  • {% endif %} {% if vehicle.coUsers.enabled and vehicle.coUsers|length > 0 %}
  • Co Users:
      {% for user in vehicle.coUsers %}
    • {{user}}
    • {% endfor %}
  • {% endif %}

{% endblock %}