CTT component: tracker / acompanhamento de entregas

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)

image

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:

  1. 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.
  2. pode-se pesquisar até 25 objectos, separados por virgula (,)
  3. o exemplo de apresentação assume que já tem configurado o entity-attributes-card. Para configurar os lovelance custom-cards ver aqui
  4. 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.
  5. 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 no State a quantidade de encomendas num estado especifico como “Receção internacional”, “Em distribuição”, etc… basta usar a opção state_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

6 Likes

Mais um excelente trabalho @dpjrodrigues, particularmente a mim dá me muito jeito :slight_smile:

1 Like

Parabens pelo optimo trabalho. Mais um grande projecto Tuga no HA.

1 Like

[Edit: … isto não era bem aqui neste topico :slight_smile: era claramente directionado para o outro componente EstradasPT]
Boas,

aparentemente com a versão 0.91 houve uma alteração que fez com que o componente usado como base (camera.ffmpeg) não fosse reconhecido. Fiz uma pequena alteração já actualizada no Git que o @RodolfoVieira já testou… portanto quem tiver problemas basta actualizar com o novo ficheiro.

@dpjrodrigues
Estou com um erro, no hassio 0.92.1:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity_platform.py", line 261, in _async_add_entity
    await entity.async_device_update(warning=False)
  File "/usr/local/lib/python3.7/site-packages/homeassistant/helpers/entity.py", line 375, in async_device_update
    await self.async_update()
  File "/config/custom_components/ctt/sensor.py", line 119, in async_update
    from pyCTT import Items
ModuleNotFoundError: No module named 'pyCTT' 

Já criei o __init__.py vazio.

Obrigado.

Penso que isso n tem haver com a versão do HA. Já houve algumas pessoas com esse problema aquando da instalação de custom components.
Há quem tenha conseguido tentando apagar e reinstalar até dar… mas o mais rápido é correr “pip install pyCTT” onde tens o HA a correr.

Estou a usar Hass.io, não tenho acesso a executar a instalação pelo PIP.

@ReDaLeRt estás a correr Hassio puro no rpi? Com o raspassio com o Addon portainer depois consegues correr o pip

Puro e duro. :slight_smile:

Em ubuntu, consigo instalar o pyCTT pelo pip3, mas no hassio, não.

A versão 1.0.1 do pyCTT requer Python 3.4.2 ou superior. Não sei qual é a usada no hassio.

Tens que passar do Hassio para raspassio só vantagens :slight_smile: tens aí um tutorial fazes um Snapshot para depois o restaurares.

Pessoal… aparentemente agora com a 0.92 é preciso um outro ficheiro (manifest.json). Já está no Git… modei o link do post principal porque antes estava directo ao unico ficheiro e agora são dois.

Este tópico foi automaticamente fechado 90 dias após a última resposta. Novas respostas não são permitidas.


Copyright © 2017-2020. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade