Skip to content

feat: Plasma for Core 400S, nightlight fixes, new device types + unknown device logging#530

Closed
Domocn wants to merge 5 commits into
webdjoe:devfrom
Domocn:fix/plasma-and-nightlight
Closed

feat: Plasma for Core 400S, nightlight fixes, new device types + unknown device logging#530
Domocn wants to merge 5 commits into
webdjoe:devfrom
Domocn:fix/plasma-and-nightlight

Conversation

@Domocn

@Domocn Domocn commented Jul 11, 2026

Copy link
Copy Markdown

Summary

Fixes 8 issues and adds automatic device type reporting for future issues.

Feature additions

New device types (inferred from VeSync APK v5.9.10 model numbers)

Logging improvement

  • Unknown device types now logged at INFO level: Device type XXX not found in device map - please report this
  • Users no longer need debug mode to see what deviceType their unrecognized device returns

Changes

File Lines
const.py +3
device_map.py +12/-9
vesyncpurifier.py +35
vesynchumidifier.py +16
device_container.py +1/-1

Device types were inferred from reverse-engineering the VeSync APK v5.9.10 (com.etekcity.vesyncplatform).

Domocn and others added 5 commits July 10, 2026 23:40
…iers

- Add PLASMA to PurifierFeatures enum (const.py)
- Add toggle_plasma/turn_on_plasma/turn_off_plasma methods to VeSyncAirBypass
- Add plasma field handling in _update_details
- Add PurifierFeatures.PLASMA to Core400S device map
- Add HumidifierFeatures.NIGHTLIGHT to Classic200S device map
- Add HumidifierFeatures.NIGHTLIGHT_RGB to Classic300S device map

Fixes webdjoe#521, #160387, webdjoe#502
- Add PLASMA to PurifierFeatures enum (const.py)
- Add toggle_plasma/turn_on_plasma/turn_off_plasma methods to VeSyncAirBypass
- Add plasma field handling in _update_details
- Add PurifierFeatures.PLASMA to Core400S device map
- Add HumidifierFeatures.NIGHTLIGHT_RGB to Classic300S device map
- Add HumidifierFeatures.NIGHTLIGHT to Classic200S device map
- Add HumidifierFeatures.NIGHTLIGHT to OasisMist 450S (EU and US) device maps
- Add toggle_nightlight/set_nightlight_brightness overrides to VeSyncSproutHumid
  to wire up the existing _set_nightlight_state helper to the public API

Fixes webdjoe#521, webdjoe#528, webdjoe#500, #160387, webdjoe#502
- Add LPF-F361S-WUS, LPF-F362S-WUSR, LPF-F461S-WUS to VeSyncTowerFan
- Add LPF-R382S-AEU, LPF-R382S-AUS to VeSyncPedestalFan
- Add LUH-A603S-WUK (LV600S UK variant) to VeSyncLV600S
- Add CS358-AF to VeSyncAirFryer158

Fixes webdjoe#525, webdjoe#523, webdjoe#526
Changes logger.debug to logger.info for unrecognized device types,
making them visible in default Home Assistant logs without needing
to enable debug logging. This helps users report new device types
for inclusion in the device map.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: eacadce57a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/pyvesync/devices/vesyncpurifier.py
Comment thread src/pyvesync/devices/vesynchumidifier.py
@webdjoe

webdjoe commented Jul 12, 2026

Copy link
Copy Markdown
Owner

Thank you for the PR and taking the time to work on this, but each issue needs to be broken into a separate pr because there are some issues that are not as clear cut as a simple fix:

Here are some issues:

  1. All 400s models do not have plasma, so there should be a separate device class that has the models that have the plasma feature. Were you able to directly test this and do you have the captures?
  2. The nightlight feature for the sprout was already implemented, so the sprout edits do not apply.
  3. A nightlight flag was added to the 200s, but there's no functionality behind it. I do not have the captures for it and I'm fairly certain that most 200s models do not have a nightlight.
  4. Classic300S does not have an RGB nightlight. It looks like it's applying it to the OasisMist, but that was addressed in another PR that was merged.

Please create separate PR's for these issues so that they can be appropriately tested and debugged individually before they are deployed.

@webdjoe webdjoe closed this Jul 12, 2026
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