Configurar Google Maps como Device Tracker

Esta integração permite detectar a presença de usuários do Google Maps através de um API não oficial.

Apesar de uma integração antiga e de implementação não intuitiva, ela tem fortes ponto positivos fortes:

  • Estável
  • Utiliza uma aplicação bastante comum. Há poucas chances de você precisar instalar
  • Compatível com Android e IOS: Para quem precisa localizar dispositivos destes dois SO, pode utilizar apenas 1 integração, diminuindo a complexidade.

Para sua implementação você irá precisar de:

  • Uma conta auxiliar do Google que será utilizada por esta integração
  • Chrome ou Edge instalado em seu computador.

Como esta integração funciona:
A integração acessa a conta auxiliar, verifica as contas que estão compartilhando a localização com com esta conta e cria uma entidade do tipo device tracker para cada com a localização adquirida pelo Google Maps.

INSTALAÇÃO - 1: Compartilhamento de Localização (Android. Algo similar no iPhone)

  1. No celular da pessoa que você precisa obter a localização, entre na aplicação Google Maps.
  2. No canto superior direito, pressione na foro da pessoa dona do celular.
  3. No menu que se abre, selecione a opção “Compartilhar Local”.
  4. No canto inferior direito, selecione no icone com o sinal de “+”.
  5. Na janela que abre, selecione “Até você desativar”.
  6. Ainda na janela, em “sugestões”, role para o final das sugestões e clique em “Mais”.
  7. Digite o e-mail ou o usuário da conta auxiliar criada para o HA e clique em “Enviar”.
  8. Depois de tudo, na lista Compartilhamento local clique na conta auxiliar e vefique novamente se a localização está sendo compartilhada por tempo indefinido, ou seja, em “Pode ver seu local” deve estar como “Até você desativar”.

INSTALAÇÃO - 2: HA Config

  1. No Home Assistant, no arquivo configuration.yaml, inclua as seguintes linhas

device_tracker:

INSTALAÇÃO - 3: Cookie

1.No Edge/Chrome, instale “Get cookies.txt LOCALLY” (https://chrome.google.com/webstore/detail/get)
*Observe que esta extensão funciona no Google Chrome e no Microsoft Edge.
2. Acesse os detalhes da extensão e ative “Allow in inPrivate” ou algo similar a isso no Google Chrome.
3. Abra uma nova janela do browser no modo inPrivate (Edge) ou no modo anônimo (Chrome).
4. Entre no URL até http://www.google.com/maps.
*Note que não tem o “.br” no link.
5. Clique na caixa “Sign in” no canto superior direito e siga as instruções.
6. Se aparecer a opção “Não perguntar novamente neste dispositivo” ou algo parecido, marque-a.
7. Abra a extensão “Get cookies.txt LOCALLY”. Deverá aparecer uma janela com todos os cookies.
8. Certifique-se de que o formato de exportação esteja definido como Netscape.
9. Clique em Export All Cookies.
10. Encontre o arquivo cookies.txt baixado. Renomeie-o de acordo com a página de integração do HA Google Maps. Deverá seguir o seguinte padrão: .google_maps_location_sharing.cookies.slugified_email_address
onde slugified_email_address é o endereço de e-mail da conta “slugified”. Slugify basicamente significa alterar todas as letras maiúsculas para minúsculas e alterar todos os caracteres que não são letras ou números para underline.
Por exemplo, se o endereço de e-mail for
Este.e.Meu-Endereco.de_Email@gmail.com,
o nome do arquivo do cookie resultante seria:
.google_maps_location_sharing.cookies.este_e_meu_endereco_de_email_gmail_com
Tenha cuidado para que não haja extensão de arquivo (como .txt).
11. Copie esse arquivo cookie para o diretório de configuração do Home Assistant, que normalmente é /config, ou onde quer que o arquivo configuration.yaml esteja localizado.
12. Feche o navegador SEM FAZER LOGOUT.
13. (Boa prática:) No Home Assistant, em Developer Tools>Yaml clique em “Check Configuration” e garanta que a configuração no configuration.yaml foi feita de forma correta.
14. (Re)inicie o HA.

INSTALAÇÃO - 4: Verificação
No Home Assistant, verifique no arquivo known_devices.yaml se um novo device foi criado para cada usuário que compartilha a localização com a conta auxiliar.

Dica
Após a verificação, você pode utilizar a foto da conta do google em outras partes do HA como em um card que requer uma imagem. Para isso, basta copiar o link que aparece no device criado da pessoa, em “picture: …” e colar no card que você deseja usar, onde é pedido a informação de que imagem você quer utilizar.

Atenção:
Este passo a passo deve ser repetido sempre que uma nova pessoa for inclusa, ou seja, sempre que um novo usuário compartilhar a conta com a conta auxiliar criada para esta interface.

Encontrou algo errado neste tutorial? Me avise que eu faço a correção.

Fontes

2 curtidas

@Matheusadpf sabe se o consumo de bateria aumenta ou não muda?
Visto que pega já do Google, acho que não deve mudar tanto né.

Oi Choske,
Eu vejo 3 pontos que me fazem entender que ele não gasta muito a mais do que já gastaria hoje:

  • Caso você já tenha o Google Maps hoje, você evita de instalar mais um app para requisitar os dados do GPS. Isso pos si só já é muito bom.
  • O Google Maps por padrão adquire sua localização para fazer uma linha do tempo de sua localização (o que pode ser desabilitado caso queira mais privacidade) e para outras coisas. Ele hoje já consome sua bateria para isso, então penso que não gastaria mais bateria.
  • Ao que eu entendo, o Google Maps faz um bom gerenciamento de quando usar o GPS. Ou seja: Ele não costuma pedir a para o GPS a localização precisa (o que consome mais bateria) quando sabe que você não se “mexeu” muito do lugar desde a última requisição precisa. Ele sabe que você não se mexeu consultando uma combinação de outros sensores como giroscópio, acelerometro e até se você saiu da sua rede de wi-fi, que são sensores que custam menos bateria…
1 curtida

Promissor! Só uma curiosidade, de tempo em tempo a pessoa fica recebendo notificação lembrando que está compartilhando a localização com outra ? :thinking:

Não aconteceu comigo de receber mensagem de tempo em tempo.