06-30-2025, 04:52 PM
Dacă vrei să afișezi cele mai recente știri în Home Assistant, poți folosi un REST sensor și un swipe card personalizat.
În acest tutorial, voi arăta cum să configurezi un flux de știri din Newsdata.io și cum să le afișezi într-un card interactiv.
![[Image: image-1.png]](https://andreidima.ro/wp-content/uploads/2025/06/image-1.png)
(Edited 06-30-2025, 05:02 PM by Andrei.)
În acest tutorial, voi arăta cum să configurezi un flux de știri din Newsdata.io și cum să le afișezi într-un card interactiv.
![[Image: image-1.png]](https://andreidima.ro/wp-content/uploads/2025/06/image-1.png)
De ce ai nevoie?
Ar trebui să arate ca în imaginea de mai jos
Creează un cont pe Newsdata.io.
După logare, accesează secțiunea „Account” → „API Keys”.
Pasul 2: Configurează REST Sensor în Home Assistant
Adaugă următorul cod în
:
Unde XXXXXXXXXXXXX va fi inlocuit cu cheia ta API.
Explicație:
Creează un nou card de tip „Custom: Swipe Card”:
Ce face acest cod?
✅ Exclude știrile care încep cu „Mediafax” (Am ales să exclud știrile de la Mediafax deoare veneau într-un format atipic și nu se încărcau cum trebuie în card)
✅ Afișează titlul, descrierea și linkul
✅ Permite navigare ușoară (swipe sau bullets)
Probleme frecvente
API-ul nu returnează date?
- O cheie api de la Newsdata.io (gratuit pentru 100 de request-uri/zi)
- swipe-card (se instaleaza din HACS)
Ar trebui să arate ca în imaginea de mai jos
![[Image: image-2.png]](https://andreidima.ro/wp-content/uploads/2025/06/image-2.png)
Creează un cont pe Newsdata.io.
După logare, accesează secțiunea „Account” → „API Keys”.
Pasul 2: Configurează REST Sensor în Home Assistant
Adaugă următorul cod în
Code:
configuration.yamlCode:
rest:
- scan_interval: 5.400 # Actualizează la o ora jumate
resource: "https://newsdata.io/api/1/news?apikey=XXXXXXXXXXXXX&language=ro"
sensor:
- name: "stiri_newsdata"
value_template: "{{ value_json.results[0].title }}"
json_attributes:
- resultsUnde XXXXXXXXXXXXX va fi inlocuit cu cheia ta API.
Explicație:
- → Actualizează știrile o dată pe oră.Code:
scan_interval: 3600
- → Endpoint-ul API cu cheia ta.Code:
resource
- → Stochează toate articolele în atributulCode:
json_attributes
Code:results
Creează un nou card de tip „Custom: Swipe Card”:
Code:
type: custom:swipe-card
parameters:
grabCursor: true
spaceBetween: 8
pagination:
type: bullets
cards:
- type: markdown
content: >
{% set items = state_attr('sensor.stiri_newsdata', 'results') |
rejectattr('title', 'match', '^Mediafax') | list %} {% set art = items[0]
%} ### ? {{ art.title }}
{{ art.description }}
[Citește mai mult]({{ art.link }})
- type: markdown
content: >
{% set items = state_attr('sensor.stiri_newsdata', 'results') |
rejectattr('title', 'match', '^Mediafax') | list %} {% set art = items[1]
%} ### ? {{ art.title }}
{{ art.description }}
[Citește mai mult]({{ art.link }})
- type: markdown
content: >
{% set items = state_attr('sensor.stiri_newsdata', 'results') |
rejectattr('title', 'match', '^Mediafax') | list %} {% set art = items[2]
%} ### ? {{ art.title }}
{{ art.description }}
[Citește mai mult]({{ art.link }})
- type: markdown
content: >
{% set items = state_attr('sensor.stiri_newsdata', 'results') |
rejectattr('title', 'match', '^Mediafax') | list %} {% set art = items[3]
%} ### ? {{ art.title }}
{{ art.description }}
[Citește mai mult]({{ art.link }})
- type: markdown
content: >
{% set items = state_attr('sensor.stiri_newsdata', 'results') |
rejectattr('title', 'match', '^Mediafax') | list %} {% set art = items[4]
%} ### ? {{ art.title }}
{{ art.description }}
[Citește mai mult]({{ art.link }})Ce face acest cod?
✅ Exclude știrile care încep cu „Mediafax” (Am ales să exclud știrile de la Mediafax deoare veneau într-un format atipic și nu se încărcau cum trebuie în card)
✅ Afișează titlul, descrierea și linkul
✅ Permite navigare ușoară (swipe sau bullets)
Probleme frecvente
API-ul nu returnează date?
- Verifică cheia API în contul Newsdata.io.
- Planul gratuit poate avea limite.
- Asigură-te că ai instalat „Swipe Card” din HACS.