HA não conta o tempo de utilização da PS4

Olá comunidade,

Tenho a Playstation 4 do meu filho integrada no Home Assistant.
Quando ele está a jogar consigo saber qual o jogo e, até há cerca de 1 mês atrás, conseguia saber o tempo de jogo diário e semanal.
Para a contabilização dos tempos uso a seguinte configuração:

sensor:  
  - platform: history_stats
    name: PS4 Tempo diário
    entity_id: media_player.playstation_4
    state: 'playing'
    type: time
    start: '{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}'
    end: '{{ now() }}'
    
  - platform: history_stats
    name: PS4 Tempo semanal
    entity_id: media_player.playstation_4
    state: 'playing'
    type: time
    start: '{{ as_timestamp( now().replace(hour=0).replace(minute=0).replace(second=0) ) - now().weekday() * 86400 }}'
    end: '{{ now() }}'

Mas como disse, a contagem dos tempos deixou de funcionar há cerca de 1 mês. Fica sempre no zero.

Alguém usa estas contagens de tempo e estão a funcionar?

Atualmente tenho a versão 0.94.3 do HA.

Eu não uso isso mas tens a certeza que isso está a gravar o tempo de utilização para a DB?

Desculpa a minha ignorância mas o que é a DB?

Como disse isto deixou de funcionar de um dia para o outro. Só não estou recordado se foi na sequência de uma atualização do HA ou do firmware da PS4. Ou seja, este código, tal como está, já funcionou.

DB = DataBase (base de dados)

Mas isso é que devias saber pois pode ter havido alguma alteração. Pode por exemplo a entrada playing ter sido alterado para play para isso deixar de contar.

Consulta os logs do HA e confirma no ChangeLog se existiram algumas breaking changes relacionadas com isso.

Não encontrei nada no ChangeLog.
Deve ter sido depois da última atualização do firmware da própria Playstation que isto aconteceu. Essa atualização aconteceu no dia 4 de junho.
Vou pesquisando para ver se alguém se queixa do mesmo.

No HA vai a Dev Tools, e escolhe o icone :states: e no campo Entity coloca “media_player.playstation_4”. Depois mostra um screenshot disso.

Aqui está:

Quando está a correr um jogo o estado é este:

Quando está desligada aparece “off” e quando está ligada à espera que selecione um jogo aparece “idle”.

Nao estando dentro do assunto, uma vez que nao possuo PS4 mas olhando no git do componente ele teve alguns commits á 18 dias e á 8 dias eu testaria repor o componente uma vez que possa ter sofrido algumas mudanças na forma de comunicar, eu ate sugeria fazer o setup toda de inicio da PS4 usando o integrations, uma vez que se encontra disponível e é de fácil integração…

Ora bem. Removi o componente Playstation 4 do HA e reiniciei-o. Removi também a aplicação PS4 Second Screen do telemóvel e voltei a instalar. Por fim integrei novamente o componente no HA. O problema continua. Não sei o que possa ser.

O componente da PS4 é oficial ou custom component?

É oficial.

tens o history: enable?
e vês bem o history?

Bem, o history julgo estar enable. Tenho assim no configuration.yaml:

http:
  api_password: !secret http_password
  base_url: https://XXXXX.duckdns.org:8123
  ssl_certificate: /ssl/fullchain.pem
  ssl_key: /ssl/privkey.pem

updater:

discovery:

conversation:

history:

logbook:

map:

sun:

Quanto à visualização do history não está a dar. Aparece “A carregar histórico de estados…” e não passa aí.

Porque será?

Este estado dos registos do histórico não aparentam estar a funcionar bem. Provavelmente, será corrupção no ficheiro… ou, lentidão que pode provocar falha no registo.

@j_assuncao o que achas?!.. talvez, apontar o histórico para uma bd… ou, eleminar o ficheiro?!

Apaga o ficheiro da db é por isso que nao deve estar a funcionar dai ter perguntado se o history estava a funcionar

Ok. Logo já vou fazer isso e depois dou feedback.
Obrigado.

Obrigado a todos. Quem sabe, sabe! Problema resolvido. Bastou apagar o ficheiro home-assistant_v2.db, conforme sugerido pelo @Encarnacao.
O history já funciona e a contagem do tempo de jogo da Playstation 4 também.

2 Likes

Conforme tinha referido um pouco acima sobre a eventual origem do problema,… o mesmo, pode não ficar totalmente resolvido. O que foi realizado é um workaround. A origem do mesmo e a solução definitiva não passa por eliminar o ficheiro.

Existem 2 situações que podem ter promovido o constrangimento e que agora foi temporariamente resolvido: corrupção do ficheiro ou lentidão no acesso provocando timeout.

Para solução definitiva (e evitar problemas com outros ficheiros mais críticos e de difícil recuperação/ reconstrução), recomendo alterar o tipo de storage onde o sistema está a funcionar e a alojar o histórico, adicionalmente, passar a informação para outro motor (ex: MariaBD).

2 Likes

@nmota off topic nao poderia deixar de reparar na tua config api_password: !secret http_password
sugeria dar uma olhada uma vez que o api_password: está descontinuado e se usa auth-providers


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


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