Alternativa gratuita ao Fully Kiosk (WallPanel)

Boas malta!

Com a compra de mais um tablet para fazer um wallscreen em casa, andei a pesquisar e trago aqui uma alternativa ao tão completo Fully Kiosk para quem quiser poupar nas licenças por dispositivo.

A app é um projeto Open Source chamado WallPanel!
Site oficial: https://wallpanel.xyz/
PlayStore: https://play.google.com/store/apps/details?id=xyz.wallpanel.app
Documentação: https://wallpanel.xyz/docs/getting-started

Existem algumas limitações, nomeadamente na impossibilidade de desligar o ecrã, no entanto, para as funcionalidades que eu utilizava desde Motion Sensor (ativar o ecrã através de movimento detetado pelo uso da camara), TTS (anúncios de voz), Screen On e URL Redirect estão presentes! O desligar o ecrã, controlo com o lockscreen time do próprio dispositivo.

Após a instalação da App no dispositivo em questão, as definições são algo idênticas ao Fully Kiosk. Será necessário dar o URL de Home, ativar as definições que desejamos e está!

Quanto aos comandos a executar, eu não uso o MQTT, pelo que configurei os pedidos através da integração RestFull. Configurei os pedidos no configuration.yaml e consigo chamar os mesmos através dos Services.

Integração Rest: https://www.home-assistant.io/integrations/rest_command/
Comandos disponíveis via API: https://wallpanel.xyz/docs/remote-control/commands

Deixo aqui os comandos que elaborei fazendo uso da integração acima indicada

# Wallpanel API
rest_command:
  chimedoors: #Comando de redireccionamento. Apresenta um dashboard com as camaras que estão nas entradas
    url: http://<IP DO DISPOSITIVO>:2971/api/command
    method: POST
    headers:
      accept: "*/*"
      user-agent: 'PostmanRuntime/7.29.0'
    content_type:  'application/json; charset=utf-8'
    payload: '{"url": "http://<IP DO HOME ASSISTANT>:8123/lovelace/chimecam"}'
  speak: #Comando para enviar uma mensagem TTS com a mesma no campo data 'text'
    url: http://<IP DO DISPOSITIVO>:2971/api/command
    method: POST
    headers:
      accept: "*/*"
      user-agent: 'PostmanRuntime/7.29.0'
    content_type:  'application/json; charset=utf-8'
    payload: '{"speak": "{{ text }}"}'
  wakescreen_on: #Comando para acordar o ecrã
    url: http://<IP DO DISPOSITIVO>:2971/api/command
    method: POST
    headers:
      accept: "*/*"
      user-agent: 'PostmanRuntime/7.29.0'
    content_type:  'application/json; charset=utf-8'
    payload: '{"wake": true}'
  wakescreen_off: #NÃO DESLIGA O ECRÃ, apenas liberta-o de estar acordado
    url: http://<IP DO DISPOSITIVO>:2971/api/command
    method: POST
    headers:
      accept: "*/*"
      user-agent: 'PostmanRuntime/7.29.0'
    content_type:  'application/json; charset=utf-8'
    payload: '{"wake": false}'
  gobackhome: #Comando de redireccionamento. Apresenta a página Home
    url: http://<IP DO DISPOSITIVO>:2971/api/command
    method: POST
    headers:
      accept: "*/*"
      user-agent: 'PostmanRuntime/7.29.0'
    content_type:  'application/json; charset=utf-8'
    payload: '{"url": "http://<IP DO HOME ASSISTANT>:8123/lovelace/0"}'

A partir daqui adaptei as automatizações que já tinha, nomeadamente o TTS:

alias: Tablet - Someone at the door
description: ""
trigger:
  - platform: state
    entity_id:
      - binary_sensor.lumi_lumi_vibration_aq1_iaszone
    to: "on"
condition: []
action:
  - service: rest_command.wakescreen_on
    data: {}
  - service: rest_command.wakescreen_off
    data: {}
  - service: rest_command.chimedoors
    data: {}
  - service: rest_command.speak
    data:
      text: Alguém tocou à campainha
  - delay:
      hours: 0
      minutes: 0
      seconds: 30
      milliseconds: 0
  - service: rest_command.gobackhome
    data: {}
mode: single

O comportamento desta automatização é o esperado, ou seja, alguém toca à campainha, o tablet acorda o ecrã com o comando ‘rest_command.wakescreen_on’, liberta o ecrã acordado com o comando ‘rest_command.wakescreen_off’, redireciona para o ecrã das camaras com o comando ‘rest_command.chimedoors’, alerta via TTS com o comando ‘rest_command.speak’ e atribuindo a mensagem a ser anunciada à variável text ‘text: Alguém tocou à campainha’, espera 30s e retorna ao home no comando ‘rest_command.gobackhome’.

Espero que seja útil a alguém!

Abraço

4 Curtiram

Olá @Boxexas obrigado pela tua partilha.
Muito fixe desconhecia esse projecto.
Gostaria de te desafiar a enriqueceres mais este tópico, seria possível algum video(s) demonstrando as funções?

Obrigado

Olá Rodolfo,

Sim, eu próprio fiz este pequeno tutorial à pressa que o tempo tem me sido curto, mas assim que conseguir, deixo os passos mais detalhados e com vídeos.

Aproveito para deixar a nota que reparei que a funcionalidade de Motion através da camara consome muito mais bateria do que a Fully Kiosk… Mas ultrapassei a questão usando um sensor de movimento e uma automatização.

Abraço

Ok sem problema ficamos à espera.
Obrigado


Copyright © 2017-2021. Todos os direitos reservados
CPHA.pt - info@cpha.pt


FAQ | Termos de Serviço/Regras | Política de Privacidade