Skip to content

Example: Simulated Pump

No hardware needed. Shows realtime state + commands end-to-end.

python
from odevice import App, Device, Number, Boolean

app = App("Factory Demo")

pump = Device(
    id="pump-01",
    name="Main Pump",
    properties={
        "pressure": Number(unit="bar", min=0, max=10, view="gauge", deadband=0.1),
        "temperature": Number(unit="°C"),
        "power": Boolean(writable=True),
    },
)
app.add(pump)

@pump.on_write("power")
async def set_power(value):
    print(f"power -> {value}")
    return value

Run: python examples/simulated-pump/main.py

Demonstrates: gauge inference, metric, switch, write callback, deadband.

Built for self-hosted IoT runtimes.