Как связаны Home Assistant и посылки? Home Asssitant это система умного дома и посылку тоже можно доставить на дом.
На самом деле никак не связаны. Просто я бы хотел держать информацию о посылках всегда перед глазами, чтобы не нужно было постоянно заходить на сайт почты. А так как я часто заглядываю в панель управления Home Assistant, то почему бы не выводить статус посылок туда?
Если интересно, то сейчас расскажу, как сделать такие же карточки:
Итак, интеграция с 17TRACK
В Home Assistant из коробки есть интеграция с сервисом отслеживания посылок 17TRACK. Поэтому для начала нужно зарегистрироваться в 17TRACK, добавить нужные посылки и дать им имена:
Затем, чтобы подключить 17TRACK к Home Assistant, нужно добавить в configuration.yaml
следующее:
После перезапуска Home Assistant добавятся несколько сенсоров. Нас в первую очередь интересуют вот эти три:
sensor.seventeentrack_packages_in_transit
— посылки в пути;sensor.seventeentrack_packages_ready_to_be_picked_up
— посылки, готовые к получению;sensor.seventeentrack_packages_undelivered
— по сути, тоже готовые к получению, только со статусом «Неудачная попытка вручения».
Карточки в Lovelace
Осталось красиво вывести это все на панель управления. Для этого нам понадобится добавить как минимум по одной карточке на каждый из трех сенсоров.
Вот, например, конфиг для отображения первой посылки из списка «В пути»:
Но что, если в данный момент нет никаких посылок в пути? А что, если их больше одной? В этом случае просто нужно добавить по карточке под каждую посылку и обернуть каждую карточку в условие (conditional).
В итоге конфиг целиком выглядит следующим образом:
type: grid
columns: 1
square: false
cards:
- type: conditional
conditions:
- condition: numeric_state
entity: sensor.seventeentrack_packages_ready_to_be_picked_up
above: 0
card:
type: custom:mushroom-template-card
entity: sensor.seventeentrack_packages_ready_to_be_picked_up
primary: "{{ state_attr(entity, 'packages')[0].friendly_name }}"
icon: mdi:package
icon_color: var(--rgb-blue)
badge_icon: mdi:flag
badge_color: var(--rgb-green)
- type: conditional
conditions:
- condition: numeric_state
entity: sensor.seventeentrack_packages_undelivered
above: 0
card:
type: custom:mushroom-template-card
entity: sensor.seventeentrack_packages_undelivered
primary: "{{ state_attr(entity, 'packages')[0].friendly_name }}"
icon: mdi:package
icon_color: var(--rgb-blue)
badge_icon: mdi:flag
badge_color: var(--rgb-orange)
- type: conditional
conditions:
- condition: numeric_state
entity: sensor.seventeentrack_packages_in_transit
above: 0
card:
type: custom:mushroom-template-card
entity: sensor.seventeentrack_packages_in_transit
primary: "{{ state_attr(entity, 'packages')[0].friendly_name }}"
secondary: >-
{{ state_attr(entity, 'packages')[0].timestamp.strftime('%d.%m') }} • {{ state_attr(entity, 'packages')[0].info_text }}
icon: mdi:package
icon_color: var(--rgb-blue)
badge_icon: mdi:airplane
badge_color: var(--rgb-accent-color)
- type: conditional
conditions:
- condition: numeric_state
entity: sensor.seventeentrack_packages_in_transit
above: 1
card:
type: custom:mushroom-template-card
entity: sensor.seventeentrack_packages_in_transit
primary: "{{ state_attr(entity, 'packages')[1].friendly_name }}"
secondary: >-
{{ state_attr(entity, 'packages')[1].timestamp.strftime('%d.%m') }} • {{ state_attr(entity, 'packages')[1].info_text }}
icon: mdi:package
icon_color: var(--rgb-blue)
badge_icon: mdi:airplane
badge_color: var(--rgb-accent-color)
YAML выше достаточно скопировать и добавить как карточку с ручной настройкой:
В итоговом виджете получим:
- По одной карточке для посылок со статусом «Готово к выдаче» и «Неудачная попытка вручения»;
- И не больше двух карточек для посылок в пути.
Если нужно отслеживать большее количество посылок, то дополнительные карточки можно добавить по аналогии.
Удачных вам покупок! 🙂