Skip to content

marsh4200/mhub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

115 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🟣 HDAnywhere MHUB β€” Home Assistant Integration

GitHub release Home Assistant HACS Default GitHub Repo stars

Add to HACS

Usage

πŸ‘¨β€πŸ’» Author: @marsh4200

A lightweight, plug-and-play Home Assistant integration for controlling your
HDAnywhere MHUB matrix system over the local LAN API.

⚑ No cloud. No lag. Just control.


✨ Features

πŸŽ›οΈ Button-Based Control (Default)

Control your MHUB using direct press buttons:

β€’ Each output has buttons for available sources (DSTV, Apple TV, Kodi, etc.)
β€’ Press instantly routes that source to the selected output
β€’ Fast, simple, and dashboard-friendly


πŸ“Ί Media Player (Optional)

Media player entities are also available:

β€’ Disabled by default
β€’ Can be enabled if preferred
β€’ Useful for compatibility with existing automations


πŸ“Š Live Output Status

β€’ One sensor per output
β€’ Displays the current routed source
β€’ Updates in real-time

Example:

Output F β†’ Kodi
Output A β†’ Apple TV


πŸ“Ί IR & CEC Control

Per output control support:

β€’ IR control (via uControl / IR routing)
β€’ HDMI-CEC control (TV power, volume, etc.)

πŸ‘‰ Configurable per zone


πŸ”Š Audio Control

β€’ Per-zone volume (0–100)
β€’ Mute / unmute per output


πŸ”Œ Power Control

β€’ System ON / OFF control
β€’ Fast local execution


πŸ“‘ 100% Local

β€’ Uses MHUB REST API
β€’ No cloud dependencies
β€’ Instant response


🧠 Smart Auto-Detection

β€’ Detects MHUB model automatically
β€’ Maps inputs and outputs dynamically
β€’ Creates entities based on your system size


βš™οΈ What it does

β€’ Auto-detects MHUB model, inputs, and outputs
β€’ Creates clean entities for each zone
β€’ Source routing per output
β€’ Volume + mute control
β€’ IR and CEC support per zone
β€’ Proper device grouping inside Home Assistant
β€’ 100% local control (no cloud)


Installation

HACS DEFAULT

Install the integration directly from the HACS Store. Once installed, the integration will automatically discover any compatible HDAnywhere MHUB devices on your local network using Zeroconf. Simply select the discovered device and complete the setup through Home Assistant's configuration flow.

🧩 MANUAL Installation MANUAL

Click the HACS button above to install.

Then go to:

Settings β†’ Devices & Services β†’ Add Integration β†’ HDAnywhere MHUB (Local)


βš™οΈ Configuration

Field Description
IP Address MHUB local IP (e.g. 192.168.88.186)
Port Usually 80
Name Optional

πŸ‘‰ Click Submit β€” everything is auto-configured.


🧠 Notes

β€’ No YAML required
β€’ Everything is handled via Config Flow (UI setup)
β€’ Works fully locally on your network


πŸ§‘β€πŸ’» Development

This integration is actively being developed and improved:

β€’ UI simplification
β€’ Faster response times
β€’ Expanded control features (IR / CEC / automation support)


πŸƒ Companion Lovelace Card (Included)

This integration ships with the MHUB Card β€” a fully self-configuring Lovelace card. It is bundled inside the integration, so there is nothing extra to install from HACS.

MHUB Card MHUB Card Overview MHUB Card Overview

How it loads

When you install this integration and add a hub, the card is served and registered automatically β€” no /config/www copy, no manual Add Resource step (storage-mode dashboards). Then just:

Edit Dashboard β†’ Add Card β†’ Custom: MHUB Card

The card reads your MHUB entities straight from the registry and builds itself β€” zero YAML required.

What it does

β€’ πŸŽ›οΈ One-tap source β†’ output switching
β€’ πŸ”Š Per-zone & group volume sliders with mute
β€’ πŸ–ΌοΈ Custom per-input icons, hide unused inputs
β€’ ▢️ Run MHUB sequences & functions
β€’ 🏷️ Friendly output aliases (e.g. Output B β†’ Main Bedroom)
β€’ ⚑ Optimistic UI β€” switches update instantly

🎨 Card designs (v6.3)

The card ships with six selectable designs. Pick one per card in the visual editor (Card design at the top), or in YAML:

type: custom:mhub-card
design: strip          # classic Β· glass Β· remote Β· strip Β· panel Β· poster
Design Best for What it looks like
classic General use (default) The original tabbed layout β€” unchanged.
glass Lounge / phone Apple-TV-style ambient view. The card glows in the active source's brand colour; sources sit on a grid of gradient tiles.
remote Phone, one-handed A physical handset. Live LCD window (tap to cycle outputs), a D-pad wired automatically to the zone's CEC/IR navigation commands, volume rocker, mute, and source hotkeys.
strip Whole house, lodges One row per output. Tap a row to expand its inputs and volume in place β€” a ten-room property fits in one card.
panel Wall-mounted tablets Kiosk mode. Oversized touch targets, no tab bar, optionally locked to a single room so guests can't switch someone else's TV.
poster Media rooms Artwork-first 2:3 tiles using your uploaded input images, with a brand gradient fallback.

Every feature β€” custom input images, aliases, hidden inputs/outputs, sequences, IR/CEC, diagnostics, multi-hub binding β€” works identically in all six; they are skins over the same engine. Different cards on different dashboards can each use a different design.

Colours

Set per card in the editor, or in YAML:

type: custom:mhub-card
design: poster
accent: "#ff8c42"      # highlight colour β€” omit to follow your HA theme
card_bg: "#0b0d12"     # card background β€” omit to follow your HA theme
radius: 20             # corner radius in px, 0–48

Both colours default to your Home Assistant theme, so the card keeps matching your dashboard unless you deliberately override it. Only #rgb, #rrggbb and #rrggbbaa values are accepted; anything else is ignored.

Design-specific options

# panel
lock_zone: "B"         # lock the kiosk to one output; hides the room picker
show_tabs: true        # bring back the Volume/Scenes/Remote/Info tab bar

# poster
lock_zone: "B"
poster_columns: 4      # 2–6, default 3

Manual resource (YAML-mode dashboards only)

If your dashboards run in YAML mode, the card file is still served β€” add the resource yourself:

url: /mhub/mhub-card.js
type: module

ℹ️ The card lives at custom_components/mhub/frontend/mhub-card.js and is maintained here, in this repository.


πŸ’œ Motto

No cloud. No lag. Just control.

Releases

Packages

Contributors

Languages