diff options
-rwxr-xr-x | weahome.py | 28 |
1 files changed, 15 insertions, 13 deletions
@@ -526,25 +526,27 @@ def _settings_changed_cb(sender): settings = sender.settings print("{0} Settings: status={1} datetime={2} moon_phase={3} position={4},{5} sun={6},{7} moon={8},{9}".format(sender.name, settings.status, settings.datetime, settings.moon_phase, settings.latitude, settings.longitude, settings.sun_rise, settings.sun_set, settings.moon_rise, settings.moon_set)) -@atexit.register def disconnect_all_devices(): print("Disconnecting devices") for device in devices: if device.connected: device.disconnect() -devices = scan_for_weahome_devices() -print("Found {0} weather@home devices: {1}".format(len(devices), [dev.name for dev in devices])) +if __name__ == '__main__': + devices = scan_for_weahome_devices() + print("Found {0} weather@home devices: {1}".format(len(devices), [dev.name for dev in devices])) -for device in devices: - device.connected_changed.observe(_connected_changed_cb) - device.new_reading.observe(_new_reading_cb) - device.settings_changed.observe(_settings_changed_cb) - if device.connected: - _connected_changed_cb(device) - else: - device.connect() + atexit.register(disconnect_all_devices) -if len(devices) > 0: - mainloop.run() + for device in devices: + device.connected_changed.observe(_connected_changed_cb) + device.new_reading.observe(_new_reading_cb) + device.settings_changed.observe(_settings_changed_cb) + if device.connected: + _connected_changed_cb(device) + else: + device.connect() + + if len(devices) > 0: + mainloop.run() |