A different take on designing a Lovelace UI

How about this? I don’t have mini-graph-card so it’s just a sensor card.

graph

- type: custom:button-card
  entity: sensor.sensor_hall_temperature
  name: Sensor
  state_display: >
    [[[ return ' '; ]]]
  template:
    - base
    - circle
    - icon_climate
  custom_fields:
    icon: >
      <ha-icon icon="mdi:thermometer" style="color: #9da0a2;"></ha-icon>
    circle: >
      [[[
        if (entity) {
          return `
            <svg viewBox="0 0 50 50">
              <circle cx="25" cy="25" r="20.5" stroke="none" stroke-width="1.5" fill="rgba(255,255,255,0.04)" />
              <text x="50%" y="54%" fill="#8d8e90" font-size="14" text-anchor="middle" alignment-baseline="middle" dominant-baseline="middle">${parseInt(entity.state)}<tspan font-size="10">°C</tspan></text>
            </svg>
          `;
        }
      ]]]
    graph:
      card:
        type: sensor
        entity: >
          [[[ return entity.entity_id; ]]]
        graph: line
        card_mod:
          style: |
            .header, .value, .measurement {
              display: none !important;
            }
    push_graph: >
      [[[
        setTimeout(() => {
          let elt = this.shadowRoot,
            card = elt.getElementById('card'),
            container = elt.getElementById('container'),
            graph = elt.getElementById('graph');

          if (elt && card && container && graph) {
            card.insertBefore(graph, container);
          }
        }, 0);
        return null;
      ]]]
  styles:
    custom_fields:
      graph:
        - position: absolute
        - width: 100%
        - height: 100%
        - clip-path: inset(0 round var(--custom-button-card-border-radius))
        - left: 0
        - bottom: 0
8 Likes