Benachrichtigungen
Alles löschen

[Gelöst] Rückgabe aus einer Aktion für das Dashboard aufbereiten...

16 Beiträge
2 Benutzer
2 Reactions
375 Ansichten
 Olli
(@olli)
Mitglied Admin
Beigetreten: Vor 10 Jahren
Beiträge: 740
 

@gunni Bei meiner Lösung habe ich ergänzt, wie man auf die Attribut-Daten zugreift.


   
AntwortZitat
(@gunni)
Eminent Member
Beigetreten: Vor 9 Monaten
Beiträge: 32
Themenstarter  

Hallo Olli,

Danke für deine Hilfe ich habe nun wieder die "alte" Funktionaltität.

Falls das jemand auch nachbauen muss bzw. will, stelle ich hier meine Arbeit Online:

So sieht das Dasboard dafür aus:

Screenshot 2025 05 11 143124

Dazu habe ich vier Template-Sensoren erstellt die alle fünf Minuten den Zustand abfragen:

  - trigger:
      - platform: time_pattern
        minutes: "/5"
    action:
      - action: seventeentrack.get_packages
        data:
          config_entry_id: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
          package_state:
            - in_transit
        response_variable: pakete_unterwegs
    sensor:
      - name: SevTrackPaketeUnterwegs
        unique_id: seventeentrack_packages_in_transit
        state: "{{ now().isoformat() }}"
        icon: mdi:truck-delivery-outline
        attributes:
          packages: "{{ pakete_unterwegs.packages }}"
          
  - trigger:
      - platform: time_pattern
        minutes: "/5"
    action:
      - action: seventeentrack.get_packages
        data:
          config_entry_id: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
          package_state:
            - not_found
        response_variable: pakete_not_found
    sensor:
      - name: SevTrackPaketeNichtgefunden
        unique_id: seventeentrack_packages_not_found
        state: "{{ now().isoformat() }}"
        icon: mdi:package-variant-closed
        attributes:
          packages: "{{ pakete_not_found.packages }}"

  - trigger:
      - platform: time_pattern
        minutes: "/5"
    action:
      - action: seventeentrack.get_packages
        data:
          config_entry_id: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
          package_state:
            - delivered
        response_variable: pakete_geliefert
    sensor:
      - name: SevTrackPaketeGeliefert
        unique_id: seventeentrack_packages_delivered
        state: "{{ now().isoformat() }}"
        icon: mdi:checkbox-marked-circle-outline
        attributes:
          packages: "{{ pakete_geliefert.packages }}"

  - trigger:
      - platform: time_pattern
        minutes: "/5"
    action:
      - action: seventeentrack.get_packages
        data:
          config_entry_id: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
          package_state:
            - ready_to_be_picked_up
        response_variable: pakete_pickup
    sensor:
      - name: SevTrackPaketeBereitzurAbholung
        unique_id: seventeentrack_packages_pickup
        state: "{{ now().isoformat() }}"
        icon: mdi:package-variant-closed
        attributes:
          packages: "{{ pakete_pickup.packages }}"
		  

 

Für das Dashboard habe ich Markups erstellt mit der Prüfung ob Pakete vorhanden sind (>0):

 

type: conditional
conditions:
  - entity: sensor.seventeentrack_packages_in_transit
    state_not: "0"
card:
  type: markdown
  content: >-
    <h1><font color="#f0c216"><ha-icon
    icon="mdi:truck-delivery-outline"></ha-icon> Pakete auf dem Weg

    </font></h1>

    {% for package in
       states.sensor.sevtrackpaketeunterwegs.attributes.packages %}
    ***
      >- **{{ package.friendly_name }} ({{ package.tracking_number }}):** 
        {{ package.info_text }}
        **Stand:** {{ (package.timestamp | as_datetime).strftime('%d.%m.%Y - %H:%M Uhr') }} 
        **Wo ist das Paket derzeit:**
        {{ package.location }}

      {% endfor %}
    ***

type: conditional
conditions:
  - entity: sensor.seventeentrack_packages_ready_to_be_picked_up
    state_not: "0"
card:
  type: markdown
  content: >-
    <h1><font color="#3358ff"><ha-icon
    icon="mdi:package-variant-closed"></ha-icon> Pakete in Zustellung

    </font></h1>



    {% for package in
      states.sensor.sevtrackpaketebereitzurabholung.attributes.packages %}
    ***
      >- **{{ package.friendly_name }} ({{ package.tracking_number }}):** 
        {{ package.info_text }}


      {% endfor %}
    ***


type: conditional
conditions:
  - entity: sensor.seventeentrack_packages_not_found
    state_not: "0"
card:
  type: markdown
  content: >-
    <h1><font color="#800080"><ha-icon
    icon="mdi:package-variant-closed"></ha-icon> Pakete unbekannt

    </font></h1>


    {% for package in
      states.sensor.sevtrackpaketenichtgefunden.attributes.packages %}
      >- **{{ package.friendly_name }}**
         ({{ package.tracking_number }})
    {% endfor %} ***

type: conditional
conditions:
  - entity: sensor.seventeentrack_packages_delivered
    state_not: "0"
card:
  type: markdown
  content: >-
    <h1>

    <h1><font color="#30a414"><ha-icon
    icon="mdi:checkbox-marked-circle-outline"></ha-icon> Pakete geliefert


    </font></h1>

    {% for package in
      states.sensor.sevtrackpaketegeliefert.attributes.packages %}
    ***
      >- **{{ package.friendly_name }} ({{ package.tracking_number }}):** 
           {{ package.info_text }}

      {% endfor %}
    ***

Viele Grüße
Gunter

 

 


   
Olli reacted
AntwortZitat
Seite 2 / 2

Produktempfehlungen