In reality, there are two names for every device:
1) The device variable name
2) The label of the devices (what listDevices() and database dumps call the device)
If you want to issue a command to a device, you would have to use the device variable name.
So declaring (as is the case in your init.py):
keypad = Keypad2487S("Office","16.74.07")
# the above keypad is really model#2486D
dimmer = Dimmer2477D("Upstairs_Hall", "0d.77.2c")
# the above dimmer is really model#2467D
dimmer = Dimmer2477D("standingLamp", "14.36.34")
dimmer = Dimmer2477D("tableLamp", "14.37.2b")
#the two above dimmers are really model#2475D2
Will create two variables in your terminal: keypad and dimmer
keypad will be the "Office" keypad
dimmer will be the "tableLamp" dimmer
Which is why Office.getdb() doesn't work - you need to use keypad.getdb()
What you probably meant to do was this:
officeKeypad = Keypad2487S("Office","16.74.07")
# the above keypad is really model#2486D
upstairsDimmer = Dimmer2477D("Upstairs_Hall", "0d.77.2c")
# the above dimmer is really model#2467D
standingDimmer = Dimmer2477D("standingLamp", "14.36.34")
tableLampDimmer = Dimmer2477D("tableLamp", "14.37.2b")
#the two above dimmers are really model#2475D2
Which would create 4 variables in the terminal's namespace: officeKeypad, upstairsDimmer, standingDimmer, and tableLampDimmer.
So to access a device you would use:
officeKeypad.getdb() # gets the database of the "Office" device
upstairsDimmer.on() # would turn on the device
If you want to get all the available functions on a device use
help(deviceVariableName) # for example, help(officeKeypad)