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_playerorremoteentity — 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.
