home assistant
home assistant

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.

De ce ai nevoie?

  • O cheie api de la Newsdata.io (gratuit pentru 100 de request-uri/zi)
  • swipe-card (se instaleaza din HACS)

 Pasul 1: Obține Cheia API de la Newsdata.io

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 configuration.yaml:

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:
          - results

Unde XXXXXXXXXXXXX va fi inlocuit cu cheia ta API.

Explicație:

  • scan_interval: 3600 → Actualizează știrile o dată pe oră.
  • resource → Endpoint-ul API cu cheia ta.
  • json_attributes → Stochează toate articolele în atributul results.

Pasul 3: Adaugă Cardul Swipe în Lovelace

Creează un nou card de tip „Custom: Swipe Card”:

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” (rejectattr) (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.

Cardul nu se afișează?

  • Asigură-te că ai instalat „Swipe Card” din HACS.

Dacă ai nevoie de ajutor, intră pe Hass-forum.ro

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *