Mam zrobione dokładnie tak samo - ale “oszukuje” w liczeniu czasu.
Potrafi pokazac 11 godzin podczas gdzie faktycznie nie powinno pokazać 1 godziny.
A czym to się różni ?
Sądzę, że chodzi o to, że np. TV może być podłączony przez np. wtyczkę Gosund , która jest ON ale TV jest wyłączony (napięcie dochodzi ale TV jest np. standbay) , jak uruchoi sie TV to wtedy jest włączony i można liczyć czas oglądania.
To w takim razie chyba chodzi o cos takiego:
sensor:
- platform: history_stats
name: Czas włączonego TV ON
entity_id: media_player.android_tv_1
state: "on"
type: time
start: "{{ now().replace(hour=0, minute=0, second=0) }}"
end: "{{ now() }}"
- platform: history_stats
name: Czas włączonego TV IDLE
entity_id: media_player.android_tv_1
state: "idle"
type: time
start: "{{ now().replace(hour=0, minute=0, second=0) }}"
end: "{{ now() }}"
- platform: history_stats
name: Czas włączonego TV PLAYING
entity_id: media_player.android_tv_1
state: "playing"
type: time
start: "{{ now().replace(hour=0, minute=0, second=0) }}"
end: "{{ now() }}"
Ale najważniejsze żeby zweryfikować jakie stany raportuje w danym momencie ten konkretny TV.
Jeżeli to Android TV to aby odczytywać stany typu
'standby', 'playing', 'paused', 'idle', lub 'off'
musisz zajrzeć tutaj https://www.home-assistant.io/integrations/androidtv/
Używałem poniższego kodu który wydawało mi się, że liczył dobrze:
Pojawia się w wielu tematach, ale od pewnego czasu zaobserwowałem, że 0,5 min=30sec. to wg powyższego to 36 sekund. Czy też tak macie ?
Zmieniłem na:
start: '{{ now().replace(hour=0).replace(minute=0).replace(second=0) }}'
end: '{{ now() }}'
i jest dobrze.