Bonjour à tous,
Je viens de tomber sur ce sujet (fermé depuis, je ne peux pas y répondre directement) où plusieurs personnes bricolaient des templates Jinja + sensors MQTT pour afficher le programme TV en cours par chaîne. J'ai exactement ce besoin depuis un moment, donc je partage mon intégration : Programme TNT FR.
Fonctionnement
L'intégration récupère le flux XMLTV public de xmltvfr.fr (projet racacax/XML-TV-Fr) et calcule, pour chaque chaîne sélectionnée :
- le programme en cours de diffusion ;
- la 1re partie de soirée (~21h15) ;
- la 2e partie de soirée (~22h40).
Le flux complet n'est retéléchargé qu'une fois par heure max ; le calcul "en cours" se rafraîchit toutes les 5 minutes à partir du cache.
Carte Lovelace incluse
Aucune ressource à ajouter à la main, elle s'enregistre toute seule. Quatre vues accessibles depuis l'en-tête : Carrousel, Favoris, Guide TV, Top films. Cliquer sur un programme ouvre le détail (description, genre, casting, affiche TMDB).
Autres fonctionnalités
- Profils de rappel : un rappel programmable directement sur la fiche d'un programme, envoyé sur un ou plusieurs appareils, et/ou annoncé vocalement via TTS sur un media_player — plusieurs profils possibles pour plusieurs personnes du foyer.
- Clé TMDB personnelle optionnelle dans les réglages (sinon clé partagée par défaut).
- Liste des chaînes modifiable à tout moment sans réinstaller.
Installation (HACS)
Dépôts personnalisés → https://github.com/cyclope205/programme-tnt-fr (type Intégration), puis Paramètres > Appareils et services > Programme TNT FR pour choisir les chaînes.
GitHub : GitHub - cyclope205/programme-tnt-fr: Integration Home Assistant + carte Lovelace pour le programme TV des chaines TNT francaises. · GitHub
N'hésitez pas si vous avez des retours ou des idées d'amélioration.
Salut,
Merci pour cette integration.
Mais je rencontre un problème avec la carte
j'ai effacé le frontend cache, mais ça ne fonctionne pas.
Alors qu'à 23h ça a fonctionné, mais depuis ça ne fonctionne plus
L'intégration récupère le flux XMLTV public de xmltvfr.fr (projet racacax/XML-TV-Fr) et calcule, pour chaque chaîne sélectionnée ...
Tu n'as pas un pic de consommation de mémoire à la lecture des 80Mo du XML ?
On dirait que l'arbre entier est construit soit 113k programmes avant le filtrage.
Pourquoi télécharger un fichier toutes les heures alors qu'il ne bouge que tous les 5 jours ?
@bastgau Merci pour ton retour détaillé, tu as mis le doigt sur deux vrais problèmes !
J'ai corrigé les deux dans la v2.3.5, qui vient d'être publiée :
- Le parsing XML passe maintenant en streaming (au lieu de charger tout l'arbre en mémoire avant de filtrer), donc plus de pic mémoire lié aux 113k programmes non utilisés.
- Ajout d'un cache HTTP conditionnel (ETag / If-Modified-Since) : si le flux n'a pas changé depuis le dernier appel, il n'est plus retéléchargé.
En creusant j'ai aussi trouvé que le parsing bloquait la boucle d'événements de HA, donc ça tourne maintenant dans un thread séparé.
Merci encore, ce genre de retour aide vraiment à améliorer l'intégration.
je viens de tester ce matin, après avoir vidé le cache 5 ou 6 fois c'est passé !
je vérifierai si ça se reproduit ce soir.
je vais mettre a jour la version.
Crois tu qu'il soit possible d'associer a l'icone de la chaîne une entité ou une commande pour pouvoir changer la chaîne directement sur la TV ?
@pascal_ha Oui, réalisable, avec une approche qui marche pour n'importe quel matériel (pas que Freebox) :
- Tu crées toi-même un script Home Assistant qui envoie la commande de zap à ton matériel (Freebox, TV, box...) — l'intégration ne connaît aucune commande, c'est ton script qui fait le travail.
- Dans les options de l'intégration, tu associeras ce script à la chaîne concernée.
- Un tap sur le logo de la chaîne dans la carte lancera ce script.
C'est encore en cours de développement, je reviendrai vers toi quand c'est prêt à tester. Tu utilises quoi pour zapper actuellement ?
j'utilise Alexa, qui envoi un ordre a mon broadlink rm pro qui exécute envoi la commande RF a la télé.
il faudra juste que je récupère les ordres de commande et faire un script par chaîne.
@pascal_ha Oui, peux tu me dire le nom de ton broadlink: remote.broadlink ou autre chose, et les commandes envoyées pour changer de chaines? je vais regarder si un seul script peut tout faire.
Salut, ça pourrait s'interfacer avec un serveur Tvheadend via l'API pour programmer des enregistrements directement ?
Ce n'est pas prévu, volontairement : la carte reste générique et je préfère éviter d'ajouter de la config spécifique (URL serveur, identifiants, correspondance des chaînes) pour un logiciel DVR que peu de monde utilise, ça alourdirait la carte pour un bénéfice limité.
Par contre rien ne t'empêche de le faire toi-même côté automation : l'intégration expose déjà titre, chaîne et horaires de chaque programme via les capteurs, donc tu peux créer une automation HA qui appelle l'API Tvheadend (api/dvr/entry/create) avec ces infos quand tu le souhaites.
le nom du broadlink c'est remote.broadlink_rf_salon.
Mais j'ai un petit souci, j'ai bien la telecomande de notre TV dans l'application Broadlink, mais les commandes ne remontent pas dans HA.
Il faut que je regarde, ce qu'il faut faire pour corriger ce problème.
suite a un redémarrage de HA, demandé par l'intégration TNT, celle ci reste bloqué sur initialisation.
au bout de 10 minutes, l'initialisation s'est débloqué, mais j'ai toujours ce problème voir ci dessous, malgré avoir vidé le cache.
ca fini par revenir (a force d'insister) y a t'il quelque chose a faire ?
Il y avait 90% de chances que ce ne soit pas géré comme ds 90% des projets utilisants le XML 
Peux-tu précisé sur quelle installation tu es? A priori d'après ce que je vois ca ressemble a un manque de ressources. l'intégration mets du temps a chargé, peux tu aller dans paramètres---> système---> correction---> les trois points en haut a droite et durée de démarrage des intégrations et me dire pour programme TNT tv la durée de démarrage ?
la durée est d'environ de 60s
la machine est un mini PC I56500T, avec 8Go de ram et SSD 120go
Hello, ce qui saute aux yeux c'est le temps de démarrage très long. Ca fait penser a un problème de connexion internet qui met 60 secondes a télécharger l'intégralité des programmes et de la carte. Quel débit as-tu ?
Trop bien cette intégration !! MERCI pour le partage
Amélioration :
Ca serait possible de choisir le nombre de chaine par ligne avec des vignettes plus petites (car j'ai pas forcément besoin du carrousel sur un grand ecran)
Débit internet, c'est de la fibre. Il est possible que ce soit plutôt le wifi qui freine.
mais j'ai pas de souci avec les camera wifi, la box TV en wifi.
Je surveille et vous dit ce que ça donne.
@ yossibens, hello, oui c'est une possibilité éventuelle, il faut juste que je détermine quelle est le nombre sous lequel les jaquettes seront vraiment trop petites et illisibles.