Addon do Home Assistant para gerenciar porta-retratos digitais
(immich-frame.junlim.org)Já faz cerca de 3 anos que gerencio minha casa inteligente com o Home Assistant. Para quem cansou de vibe coding, recomendo experimentar smart home. Nem todo mundo precisa criar apps e serviços web, e como tudo funciona de verdade dentro de casa, é muito divertido..:)
Até agora venho usando com muita satisfação, e por poder usar gratuitamente uma plataforma tão boa, naturalmente também passei a sentir gratidão pela comunidade open source.
O universo de smart home também é vastíssimo, com inúmeros estilos e áreas diferentes, e recentemente acabei criando um addon porque era incômodo gerenciar porta-retratos digitais.
Existe um excelente porta-retratos digital da Lenovo chamado Lenovo Smart Frame. Como já faz quase dez anos desde o lançamento, a Lenovo encerrou o suporte oficial, mas a praticidade dele como porta-retratos digital é tão boa(?) que praticamente sumiram os usados à venda.
Por sorte, eu tenho umas 4 unidades: 2 em casa, 1 na casa da minha sogra e 1 na casa dos meus pais.
Antes, para operar o porta-retratos digital, o básico era simplesmente integrar com o Google Photos e enviar tudo via API, então era bem simples. Mas o Google bloqueou esse serviço. As pessoas ainda usam maneiras de contornar isso com apps Android como o Fotoo, mas na verdade ninguém sabe até quando isso também vai continuar funcionando.
Então, uma das formas de montar uma alternativa é usar:
immich - serviço de biblioteca e gerenciamento de fotos, semelhante ao Google Photos
immich kiosk - renderizador que pega as fontes dessa biblioteca e transforma em um bonito slideshow web
Instalei esses dois projetos open source no home server da minha casa e uso exibindo o endereço do immich kiosk em um navegador web, num tablet Android ou no browser. Na prática, só com esses dois já dá para ficar bastante satisfeito. Mas, embora o immich kiosk permita mudar valores condicionais por query string para filtrar o layout do porta-retratos, o tipo de álbum e as pessoas exibidas, faltava um controlador para gerenciar isso.
Se esses elementos de controle puderem virar entidades no Home Assistant, dá para fazer várias automações. Por exemplo: hoje meus pais vão visitar. Então posso mudar o porta-retratos digital para mostrar fotos em que eles aparecem. Ou, quando a criança vai para a creche, posso trocar as fotos do porta-retratos para outro álbum. Assim, um porta-retratos digital que normalmente mostra sempre o mesmo tipo de foto pode ser automatizado para usos bem mais variados.
Além disso, controlar apenas o kiosk pelo navegador tem a desvantagem de não permitir controle do dispositivo em si, então fica difícil fazer controles em nível de aparelho, como desligar a tela em determinados horários. Se alguém aparecer na câmera, também daria para detectar isso com um sensor de movimento e mostrar outras fotos.
Para controlar isso, é preciso controlar o dispositivo Android, e para isso é necessário um app cliente separado. Para controlar por REST API, MQTT e afins, antes era preciso usar apps comerciais como o Fully Kiosk, mas alguém criou um excelente app open source chamado Free Kiosk.
Então agora basta instalar o Freee Kiosk no dispositivo que será usado como porta-retratos digital e integrá-lo pelo addon que eu criei. Assim, com uma única URL, dá para controlar tanto o dispositivo quanto o que é exibido no porta-retratos digital, o que abre espaço para vários tipos de automação.
Para uma explicação mais detalhada, eu preparei um guia simples separado, então deem uma olhada. Como é um projeto que fiz para uso pessoal, pode haver partes incompletas, mas vocês podem abrir issues ou fazer fork e modificar livremente para usar como quiserem.
2 comentários
Pesquisei no eBay, mas parece que não há anúncios de produtos usados. Será que existe algum outro produto que eu possa usar como alternativa?
Se um tamanho parecido com o de um tablet for suficiente, acho que também pode ser uma boa aproveitar um tablet Android antigo como porta-retratos digital. Ou então, conectando algo como um Raspberry Pi a um monitor, também parece possível fazer isso por meio desse Raspberry Pi. Para um projeto parecido implementado com Raspberry Pi, dê uma olhada no seguinte open source~!
https://github.com/MateEke/picture-frame