Generic 'Vehicle' Card

Hi ! My card is not so fancy as those seen here, but I just got some bits here and there and made this:
image

It is not much, but it is honest work :stuck_out_tongue:

1 Like

That looks really good! Can you share your code, please?! I would like to adapt your style. Thanks!

This looks really good. Can you share the code?

Can you share your fuel gauge?

Hi,

Your solution for the Hyundai was extremely useful for me. It was more or less possible to just search and replace 2023_ioniq_6 with ev6 and the card worked.

I decided that I wanted to have a slightly more “minimalist” view where I could just push the “lock” button and it would toggle. From my searching it seems that scripts are one way of achieving this.

This is my first time using scripts - so I thought I’d show those parts here, in case someone else wants to give this a go. Everywhere you see ??? will need to be replaced with the entities and device in your system:

# config/scripts.yaml
  toggle_the_lock_state_of_the_ev:
    sequence:
      - if:
          - condition: state
            entity_id: lock.???_door_lock
            state: 'locked'
        then:
          - alias: "Unlock the EV"
            service: kia_uvo.unlock
            data:
              device_id: ???
            target: { }
        else:
          - alias: "Lock the EV"
            service: kia_uvo.lock
            data:
              device_id: ???
            target: { }
      - alias: "Wait 5s"
        delay: 5
      - alias: "Refresh the EV Status"
        service: kia_uvo.update
        data:
          device_id: ???
        target: { }

The refresh seems to be needed for me to have the new state be reflected in the icons. I added the delay “just in case”.

I then call this script when there’s a tap_action on the lock icon:

      # Door locks
      - type: state-icon
        entity: lock.???_door_lock
        state_color: true
        style:
          top: 1%
          left: 65%
          transform: scale(1.1, 1.1)
        tap_action:
          action: call-service
          service: script.toggle_the_lock_state_of_the_ev

Thanks again @briadelour!

1 Like

oh sorry for the delay!
Now I changed some details: Added a new bar with the power of charging, removed some details from the buttons, changed them to mushrooms…

type: vertical-stack
cards:
  - type: custom:mushroom-chips-card
    chips:
      - type: entity
        entity: device_tracker.smart_none
        icon_color: green
      - type: template
        icon: |-
          {% if is_state("sensor.smart_central_locking_status", "2") %}
            mdi:lock
          {% else %}
            mdi:lock-open-alert
          {% endif %}
        content: |-
          {% if is_state("sensor.smart_central_locking_status", "2")  %}
            Pechado
          {% else %}
            Aberto
          {% endif %}
        icon_color: |-
          {% if is_state("sensor.smart_central_locking_status", "2") %}
            green
          {% else %}
            red
          {% endif %}
        tap_action:
          action: more-info
        entity: sensor.smart_central_locking_status
      - type: template
        icon: mdi:ev-plug-type2
        content: |-
          {% if is_state("sensor.smart_charging_status", "CHARGING")  %}
            Cargando
          {% else %}
          Esperando         
          {% endif %}
        icon_color: |-
          {% if is_state("sensor.smart_charging_status", "CHARGING")  %}
            green
          {% else %}
            grey
          {% endif %}
        tap_action:
          action: more-info
        entity: sensor.smart_charging_status
      - type: template
        icon: mdi:ev-station
        content: |-
          {% if is_state("sensor.smart_tank_flap_status", "1")  %}
            Aberta
          {% else %}
          Pechada         
          {% endif %}
        icon_color: |-
          {% if is_state("sensor.smart_charging_status", "1")  %}
            red
          {% else %}
            grey
          {% endif %}
        tap_action:
          action: more-info
        entity: sensor.smart_charging_status
  - type: picture-elements
    image: /local/images/smart.png
    elements:
      - type: icon
        icon: mdi:thermometer
        double_tap_action: none
        hold_action: none
        style:
          top: 20%
          left: 41%
          font-size: 100%
          font-weight: normal
          color: rgb(255,255,255)
      - type: state-label
        entity: sensor.smart_exterior_temperature
        double_tap_action: none
        hold_action: none
        style:
          top: 20%
          left: 18%
          font-size: 100%
          font-weight: normal
          color: grey
      - type: icon
        icon: mdi:thermometer
        style:
          top: 20%
          left: 10%
          font-size: 100%
          font-weight: normal
          color: grey
      - type: state-label
        entity: sensor.smart_interior_temperature
        double_tap_action: none
        hold_action: none
        style:
          top: 20%
          left: 50%
          font-size: 100%
          font-weight: normal
          color: white
  - type: custom:bar-card
    name: Smart#3
    positions:
      name: 'off'
      icon: 'off'
    animation:
      state: 'on'
      speed: 3s
    bar_style:
      text-align: left
      padding-left: 10px
      border-radius: 10px
      font-size: 10px
    height: 30px
    style:
      top: 75%
      left: 5%
      transform: none
      overflow: hidden
      border-radius: 10px
      width: 90%
    min: 0
    max: 100
    target: 80
    severity:
      - value: 20
        hue: '120'
      - value: 50
        hue: '40'
      - value: 80
        hue: '0'
    entities:
      - entity: sensor.smart_battery
  - type: custom:bar-card
    name: Smart#3
    positions:
      name: 'off'
      icon: 'off'
    animation:
      state: 'on'
      speed: 3s
    bar_style:
      color: orange
      text-align: left
      padding-left: 10px
      border-radius: 10px
      font-size: 10px
    height: 30px
    style:
      top: 75%
      left: 5%
      transform: none
      overflow: hidden
      border-radius: 10px
      width: 90%
    min: 0
    entities:
      - entity: sensor.smart_charging_power
        max: 150

And now it looks like this:
image

someone have for audi e-tron . thx

hello, can you make for audi e-tron antigua blue. thx

Did you manage to implement your idea?

Hi @Bellardita,

I love your cards. Please, can you share it?

Best regards

1 Like

I would also appreciate the code being shared if that would be possible, @Bellardita.

Thanks in advance! :smiley:

Hi @Karrelax , i have #3 brabus, sensor.smart_tank_flap_status works for you? I see always position “2”

Thanks a lot

Hi, @Bellardita,

Even if it is on a preliminary phase, could you please share your images and code?

I believe it would be very helpful for many of us. Thanks in advance.

sorry for the delay!
Nope, it doesnt. Now I have removed it, as it never changes. Lately I also have some issues with the charging power, but the integration is quite new, so I asume some errors may occur…

My little contribution for A Class W177:


And the code

- type: picture-elements
    elements:
      - type: conditional
        conditions:
          - entity: lock.gv428he_lock
            state: unlocked
        elements:
          - type: image
            entity: lock.gv428he_lock
            image: /local/image/voiture/cx9-all.png
            style:
              top: 50%
              left: 50%
              width: 100%
            filter: saturate(1)
            tap_action: none
          - type: image
            entity: lock.gv428he_lock
            image: /local/image/voiture/cx9-lock.svg
            style:
              top: 50%
              left: 50%
              width: 100%
            filter: saturate(1)
            tap_action: none
      - type: conditional
        conditions:
          - entity: binary_sensor.gv428he_windows_closed
            state: 'off'
        elements:
          - type: image
            image: /local/image/voiture/cx9-left.png
            style:
              top: 50%
              left: 50%
              width: 100%
            filter: saturate(1)
            tap_action: none
          - type: image
            entity: binary_sensor.gv428he_windows_closed
            image: /local/image/voiture/cx9-driver-door.svg
            style:
              top: 50%
              left: 50%
              width: 100%
            filter: saturate(1)
            tap_action: none
      - type: conditional
        conditions:
          - entity: sensor.gv428he_lock
            state: unlocked
          - entity: binary_sensor.gv428he_windows_closed
            state: 'off'
          - entity: binary_sensor.gv428he_windows_closed
            state: 'off'
          - entity: binary_sensor.gv428he_windows_closed
            state: 'off'
          - entity: binary_sensor.gv428he_windows_closed
            state: 'off'
          - entity: binary_sensor.gv428he_windows_closed
            state: 'off'
          - entity: binary_sensor.gv428he_windows_closed
            state: 'off'
        elements:
          - type: image
            image: /local/image/voiture/cx9-all.png
            style:
              top: 50%
              left: 50%
              width: 100%
            filter: saturate(1)
            tap_action: none
          - type: image
            image: /local/image/voiture/cx9-lock.svg
            style:
              top: 50%
              left: 50%
              width: 100%
            filter: saturate(1)
            tap_action: none
      - type: state-icon
        entity: sensor.gv428he_lock
        state_color: false
        style:
          top: 18%
          left: 25%
      - type: state-label
        entity: sensor.gv428he_lock
        style:
          top: 23.5%
          left: 5%
      - type: state-icon
        entity: binary_sensor.gv428he_tire_warning
        state_color: false
        style:
          top: 18%
          left: 5%
      - type: state-label
        entity: binary_sensor.gv428he_tire_warning
        style:
          top: 23.5%
          left: 25%
      - type: state-icon
        entity: device_tracker.gv428he_device_tracker
        state_color: false
        style:
          top: 18%
          left: 80%
      - type: state-label
        entity: device_tracker.gv428he_device_tracker
        style:
          top: 23.5%
          left: 80%
      - type: state-icon
        entity: sensor.gv428he_odometer
        style:
          top: 75%
          left: 80%
      - type: state-label
        entity: sensor.gv428he_odometer
        style:
          top: 81%
          left: 80%
      - type: state-icon
        entity: sensor.gv428he_fuel_level
        style:
          top: 75%
          left: 95%
      - type: state-label
        entity: sensor.gv428he_fuel_level
        style:
          top: 81%
          left: 95%
      - type: state-icon
        entity: binary_sensor.gv428he_windows_closed
        state_color: false
        style:
          top: 18%
          left: 15%
      - type: state-label
        entity: binary_sensor.gv428he_windows_closed
        style:
          top: 23.5%
          left: 15%
      - type: state-icon
        entity: binary_sensor.gv428he_low_brake_fluid_warning
        style:
          top: 75%
          left: 5%
      - type: state-label
        entity: binary_sensor.gv428he_low_brake_fluid_warning
        style:
          top: 81%
          left: 5%
      - type: state-icon
        entity: binary_sensor.gv428he_low_coolant_level_warning
        style:
          top: 75%
          left: 25%
      - type: state-label
        entity: binary_sensor.gv428he_low_coolant_level_warning
        style:
          top: 81%
          left: 25%
      - type: state-icon
        entity: binary_sensor.gv428he_low_wash_water_warning
        style:
          top: 75%
          left: 15%
      - type: state-label
        entity: binary_sensor.gv428he_low_wash_water_warning
        style:
          top: 81%
          left: 15%
      - type: state-icon
        entity: sensor.gv428he_tire_pressure_front_left
        style:
          top: 35%
          left: 35%
      - type: state-label
        entity: sensor.gv428he_tire_pressure_front_left
        style:
          top: 40%
          left: 35%
      - type: state-icon
        entity: sensor.gv428he_tire_pressure_front_right
        style:
          top: 35%
          left: 65%
      - type: state-label
        entity: sensor.gv428he_tire_pressure_front_right
        style:
          top: 40%
          left: 65%
      - type: state-icon
        entity: sensor.gv428he_tire_pressure_rear_left
        style:
          top: 75%
          left: 35%
      - type: state-label
        entity: sensor.gv428he_tire_pressure_rear_left
        style:
          top: 81%
          left: 35%
      - type: state-icon
        entity: sensor.gv428he_tire_pressure_rear_right
        style:
          top: 75%
          left: 65%
      - type: state-label
        entity: sensor.gv428he_tire_pressure_rear_right
        style:
          top: 81%
          left: 65%
    image: /local/image/voiture/cx9.svg
  - type: gauge
    entity: sensor.gv428he_range_liquid
    name: Autonomie
    unit: Kms
    needle: true
    min: 0
    max: 800
    segments:
      - from: 0
        color: red
      - from: 160
        color: orange
      - from: 320
        color: yellow
      - from: 480
        color: green
      - from: 640
        color: lightgreen

Hi, i’m very interested to your very beautiful card.

Hi there, I’m interested in you code.
Also curious about your charging controls.

Thanks in advance

Hi so many vehicle cards here.

Did you guys see 🏎️ Ultra Vehicle Card - A simple and clean way to show your vehicle's information!

And this one : GitHub - ngocjohn/vehicle-status-card: Lovelace custom card for tracking Vehicle status

Is a generic still needed then?

I own a HEV Kia Sportage car and looking for a nice card too but didnt decide yet which one to go.

1 Like

Might be seen as an ass comment or I just read it too diagonally; but, I don’t see anything generic in this thread.
I was hoping to see something that would fit any car, or even better, the charging station; not car related…