In una casa smart la TV è spesso l’unico schermo che resta fuori. Le luci si abbassano per il film, le tapparelle scendono, e per la TV serve ancora il telecomando. Questa guida collega l’IPTV a Home Assistant tramite OneTV Connect su Apple TV: i tuoi canali diventano un vero media_player, la guida TV diventa una serie di sensori, e un cambio di canale può attivare — o essere attivato da — qualsiasi altra cosa in casa.
Servono circa cinque minuti, tutto resta nella rete locale e non si paga nulla: l’integrazione è open source e non richiede l’abbonamento OneTV Pro. Funziona con la sorgente che usi già nell’app: Xtream Codes, playlist M3U, portale Stalker, Plex, Jellyfin o Emby.
Cosa serve
- Un’Apple TV con OneTV Connect e almeno una sorgente aggiunta. OneTV Connect è un lettore: non fornisce canali.
- Home Assistant 2024.1 o successivo, con HACS installato.
- Entrambi sulla stessa rete locale. Il rilevamento usa Bonjour (mDNS), che non attraversa VLAN o reti ospiti se il router non lo inoltra.
- Consigliata: l’integrazione Apple TV di Home Assistant, così può risvegliare il dispositivo e aprire l’app al posto tuo.
Passo 1 · Attiva l’integrazione nell’app
Sull’Apple TV apri OneTV Connect e vai in Impostazioni › Integrazioni › Controllo e Domotica.
- Apri Home Assistant e attiva Abilita Home Assistant. La schermata indica la porta del server, 8766 per impostazione predefinita.
- Lascia attivo anche il telecomando iOS. Home Assistant trova l’Apple TV grazie allo stesso annuncio di rete usato dal telecomando dell’iPhone, e quell’annuncio contiene la chiave di accesso: per questo non devi digitare nulla.
Niente esce dalla tua rete. La chiave permette solo ai dispositivi del tuo Wi-Fi di comunicare con l’app.
Passo 2 · Installa l’integrazione da HACS
- In Home Assistant apri HACS, poi il menu ⋮ in alto a destra e Repository personalizzati.
- Incolla
https://github.com/Seidel76/noopy-tv-homeassistant, scegli il tipo Integrazione e fai clic su Aggiungi. - Cerca OneTV in HACS, aprilo e fai clic su Scarica.
- Riavvia completamente Home Assistant (Impostazioni › Sistema › Riavvia). Dopo un’installazione o un aggiornamento non basta ricaricare l’integrazione.
Senza HACS, copia la cartella custom_components/noopy_tv del repository nella tua directory config/custom_components/ e riavvia.
Passo 3 · Aggiungi l’Apple TV
Dopo il riavvio apri Impostazioni › Dispositivi e servizi. L’Apple TV compare tra i dispositivi Rilevati, con il nome che le hai dato in tvOS. Fai clic su Aggiungi e conferma: vengono creati il dispositivo e le sue entità. Nessun token né password da copiare, la chiave arriva con il rilevamento.
Se non compare nulla, aggiungila a mano: Aggiungi integrazione › OneTV, poi l’indirizzo IP dell’Apple TV (tvOS lo mostra in Impostazioni › Rete) e la porta indicata in OneTV Connect. Riservare un indirizzo fisso all’Apple TV nel router evita problemi in seguito.
Passo 4 · Lascia che Home Assistant apra l’app
Su tvOS il server di un’app funziona solo finché l’app è aperta, e nessuna app può avviarsi da sola. Con OneTV Connect chiusa, le sue entità risultano non disponibili. L’integrazione risolve con l’integrazione Apple TV che forse usi già:
- Apri Impostazioni › Dispositivi e servizi › OneTV › Configura.
- Scegli la tua entità Apple TV in Paired Apple TV e lascia App name on the Apple TV su OneTV Connect. Per ora questa finestra è tradotta solo in inglese e francese.
Da quel momento media_player.turn_on risveglia l’Apple TV e apre l’app, e un play_channel inviato ad app chiusa la avvia prima. Nella stessa finestra si imposta l’intervallo di aggiornamento (da 5 a 300 secondi, 10 di default): serve soprattutto da rete di sicurezza, perché l’app invia subito le sue modifiche.
Cosa compare in Home Assistant
| Entità | Cosa offre |
|---|---|
media_player | Riproduci, pausa, stop, canale successivo e precedente, elenco delle sorgenti (i tuoi canali, nell’ordine della playlist), volume e muto, copertina, titolo del programma, posizione. Lo spostamento funziona su film ed episodi. |
| In riproduzione (sensore) | Il canale, il film o l’episodio sullo schermo, e se è in riproduzione, in pausa o in caricamento. |
| Avanzamento (sensore) | In diretta: il programma, inizio e fine, minuti rimanenti e trama. Su un film: posizione, durata e tempo residuo. |
| Selettori dei canali | Uno con tutti i canali e, se mantieni l’opzione, uno per categoria. |
| Traccia audio, Sottotitoli | Selettori per le tracce di ciò che stai guardando. |
| App raggiungibile | Un sensore binario che indica se OneTV Connect è aperta e risponde. |
| Torna alla diretta | Un pulsante che compare quando guardi in differita. |
La versione attuale crea le entità con nomi in francese, quindi gli ID sono del tipo sensor.onetv_lecture_en_cours. Controlla i tuoi in Impostazioni › Entità e rinominali se vuoi: le automazioni qui sotto usano media_player.onetv.
Funziona anche il browser multimediale: Media, nella barra laterale, propone Riprendi, Preferiti, canali per categoria, Film e Serie.
Cinque automazioni da copiare
Usano la sintassi attuale di Home Assistant (triggers / actions). Incollale in Impostazioni › Automazioni e scene › Crea automazione › Modifica in YAML e sostituisci gli ID delle entità con i tuoi.
1. Pausa quando suonano alla porta
alias: "Pausa quando suonano"
triggers:
- trigger: state
entity_id: binary_sensor.campanello
to: "on"
conditions:
- condition: state
entity_id: media_player.onetv
state: playing
actions:
- action: media_player.media_pause
target:
entity_id: media_player.onetv
2. Luci soffuse quando parte il canale della partita
media_artist contiene il nome del canale, quindi puoi reagire a un canale preciso.
alias: "Luci da partita"
triggers:
- trigger: state
entity_id: media_player.onetv
attribute: media_artist
to: "Sky Sport Calcio"
actions:
- action: light.turn_on
target:
entity_id: light.soggiorno
data:
brightness_pct: 25
transition: 3
3. Il telegiornale delle otto
L’attesa garantisce che l’app risponda prima di chiedere il canale. L’ID del sensore binario dipende dalla tua installazione.
alias: "Il Tg delle otto"
triggers:
- trigger: time
at: "19:58:00"
conditions:
- condition: time
weekday: [mon, tue, wed, thu, fri]
actions:
- action: media_player.turn_on
target:
entity_id: media_player.onetv
- wait_template: "{{ is_state('binary_sensor.onetv_application_accessible', 'on') }}"
timeout: "00:02:00"
- action: noopy_tv.play_channel
data:
channel_id: "Rai 1"
4. Stop ai cartoni all’ora della nanna
turn_off ferma la riproduzione. tvOS non permette a un’app di chiudersi da sola: resta aperta sulla sua schermata iniziale.
alias: "Stop ai cartoni"
triggers:
- trigger: time
at: "20:30:00"
conditions:
- condition: state
entity_id: media_player.onetv
attribute: media_artist
state: "Rai Yoyo"
actions:
- action: media_player.turn_off
target:
entity_id: media_player.onetv
5. Controllo vocale con Alexa o Google
Gli assistenti vocali non sanno scegliere un canale per nome come sorgente. Il metodo affidabile è un breve script per canale, esposto all’assistente tramite Home Assistant Cloud o un tuo bridge. play_channel ignora maiuscole e accenti, e accetta anche l’ID del canale.
script:
onetv_rai_1:
alias: "Rai 1"
sequence:
- action: media_player.turn_on
target:
entity_id: media_player.onetv
- action: noopy_tv.play_channel
data:
channel_id: "Rai 1"
Le altre azioni seguono lo stesso schema: noopy_tv.play_movie e noopy_tv.play_episode avviano un contenuto del catalogo (gli ID sono visibili nel browser multimediale), e noopy_tv.send_command copre pausa, spostamento, ritorno alla diretta, tracce e volume.
Una scheda per la dashboard
Una scheda di controllo multimediale con i selettori di canali e tracce è un telecomando completo in due schede:
type: vertical-stack
cards:
- type: media-control
entity: media_player.onetv
- type: entities
entities:
- select.onetv_toutes_les_chaines
- select.onetv_piste_audio
- select.onetv_sous_titres
Il cursore del volume regola il livello di riproduzione di OneTV Connect. Il volume del televisore o dell’amplificatore passa da HDMI-CEC e dal Siri Remote, fuori dalla portata di qualsiasi app tvOS.
Se qualcosa non funziona
- L’Apple TV non viene mai rilevata. Verifica che i due dispositivi siano sulla stessa sottorete, che il telecomando iOS sia attivo nell’app e che l’mDNS non sia filtrato tra VLAN. Altrimenti aggiungila a mano con il suo IP.
- Le entità non sono disponibili. OneTV Connect è chiusa o l’Apple TV è in standby. Collega l’entità Apple TV (passo 4) perché Home Assistant possa aprirla, e basa le automazioni sul sensore «App raggiungibile» anziché sullo stato dell’Apple TV.
- Dopo un aggiornamento mancano nuove entità. Riavvia completamente Home Assistant: ricaricare lascia in memoria il vecchio codice.
- Un canale non si trova. Usa il nome come appare nell’elenco delle sorgenti del
media_player, oppure l’ID del canale. - La configurazione fallisce all’avvio di Home Assistant. L’app deve rispondere durante la configurazione. Apri OneTV Connect e ricarica l’integrazione.
Ancora bloccato? Nella pagina dell’integrazione trovi Scarica dati diagnostici (la chiave di accesso viene rimossa dal file). Inviacelo dalla pagina di supporto o apri una segnalazione su GitHub.
Domande frequenti
Esiste un’integrazione IPTV per Home Assistant?
Sì. OneTV Connect su Apple TV ha un’integrazione per Home Assistant che si installa da HACS. Espone i tuoi canali IPTV come media_player con copertine, sensori della guida TV, selettori dei canali e azioni come play_channel.
Serve un abbonamento a pagamento?
No. L’integrazione è gratuita e open source, e non richiede OneTV Pro. Servono OneTV Connect su un’Apple TV, la tua sorgente IPTV e Home Assistant 2024.1 o successivo.
Quali sorgenti IPTV funzionano?
Qualsiasi sorgente aggiunta in OneTV Connect: Xtream Codes, playlist M3U, portali Stalker, oltre a Plex, Jellyfin ed Emby. Home Assistant vede gli stessi canali e la stessa guida dell’app.
Funziona su iPhone o Android?
L’integrazione è pensata per OneTV Connect su Apple TV, il dispositivo collegato al televisore. L’app per iPhone non è pensata per essere controllata da Home Assistant.
Home Assistant ha bisogno di internet per questo?
No. Tutto avviene nella rete locale: rilevamento con Bonjour, comandi e flusso di eventi in HTTP tra Home Assistant e l’Apple TV.