What is FreeMo?
FreeMo is an open-source project for locally controlling legacy Belkin WeMo devices using the capabilities already built into the hardware.
The project began with a straightforward question: if a WeMo device can still communicate over the local network, why should controlling it require a manufacturer's cloud service?
FreeMo answers that question by communicating directly with compatible devices using their native local protocols.
It currently includes a Python library, command-line tools, a local web application, and an optional Matter bridge for bringing rescued devices into modern smart-home ecosystems.
How FreeMo Works
FreeMo discovers compatible WeMo devices on the local network and identifies the services and capabilities they expose.
Rather than depending on a fixed list of model numbers, FreeMo is being developed around device capabilities. If a device exposes compatible functionality, FreeMo can determine what that device supports and interact with it accordingly.
Once discovered, supported devices can be controlled directly over the local network.
FreeMo also listens for device-generated events, allowing state changes made elsewhere — including at the physical device itself — to be reflected without constantly polling the hardware.
Persistent device identity and naming allow FreeMo to recognize devices across restarts and provide friendly names independent of the names originally assigned by the manufacturer.