[Custom Card] Viark Remote Card — the receiver's remote, on your dashboard

A Lovelace card that looks and works like the remote control of a Viark satellite receiver. Every button of the physical remote is on the card, in the same place.

Repo: jorgediez/ha-viark-remote-card

It’s the companion to the Viark Satellite Receiver integration, and sends keys through the actions that integration provides. The card needs the integration; the integration doesn’t need the card.

What it does

  • Button-for-button replica of the original remote, scaled to any card width.
  • Binds to either the integration’s media_player or remote entity — same keys either way.
  • Status window with a power LED and the channel that’s playing.
  • Hold to repeat on volume, channel and arrow buttons, paced to what the receiver actually accepts. Scrolling the dashboard over the card never presses a key.
  • Visual editor, card picker preview, and sections view sizing.
  • Every button can be remapped to a raw key code or to any Home Assistant action.
  • Haptic feedback in the companion app, keyboard navigation, screen reader labels.
  • English and Spanish.

Setup

Requires Home Assistant 2024.6+ and the Viark integration at 1.1.0 or newer (1.2.0 recommended — it fixes reconnection after a network drop or a receiver reboot).

HACS → ⋮ → Custom repositories → add https://github.com/jorgediez/ha-viark-remote-card with type Dashboard, download, reload the browser. HACS registers the resource for you. Manual install instructions are in the repo.

Then add it from the dashboard editor, or in YAML:

type: custom:viark-remote-card
entity: media_player.viark_sat_4k

That’s the whole minimum config. name, show_name, show_status, haptics and per-button overrides are documented in the README.

The card is 280px wide at most. If you want it bigger, set --viark-remote-width with card-mod.

Two things to know

Power only wakes the receiver from soft standby. In deep standby the box leaves the network entirely, so nothing over IP can reach it. That’s the receiver, not the card.

Three buttons do nothing yet. <, > and UPDATE have no key code confirmed on real hardware, so pressing them shows a short notice and sends nothing rather than firing a guess at your receiver. If you have a Viark and fancy helping, the integration repo has tools/map_keys_guided.py, which steps through the unverified codes on a live box. A confirmed code is a two-line PR to each repo. Until then you can point any button at a raw code yourself with a buttons override.

Remapping

Any button can be pointed somewhere else — a different key, an arbitrary action, or nothing at all:

yaml

type: custom:viark-remote-card
entity: media_player.viark_sat_4k
buttons:
  f2:
    perform_action: media_player.select_source
    target:
      entity_id: media_player.viark_sat_4k
    data:
      source: News HD
  timer:
    action: none

MIT licensed. Not affiliated with or endorsed by Viark — the card imitates the button layout, and the name at the bottom is plain text, not the logo.

1 Like