nut
nut copied to clipboard
Home Assistant NUT container update detailed (was: "Support CyberPower RMCARD205"; also: CyberPower MIB/OID info attached)
can you add support for this card please?
I would like to second this request
+1
This card supports SNMP v1 & v3
The MIB file is CyberPower_MIB_v2.9.MIB.TXT which was downloaded (and renamed for uploading) from https://www.cyberpower.com/uk/en/product/sku/rmcard205#downloads
Please look ar #416 to prépare the needed data. I'll do my best in january ti look ar this.
Le dim. 22 déc. 2019 à 22:33, Dan Benton [email protected] a écrit :
+1
This card supports SNMP v1 & v3
The MIB file is CyberPower_MIB_v2.9.MIB.TXT https://github.com/networkupstools/nut/files/3993029/CyberPower_MIB_v2.9.MIB.TXT which was downloaded (and renamed for uploading) from https://www.cyberpower.com/uk/en/product/sku/rmcard205#downloads
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/networkupstools/nut/issues/590?email_source=notifications&email_token=AAHA43NEQI5SR6BTQIOQJFDQZ7MKHA5CNFSM4FPMETGKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHP2HTI#issuecomment-568304589, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAHA43PQPNCLIMETTXAAUNLQZ7MKHANCNFSM4FPMETGA .
@aquette I'd love to help with this as I am also in need of the update. I don't understand what you mean by referring to #416, there is a ton of information there. What exactly do you expect from me/us?
hi @tnagels look for the instructions around gen-snmp-subdriver.sh to provide me a base. I'll then turns this into a branch like in https://github.com/networkupstools/nut/issues/416#issuecomment-554307433, so that you can test and we can progress
Update: note that we already have https://github.com/networkupstools/nut/blob/master/drivers/cyberpower-mib.c I'd be first interested in seeing the results from this. Also note that NUT 2.7.4 (last official release) only have version 0.1 of this driver, while the GIT version has 0.2, so it would be better to use GIT (in which case, use the above referenced comment to get and compile)
@aquette I will try to check this later this week on a separate system. The setup I am using now does not allow me to do this (it is in a managed container I have little control over).
Meanwhile, I'll also check the driver you referenced by just comparing the MIB entries with what I get when doing an snmp walk. If they match up there is a decent chance the driver will work i guess.
Thomas
@tnagels ack. it's possible that this current driver needs some update and completion though. Time (and your tests) will tell.
Would also appreciate seeing RMCARD205 support added.
@aquette I have one of these cards in my UPS at home, so have free access to it anytime. However, trying to read above, and your reference to the link for #416 , I don't even know where to start to help you and the community. Just a normal Joe, so would need really step by step to do this.
Is anyone on this thread actively working on providing the information @aquette requested to support RMCARD205? Would really like to see this card supported in NUT/homeassistant.io.
I don't have a lot of free time but can take a look if this isn't already in progress.
@aquette I will try to check this later this week on a separate system. The setup I am using now does not allow me to do this (it is in a managed container I have little control over).
Unfortunately I'm not getting round to testing this. So while I'm still interested in this, unfortunately I won't be part of the solution.
Is anyone on this thread actively working on providing the information @aquette requested to support RMCARD205? Would really like to see this card supported in NUT/homeassistant.io.
I don't have a lot of free time but can take a look if this isn't already in progress.
I have the card, but need a simple guide to follow to get the info. Step by step :-(
Compiling from git with the 'cyberpower MIB 0.2' gives me:
root@nut:/usr/local/ups/sbin# upsc myups@localhost
Init SSL without certificate database
battery.charge: 100
battery.runtime: 417600
battery.runtime.elapsed: 0
device.mfr: CYBERPOWER
device.model: OR2200LCDRT2U
device.serial:
device.type: ups
driver.name: snmp-ups
driver.parameter.pollfreq: 15
driver.parameter.pollinterval: 2
driver.parameter.port: [ip]
driver.parameter.snmp_version: v1
driver.parameter.synchronous: no
driver.version: 2.7.4-747-g3d88a972
driver.version.data: cyberpower MIB 0.2
driver.version.internal: 1.12
input.frequency: 60
input.voltage: 120
output.voltage: 120
ups.firmware: BFAD101*781
ups.load: 16
ups.mfr: CYBERPOWER
ups.model: OR2200LCDRT2U
ups.serial:
ups.status: OL
and:
root@nut:/usr/local/ups/sbin# snmpwalk -c [private] -v1 [ip] .1.3.6.1.4.1.3808.1.1.1
iso.3.6.1.4.1.3808.1.1.1.1.1.1.0 = STRING: "OR2200LCDRT2U"
iso.3.6.1.4.1.3808.1.1.1.1.1.2.0 = STRING: "RMCARD205"
iso.3.6.1.4.1.3808.1.1.1.1.2.1.0 = STRING: "BFAD101*781"
iso.3.6.1.4.1.3808.1.1.1.1.2.3.0 = ""
iso.3.6.1.4.1.3808.1.1.1.1.2.4.0 = STRING: "1.2.0"
iso.3.6.1.4.1.3808.1.1.1.1.2.5.0 = NULL
iso.3.6.1.4.1.3808.1.1.1.1.2.6.0 = INTEGER: 2000
iso.3.6.1.4.1.3808.1.1.1.1.2.7.0 = INTEGER: 1320
iso.3.6.1.4.1.3808.1.1.1.1.2.8.0 = INTEGER: 167
iso.3.6.1.4.1.3808.1.1.1.1.2.9.0 = STRING: "TALHZ2002868"
iso.3.6.1.4.1.3808.1.1.1.2.1.1.0 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.2.1.2.0 = Timeticks: (0) 0:00:00.00
iso.3.6.1.4.1.3808.1.1.1.2.1.3.0 = NULL
iso.3.6.1.4.1.3808.1.1.1.2.1.4.0 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.2.2.1.0 = Gauge32: 100
iso.3.6.1.4.1.3808.1.1.1.2.2.2.0 = NULL
iso.3.6.1.4.1.3808.1.1.1.2.2.3.0 = Gauge32: 0
iso.3.6.1.4.1.3808.1.1.1.2.2.4.0 = Timeticks: (696000) 1:56:00.00
iso.3.6.1.4.1.3808.1.1.1.2.2.5.0 = INTEGER: 1
iso.3.6.1.4.1.3808.1.1.1.2.2.8.0 = INTEGER: 24
iso.3.6.1.4.1.3808.1.1.1.2.2.9.0 = NULL
iso.3.6.1.4.1.3808.1.1.1.3.1.1.0 = INTEGER: 1
iso.3.6.1.4.1.3808.1.1.1.3.2.1.0 = Gauge32: 1200
iso.3.6.1.4.1.3808.1.1.1.3.2.2.0 = Gauge32: 1200
iso.3.6.1.4.1.3808.1.1.1.3.2.3.0 = Gauge32: 1200
iso.3.6.1.4.1.3808.1.1.1.3.2.4.0 = Gauge32: 600
iso.3.6.1.4.1.3808.1.1.1.3.2.5.0 = INTEGER: 1
iso.3.6.1.4.1.3808.1.1.1.3.2.6.0 = INTEGER: 1
iso.3.6.1.4.1.3808.1.1.1.4.1.1.0 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.4.1.2.0 = INTEGER: 1
iso.3.6.1.4.1.3808.1.1.1.4.1.3.0 = STRING: "47~63 Hz"
iso.3.6.1.4.1.3808.1.1.1.4.2.1.0 = Gauge32: 1200
iso.3.6.1.4.1.3808.1.1.1.4.2.2.0 = INTEGER: 600
iso.3.6.1.4.1.3808.1.1.1.4.2.3.0 = Gauge32: 16
iso.3.6.1.4.1.3808.1.1.1.4.2.4.0 = Gauge32: 0
iso.3.6.1.4.1.3808.1.1.1.4.2.5.0 = Gauge32: 211
iso.3.6.1.4.1.3808.1.1.1.5.1.1.0 = INTEGER: 24
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.1 = INTEGER: 1
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.2 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.3 = INTEGER: 3
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.4 = INTEGER: 4
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.5 = INTEGER: 5
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.6 = INTEGER: 6
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.7 = INTEGER: 7
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.8 = INTEGER: 8
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.9 = INTEGER: 9
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.10 = INTEGER: 10
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.11 = INTEGER: 11
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.12 = INTEGER: 12
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.13 = INTEGER: 13
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.14 = INTEGER: 14
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.1.15 = INTEGER: 15
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.1 = STRING: "Outlet1"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.2 = STRING: "Outlet2"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.3 = STRING: "Outlet3"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.4 = STRING: "Outlet4"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.5 = STRING: "Outlet5"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.6 = STRING: "Outlet6"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.7 = STRING: "Outlet7"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.8 = STRING: "Outlet8"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.9 = STRING: "Outlet9"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.10 = STRING: "Outlet10"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.11 = STRING: "Outlet11"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.12 = STRING: "Outlet12"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.13 = STRING: "Outlet13"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.14 = STRING: "Outlet14"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.2.15 = STRING: "Outlet15"
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.1 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.2 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.3 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.4 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.5 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.6 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.7 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.8 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.9 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.10 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.11 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.12 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.13 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.14 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.3.15 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.1 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.2 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.3 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.4 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.5 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.6 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.7 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.8 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.9 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.10 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.11 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.12 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.13 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.14 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.1.2.1.4.15 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.2.1.0 = INTEGER: 120
iso.3.6.1.4.1.3808.1.1.1.5.2.4.0 = INTEGER: 3
iso.3.6.1.4.1.3808.1.1.1.5.2.9.0 = NULL
iso.3.6.1.4.1.3808.1.1.1.5.2.10.0 = NULL
iso.3.6.1.4.1.3808.1.1.1.5.2.11.0 = NULL
iso.3.6.1.4.1.3808.1.1.1.5.2.13.0 = NULL
iso.3.6.1.4.1.3808.1.1.1.5.2.14.0 = NULL
iso.3.6.1.4.1.3808.1.1.1.5.2.15.0 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.5.2.16.0 = INTEGER: 0
iso.3.6.1.4.1.3808.1.1.1.5.2.17.0 = INTEGER: 1
iso.3.6.1.4.1.3808.1.1.1.5.2.18.0 = INTEGER: 10
iso.3.6.1.4.1.3808.1.1.1.6.2.1.0 = INTEGER: 1
iso.3.6.1.4.1.3808.1.1.1.6.2.2.0 = INTEGER: 1
iso.3.6.1.4.1.3808.1.1.1.6.2.3.0 = INTEGER: 1
iso.3.6.1.4.1.3808.1.1.1.6.2.5.0 = NULL
iso.3.6.1.4.1.3808.1.1.1.6.2.6.0 = INTEGER: 1
iso.3.6.1.4.1.3808.1.1.1.7.2.2.0 = INTEGER: 1
iso.3.6.1.4.1.3808.1.1.1.7.2.3.0 = NULL
iso.3.6.1.4.1.3808.1.1.1.7.2.4.0 = NULL
iso.3.6.1.4.1.3808.1.1.1.7.2.6.0 = INTEGER: 1
iso.3.6.1.4.1.3808.1.1.1.7.2.7.0 = NULL
iso.3.6.1.4.1.3808.1.1.1.7.2.8.0 = NULL
iso.3.6.1.4.1.3808.1.1.1.8.1.1.1.1.1 = INTEGER: 1
iso.3.6.1.4.1.3808.1.1.1.8.1.1.1.1.2 = INTEGER: 2
iso.3.6.1.4.1.3808.1.1.1.8.1.1.1.1.3 = INTEGER: 3
iso.3.6.1.4.1.3808.1.1.1.8.1.1.1.1.4 = INTEGER: 4
iso.3.6.1.4.1.3808.1.1.1.8.1.1.1.1.5 = INTEGER: 5
iso.3.6.1.4.1.3808.1.1.1.8.1.1.1.2.1 = INTEGER: 3
iso.3.6.1.4.1.3808.1.1.1.8.1.1.1.2.2 = INTEGER: 3
iso.3.6.1.4.1.3808.1.1.1.8.1.1.1.2.3 = INTEGER: 3
iso.3.6.1.4.1.3808.1.1.1.8.1.1.1.2.4 = INTEGER: 3
iso.3.6.1.4.1.3808.1.1.1.8.1.1.1.2.5 = INTEGER: 3
This is more information than provided by MIB 0.1 as it provides input and output voltages as well as system load.
I have this card and would be glad to assist in anyway possible. I note that on the CP website, they have MIB v2.9: here
Hi All,
any update on this? any luck with RMCARD205 with NUT? thanks
I have a pull request submitted to support this card: https://github.com/networkupstools/nut/pull/686
I have a pull request submitted to support this card: #686
Geez, you've had that PR open for a year and a half, and it's still not accepted?
@aquette do you think the PR that is proposed is satisfactory?
There is also another PR that corrects some fields: #793
I have the RMCARD205, but am installing nut from apt vs. compiling so @DaftHonk 's solution doesn't work for me--even though I'm clearly experiencing the exact same problem (and am glad for hope to fix it!).
I've copied CyberPower's MIB from @berrmirt 's link, and placed it in nut's search path: /usr/share/snmp/mibs. I've messed around with the other files and /etc/nut/ups.conf but nothing I do allows it to access the OEM MIB. General internet searches on "nut ups custom MIB" and such aren't proving useful.
While it would be great to get better support this popular device built in, my more urgent question is how to get nut to pick up a custom MIB? I'm so close, and I need to get this figured out before I ship equipment to a mountain top across the Pacific!
Support for RMCARD205 merged in https://github.com/networkupstools/nut/issues/686
Assuming it will be included in the next release of NUT...
Is this in the next NUT release? When can we expect to see it in production and if not, can we find this config compiling from git?
can we find this config compiling from git?
I successfully compiled from the master branch on amd64 with support for this card.
Before a next official release (for distro packaging, etc), there is some unfinished business to take care of :(
Currently the master branch should be in decent shape, getting better week to week, with lots of changes since last 2.7.4 released a few years ago... so at the moment it is your best shot at supporting the card if this support does work for you (got none to check locally) and if distro-provided packages are not a blocking requirement :)
I just built master at commit 9defa7a9cc97491b4d595fe1233996b948ab730d on Debian amd64 and installed it over the debian package per the instructions on the wiki here.
The driver initializes with some warnings, but I am able to query the RMCARD 205 now. Thank you!
I just built master at commit 9defa7a on Debian amd64 and installed it over the debian package per the instructions on the wiki here.
The driver initializes with some warnings, but I am able to query the RMCARD 205 now. Thank you!
where in the instructions is this? Id like to do exactly what you've done do you think you would be willing to direct to some more docs on what you did?
Well, beside generic docs in the sources, there are compact specifics in the wiki, e.g. https://github.com/networkupstools/nut/wiki/Building-NUT-on-Debian,-Raspbian-and-Ubuntu
Hope this helps, Jim
On Fri, May 7, 2021, 05:30 KenwoodFox @.***> wrote:
I just built master at commit 9defa7a https://github.com/networkupstools/nut/commit/9defa7a9cc97491b4d595fe1233996b948ab730d on Debian amd64 and installed it over the debian package per the instructions on the wiki here.
The driver initializes with some warnings, but I am able to query the RMCARD 205 now. Thank you!
where in the instructions is this? Id like to do exactly what you've done do you think you would be willing to direct to some more docs on what you did?
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/networkupstools/nut/issues/590#issuecomment-834037070, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAMPTFBZWCURY7FWN7NG5QLTMNNGVANCNFSM4FPMETGA .
I just tried to pull in data from my CyberPower UPS via an RMCARD205 and am seeing very little information. I tried both doing this on an Ubuntu Server, and directly on Home Assistant. In both cases I only see battery runtime, voltage, status, and status data. I don't know what version of NUT I installed on the server but it should be the latest as of today. Same goes for the one on Home Assistant (but I am guessing this one may trail behind NUT releases)

Shouldn't I be seeing lots more information than the above?
I am also getting this with an RMCARD 205 Hardware Version1.1 Firmware Version1.1.6
"No matching MIB found for sysOID '.1.3.6.1.4.1.3808.1.1.1'!
Please report it to NUT developers, with an 'upsc' output for your device.
Going back to the classic MIB detection method.
Detected OR700LCDRM1U on host 192.168.1.71 (mib: cyberpower 0.1)
Network UPS Tools - UPS driver controller 2.7.4
It seems 'the old' method is detecting the UPS correctly unclear if this is right. I have same
I am running Network UPS Tools - UPS driver controller 2.7.4 (this is the home assitant nut UPS package) and seems be latest with this project.
Here is the request USPC output.
root@a0d7b954-nut:/# upsc AV-Rack-Top@localhost
Init SSL without certificate database
battery.runtime: 82800.00
battery.runtime.elapsed: 0.00
device.mfr: CYBERPOWER
device.model: OR700LCDRM1U
device.serial:
device.type: ups
driver.name: snmp-ups
driver.parameter.pollinterval: 2
driver.parameter.port: 192.168.1.71
driver.parameter.synchronous: no
driver.version: 2.7.4
driver.version.data: cyberpower MIB 0.1
driver.version.internal: 0.97
ups.firmware: BF00701ICM1
ups.mfr: CYBERPOWER
ups.model: OR700LCDRM1U
ups.serial:
ups.status: OL
I guess the question is should i expect more? should i be manually specifying to use cyberpower with mibs=cyberpower (or is that the same as 'old' method?
Update your cards firmware
@C4Wiz thanks, i just tried that, made no difference. Card appears to report the same set of info on both SNMPv1 and v3. I get all the details i expect to get from a APC management card so i think i have figured out configuration.
I note someone [RMCARD205 OIDs + MIB WALK output.xlsx] was asking for OID / MIB data? If so maybe this is useful? (i dont really know what i am doing)
(https://github.com/networkupstools/nut/files/7523910/RMCARD205.OIDs.%2B.MIB.WALK.output.xlsx)
for example would be great to see date / time / result of last diagnostic - i see these on the APC SMARTUPS with the SNMP dirver? These are on the RMCARD205:
Name/OID upsAdvanceTestLastDiagnosticsDate.0 Value (OctetString) 03/09/2021
Name/OID upsAdvanceTestEstimationDate.0 Value (OctetString) 03/09/2021
Name/OID upsAdvanceTestDiagnosticsResults.0 Value (Integer) ok (1)
Name/OID upsAdvanceTestEstimationResults.0 Value (Integer) ok (1)