als Umsteiger von openhab 3 auf HA versuche ich zunächst einmal, meine bevorzugten Module zum Laufen zu bringen. Das gelingt mir bisher eigentlich auch ganz gut.
Aktuell habe ich allerdings das Problem, unter Tankerkönig eine Liste nach Preisen zu erstellen. Als Vorlage diente mir dieses 3 Jahre alte YT-Video:
Hier wird die Gruppe mit dem Namen “Benzinpreise” über die configurations.yaml als group.all erstellt. Ich verwende Home Assistant Core 2024.11.2 und erstelle die Gruppe über Helfer. Die Markdown Karte zum Anzeigen der bevorzugten Tankstellen funktioniert auch.
Das Video habe ich jetzt mehrfach mit meiner Konfiguration abgeglichen und hier im Forum nach Lösungen gesucht, eine Sortierung nach Preisen gelingt mir allerdings nicht. Kann es eventuell daran liegen, dass die Gruppen in den aktuellen Versionen anders erzeugt werden?
Vielleicht hat jemand damit schon Erfahrung gemacht und kann mir einen Tip geben.
type: markdown
content: >-
# E5: {% for entity in expand('group.benzinpreise') | sort(attribute='state')
| map(attribute='entity_id') | map('string') | list %}
{% if 'Shell' in state_attr(entity, "friendly_name") %}

{% elif 'JET' in state_attr(entity, "friendly_name") %}

{% endif %}
{{state_attr(entity, "friendly_name")}}
## {{states(entity) }} €
***
{% endfor%}
Die habe ich bereits integriert. Mit der Markdown Karte sollen dann noch jeweils die günstigsten Tankstellen, sortiert in absteigender Reihenfolge angezeigt werden.
Vielen Dank - leider bekomme ich mit dem Code nicht die gewünschte Sortierung angezeigt. Die Tanke mit dem niedrigsten Preis zuerst, danach in aufsteigender Reihenfolge. Mit “sort: by: state” und “desc: false” habe ich bereits ein wenig experimentiert, aber ohne Erfolg. Vielleicht hast du ja noch eine Idee?
Von HA bin ich eigentlich sehr begeistert. Was mir jedoch aufgefallen ist, dass durch die häufigen Updates viele Anleitungen und auch Videos im Netz überholt sind.
Das ich mit “sort by state” und “desc false” schon experimentiert habe, schrieb ich bereits oben. Das Ergebnis wird auch nicht besser, wenn ich “ascending” verwende. Und ja, so wie @maxe es beschrieben hat, ist die aktuelle Situation: das Ergebnis stimmt, nur die Sortierung nicht.
Als Umsteiger von openhab sind für mich noch einige Fragen offen. Eine davon wäre, ob beispielsweise noch Attribute hinzugefügt werden können. Vielleicht wäre dann über diesen Weg ein Lösung möglich.
type: markdown
content: >-
# Super E5:
{% for entity in (expand('sensor.benzinpreise') |
sort(attribute='state'))[0:6] | map(attribute='entity_id') | map('string') |
list %} {% if 'TotalEnergies Castroper Str. 123' in state_attr(entity,
'friendly_name') %}  {% elif 'ARAL
Friedrich-Ebert-Str. 14' in state_attr(entity, 'friendly_name') %}
 {% elif 'ARAL Kaiserstr. 145' in
state_attr(entity, 'friendly_name') %}  {%
elif 'Bavaria Bochumer Str. 1' in state_attr(entity, 'friendly_name') %}
 {% elif 'ESSO Akkoallee 63' in
state_attr(entity, 'friendly_name') %}  {%
elif 'ESSO Schützenstr. 38' in state_attr(entity, 'friendly_name') %}
 {% elif 'Freie Castroper Str. 298' in
state_attr(entity, 'friendly_name') %}  {%
elif 'JET Kurt-Schumacher-Allee 5' in state_attr(entity, 'friendly_name') %}
 {% elif 'Markant Herner Str. 249' in
state_attr(entity, 'friendly_name') %}  {%
elif 'Markant Resser Weg 20' in state_attr(entity, 'friendly_name') %}
 {% elif 'Shell Hertener Str. 100' in
state_attr(entity, 'friendly_name') %}  {%
elif 'Shell Blitzkuhlenstr. 97' in state_attr(entity, 'friendly_name') %}
 {% endif %}
{{state_attr(entity, "friendly_name")}}
{% set superpreis = states(entity) %}
{% if superpreis != 'unknown' %}
## Preis: {{ '%.3f' | format(superpreis | float) }} €
{% else %}
## Die Tankstelle ist geschlossen
{% endif %}
***
{% endfor%}
Wem die Icon zu groß sind, kann natürlich kleinere einfügen. Die Anzahl der angezeigten Tankstellen werden durch die in Klammern gesetzten Werte (0:6) bestimmt. Bei Bedarf kann die Anzeige natürlich erhöht, oder sogar eine zweite Karte (dann 5:xx) mit weiteren Tanken angelegt werden.