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)
- No celular da pessoa que você precisa obter a localização, entre na aplicação Google Maps.
- No canto superior direito, pressione na foro da pessoa dona do celular.
- No menu que se abre, selecione a opção “Compartilhar Local”.
- No canto inferior direito, selecione no icone com o sinal de “+”.
- Na janela que abre, selecione “Até você desativar”.
- Ainda na janela, em “sugestões”, role para o final das sugestões e clique em “Mais”.
- Digite o e-mail ou o usuário da conta auxiliar criada para o HA e clique em “Enviar”.
- 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
- No Home Assistant, no arquivo configuration.yaml, inclua as seguintes linhas
device_tracker:
- platform: google_maps
username: “conta_auxiliar@gmail.com”
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
- Integração HA Google Maps
- Passo a passo Device Tracker, Best echange for Life360 - #65 by pnbruckner - Configuration - Home Assistant Community. Fica aqui em português um agradecimento ao usuário pnbruckner Phil