summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xweahome.py28
1 files changed, 15 insertions, 13 deletions
diff --git a/weahome.py b/weahome.py
index 96e8b6b..75882c3 100755
--- a/weahome.py
+++ b/weahome.py
@@ -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()