Skip to content

Add UPS model 'UPS ERA PLUS 2000' to driver list - #3269

Merged
jimklimov merged 2 commits into
networkupstools:masterfrom
sginestrini:tecnoware-UPS-ERA-PLUS-2000
Jan 18, 2026
Merged

jimklimov merged 2 commits into
networkupstools:masterfrom
sginestrini:tecnoware-UPS-ERA-PLUS-2000

Conversation

@sginestrini

Copy link
Copy Markdown
Contributor

General points

  • Described the changes in the PR submission or a separate issue, e.g.
    known published or discovered protocols, applicable hardware (expected
    compatible and actually tested/developed against), limitations, etc.

  • There may be multiple commits in the PR, aligned and commented with
    a functional change. Notably, coding style changes better belong in a
    separate PR, but certainly in a dedicated commit to simplify reviews
    of "real" changes in the other commits. Similarly for typo fixes in
    comments or text documents.

  • Please star NUT on GitHub, this helps with sponsorships! ;)

Frequent "underwater rocks" for driver addition/update PRs

  • Revised existing driver families and added a sub-driver if applicable
    (nutdrv_qx, usbhid-ups...) or added a brand new driver in the other
    case.

  • Did not extend obsoleted drivers with new hardware support features
    (notably blazer and other single-device family drivers for Qx protocols,
    except the new nutdrv_qx which should cover them all).

  • For updated existing device drivers, bumped the DRIVER_VERSION macro
    or its equivalent.

  • For USB devices (HID or not), revised that the driver uses unique
    VID/PID combinations, or raised discussions when this is not the case
    (several vendors do use same interface chips for unrelated protocols).

  • For new USB devices, built and committed the changes for the
    scripts/upower/95-upower-hid.hwdb file

  • Proposed NUT data mapping is aligned with existing docs/nut-names.txt
    file. If the device exposes useful data points not listed in the file, the
    experimental.* namespace can be used as documented there, and discussion
    should be raised on the NUT Developers mailing list to standardize the new
    concept.

  • Updated data/driver.list.in if applicable (new tested device info)

Frequent "underwater rocks" for general C code PRs

  • Did not "blindly assume" default integer type sizes and value ranges,
    structure layout and alignment in memory, endianness (layout of bytes and
    bits in memory for multi-byte numeric types), or use of generic int where
    language or libraries dictate the use of size_t (or ssize_t sometimes).
  • Progress and errors are handled with upsdebugx(), upslogx(),
    fatalx() and related methods, not with direct printf() or exit().
    Similarly, NUT helpers are used for error-checked memory allocation and
    string operations (except where customized error handling is needed,
    such as unlocking device ports, etc.)

  • Coding style (including whitespace for indentations) follows precedent
    in the code of the file, and examples/guide in docs/developers.txt file.

  • For newly added files, the Makefile.am recipes were updated and the
    make distcheck target passes.

General documentation updates

  • Updated docs/acknowledgements.txt (for vendor-backed device support)

  • Added or updated manual page information in docs/man/*.txt files
    and corresponding recipe lists in docs/man/Makefile.am for new pages

  • Passed make spellcheck, updated spell-checking dictionary in the
    docs/nut.dict file if needed (did not remove any words -- the make
    rule printout in case of changes suggests how to maintain it).

Additional work may be needed after posting this PR

  • Propose a PR for NUT DDL with detailed device data dumps from tests
    against real hardware (the more models, the better).

  • Address NUT CI farm build failures for the PR: testing on numerous
    platforms and toolkits can expose issues not seen on just one system.

  • Revise suggestions from LGTM.COM analysis about "new issues" with
    the changed codebase.

@sginestrini
sginestrini force-pushed the tecnoware-UPS-ERA-PLUS-2000 branch from 158738b to 959b956 Compare January 17, 2026 23:02
@AppVeyorBot

Copy link
Copy Markdown

@jimklimov

Copy link
Copy Markdown
Member

Thanks! Fields should be tab-separated though.

@sginestrini
sginestrini force-pushed the tecnoware-UPS-ERA-PLUS-2000 branch from 959b956 to 6c7e839 Compare January 18, 2026 10:24
@sginestrini

Copy link
Copy Markdown
Contributor Author

Thanks! Fields should be tab-separated though.

Sorry, haven't seen that. I have fixed it!

@sginestrini
sginestrini force-pushed the tecnoware-UPS-ERA-PLUS-2000 branch 2 times, most recently from eb31990 to 1804893 Compare January 18, 2026 11:35
@jimklimov jimklimov added the HCL label Jan 18, 2026
Signed-off-by: Simone <s.ginestrini@gmail.com>
Signed-off-by: Simone <s.ginestrini@gmail.com>
@jimklimov
jimklimov force-pushed the tecnoware-UPS-ERA-PLUS-2000 branch from 1804893 to 9b526ba Compare January 18, 2026 16:07
@jimklimov
jimklimov merged commit 23e52d0 into networkupstools:master Jan 18, 2026
22 of 25 checks passed
@jimklimov jimklimov added USB Qx protocol driver Driver based on Megatec Q<number> such as new nutdrv_qx, or obsoleted blazer and some others labels Jan 18, 2026
@jimklimov jimklimov added this to the 2.8.5 milestone Jan 18, 2026
Challado pushed a commit to Challado/nut that referenced this pull request Oct 14, 2026
…S-ERA-PLUS-2000

Add UPS model 'UPS ERA PLUS 2000' to driver list

SVN-Git-Bridge: nut-3e341d2d9c-3fc79f1e8124 23e52d0
Bridge-Author: Jim Klimov <jimklimov+nut@gmail.com>
Bridge-Author-Date: 2026-01-18T17:08:13+01:00
Bridge-Committer: GitHub <noreply@github.com>
Bridge-Committer-Date: 2026-01-18T17:08:13+01:00
From: Jim Klimov <jimklimov+nut@gmail.com>

git-svn-id: file:///mnt/export/subversion/nut/trunk@4565 5f2f2009-99cd-4845-9af7-39d0aa6e3748
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

HCL Qx protocol driver Driver based on Megatec Q<number> such as new nutdrv_qx, or obsoleted blazer and some others USB

Projects

Status: Todo

Development

Successfully merging this pull request may close these issues.

3 participants