(nicht angezeigter) Fehler im Markdown für Tankerkönig

Fortsetzung der Diskussion von Markdown Card Tankerkönig:

Guten Abend,

da der verlinkte Eintrag bereits gelöst wurde, es aber damit zu tun hat,
erstelle ich diesen neuen Eintrag.
Ich habe ebenfalls ein Problem bezüglich Markdown für die Tankerkönig-Integration. (Ich nutze die Integration und gehe nicht über configuration.yaml, falls das wichtig ist)
Vorab, ich frage ich 4 Tanken mit drei Benzintypen (eben Diesel, E5 und E10) ab.
Grundsätzlich habe ich auch alles am Laufen.
Zuerst hatte ich ein Problem, weil alle Preise zwar sortiert,
aber nicht nach Fuel_Type gruppiert angezeigt wurden, sondern alles direkt untereinander.
Das habe ich nun hinbekommen, indem ich einfach drei Gruppen erstellt habe.
Vielleicht geht es auch einfacher mit nur einer Gruppe und einer Anpassung im Markdown-Code,
aber es klappt auch so. Fast zumindest…
Nun zum Problem: Ich bekomme die Logos nicht eingebunden.
Sobald ich die If’s einbaue wird gar nichts mehr angezeigt. Es gibt aber auch keinen Fehler.
(Konfiguration prüfen ist i.O.). Als alles untereinander gezeigt wurde, also mit nur einer Gruppe,
hat es zumindest mal mit einem Logo geklappt (bei den anderen haperte es wohl an der Größe).
Mit drei Gruppen klappt es nicht.
Hier mal der Code des Markdowns, wie er grundsätzlich funktioniert:

# Diesel: {% for entity in  expand('group.all_fuel_sensors_diesel') |
sort(attribute='state') |
map(attribute='entity_id') |
map('string') | list %}
  {{state_attr(entity, "brand")}} ({{state_attr(entity, "street")}})-({{state_attr(entity,"fuel_type")}})
  ## {{states(entity) }} €
  ***
{% endfor%}
# E5: {% for entity in  expand('group.all_fuel_sensors_e5') |
sort(attribute='state') |
map(attribute='entity_id') |
map('string') |
list %}
  {{state_attr(entity, "brand")}} ({{state_attr(entity, "street")}})-({{state_attr(entity,"fuel_type")}})
  ## {{states(entity) }} €
  ***
{% endfor%}
# E10: {% for entity in  expand('group.all_fuel_sensors_e10') |
sort(attribute='state') |
map(attribute='entity_id') |
map('string') |
list %}
  {{state_attr(entity, "brand")}} ({{state_attr(entity, "street")}})-({{state_attr(entity,"fuel_type")}})
  ## {{states(entity) }} €
  ***
{% endfor%}

Wenn ich die Logos einbaue, erscheint nichts mehr:
Beispiel Diesel:

# Diesel: {% for entity in  expand('group.all_fuel_sensors_diesel') |
sort(attribute='state') |
map(attribute='entity_id') |
map('string') | list %}
  {% if 'Aral' in state_attr(entity, "station_name") %} 
    ![Image](/local/tanke/aral.png) 
  {% elif 'bft' in state_attr(entity, "station_name") %} 
    ![Image](/local/tanke/bft.png) 
  {% elif 'JET' in state_attr(entity, "station_name") %} 
    ![Image](/local/tanke/jet.png) 
  {% elif 'ORLEN' in state_attr(entity, "station_name") %} 
    ![Image](/local/tanke/orlen.png)     
  {{state_attr(entity, "brand")}} ({{state_attr(entity, "street")}})-({{state_attr(entity,"fuel_type")}})
  ## {{states(entity) }} €
  ***
{% endfor%}

Hat da jemand einen Tip?

@Brater

mmh… es sieht “fast” aus wie bei mir mit einem Unterschied, bei Dir " und bei mir ’ (Hochkomma).

{% if 'Shell' in state_attr(tanke,'friendly_name') %}
  ![Image](/local/Images/Shell.jpg)

Gruß
Frank

Macht leider keinen Unterschied…

Edit: oben gelöscht, weil ich mich selber zitiert hatte :smiley:

Naja,
dann erstmal keine weitere Idee. Es sieht aus wie bei mir.
Frank

Trotzdem Danke. Ich tüftel mal weiter.

Ich glaube Dir fehlt das beenden der IF Schleife.
Funktionieren sollte:

1 „Gefällt mir“

Ich danke Dir. :+1:
Manchmal sieht man vor lauter Bäumen den Wald nicht. :man_facepalming:


An der Grafikgröße muss ich noch was drehen, aber das ist ja ein Kinderspiel.

1 „Gefällt mir“

Hi, kannst du vielleicht nochmal den finalen Code posten oder mir schicken ? Irgendwie verzweifle ich an dem Thema :wink:
Es wäre natürlich auch super zu wissen ob du mittlerweile das Thema mit der Grafikgröße gelöst hast damit alles gleich groß aussieht.
Vielen Dank für deine Mühe.
Reimar

Hallo @remiku
Dies ist der finale Code am Beispiel E10:

# E10: {% for entity in  expand('group.all_fuel_sensors_e10') |
sort(attribute='state') |
map(attribute='entity_id') |
map('string') | list %}
  {% if 'Aral' in state_attr(entity, "station_name") %} 
 ![Image](/local/tanke/aral.png) 
  {% elif 'bft' in state_attr(entity, "station_name") %} 
 ![Image](/local/tanke/bft.png) 
  {% elif 'JET' in state_attr(entity, "station_name") %} 
 ![Image](/local/tanke/jet.png) 
  {% elif 'ORLEN' in state_attr(entity, "station_name") %} 
  ![Image](/local/tanke/orlen.png)
  {% endif %}
  {{state_attr(entity, "brand")}} ({{state_attr(entity, "street")}})
  ## {{states(entity)|regex_replace(find='unknown', replace='<font color=red>geschlossen</font>', ignorecase=False)  }} €
  ***
{% endfor%}

Das ganze kommt in eine Markdown-Card.

2 „Gefällt mir“

Hi,
wie lautet denn der richtige Pfad zu diesem Ordner?

Egal ob mit oder ohne “homeassistant” wird keine Grafik angezeigt:

Ich habe mir dir Preise auch mal farblich sortiert (dunkelgrün an günstigsten, rot an teuersten):


Gibt es eine Möglichkeit, dass die Abstufungen sich je nach Preisentwicklung anpasst?
Wenn die Preise z.B. unter 1,42 € sinken, dass die Abfrage für

{% elif price >= 1.42 %}
–card-mod-icon-color: green;

auf z.B {% elif price >= 1.40 %} sinkt?

type: horizontal-stack
cards:
  - type: tile
    entity: sensor.tankerkoenig_shell_xy_diesel
    icon: mdi:gas-station
    secondary_info: last-changed
    name: Shell
    features_position: bottom
    vertical: true
    hide_state: false
    show_entity_picture: false
    card_mod:
      style: |
        :host {
              {% set price = states('sensor.tankerkoenig_shell_xy_diesel') | float(0) %}
                  {% if price >= 1.6 %}
                  --card-mod-icon-color: darkred;
                  {% elif price >= 1.55 %}
                  --card-mod-icon-color: red;
                  {% elif price >= 1.53 %}
                  --card-mod-icon-color: orange;
                  {% elif price >= 1.50 %}
                  --card-mod-icon-color: yellow;
                  {% elif price >= 1.45 %}
                  --card-mod-icon-color: lightgreen;
                  {% elif price >= 1.42 %}
                  --card-mod-icon-color: green;
                  {% endif %}
                }

Ich habe auf einen Tablet eine andere Anzeige:


(aktuell beide grau da geschlossen)

type: horizontal-stack
cards:
  - type: tile
    entity: sensor.tankerkoenig_shell_xy_diesel
    icon: mdi:gas-station
    name: Shell - Diesel
    features_position: bottom
    vertical: true
    hide_state: false
    show_entity_picture: false
    state_content:
      - last_updated
      - state
    card_mod:
      style: |
        :host {
              {% set price = states('sensor.tankerkoenig_shell_xy_diesel') | float(0) %}
                  {% if price >= 1.6 %}
                  --card-mod-icon-color: darkred;
                  {% elif price >= 1.55 %}
                  --card-mod-icon-color: red;
                  {% elif price >= 1.53 %}
                  --card-mod-icon-color: orange;
                  {% elif price >= 1.50 %}
                  --card-mod-icon-color: yellow;
                  {% elif price >= 1.45 %}
                  --card-mod-icon-color: lightgreen;
                  {% elif price >= 1.42 %}
                  --card-mod-icon-color: green;
                  {% endif %}
                }
  - type: tile
    icon: mdi:gas-station
    features_position: bottom
    vertical: true
    entity: sensor.tankerkoenig_xyz_diesel
    name: xyz - Diesel
    state_content:
      - last_updated
      - state
    card_mod:
      style: |
        :host {
              {% set price = states('sensor.tankerkoenig_xyz_diesel') | float(0) %}
                  {% if price >= 1.6 %}
                  --card-mod-icon-color: darkred;
                  {% elif price >= 1.55 %}
                  --card-mod-icon-color: red;
                  {% elif price >= 1.53 %}
                  --card-mod-icon-color: orange;
                  {% elif price >= 1.50 %}
                  --card-mod-icon-color: yellow;
                  {% elif price >= 1.45 %}
                  --card-mod-icon-color: lightgreen;
                  {% elif price >= 1.42 %}
                  --card-mod-icon-color: green;
                  {% endif %}
            }
show_name: true
show_icon: true
grid_options:
  columns: full
  rows: 1.95

Gibt es eine Möglichkeit, hier Bilder zu implementieren UND diese z.B. durch einen Hintergrund farblich zu unterschieden?

Moin,

Du kennst die HACS Erweiterung

Schade wieder nur Bilder, aus denen man nichts zitieren kann, aber Du solltest eigene Bilder hier ablegen

➜  ~ ls -la config/www/images 
total 28
drwxr-xr-x    7 root     root          4096 Mar 19  2025 .
drwxr-xr-x   10 root     root          4096 Sep  8 19:20 ..
drwxr-xr-x    2 root     root          4096 Jan  1  2024 backgrounds
drwxr-xr-x    2 root     root          4096 Jan  2  2025 garbage_cans
drwxr-xr-x    2 root     root          4096 Nov  4  2024 gastherme
drwxr-xr-x    2 root     root          4096 Jan  1  2024 personen
drwxr-xr-x    2 root     root          4096 Jul 24  2024 tanken

Z. B. in tanken, dann sollte der Pfad, so sein

/local/images/tanken/Bft.png

VG
Bernd

1 „Gefällt mir“

Moin,
nope, die ist mir neu, danke.