Ok. It didn't work. Pretty obvious on first sight the code only supports the 3068, so some quick hacks to
KeysightTrueVoltDmm.pyLine no, before, after:
17 known_list = ["34461A", "34465A", "34470A", "DM3068"]
known_list = ["34461A", "34465A", "34470A", "DM3068", "DM3058", "DM3058E"]
18 init_cmds = { 'DM3068' : 'CMDSet AGILENT' }
init_cmds = { 'DM3068' : 'CMDSet AGILENT', 'DM3058' : 'CMDSet AGILENT', 'DM3058E' : 'CMDSet AGILENT' } # (Yuck!)
Now the DM3058E fails the self check. It seems the Keysight/Agilent has a plus sign in its return code? - another change:
44 if r != '+0':
if r not in ['+0', '0']:
Oh dear, now it fails on the uptime query. The Rigol doesn't support this along with the internal temperature status. Insert a couple of lines to wrap around it:
57 insert if self.model() in self.have_temp_check:
61 insert return [None, None, None, None]
... ahh, now thats better, getting somewhere... things seem to be working

or maybe not...