Uma das cenas porreiras que queria implementar na minha casa logo desde que me inicie no HA, era poder de alguma forma visualizar tranquilamente quem estaria a tocar a campainha de minha casa quando eu estivesse na sala a ver Tv, sem ter que interromper aquele momento.
Passado algum tempo, muitas ideias foram aparecendo e isto foi ficando para trás.
Hoje trago-vos o projecto que implementei de forma “barata” ou pelo menos quase toda a gente que está neste mundo tem o material necessário para o fazer.
O que é necessário:
Campainha RF, zigbee, wifi…
Sonoff Bridge ( somente se optares pela campainha RF)
Rpi, Box android, orange pi ( algo que de para instalar o kodi)
Broadlink mini
Camara que dê para integrar no HA ( eu usei um tlm android velho com a app ip cam instalada)
Bom então o cenário é:
Estás a ver TV no HDMI1, tocam a campainha, o meu sonoff bridge recebe esse sinal RF, e manda o HA correr uma automação para o Stream da Camara ser enviado para o PI,box…por sua vez manda o broadlink mini enviar uma comando IR para a TV mudar para o HDMI onde está ligado o pi,box… espera 5 segundos para veres a cara da pessoa que ta a tocar à campainha, e volta ao HDMI1 onde estavas a visualizar a TV.
Então, vais necessitar de instalar uma camara WIFI instalada perto da tua porta de entrada, ou no óculo da porta ( teu critério), vais precisar também de substituir a tua campainha normal por uma campainha rf,zigbee,wifi… , e vais precisar de instalar em uma box android, em um RPI ou em qualquer outro dispositivo o KODI.
Para configurares o kodi segue este Video a partir do minuto 1:44 até ao minuto 10:06.
Dentro do teu configuration.yaml colocas o seguinte:
media_player:
- platform: kodi
name: kodi
host: 192.168.1.107 //substituis pelo Ip que foi atribuido ao teu pi/box/etc
port: 8080
username: root
password: kodi
automation:
#Mostra a camara na tv quando tocam à campainha.
- alias: Campainha da escada
initial_state: true
trigger:
platform: mqtt
topic: tele/teste/RESULT
condition:
condition: template
value_template: '{{ trigger.payload_json.RfReceived.Data == "9DC761" }}'
action:
- service: media_player.kodi_call_method
data:
entity_id: media_player.kodi
item:
file: http://192.168.1.106:8080/video //substituis pelo stream da tua camera
method: Player.Open
- service: broadlink.send
data:
host: 192.168.1.83 //substituis pelo IP do teu broadlink mini
packet:
- 'JgBmAHA5Dg4OKw4ODg4ODg4ODg4ODg4ODg4ODg4ODg4OKw4ODg4ODg4ODg4ODg4ODg4ODg4rDg4ODg4rDg4ODg4ODg4ODg4ODisODg4ODisOKw4ODisODg4rDisODg4rDisODg4ODgAJgg0F' //substituis pelo codigo hdmi3 da tua tv
- delay: 00:00:05
- service: broadlink.send
data:
host: 192.168.1.83 //substituis pelo IP do teu broadlink mini
packet:
- 'JgBmAHA5Dg4OKw4ODg4ODg4ODg4ODg4ODg4ODg4ODg4OKw4ODg4ODg4ODg4ODg4ODg4ODg4rDg4ODg4rDg4ODg4ODg4ODg4ODg4ODg4ODisOKw4ODisODg4ODisODg4rDisODg4ODgAJgg0F' //substituis pelo codigo hdmi1 da tua tv
- service: media_player.media_stop
data:
entity_id: media_player.kodi
Video de exemplo:
Esta é uma das formas de concretizar esta ideia, certamente haverão muitas outras interessantes, caso uses alguma partilha conosco.