Skip to content

Add Philips WiZ support (driver + web wizard)#1469

Merged
awawa-dev merged 6 commits intoawawa-dev:masterfrom
user83749:philipswiz-driver
Mar 11, 2026
Merged

Add Philips WiZ support (driver + web wizard)#1469
awawa-dev merged 6 commits intoawawa-dev:masterfrom
user83749:philipswiz-driver

Conversation

@user83749
Copy link
Copy Markdown
Contributor

@user83749 user83749 commented Mar 6, 2026

Summary

Adds native Philips WiZ (LAN/UDP) light support to HyperHDR: new LED device driver, discovery, web wizard integration, and identify/blink.

What kind of change does this PR introduce? (check at least one)

  • Bugfix
  • Feature
  • Code style update
  • Refactor
  • Docs
  • Build-related changes
  • Other, please describe:

If changing the UI of web configuration, please provide the before/after screenshot:

Does this PR introduce a breaking change? (check one)

  • Yes
  • No

If yes, please describe the impact and migration path for existing setups:

The PR fulfills these requirements:

  • When resolving a specific issue, it's referenced in the PR's body (e.g. Fixes: #xxx[,#xxx], where "xxx" is the issue number)

To avoid wasting your time, it's best to open a feature request issue first and wait for approval before working on it.

Other information:

Other information:*

  • Implements new wiz LED device (LAN/UDP setPilot / discovery via getPilot on port 38899).
  • Adds web wizard for discovery, mapping, and per-bulb Identify.
  • Tested on macOS 26.3.1 (with LAN local communication enabled through Wiz mobile app).

@awawa-dev
Copy link
Copy Markdown
Owner

Hi
Thanks for adding support for the new driver! I noticed, however, that the MIT license block was removed from the new .cpp file in your latest commit. In this project, we follow the practice of including the license notice in every source file, especially since this driver is based on my existing LIFX driver core. This is important for legal clarity when files are copied outside of the project (e.g., by AI bots). Please restore the block so we can finalize the merge.

https://github.com/user83749/HyperHDR/blob/2d6dbec8af0f06274f1b0d291ad080f88dca0789/sources/led-drivers/net/DriverNetWiz.cpp#L270

If it’s not absolutely necessary, I’d prefer not to block the thread for that long. Could we instead send a single command that briefly blinks the light to identify it and immediately return control? For example:

{
  "method": "pulse",
  "params": {
    "delta": 100,
    "duration": 2000
  }
}

@user83749
Copy link
Copy Markdown
Contributor Author

Good afternoon,
MIT license header has been restored in DriverNetWiz.cpp.
For Identify, I avoided blocking the thread. On my WiZ bulbs pulse returns success:true but isn’t a reliable visible “blink” when the light is off, so Identify uses a quick setPilot blue flash and then turns the bulb off 1s via delayed packet.

@awawa-dev
Copy link
Copy Markdown
Owner

awawa-dev commented Mar 8, 2026

Hi, thank you. I felt that mixing std::thread with Qt might not be the best approach, so I’ve refactored the code. Could you test if the blink effect works now, even if the lamp is initially turned off?

@awawa-dev awawa-dev assigned awawa-dev and unassigned awawa-dev Mar 8, 2026
@awawa-dev awawa-dev self-requested a review March 8, 2026 00:38
@user83749
Copy link
Copy Markdown
Contributor Author

Tested. The blink effect works even if the lamp is initially off.

When lamp is off: lamp turns on, brightens to ~100%, then drops to ~10% and stays there.

When lamp is ON: lamp dims to ~10%, then rises to ~100%, then returns to ~10% and stays there.

@awawa-dev
Copy link
Copy Markdown
Owner

Great! I'll merge it soon.

@awawa-dev awawa-dev merged commit 67056fd into awawa-dev:master Mar 11, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants