DIT DOTS KO6ETZ HAM RADIO • ELECTRONICS • SOFTWARE 14.074 MHz TX PWR RX

OmniRig Server Home Assistant Client Card

Home Assistant Integration – OmniRig Remote

Add ham radio control to your smart home dashboard with a custom Lovelace card.

💡 Key Features

📻

Full Radio Control

Frequency tuning, mode selection, rig switching

🎧

Audio Streaming

Listen to your radio directly in Home Assistant

🔢

Morse Decoder

Real-time CW decoding display

💾

Memory Buttons

Quick frequency recall with configurable count

🎨

Theme Support

Dark, light, or auto (follows HA theme)

📱

Touch Friendly

Works great on tablets and touch screens

Home Assistant OmniRig Card

OmniRig Radio Card on Home Assistant dashboard with dark theme

📋 Requirements

  • Home Assistant 2021.12 or newer
  • OmniRig Remote Server running with WebSocket enabled (port 8083)
  • Network access from Home Assistant to server
  • Modern browser with Web Audio API support

🛠 Installation

1

Copy Files to Home Assistant

Copy the card files to your Home Assistant config/www folder

Directory Structure
config/www/omnirig/ omnirig-radio-card.js pcm-player-processor.js

You can copy the files via:

  • File Editor add-on: Navigate to /config/www and create the omnirig folder
  • Samba share: Access the config share and copy files
  • SSH/SCP: Copy files via command line
2

Add as Lovelace Resource

Register the card as a custom resource in Home Assistant

  1. Go to Settings > Dashboards
  2. Click the three-dot menu (top right) and select Resources
  3. Click Add Resource
  4. Enter URL: /local/omnirig/omnirig-radio-card.js
  5. Select type: JavaScript Module
  6. Click Create
3

Restart Home Assistant

Restart Home Assistant or perform a hard refresh (Ctrl+Shift+R) in your browser

📝 Adding the Card

Using the UI Editor

  1. Edit your Lovelace dashboard
  2. Click Add Card
  3. Scroll down and select Manual
  4. Paste the YAML configuration (see below)
  5. Click Save

Basic Configuration

Lovelace YAML
type: custom:omnirig-radio-card server: 192.168.1.100 port: 8083

Full Configuration

All Options
type: custom:omnirig-radio-card server: 192.168.1.100 port: 8083 title: Shack Radio show_memories: true show_morse: true memory_count: 10 theme: auto

🔧 Configuration Options

OptionTypeDefaultDescription
serverstringrequiredIP address of OmniRig Remote Server
portnumber8083WebSocket port number
titlestring“OmniRig Radio”Card title displayed at top
show_memoriesbooleantrueShow memory buttons
show_morsebooleantrueShow Morse decoder section
memory_countnumber10Number of memory buttons (1-14)
themestring“dark”Color theme: “dark”, “light”, or “auto”

🎮 Using the Card

Frequency Tuning

  • Tap any digit to select it (highlighted with glow)
  • Tap arrows to adjust the selected digit
  • Long-press arrows for continuous tuning
  • Label shows current step size (e.g., “10 kHz”, “100 Hz”)

Mode and Rig Selection

  • Tap Mode dropdown to change: USB, LSB, CW, AM, FM, etc.
  • Tap Rig dropdown to switch between configured radios

Memory Buttons

  • Tap a memory button (M1, M2, etc.) to recall frequency
  • Long-press (800ms) to save current frequency to that slot
  • Active memory is highlighted when frequency matches

Audio Streaming

  1. Tap Start Audio to begin streaming
  2. Audio plays through your browser/device speakers
  3. Tap Stop Audio to end streaming

⚠ Browser Audio Policy

Browsers require user interaction before playing audio. The first time you tap “Start Audio”, you may need to interact with the card first.

🎨 Theme Options

Dark Theme

Optimized for dark Home Assistant themes. Uses dark backgrounds with light text and accent colors.

Light Theme

Bright backgrounds with dark text for well-lit environments.

Auto Theme

Automatically follows Home Assistant’s current theme. Switches between dark and light based on your HA settings or system preference.

🔧 Troubleshooting

Card Not Loading

  • Verify the resource URL is correct: /local/omnirig/omnirig-radio-card.js
  • Check that both .js files are in the www/omnirig folder
  • Clear browser cache and hard refresh (Ctrl+Shift+R)
  • Check browser console for errors (F12 > Console)

Cannot Connect to Server

  • Verify server IP address in card configuration
  • Ensure OmniRig Remote Server is running
  • Check that port 8083 is not blocked by firewall

No Audio

  • Click inside the card first (browser autoplay policy)
  • Check browser allows audio for your Home Assistant URL
  • Ensure audio streaming is enabled on the server

🔒 Security Notes

WebSocket connection is unencrypted (ws://). Intended for local network use only. For remote access, use Home Assistant’s built-in remote access (Nabu Casa) or VPN.