Camera component: Cameras de transito Estradas.pt


(Diogo Rodrigues) #1

Olá a todos,

No seguimento de um desafio do @RodolfoVieira e com o intuito de aprender mais umas coisas de Python e da framework do Home Assistant desenvolvi uma nova plataforma para o componente camera para aceder às camaras do estradas.pt
Inicialmente a coisa parecia relativamente fácil e apesar de funcionar (no meu caso) complicou-se porque o setup seria sempre diferente dependendo do hardware e distribuição de cada um.
No fim, com o suporte de um colega do grupo internacional que o @RodolfoVieira contactou, encontramos uma solução ainda mais fácil via API (pois está aberta… para já).

image

Instruções:
1.Fazer download destes ficheiros e colocar em config\custom_components\estradas_pt\
2.Configurar yaml. (o nome da camara (input) tem de ser precisamente o mesmo que está no site das estradas.pt)

Na imagem abaixo podes ver como fazer para copiar os nomes das cameras:

camera:
  - platform: estradas_pt
    name: testCam1
    input: '2ª Circular, km 3 - Radar Aeroporto'
  - platform: estradas_pt
    name: testCam2
    input: 'AEDL - A20 9+840C CV727'

Para adicionar o card no lovelace será esta a configuração que terás que usar:

type: horizontal-stack
cards:
  - camera_image: camera.testCam1
    entity: camera.testcam1
    type: picture-entity
  - camera_image: camera.testCam2
    entity: camera.testcam2
    type: picture-entity

Vê o video abaixo como fazer :arrow_down:

Nota: Esta plataforma foi feita com base no camera.ffmpeg portanto podem usar todas as sua possibilidades de configuração (com a excepção do input que é neste caso o nome da camara em vez de um url).
Atenção que o ffmpeg que é conhecido por alguma instabilidade e comportamentos diferenciados dependendo do hardware e não só. Exemplo disso é que por exemplo nem todos podem usar o extra_arguments: '-q:v 2' para melhorar a qualidade

Por fim e não menos importante, agradecer também ao @dgomes pelas dicas. Qualquer duvida ou sugestão para possível melhoramento é bem vinda
Obrigado


(Rodolfo) #2

Excelente trabalho Diogo mais uma vez :slight_smile: que este não seja o teu último custom_component :wink:
A malta agora já pode receber nos seus “telegrams” umas imagens do transito antes de sair de casa e de ligar o Waze


(Diogo Rodrigues) #3

A titulo de exemplo fica aqui também como foram configurados os cards que estão na imagem em cima:

1. No Config UI (acessivel pelo menu dos 3 pontos do lado direito em cima) carregar no botão adicionar (+) e depois escolher Manual card


2. Fazer paste do código em baixo:

type: horizontal-stack
cards:
  - camera_image: camera.testCam1
    entity: camera.testcam1
    type: picture-entity
  - camera_image: camera.testCam2
    entity: camera.testcam2
    type: picture-entity

(João Resende) #4

Não existe a hipótese de colocar “à moda antiga” ?

Transito:
  name: Trânsito
  entities:
    - camera.gaia-freixo
    - camera.gaia-arrabida

O objectivo seria colocar um titulo para o card. Sabem como fazer ? Obrigado


(Rodolfo) #5

@imaNuS a moda antiga porque? tas com que versão do HA?
O título que queres dar é na própria imagem? Se vires nas imagens acima elas aparecem com um nome de testeCam1 é isso que te referes?


(João Resende) #6

@RodolfoVieira , não me expliquei bem…se existe maneira de colocar o titulo no card . Tal como se faria no yaml.


(karma) #7

Boas!
As imagens destas cameras dá para adicionar no HAdashboard?


(Jorge Assunção) #8

Tens de adicionar title: Titulo do Cartão ao código. Esta informação está na página oficial do Lovelace.


(Rodolfo) #9

Sim, dá é igual como farias com outras.


(Ricardo Pinto) #10

Excelente trabalho, já implementei! Estão de parabéns!


(MRodrigues) #11

Viva!

Segui as instruções, mas tenho seguinte erro no logfile:

Unable to find component camera.estradas_pt

Eu coloquei dentro do meu diretório habitual de custom_componentes o seguinte:
custom_components/estradas_pt/camera.py

Na configuração fiz copy/paste do que temos aqui. Onde estarei a falhar?


(Rodolfo) #12

@mfrodrigues como estás a usar o HA?
Hassio? Raspassio? Armassio? Vm?
Diz para ser mais fácil o @dpjrodrigues te ajudar.


(Jorge Assunção) #13

@mfrodrigues
Experimenta reiniciar a máquina onde tens o HA mais uma ou duas vezes


(Diogo Rodrigues) #14

se o que o @j_assuncao disse não funcionar. Podes mostrar o erro completo do log?
Fizeste download do ficheiro ou copy paste do git?.. convem fazer mesmo download do file.


(MRodrigues) #15

Obrigado pelo feedback!

Eu estou a usar o hassio.

Fiz um wget para a pasta diretamente do url raw:
https://raw.githubusercontent.com/dpjrodrigues/home-assistant-custom-components/master/estradas_pt/camera.py

Entretanto já andava para atualizar o HA porque a minha versão era de Dezembro e a preguiça era grande por causa das breaking changes nos nomes de entidades. Como poderia estar relacionado estou neste momento a fazer upgrade para a última versão do HA.

@dpjrodriguesm, infelizmente esta linha é a única informação que tenho no log. O resto (acima ou abaixo) são os outros custom_components a serem carregados.

Eu de facto não tinha feito restart à máquina. Fiz apenas ao HA. Mal o upgrade termine (ainda será demorado), farei o restart e depois darei feedback.

Obrigado!


(MRodrigues) #16

Agora com a versão mais recente do HA já consigo carregar o custom component sem problemas. Quando acedo à pagina states vevo inclusivamente a entidade bem criada com o url do video.

Demorei mais porque na atualização tive que mudar o broadlink que ficou deprecated e mudar algumas configs.

Mas depois de arrancar eu não consigo ver a imagem. Eu tenho câmeras mas não uso ffmpeg e apenas este usa. O que vejo no config é que o binário ffmpeg não foi encontrado.

O raspbian nao tem o binario nas sources e tenho de o compilar de raiz o que vai demorar uma eternidade neste raspberry.

Eu fiz a instalação directa do binario via este site:
https://johnvansickle.com/ffmpeg/

O erro desapareceu mas continuo a não ver imagem. Mas fico com pouca fé da instalação do binário.

Alguém passou pelo mesmo?


(Rodolfo) #17

@mfrodrigues podes responder à minha pergunta que te fiz mais acima?


(Diogo Rodrigues) #18

Em cima tinhas dito que estavas a usar Hassio… se for esse o caso o binario já lá está. Se é efectivamente outro ambiente então o melhor é seguir as instruções que estão no componente do ffmpeg


(MRodrigues) #19

Viva,

@RodolfoVieira e @dpjrodrigues desculpem, mas eu estava baralhado. Ainda tinha a minha primeira instalação feita há mais de 1 ano e por estupidez deduzi que era hassio porque o binário se chamava “hass”.

Eu já andava há uns tempos para fazer isto como deve ser e depois de ler muito no fórum, ontem foi o dia! Agora sim, já tenho certezas do que tenho :slight_smile:

Agora, estou a usar HASS.IO, com instalação via Docker, com gestão via Portainer, para facilitar os meus primeiros passos em Docker. Arrependo-me de não ter feito isto antes, pela simplicidade de tudo.

E de facto para ter este componente a funcionar, bastou seguir as instruções que funcionou tudo a 100%. Está perfeito.

@dpjrodrigues, parabéns pelo trabalho!


(system) fechado #20

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