def _set_relay(self, rid, val, path=None): if not path: path = self.services[self.services.keys()[0]]['path'] hdev = hid.service() hdev.open_path(path) hdev.write([0,val,rid,0,0,0,0,0,0]) hdev.close()
def _get_state(self, path=None): state = {} if not path: path = self.services[self.services.keys()[0]]['path'] ports = self.services[path]['ports'] hdev = hid.service() hdev.open_path(path) info = hdev.get_feature_report(0x01,9) for cur in range(ports): if info[7] & 1 << cur: state.update({cur + 1 : 1}) else: state.update({cur + 1 : 0}) return state