Obtenha imagens do google street view no seu homeassistant de acordo com sua localização + card

Fala, pessoal insano do Hass :call_me_hand:

:handshake:

CARD:

20220203_131051
Créditos pela imagem: Lx8 Co

Em mais esse tutorial aqui no fórum vou ensinar exatamente o que está no título e para isso é necessário:

I - Que você crie uma conta API da Plataforma Google Maps na plataforma Google Cloud Console. Se não tem, não se preocupe pois no vídeo que deixarei linkado aqui estão todos os passos para a criação dessa API.
[Obs: assista o vídeo pelo menos até o minuto 6:35 quando ele mostra a chave API criada no projeto do para o Google Maps, peça está que é fundamental no tutorial, portanto, deixe-a salva para usar mais à frente]
→ Link para criação do seu projeto: clique aqui

Quando terminar de fazer os passos do vídeo volte aqui para o complemento (passo II).

II - Complementando, caso já tenha a API do Google Maps instalado ou já seguiu o passos do vídeo e do tutorial anteriores para a criação do seu projeto, então entre neste link e ative a Street View Static API, se não estiver ativa, devendo ficar igual à imagem abaixo (se não der certo, pesquise esse nome na lupa central, selecione ela e clique em ativar a API, conforme imagem abaixo):

III - Feito todos esses passos é interessante limitar as consultas à API do Google Street View a 645 por dia, conforme documentação semelhante elaborada pelo homeassistant para uma outra API. Para acessar a página de cotas clique aqui.

Certifique-se de que a Street View Static API esteja selecionada (círculo verde) clique nos círculos roxos 1 de cada vez, desça até o lápis e mude o limite diário de consultas ao dia ou minutos etc.

Resultados esperados:
image

IV - Em seu arquivo de configuração cameras.yaml você deverá colocar as seguintes câmeras:
[Obs: ANTES DE SALVAR A CONFIGURAÇÃO NO SEU HA MUDE OS DIZERES
SUA_CHAVE_API_AQUI PARA A SUA CHAVE API, CONFORME ORIENTAÇÃO DAS OBS. DO PASSO I E MUDE TAMBÉM OS DIZERES SEU_SENSOR_DE_DEVICE_TRACKER_AQUI PARA O SEU SENSOR:

### GOOGLE MAPS - STREET VIEW - GOOGLE CLOUD PLATFORM ###
 - platform: generic
   name: Google Street - Esquerda
   still_image_url: "https://maps.googleapis.com/maps/api/streetview?size=640x640&location={{ state_attr('SEU_SENSOR_DE_DEVICE_TRACKER_AQUI', 'latitude') }},{{ state_attr('SEU_SENSOR_DE_DEVICE_TRACKER_AQUI', 'longitude') }}&fov=120&heading=70&pitch=0&key=SUA_CHAVE_API_AQUI"
   limit_refetch_to_url_change: true

 - platform: generic
   name: Google Street - Centro
   still_image_url: "https://maps.googleapis.com/maps/api/streetview?size=640x640&location={{ state_attr('SEU_SENSOR_DE_DEVICE_TRACKER_AQUI', 'latitude') }},{{ state_attr('SEU_SENSOR_DE_DEVICE_TRACKER_AQUI', 'longitude') }}&fov=120&heading=170&pitch=0&key=SUA_CHAVE_API_AQUI"
   limit_refetch_to_url_change: true

 - platform: generic
   name: Google Street - Direita
   still_image_url: "https://maps.googleapis.com/maps/api/streetview?size=640x640&location={{ state_attr('SEU_SENSOR_DE_DEVICE_TRACKER_AQUI', 'latitude') }},{{ state_attr('SEU_SENSOR_DE_DEVICE_TRACKER_AQUI', 'longitude') }}&fov=120&heading=270&pitch=0&key=SUA_CHAVE_API_AQUI"
   limit_refetch_to_url_change: true

V - Variáveis das câmeras acima [mudar apenas números]:

qualidade máxima da imagem da câmera:
size= 640x640

mudar rotação da câmera da esquerda para direita:
heading= 0 a 360 - (suporta números negatívos também: ex. -150)

zoom:
fov= 120 a 0 - estes números vão do menor zoom (120) ao maior zoom (0)

cima/baixo:
pitch= 0 a 360

→ Tomando-se como exempo a imagem 360° cujos créditos se devem ao BENIGNO FILMMAKER postada no google maps, com as seguintes configurações temos a seguinte ótima imagem:
https://maps.googleapis.com/maps/api/streetview?size=640x640&location=-15.7906414,-47.8925772&fov=120&heading=230&pitch=20&key=SUA_CHAVE_API_AQUI

CARD PARA VISUALIZAÇÃO DAS IMAGENS
→ No HACS, na aba frontend, clique no + canto inferior direito e instale o card Swipe Card e o Stack in Card.

→ Por fim, cole o card abaixo no seu lovelace via modo manual:

cards:
  - type: entities
    entities:
      - entity: device_tracker.mi9
  - type: custom:swipe-card
    card_width: 350px
    start_card: 2
    parameters:
      effect: coverflow
      grabCursor: true
      centeredSlides: true
      slidesPerView: auto
      coverflowEffect:
        rotate: 30
        stretch: 20
        depth: 100
        modifier: 1
        slideShadows: true
      pagination:
        type: bullets
    cards:
      - type: picture-entity
        entity: camera.google_street_esquerda
        name: street view - esquerda
        camera_view: live
      - type: picture-entity
        entity: camera.google_street_centro
        name: street view - centro
        camera_view: live
      - type: picture-entity
        entity: camera.google_street_direita
        name: street view - direita
        camera_view: live
type: custom:stack-in-card

Excelente, galera. Obrigado por acompanhar e curtir o tutorial!
Estou à disposição para dúvidas, críticas e sugestões. Abs.

/////////////////////////////////////

Fontes:

2 Likes

Ola, fiz todo o passo a passo, desde a criação da API, ate colocar o codigo no card, mas esta dando erro e nao reconhece a entidade camera.google, vou deixar algumas imagens pra ver se pode me ajudar.

ai na pagina principal fica desta forma:
image

1 Like

Opah! Boa tarde, Rogério. Que tenso… mas pelo que vejo aqui não tem nenhum espaço nas linhas das câmeras aí que você mandou, antes do traço… se não for isso pq acho que tem como fazer sem o espaço mesmo, pode ser que faltou alguma coisa pra substituir no código lá… tipo a chave API… já mudou lá né? Caso esteja tudo ok aí, talvez seja a latitude e longitude que a câmera está pegando do seu sensor que está incompatível com o que eles usam… mas de fato não sei o motivo dos erros… joga esse link na barra de pesquisa do navegador e só muda a sua chave API no final aqui para testar se aparece a imagem:

https://maps.googleapis.com/maps/api/streetview?size=640x640&location=-15.7906414,-47.8925772&fov=120&heading=230&pitch=20&key=API

Revisei todo o processo e nao encontrei nada de errado aparentemnete, seguindo conforme o topico.

Revise o arquivo e nas 3 linhas do codigo, troquei os sensores duas vezes em cada linha e no final esta a chave API.

Testei tbem o link que vc mandou e coloquei a minha chave API no final e a imagem aparece igual ao seu topico.

A unica coisa que achei estranha é sobre a entidade que esta dando erro no card… essa entidade nao deveria estar no arquivo que fica junto com a chave API e os sensores?

1 Like

Poxa, que pena, man…

No caso as entidades de câmera você diz? se eu entendi direito, a resposta é não pq é de lá que eu extraio as imagens para o card… É essa a dúvida? pode corrigir se eu não entendi aí, man…

Se está tudo ok, então uma última hipótese que proponho aqui é se você não deixou passar batido de incluir o arquivo cameras.yaml no seu arquivo de configuração, conforme imagem aqui:

image

Cara acho que era isso mesmo, rsrsrs
veja como esta a imagem agora, só esta desta forma pois aonde estou nao tem passagem do Street View, mas acredito que esta tudo certo, agora

Vlw pelo help :wink:
image

1 Like

top man! boa… tmj
sobre essa imagem branca aqui já ocorreu uma vez aqui… mas voltou ao normal quando eu dei um restart geral no HA mesmo… não sei se é o mesmo problema aí
é… realmente se não tiver nada do google street por perto não vai mesmo…
uma opção seria usar a API das imagens do google via satélite mesmo… ainda não fiz tutorial pq não resolvi um problema de marcação exata de onde estou, mas encaminho o link aqui para entender:

Top, quando fizer manda ai no forum.
A marcação do local eu estou usando o APP life 360, é muito preciso e com ele que eu faço as automações de chegar e sair de casa :wink:
Vlw pelo help ate agora

1 Like

Mando sim, manim…
Bem interessante isso lá… só falta esse detalhe heh
Por aqui já tentei esse life e não aparecia nem o sensor… desisti msm e fui pra um mais simples, mas q funciona tbm…
Tmj! Precisando só falar aí… vou ver a questão do mapa lá e aviso

Mals a demora, manim… Está aqui: Obtenha imagens detalhadas de satélite do Google Maps de acordo com sua localização + card