def run(self): DBusGMainLoop(set_as_default=True) if hasattr(self.config, "garage_pin_number"): from GarageDoorDBusService import GarageDoorDBusService self.garage_service = GarageDoorDBusService(self.config.garage_pin_number) factory = BluetoothFactory() self.logger.error("Bluetooth factory created - device:"+self.config.device_id+" factory "+str(factory)) adapter = factory.get_adapter(self.config.device_id) if adapter is None: raise Exception("Unable to find specified adapter. Fatal error. Adapter- "+self.config.device_id) self.logger.error("Got adapter "+self.config.device_id) adapter.power_on() self.logger.error("Powered on") adapter.set_device_callbacks(self.handle_device_update,self.handle_device_property_changed) self.start_ping_tracker() self.start_temp_reader() self.logger.error("Set device callbacks") adapter.start_discovery() self.logger.error("discovery started") self.send_heartbeat() self.logger.error("initial heartbeat sent") event_id = GObject.timeout_add(240000,self.send_heartbeat) mainloop = GObject.MainLoop() mainloop.run() GObject.source_remove(event_id) adapter.stop_discovery()
myisy.var_set_value(variable_id, 1) else: myisy.var_set_value(variable_id, 0) print(station_id+"-[DEVP] Name: ["+device.name+"] Device Update: ["+device.address+"] Present: ["+str(device.get_is_present())+"] RSSI: ["+str(device.rssi)+"] "+action) def handle_device_property_changed(device): print(station_id+"-[PROP] Name: ["+device.name+"] Device Update: ["+device.address+"] Present: ["+str(device.get_is_present())+"] RSSI: ["+str(device.rssi)+"]") if __name__ == "__main__": DBusGMainLoop(set_as_default=True) if len(sys.argv) > 1: config_file_name = sys.argv[1] else: config_file_name = "./devices.macbook.cfg" read_config(config_file_name) factory = BluetoothFactory() adapter = factory.get_adapter(device_id) adapter.set_device_callbacks(handle_device_update,handle_device_property_changed) adapter.start_discovery() mainloop = GObject.MainLoop() mainloop.run() adapter.stop_discovery() print "Done!"