blob: a0c5a867a81d283589405f7929e4903479f05ab1 [file] [log] [blame]
Norman James65a295a2015-09-26 22:21:10 -05001#!/usr/bin/env python
2
3import sys
4import subprocess
5import gobject
6import dbus
7import dbus.service
8import dbus.mainloop.glib
9import PropertyManager
10
11import Openbmc
12
13
14
15def getWatchdog():
16 obj = bus.get_object('org.openbmc.watchdog.Host',
17 '/org/openbmc/watchdog/HostWatchdog_0')
18 intf = dbus.Interface(obj, 'org.openbmc.Watchdog' )
19 return intf
20
21def getChassisControl():
22 obj = bus.get_object('org.openbmc.control.Chassis',
23 '/org/openbmc/control/Chassis')
24 intf = dbus.Interface(obj, 'org.openbmc.control.Chassis' )
25 return intf
26
27def prettyPrint(data):
28 for k in data.keys():
29 print k
30 for k2 in data[k].keys():
31 print "\t"+k2+" = "+str(data[k][k2])
32
33if __name__ == '__main__':
34 bus = dbus.SessionBus()
35 cmd = sys.argv[1]
36 data = None
37 ipmi_id = dbus.Byte(0)
38 if (len(sys.argv) > 2):
39 ipmi_id = dbus.Byte(int(sys.argv[2]))
40 if (len(sys.argv)>3):
41 data = sys.argv[3]
42
43 if (cmd == "poweron"):
44 intf = getChassisControl()
45 intf.powerOn()
46 elif (cmd == "poweroff"):
47 intf = getChassisControl()
48 intf.powerOff()
49 elif (cmd == "setsensor"):
50 intf_sens = Openbmc.getManagerInterface(bus,"Sensors")
51 intf_sens.setSensorFromId(ipmi_id,data)
52 elif (cmd == "getsensor"):
53 intf_sens = Openbmc.getManagerInterface(bus,"Sensors")
54 print intf_sens.getSensorFromId(ipmi_id)
55 elif (cmd == "getsensors"):
56 intf_sens = Openbmc.getManagerInterface(bus,"Sensors")
57 data = intf_sens.getSensors()
58 prettyPrint(data)
59 elif (cmd == "updatefru"):
60 intf_fru = Openbmc.getManagerInterface(bus,"Inventory")
61 intf_fru.updateFruFromId(ipmi_id,data)
62 elif (cmd == "getfrus"):
63 intf_fru = Openbmc.getManagerInterface(bus,"Inventory")
64 data = intf_fru.getFrus()
65 prettyPrint(data)
66 elif (cmd == "pokewatchdog"):
67 intf = self.getWatchdog()
68 intf.poke()
69 elif (cmd == "statewatchdog"):
70 intf = self.getWatchdog()
71 intf.start()
72 else:
73 print "Unsupported command"
74
75
76
77
78
79