Norman James | 362a80f | 2015-09-14 14:04:39 -0500 | [diff] [blame] | 1 | #!/usr/bin/env python |
| 2 | |
| 3 | import sys |
| 4 | import subprocess |
| 5 | import dbus |
| 6 | from gi.repository import GObject |
| 7 | import dbus.service |
| 8 | import dbus.mainloop.glib |
| 9 | import Openbmc |
| 10 | |
| 11 | |
| 12 | if __name__ == '__main__': |
| 13 | cmd = sys.argv[1] |
| 14 | data = None |
| 15 | ipmi_id = dbus.Byte(0) |
| 16 | if (len(sys.argv) > 2): |
| 17 | ipmi_id = dbus.Byte(int(sys.argv[2])) |
| 18 | if (len(sys.argv)>3): |
| 19 | data = sys.argv[3] |
| 20 | |
| 21 | bus = dbus.SessionBus() |
| 22 | intf = Openbmc.getManagerInterface(bus,"Ipmi") |
| 23 | |
| 24 | if (cmd == 'updatefru'): |
| 25 | d = { 'manufacturer' : data } |
| 26 | intf.updateFru(ipmi_id,d) |
| 27 | elif (cmd == 'getfrus'): |
| 28 | print intf.getFrus() |
| 29 | elif (cmd == 'setsensor'): |
| 30 | data_b = dbus.Byte(int(data)) |
| 31 | intf.setSensor(ipmi_id,data_b) |
| 32 | elif (cmd == 'getsensor'): |
| 33 | print intf.getSensor(ipmi_id) |
| 34 | elif (cmd == 'pokewatchdog'): |
| 35 | print intf.pokeHostWatchdog() |
| 36 | elif (cmd == 'startwatchdog'): |
| 37 | print intf.startHostWatchdog() |
| 38 | elif (cmd == 'poweron'): |
| 39 | print intf.powerOn() |
| 40 | elif (cmd == 'poweroff'): |
| 41 | print intf.powerOff() |
| 42 | else: |
| 43 | print "ERROR: Invalid command" |
| 44 | print "Valid commands: updatefru, setsensor, getsensor, startwatchdog, pokewatchdog" |
| 45 | |
| 46 | #mainloop.run() |
| 47 | |