#!/usr/bin/python

import dbus

bus = dbus.SystemBus()

manager = dbus.Interface(bus.get_object('net.connman', "/"),
					'net.connman.Manager')

properties = manager.GetProperties()

print "System is %s" % (properties["State"])
