Web Development2025年2月20日読了目安 1 分

Wiz Inspector ブラウザ拡張機能

手動のUDPパケット解析作業をワンクリックでの設定検証とステータス比較に置き換えるManifest V3対応ブラウザ拡張機能。

#Chrome拡張機能#Manifest V3#JavaScript#デバッグ
Laptop screen displaying browser extension source code used to inspect Wiz smart home configurations
Web Development · Wiz Inspector ブラウザ拡張機能

Why I Built It

While working on my Wiz Lamp Control dashboard, I kept needing to see the raw state of every lamp — IP addresses, power draw, firmware versions, scene configs. Logging UDP packets manually with tcpdump worked, but it was slow and hostile to iterate on.

So I packaged the debugging workflow into a browser extension.

What It Does

  • Device discovery panel — lists every Wiz device found on the network with live status
  • Raw message inspector — send arbitrary JSON-RPC commands and view responses inline
  • State diffing — snapshot a lamp’s config before and after a change to see exactly what moved
  • Preset command library — common getPilot/setPilot payloads one click away

Implementation Details

The extension uses Chrome’s Manifest V3 service worker to fire UDP packets through a tiny local relay bridge, since browsers can’t send UDP natively. The popup UI is built with plain HTML/CSS and renders device state in a collapsible tree.

Lessons Learned

This project taught me a lot about debugging tooling as a product: the features I thought would matter (raw packet view) mattered less than the ones I almost skipped (state diffing). Good tools expose changes, not just data.

Note — If you build a tool like this, make every destructive action undoable. Debugging is inherently exploratory, and you should never punish the user for clicking the wrong button.

このプロジェクトについて相談する