ML
    • Recent
    • Categories
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Pi as a UPS monitor

    IT Discussion
    raspberry pi ups apc eaton nut
    8
    114
    33.8k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • JaredBuschJ
      JaredBusch
      last edited by

      pi@raspberrypi:~ $ sudo upsc jaredoffice@localhost
      Init SSL without certificate database
      battery.charge: 100
      battery.charge.low: 10
      battery.charge.warning: 50
      battery.date: 2001/09/25
      battery.mfr.date: 2010/12/15
      battery.runtime: 1580
      battery.runtime.low: 120
      battery.type: PbAc
      battery.voltage: 27.2
      battery.voltage.nominal: 24.0
      device.mfr: American Power Conversion
      device.model: Back-UPS BR1000G
      device.serial: 3B1051X20329
      device.type: ups
      driver.name: usbhid-ups
      driver.parameter.pollfreq: 30
      driver.parameter.pollinterval: 2
      driver.parameter.port: auto
      driver.version: 2.7.2
      driver.version.data: APC HID 0.95
      driver.version.internal: 0.38
      input.sensitivity: medium
      input.transfer.high: 147
      input.transfer.low: 88
      input.voltage: 126.0
      input.voltage.nominal: 120
      ups.beeper.status: enabled
      ups.delay.shutdown: 20
      ups.firmware: 868.L1 .D
      ups.firmware.aux: L1
      ups.load: 18
      ups.mfr: American Power Conversion
      ups.mfr.date: 2010/12/15
      ups.model: Back-UPS BR1000G
      ups.productid: 0002
      ups.realpower.nominal: 600
      ups.serial: 3B1051X20329
      ups.status: OL
      ups.test.result: No test initiated
      ups.timer.reboot: 0
      ups.timer.shutdown: -1
      ups.vendorid: 051d
      pi@raspberrypi:~ $
      
      1 Reply Last reply Reply Quote 2
      • JaredBuschJ
        JaredBusch
        last edited by

        Hopefully I can get it to do something tomorrow. no more time tonight.

        1 Reply Last reply Reply Quote 0
        • JaredBuschJ
          JaredBusch
          last edited by JaredBusch

          Instructions assuming a Pi3

          1. Install NOOBS to the SD Card.
          2. Boot the Pi to NOOBS
          3. Connect to wifi
          4. Once it sees internet you can choose to install a minimal version of raspbian with no GUI
          5. wait
          6. login with default creds pi/raspberry
          7. run sudo raspi-config to enable SSH and optionally set other options you want.
          8. edit the wifi config file sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
            network={
            ssid="yourssid"
            psk="ssidpassword"
            }
          9. reboot the Pi3
          10. update raspian
            1. sudo apt-get update
            2. sudo apt-get upgrade
          11. Install nut
            1. sudo apt-get install nut
          12. Edit sudo nano /etc/nut/nut.conf
            1. change MODE=standalone
          13. Edit sudo nano /etc/nut/ups.conf
          14. add a block at the end of the file.
            1. a default example
              [somenameforups]
              driver = usbhid-ups
              port = auto
              desc = "Some descriptive name for UPS"
            2. what mine is
              [jaredoffice]
              driver = usbhid-ups
              port = auto
              desc = "Jared's Desk"
          15. Test the conf file is right sudo upsdrvctl start
          16. Launch the UPS daemon sudo upsd
          17. see if it is talking sudo upsc somenameforups@localhost
            1. or my real one sudo upsc jaredoffice@localhost
          1 Reply Last reply Reply Quote 3
          • gjacobseG
            gjacobse
            last edited by

            Interesting that the last two of the last three messages seem out of order. But - great information.

            1 Reply Last reply Reply Quote 0
            • gjacobseG
              gjacobse
              last edited by gjacobse

              Well - while I don't have a Pi yet, I do happen to have a LM 17.x system running as my Pandora Music box (Pithos). It's within reach of one of the several UPS units I have (I have like nine) so I used your process and got one set up:

              sudo upsc pandora
              :
              Init SSL without certificate database
              battery.charge: 100
              battery.charge.low: 10
              battery.charge.warning: 50
              battery.date: not set
              battery.mfr.date: 2014/06/22
              battery.runtime: 3336
              battery.runtime.low: 120
              battery.type: PbAc
              battery.voltage: 13.5
              battery.voltage.nominal: 12.0
              device.mfr: APC
              device.model: Back-UPS ES 550G
              device.serial: 4B1425P54201
              device.type: ups
              driver.name: usbhid-ups
              driver.parameter.pollfreq: 30
              driver.parameter.pollinterval: 2
              driver.parameter.port: auto
              driver.version: 2.7.1
              driver.version.data: APC HID 0.95
              driver.version.internal: 0.38
              input.sensitivity: medium
              input.transfer.high: 139
              input.transfer.low: 92
              input.voltage: 125.0
              input.voltage.nominal: 120
              ups.beeper.status: enabled
              ups.delay.shutdown: 20
              ups.firmware: 904.W1 .D
              ups.firmware.aux: W1
              ups.load: 12
              ups.mfr: APC
              ups.mfr.date: 2014/06/22
              ups.model: Back-UPS ES 550G
              ups.productid: 0002
              ups.serial: 4B1425P54201
              ups.status: OL
              ups.timer.reboot: 0
              ups.timer.shutdown: -1
              ups.vendorid: 051d
              
              1 Reply Last reply Reply Quote 1
              • JaredBuschJ
                JaredBusch
                last edited by

                Today will be tinkering with notification options.

                1 Reply Last reply Reply Quote 2
                • gjacobseG
                  gjacobse
                  last edited by

                  Just got this:

                  Init SSL without certificate database
                  Error: Data stale
                  
                  1 Reply Last reply Reply Quote 0
                  • gjacobseG
                    gjacobse
                    last edited by

                    Went back through the commands above to validation / confirmation:

                    $ sudo nano /etc/nut/nut.conf
                    

                    no changes - the same.

                    $ sudo nano /etc/nut/ups.conf
                    

                    no changes - the same

                     $ sudo upsdrvctl start
                    Network UPS Tools - UPS driver controller 2.7.1
                    Network UPS Tools - Generic HID driver 0.38 (2.7.1)
                    USB communication driver 0.32
                    Duplicate driver instance detected! Terminating other driver!
                    Using subdriver: APC HID 0.95
                    

                    Okay - seems 'ok'

                    $ sudo upsd
                    Network UPS Tools upsd 2.7.1
                    fopen /var/run/nut/upsd.pid: No such file or directory
                    not listening on 127.0.0.1 port 3493
                    not listening on ::1 port 3493
                    no listening interface available
                    
                    $ sudo upsc pandora
                    Init SSL without certificate database
                    Error: Data stale
                    

                    curious.

                    JaredBuschJ 1 Reply Last reply Reply Quote 0
                    • JaredBuschJ
                      JaredBusch @gjacobse
                      last edited by

                      @gjacobse I do not get that. Mine has been untouched since last night.

                      pi@raspberrypi:~ $ sudo upsc jaredoffice
                      Init SSL without certificate database
                      battery.charge: 100
                      battery.charge.low: 10
                      battery.charge.warning: 50
                      battery.date: 2001/09/25
                      battery.mfr.date: 2010/12/15
                      battery.runtime: 1472
                      battery.runtime.low: 120
                      battery.type: PbAc
                      battery.voltage: 27.2
                      battery.voltage.nominal: 24.0
                      device.mfr: American Power Conversion
                      device.model: Back-UPS BR1000G
                      device.serial: 3B1051X20329
                      device.type: ups
                      driver.name: usbhid-ups
                      driver.parameter.pollfreq: 30
                      driver.parameter.pollinterval: 2
                      driver.parameter.port: auto
                      driver.version: 2.7.2
                      driver.version.data: APC HID 0.95
                      driver.version.internal: 0.38
                      input.sensitivity: medium
                      input.transfer.high: 147
                      input.transfer.low: 88
                      input.voltage: 124.0
                      input.voltage.nominal: 120
                      ups.beeper.status: enabled
                      ups.delay.shutdown: 20
                      ups.firmware: 868.L1 .D
                      ups.firmware.aux: L1
                      ups.load: 20
                      ups.mfr: American Power Conversion
                      ups.mfr.date: 2010/12/15
                      ups.model: Back-UPS BR1000G
                      ups.productid: 0002
                      ups.realpower.nominal: 600
                      ups.serial: 3B1051X20329
                      ups.status: OL
                      ups.test.result: No test initiated
                      ups.timer.reboot: 0
                      ups.timer.shutdown: -1
                      ups.vendorid: 051d
                      pi@raspberrypi:~ $
                      
                      1 Reply Last reply Reply Quote 0
                      • JaredBuschJ
                        JaredBusch
                        last edited by

                        This is what I will be following to configure reporting/alerting.
                        http://www.techrepublic.com/article/customize-ups-related-alerts-in-nut/

                        gjacobseG 1 Reply Last reply Reply Quote 1
                        • gjacobseG
                          gjacobse @JaredBusch
                          last edited by

                          @JaredBusch
                          Well push comes to Meh -okay. I restarted the box and it's polls now.

                          Won't do anything else with it for a spell to see if it retains it. It's been four days since I restarted it. Now - to reconnect to it as I had to pull the monitor off. X2Go works great,.. but only once I've signed in at the local. sure that is omething that can be changed.

                          1 Reply Last reply Reply Quote 0
                          • gjacobseG
                            gjacobse
                            last edited by

                            checking on my UPS this morning

                             ~ $ uptime
                             09:59:20 up 6 days, 18:12,  2 users,  load average: 0.19, 0.25, 0.25
                            
                             ~ $ sudo upsc pandora
                            Init SSL without certificate database
                            battery.charge: 100
                            battery.charge.low: 10
                            battery.charge.warning: 50
                            battery.date: not set
                            battery.mfr.date: 2014/06/22
                            battery.runtime: 3172
                            battery.runtime.low: 120
                            battery.type: PbAc
                            battery.voltage: 13.6
                            battery.voltage.nominal: 12.0
                            device.mfr: APC
                            device.model: Back-UPS ES 550G
                            device.serial: 4B1425P54201
                            device.type: ups
                            driver.name: usbhid-ups
                            driver.parameter.pollfreq: 30
                            driver.parameter.pollinterval: 2
                            driver.parameter.port: auto
                            driver.version: 2.7.1
                            driver.version.data: APC HID 0.95
                            driver.version.internal: 0.38
                            input.sensitivity: medium
                            input.transfer.high: 139
                            input.transfer.low: 92
                            input.voltage: 126.0
                            input.voltage.nominal: 120
                            ups.beeper.status: enabled
                            ups.delay.shutdown: 20
                            ups.firmware: 904.W1 .D
                            ups.firmware.aux: W1
                            ups.load: 13
                            ups.mfr: APC
                            ups.mfr.date: 2014/06/22
                            ups.model: Back-UPS ES 550G
                            ups.productid: 0002
                            ups.serial: 4B1425P54201
                            ups.status: OL
                            ups.timer.reboot: 0
                            ups.timer.shutdown: -1
                            ups.vendorid: 051d
                            

                            Since reboot, the monitor has been running all the time. So it may have been simply that.

                            As for having multiple UPS monitoring, I was curious what you thought about having a central display which showed the status of each UPS monitored. That way you have one display to glance at for a health check.

                            gjacobseG travisdh1T thwrT 3 Replies Last reply Reply Quote 1
                            • gjacobseG
                              gjacobse @gjacobse
                              last edited by

                              @gjacobse said in Pi as a UPS monitor:

                              checking on my UPS this morning

                              Since reboot, the monitor has been running all the time. So it may have been simply that.

                              As for having multiple UPS monitoring, I was curious what you thought about having a central display which showed the status of each UPS monitored. That way you have one display to glance at for a health check.

                              Maybe something similar to the UBNT controller software - central configuration ability.....

                              1 Reply Last reply Reply Quote 0
                              • travisdh1T
                                travisdh1 @gjacobse
                                last edited by

                                @gjacobse said in Pi as a UPS monitor:

                                checking on my UPS this morning

                                 ~ $ uptime
                                 09:59:20 up 6 days, 18:12,  2 users,  load average: 0.19, 0.25, 0.25
                                
                                 ~ $ sudo upsc pandora
                                Init SSL without certificate database
                                battery.charge: 100
                                battery.charge.low: 10
                                battery.charge.warning: 50
                                battery.date: not set
                                battery.mfr.date: 2014/06/22
                                battery.runtime: 3172
                                battery.runtime.low: 120
                                battery.type: PbAc
                                battery.voltage: 13.6
                                battery.voltage.nominal: 12.0
                                device.mfr: APC
                                device.model: Back-UPS ES 550G
                                device.serial: 4B1425P54201
                                device.type: ups
                                driver.name: usbhid-ups
                                driver.parameter.pollfreq: 30
                                driver.parameter.pollinterval: 2
                                driver.parameter.port: auto
                                driver.version: 2.7.1
                                driver.version.data: APC HID 0.95
                                driver.version.internal: 0.38
                                input.sensitivity: medium
                                input.transfer.high: 139
                                input.transfer.low: 92
                                input.voltage: 126.0
                                input.voltage.nominal: 120
                                ups.beeper.status: enabled
                                ups.delay.shutdown: 20
                                ups.firmware: 904.W1 .D
                                ups.firmware.aux: W1
                                ups.load: 13
                                ups.mfr: APC
                                ups.mfr.date: 2014/06/22
                                ups.model: Back-UPS ES 550G
                                ups.productid: 0002
                                ups.serial: 4B1425P54201
                                ups.status: OL
                                ups.timer.reboot: 0
                                ups.timer.shutdown: -1
                                ups.vendorid: 051d
                                

                                Since reboot, the monitor has been running all the time. So it may have been simply that.

                                As for having multiple UPS monitoring, I was curious what you thought about having a central display which showed the status of each UPS monitored. That way you have one display to glance at for a health check.

                                Take the output of upsc and throw it up on a web page. Unless you want a local display, in which case it's actually more difficult.

                                1 Reply Last reply Reply Quote 0
                                • thwrT
                                  thwr @gjacobse
                                  last edited by

                                  @gjacobse said in Pi as a UPS monitor:

                                  checking on my UPS this morning

                                   ~ $ uptime
                                   09:59:20 up 6 days, 18:12,  2 users,  load average: 0.19, 0.25, 0.25
                                  
                                   ~ $ sudo upsc pandora
                                  Init SSL without certificate database
                                  battery.charge: 100
                                  battery.charge.low: 10
                                  battery.charge.warning: 50
                                  battery.date: not set
                                  battery.mfr.date: 2014/06/22
                                  battery.runtime: 3172
                                  battery.runtime.low: 120
                                  battery.type: PbAc
                                  battery.voltage: 13.6
                                  battery.voltage.nominal: 12.0
                                  device.mfr: APC
                                  device.model: Back-UPS ES 550G
                                  device.serial: 4B1425P54201
                                  device.type: ups
                                  driver.name: usbhid-ups
                                  driver.parameter.pollfreq: 30
                                  driver.parameter.pollinterval: 2
                                  driver.parameter.port: auto
                                  driver.version: 2.7.1
                                  driver.version.data: APC HID 0.95
                                  driver.version.internal: 0.38
                                  input.sensitivity: medium
                                  input.transfer.high: 139
                                  input.transfer.low: 92
                                  input.voltage: 126.0
                                  input.voltage.nominal: 120
                                  ups.beeper.status: enabled
                                  ups.delay.shutdown: 20
                                  ups.firmware: 904.W1 .D
                                  ups.firmware.aux: W1
                                  ups.load: 13
                                  ups.mfr: APC
                                  ups.mfr.date: 2014/06/22
                                  ups.model: Back-UPS ES 550G
                                  ups.productid: 0002
                                  ups.serial: 4B1425P54201
                                  ups.status: OL
                                  ups.timer.reboot: 0
                                  ups.timer.shutdown: -1
                                  ups.vendorid: 051d
                                  

                                  Since reboot, the monitor has been running all the time. So it may have been simply that.

                                  As for having multiple UPS monitoring, I was curious what you thought about having a central display which showed the status of each UPS monitored. That way you have one display to glance at for a health check.

                                  AMQP / MQTT may be awesome for this at the transport layer. MQTT is an interesting protocol that let you define a "last will and testament" action in case something goes south.

                                  Ansible/Puppet etc. can handle the central configuration.

                                  1 Reply Last reply Reply Quote 1
                                  • JaredBuschJ
                                    JaredBusch
                                    last edited by

                                    Hey 3 months later.....

                                    1 Reply Last reply Reply Quote 1
                                    • JaredBuschJ
                                      JaredBusch
                                      last edited by

                                      Alright, I plugged the thing back in and got to testing.

                                      Yeah! It still communicates.

                                      pi@raspberrypi:~ $ sudo upsc jaredoffice
                                      Init SSL without certificate database
                                      battery.charge: 84
                                      battery.charge.low: 10
                                      battery.charge.warning: 50
                                      battery.date: 2001/09/25
                                      battery.mfr.date: 2010/12/15
                                      battery.runtime: 1236
                                      battery.runtime.low: 120
                                      battery.type: PbAc
                                      battery.voltage: 27.0
                                      battery.voltage.nominal: 24.0
                                      device.mfr: American Power Conversion
                                      device.model: Back-UPS BR1000G
                                      device.serial: 3B1051X20329
                                      device.type: ups
                                      driver.name: usbhid-ups
                                      driver.parameter.pollfreq: 30
                                      driver.parameter.pollinterval: 2
                                      driver.parameter.port: auto
                                      driver.version: 2.7.2
                                      driver.version.data: APC HID 0.95
                                      driver.version.internal: 0.38
                                      input.sensitivity: medium
                                      input.transfer.high: 147
                                      input.transfer.low: 88
                                      input.transfer.reason: input voltage out of range
                                      input.voltage: 124.0
                                      input.voltage.nominal: 120
                                      ups.beeper.status: enabled
                                      ups.delay.shutdown: 20
                                      ups.firmware: 868.L1 .D
                                      ups.firmware.aux: L1
                                      ups.load: 20
                                      ups.mfr: American Power Conversion
                                      ups.mfr.date: 2010/12/15
                                      ups.model: Back-UPS BR1000G
                                      ups.productid: 0002
                                      ups.realpower.nominal: 600
                                      ups.serial: 3B1051X20329
                                      ups.status: OL CHRG
                                      ups.test.result: No test initiated
                                      ups.timer.reboot: 0
                                      ups.timer.shutdown: -1
                                      ups.vendorid: 051d
                                      
                                      1 Reply Last reply Reply Quote 3
                                      • JaredBuschJ
                                        JaredBusch
                                        last edited by JaredBusch

                                        Pulled the power cord from the wall. UPS beeps, but nothing from nut.

                                        Ok back to the manual and checking the conf files.

                                        Well it would probably help if I told the thing what to monitor..
                                        /etc/nut/upsmon.conf

                                        MONITOR jaredoffice@localhost 1 upsmon demo master
                                        

                                        Oh but those details have to match /etc/nut/ups.conf and /etc/nut/upsd.users. Well I already know that my unit is called jaredoffice@localhost from ups.conf. So just edit upsd.users.

                                        pi@raspberrypi:~ $ sudo nano /etc/nut/upsd.users
                                        # put at end of file
                                        [upsmon]
                                        password = demo
                                        upsmon master
                                        

                                        Now reload the monitor

                                        pi@raspberrypi:~ $ sudo upsmon -c reload
                                        Network UPS Tools upsmon 2.7.2
                                        pi@raspberrypi:~ $
                                        

                                        Then unplug the UPS. and get nothing.

                                        look in the logs..
                                        tail/var/log/syslog

                                        Feb  1 17:05:38 raspberrypi upsmon[732]: UPS jaredoffice@localhost on battery
                                        Feb  1 17:05:38 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Wed Feb  1 17:06:08 2017 [try http://www.rsyslog.com/e/2007 ]
                                        Feb  1 17:05:38 raspberrypi upssched[964]: Can't open /etc/nut/upssched.conf: Permission denied
                                        Feb  1 17:05:48 raspberrypi upsmon[732]: UPS jaredoffice@localhost on line power
                                        Feb  1 17:05:48 raspberrypi upssched[967]: Can't open /etc/nut/upssched.conf: Permission denied
                                        

                                        Say to yourself, WTF did I do 3 months ago....

                                        Time to reload and start over.

                                        gjacobseG 1 Reply Last reply Reply Quote 0
                                        • gjacobseG
                                          gjacobse @JaredBusch
                                          last edited by

                                          @JaredBusch said in Pi as a UPS monitor:

                                          Pulled the power cord from the wall. UPS beeps, but nothing from nut.

                                          Ok back to the manual and checking the conf files.

                                          Well it would probably help if I told the thing what to monitor..
                                          /etc/nut/upsmon.conf

                                          MONITOR jaredoffice@localhost 1 upsmon demo master
                                          

                                          Oh but those details have to match /etc/nut/ups.conf and /etc/nut/upsd.users. Well I already know that my unit is called jaredoffice@localhost from ups.conf. So just edit upsd.users.

                                          pi@raspberrypi:~ $ sudo nano /etc/nut/upsd.users
                                          # put at end of file
                                          [upsmon]
                                          password = demo
                                          upsmon master
                                          

                                          Now reload the monitor

                                          pi@raspberrypi:~ $ sudo upsmon -c reload
                                          Network UPS Tools upsmon 2.7.2
                                          pi@raspberrypi:~ $
                                          

                                          Then unplug the UPS. and get nothing.

                                          look in the logs..
                                          tail/var/log/syslog

                                          Feb  1 17:05:38 raspberrypi upsmon[732]: UPS jaredoffice@localhost on battery
                                          Feb  1 17:05:38 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Wed Feb  1 17:06:08 2017 [try http://www.rsyslog.com/e/2007 ]
                                          Feb  1 17:05:38 raspberrypi upssched[964]: Can't open /etc/nut/upssched.conf: Permission denied
                                          Feb  1 17:05:48 raspberrypi upsmon[732]: UPS jaredoffice@localhost on line power
                                          Feb  1 17:05:48 raspberrypi upssched[967]: Can't open /etc/nut/upssched.conf: Permission denied
                                          

                                          Say to yourself, WTF did I do 3 months ago....

                                          Time to reload and start over.

                                          think i got the same thing, and decide the same course of action, to which I have not moved forward with. Albeit, it's not on a rPi but a desktop - premise is the same.

                                          Think we may have to create a user for the NUT system.... but again,.. can't work with it right now.

                                          1 Reply Last reply Reply Quote 0
                                          • JaredBuschJ
                                            JaredBusch
                                            last edited by JaredBusch

                                            Quick check of upsmon.conf found this, uncommented it.

                                            # RUN_AS_USER nut
                                            

                                            Rebooted Pi, unplugged UPS.

                                            Broadcast message from nut@raspberrypi (somewhere) (Wed Feb  1 17:19:04 2017):
                                            
                                            UPS jaredoffice@localhost on battery
                                            
                                            
                                            Broadcast message from nut@raspberrypi (somewhere) (Wed Feb  1 17:19:24 2017):
                                            
                                            UPS jaredoffice@localhost on line power
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 6
                                            • 4 / 6
                                            • First post
                                              Last post