Skip to content

T3M1N4L/VizMote

Repository files navigation

VizMote icon
VizMote

Control your Vizio TV through a local web interface.

VizMote provides a local web interface for controlling your Vizio SmartCast TV. After a one-time pairing, your TV's IP address and authentication token are saved locally for instant reconnection. VizMote preview

Features

  • Web-Based Control - Control your TV from a browser on your local network.
  • Installable PWA - Add VizMote to your home screen or desktop dock and launch it like a native app.
  • One-Time Pairing - Saves your TV IP and auth token for future sessions.
  • Seamless Control - Power, volume, input switching, navigation, and more.
  • Cross-Platform Discovery Path - Uses SSDP plus subnet probing to find TVs on your LAN.
  • Local Storage - No cloud dependency; your data stays on your device.
  • No Ads - A lightweight alternative to mobile remote apps.

Installation

Clone the repository and install dependencies:

git clone https://github.com/T3M1N4L/VizMote.git
cd VizMote
npm install

Usage

  1. Find the IP address of your TV. You can get it from the SmartCast app or from the TV's network settings.
  2. Build and start the app:
npm run start:web
  1. Open http://127.0.0.1:3000 (or the local URL shown in your terminal).
  2. Enter your TV IP address if this is your first time pairing.
  3. Start pairing, then enter the PIN displayed on your TV.
  4. Once pairing succeeds, you can control your TV from the web interface.
  5. If your browser supports install prompts, you can install VizMote as a PWA from the Settings screen and launch it like a native remote app later.

For development with live reload:

npm run dev:web

If you want to run the API and client separately during development:

npm run dev:api
npm run dev:webui

Configuration

After pairing, your TV's IP and auth token are stored in vizio-config.json in the project directory. You can edit or delete this file to reset pairing.

Platform Notes

  • Tested on Windows - VizMote has been tested primarily on Windows so far.
  • Should work on macOS and Linux - The server and discovery flow are built on Node networking, SSDP, and subnet probing rather than Windows-only shell tooling, so it should work across macOS and Linux too.
  • Discovery depends on your network - Firewalls, VLANs, AP isolation, VPN adapters, or unusual subnet layouts can affect whether your TV is discovered automatically on any platform.
  • Manual pairing is still available - If discovery misses your TV, you can always enter the TV IP manually and continue pairing.

Requirements

  • Node.js 18+
  • Bun (for the web client scripts)
  • A Vizio SmartCast TV on the same network
  • Network access between your device and the TV

How It Works

VizMote is powered by the npm package vizio-smart-cast by Heath Paddock. Many thanks to him for the excellent work.

The frontend is also an installable Progressive Web App, so once you pair your TV you can pin VizMote to your home screen or desktop for quicker access.

License

MIT License (c) 2025 T3M1N4L

About

Control your Vizio TV through a website.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors