[Git atualizado com as alterações necessárias para correr com versão 2021.12.9]
Olá a todos,
já existe um componente de tracking de encomendas (AfterShip) que funciona com os CTT mas é mais genérico, necessita de ter conta criada, tem um delay nas actualizações e também não contem muito detalhe.
Por tudo isto fiz este componente que usa o tracking de encomendas dos CTT para me ajudar a controlar a mudança de estado das encomendas sem ter que andar a ver manualmente
(sendo que só mostra conteúdo mais detalhado quando chega a Portugal… nomeadamente alfandega e afins)
Instruções:
1.Fazer download destes ficheiros e colocar em config\custom_components\ctt\
2.Configurar yaml como no exemplo em baixo. No input_entity_id
tem que se colocar o input_text que servirá para descriminar dinamicamente quais os números de encomenda que querem monitorizar
sensor:
- platform: ctt
name: ctt_tracking
input_entity_id: input_text.ctt_tracking_ids
input_text:
ctt_tracking_ids:
name: List of CTT tracking IDs
initial: LM417779776CN,LM417779766CN,LX600717217NL,LX581418164NL,LX581455065NL,LX581431850NL
Exemplo de visualização usando o custom card entity-attributes-card
(ver nota 3 em baixo)
title: CTT
show_header_toggle: false
type: entities
entities:
- entity: input_text.ctt_tracking_ids
name: Lista de encomendas
- entity: sensor.ctt_tracking
name: Numero de pacotes por entregar
- entity: sensor.ctt_tracking
filter:
exclude:
- key: sensor.ctt_tracking.icon
- key: sensor.ctt_tracking.friendly_name
- key: sensor.ctt_tracking.Number of Items Delivered
- key: sensor.ctt_tracking.Number of Items Not Delivered
- key: sensor.ctt_tracking.custom_ui_state_card
include:
- key: sensor.ctt_tracking.*
type: 'custom:entity-attributes-card'
Notas:
- Independentemente do que se mete no yaml como
initial
no input_text quando no UI se altera o seu conteúdo, o componente actualiza automaticamente os estados com base no novo conteúdo do input_text. - pode-se pesquisar até 25 objectos, separados por virgula (,)
- o exemplo de apresentação assume que já tem configurado o
entity-attributes-card
. Para configurar os lovelance custom-cards ver aqui - Durante os testes descobri que o site dos CTT tem um bug com números de encomenda começados por “UN”. Não os consegue identificar e também (quando usado numa lista com outros números) faz com que nenhum funcione.
- O componente (tal como configurado no exemplo em cima) mostra no
State
o número de encomendas por entregar e nos atributos mostra outra informação relevante:
No entanto se quiserem monitorizar noState
a quantidade de encomendas num estado especifico como “Receção internacional”, “Em distribuição”, etc… basta usar a opçãostate_to_count: "<estado>"
Exemplo:
sensor:
- platform: ctt
name: ctt_custom
input_entity_id: input_text.ctt_tracking_ids
state_to_count: "Objeto entregue"
PS - Não tive oportunidade de fazer muitos testes… mas se tiverem algum problema ou sugestão é só dizer