Added better stop method for user_active (still bad, but oh well).
Added unit test for kh.updater, and fixed updater things that were broken.
Added default port to kodinhenki sync, and using it by default.
Made giving database to the singleton constructor optional.
Made the get() method for wemo actually do import at that point, to prevent circular dependencies on kh.wemo imports.
Added utility to auto-add event listener to _all_ devices, if event_port is set.
updater: Added log messages, fixed race condition.
Fixed failing unit test - next_update_in_seconds was calculated incorrectly and time import missing.
Added cdiscovery_port option to auto-start discoverer too.
Added minimalist server for my case, which seems to work (knock on the wood).
Added synchronous signal.wait primitive for multithreaded use (which uses underlying threading.Event).
Added ~stand-alone unit test that actually prods hue state too.
Added missing time import.
Got rid of REALLY_WAIT_EVENT and just using caplog to trace if running under py.test.
Added keys methods to db+object.
Unified the handling of by - now only by-us (literally) are not sent again to device.
Fixed debug message.
Added simple state dump/set tool.
Made the recursion 'ok' - it is mandatory to some degree anyway (client -> server -> another client state propagation). Now we just handle the updates if they seem applicable, and ignore if spurious.
Made the setting part of khtool actually wait for set to be propagated back to itself (=> TCP socket must have been flushed at this point).