There is currently an OS named Multimatic (a model/manufacturer of UPS)
The actually identified device is the CS-121 card manufactured by Generex. These cards are supplied to multiple OEMs for integration into UPS and are also available as add-ons for unbranded UPS. They use the UPS-MIB and also a proprietary extension to the RFC1628 mib (RFC1628cs121).
Some of their cards include an add-on BACS (battery analysis and conditioning system) which also has a MIB but I don’t have such a card.
There is another card CS141 from the same manufacturer which uses the same MIBs (it has an upgraded processor apparently).
I am wondering if I should:
a. Extend ‘Multimatic’ to cover my UPS (it has already been extended once to another manufacturer)
b. Simplify the discovery of ‘Multimatic’ to discover any CS121 card.
c. Simplify the discovery of ‘Multimatic’ to discover any CS121 card and rename the OS to ‘Generex-CS121-UPS-Card’
d. Simplify the discovery of ‘Multimatic’ to discover any CS121 or CS141 card and rename the OS to ‘Generex-UPS-Card’
c or d would allow easy extension to incorporate the BACS MIB if anyone ever needs it.
I’ve a new UPS that uses this card and needs to be integrated to LibreNMS.
I don’t like any of the propositions because:
- A/B - It will be hard to understand that a Multimatic UPS is your Generex card or your UPS
- C/D - IMO you can’t broke something existing, perhaps users have alerts based on this.
I prefer these methods:
- Creating a generic Generex support using the RFC and excluding the Multimatic and using it as Generex;
- Creating a generic Generex support using the RFC but adding more information for each manufacturers that LibreNMS users need and for not yet supported manufacturer showing a “Generex” card;
- Continuing like the Multimatic and creating new OS without taking care that based on a generic SNMP card.
Agreed re not breaking existing.
I would propose to create new OS ‘Generex-UPS-card’ which would take both CS121 and CS141 and allow extension to encompass BACS later.
I will show which model of card and whatever manufacturer info is available.
I have no thoughts in any direction on this as I’m not a user of the cards so all I can say is, do what you feel is best. If I was a user of these or something similar then I’d probably say that I’d like to see them show up as the vendor I bought from but as I said, do what you feel is best for most and not just you - pick a good OS name though,
Generex-CS121-UPS-Card seems a bit ott
We do try not to change OS names but if there is a genuine and justified need for it then we would allow it so long as an announcement is published in the notifications.rss of the www.librenms.org site (it’s on github) warning people of this change and when it would happen.
Ok I’m available to start over and to support this card correctly this time.
My own choice can be:
- A generic OS name that can be easy found when adding new UPS: generex-multimatic, generex-abb, generex-xxx
- Using the RFC1628
With this we can safely rename the Multimatic one without broken anything.
I would propose either ‘Generex-UPS-card’ or ‘Generex UPS SNMP adapter’
I know they are mouthfuls though…
Below is what I get on my walk: (the manufacturer didn’t do any customisation!)
RFC1213-MIB::sysDescr.0 = STRING: "CS121 v 5.14.50"
RFC1213-MIB::sysObjectID.0 = OID: RFC1213-MIB::mib-2.33
RFC1213-MIB::sysUpTime.0 = Timeticks: (2774196204) 321 days, 2:06:02.04
RFC1213-MIB::sysContact.0 = ""
RFC1213-MIB::sysName.0 = STRING: “CS-121”
UPS-MIB::upsIdentManufacturer.0 = STRING: "UPS Manufacturer"
UPS-MIB::upsIdentModel.0 = STRING: "10-30kVA PFC SQP"
UPS-MIB::upsIdentUPSSoftwareVersion.0 = STRING: "n/a"
UPS-MIB::upsIdentAgentSoftwareVersion.0 = STRING: "CS121 v 5.14.50"
UPS-MIB::upsIdentName.0 = STRING: "CS121 SNMP/WEB Adapter"
UPS-MIB::upsIdentAttachedDevices.0 = STRING: “UPS protected devices”