def init_values(self):
value_infos = [
{"device": "petra", "attribute": "BeamCurrent", "setter": self.update_petra},
{"device": "energy", "attribute": "State", "setter": self.update_energy},
{"device": "energy", "attribute": "Position", "setter": self.update_energy},
{"device": "undulator", "attribute": "State", "setter": self.update_undulator},
{"device": "undulator", "attribute": "Position", "setter": self.update_undulator},
{"device": "vacuum", "attribute": "BeamInEH", "setter": self.update_vacuum},
{"device": "beamshutter0", "attribute": "Value", "setter": self.update_beamshutter0},
{"device": "beamshutter1", "attribute": "Value", "setter": self.update_beamshutter1},
{"device": "beamshutter2", "attribute": "Value", "setter": self.update_beamshutter2},
{"device": "beamshutter3", "attribute": "Value", "setter": self.update_beamshutter3},
{"device": "fastshutter_upstream", "attribute": "Value", "setter": self.update_fastshutter_upstream},
{"device": "fastshutter", "attribute": "Value", "setter": self.update_fastshutter},
{"device": "gonio", "attribute": "state", "setter": self.update_gonio},
{"device": "gonio", "attribute": "position", "setter": self.update_gonio},
{"device": "motor_detector_z", "attribute": "state", "setter": self.update_detector_z},
{"device": "motor_detector_z", "attribute": "position", "setter": self.update_detector_z},
{"device": "detector", "attribute": "State", "setter": self.update_detector},
]
for info in value_infos:
value = self.devices[info["device"]].read(info["attribute"])
if value is not None:
info["setter"](info["attribute"], value)