Skip to content

legrand-hid: fix beeper.disable to disable, not mute - #3639

Merged
jimklimov merged 5 commits into
networkupstools:masterfrom
antonpopov:legrand-hid-beeper-disable
Sep 14, 2026
Merged

jimklimov merged 5 commits into
networkupstools:masterfrom
antonpopov:legrand-hid-beeper-disable

Conversation

@antonpopov

Copy link
Copy Markdown
Contributor

Fixes #3638

beeper.disable in the Legrand HID subdriver wrote AudibleAlarmControl = 3, which NUT defines as muted (current alarm only), rather than 1 (disabled). The buzzer could re-arm on every alarm.

Changes:

  • Map beeper.disable to 1; keep beeper.enable at 2.
  • Add beeper.mute for 3.
  • Add the ups.beeper.status read mapping.
  • Bump the Legrand HID subdriver version from 0.3 to 0.4.
  • Document the fix in NEWS.adoc.

Testing

Built successfully in a clean Ubuntu 24.04 Docker container with:

./autogen.sh
./configure --with-usb=yes --with-drivers=usbhid-ups
make -C drivers usbhid-ups

Hardware validation was performed on a Legrand KEOR PDU 800 (1cb0:0038) with NUT 2.8.1.

Notes

The same mapping table also serves the Keor SP (1cb0:0032), which was not tested.

AI assistance: GitHub Copilot was used during preparation of this contribution. The human contributor reviewed and takes responsibility for the submitted changes.

AudibleAlarmControl value 3 means "muted" (silences only the current alarm) per NUT's beeper_info table; value 1 means "disabled". The subdriver used 3 for beeper.disable, so the buzzer re-armed after every alarm and the command had no lasting effect.

Map beeper.disable to 1, add beeper.mute for 3, and add the ups.beeper.status reading so the state is observable.

Tested in Docker with a clean Ubuntu 24.04 build of usbhid-ups. Hardware validation was performed on a Legrand KEOR PDU 800 (1cb0:0038).

Fixes: networkupstools#3638
Signed-off-by: Anton Popov <anton.a.popov@gmail.com>
@github-actions

github-actions Bot commented Sep 10, 2026

Copy link
Copy Markdown

A ZIP file with standard source tarball and another tarball with pre-built docs for commit 2b6e891 is temporarily available: NUT-tarballs-PR-3639.zip.

The Legrand entry is already present in alphabetical order, but the personal dictionary header was one word short. Update the declared count to keep make spellcheck and distribution checks consistent.

Signed-off-by: Anton Popov <anton.a.popov@gmail.com>
@AppVeyorBot

Copy link
Copy Markdown

@AppVeyorBot

Copy link
Copy Markdown

antonpopov and others added 2 commits September 10, 2026 22:46
Aspell reports the brand name from NEWS.adoc as lowercase during spellcheck. Add the lowercase form alongside the existing proper-noun entry and keep the dictionary count synchronized.

Signed-off-by: Anton Popov <anton.a.popov@gmail.com>
@AppVeyorBot

Copy link
Copy Markdown

@AppVeyorBot

Copy link
Copy Markdown

Build nut 2.8.5.5277-master completed (commit 74ced352c3 by @antonpopov)

@AppVeyorBot

Copy link
Copy Markdown

@AppVeyorBot

Copy link
Copy Markdown

Build nut 2.8.5.5278-master completed (commit c9e51d9ec0 by @jimklimov)

@jimklimov jimklimov added USB Legrand Devices produced and/or branded by Legrand Incorrect or missing readings On some devices driver-reported values are systemically off (e.g. x10, x0.1, const+Value, etc.) impacts-release-2.8.5 Issues reported against NUT release 2.8.5 (maybe vanilla or with minor packaging tweaks) impacts-release-2.8.1 Issues reported against NUT release 2.8.1 (maybe vanilla or with minor packaging tweaks) labels Sep 11, 2026
@jimklimov jimklimov added this to the 2.8.6 milestone Sep 11, 2026
@jimklimov jimklimov added the AI For good or bad, machine tools are upon us. Humans are still the responsible ones. label Sep 11, 2026
@jimklimov
jimklimov merged commit db901a5 into networkupstools:master Sep 14, 2026
4 of 5 checks passed
jimklimov added a commit that referenced this pull request Sep 14, 2026
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI For good or bad, machine tools are upon us. Humans are still the responsible ones. impacts-release-2.8.1 Issues reported against NUT release 2.8.1 (maybe vanilla or with minor packaging tweaks) impacts-release-2.8.5 Issues reported against NUT release 2.8.5 (maybe vanilla or with minor packaging tweaks) Incorrect or missing readings On some devices driver-reported values are systemically off (e.g. x10, x0.1, const+Value, etc.) Legrand Devices produced and/or branded by Legrand USB

Projects

None yet

Development

Successfully merging this pull request may close these issues.

legrand-hid: beeper.disable sends AudibleAlarmControl=3 (muted) instead of 1 (disabled)

3 participants