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 valueRun: python examples/simulated-pump/main.py
Demonstrates: gauge inference, metric, switch, write callback, deadband.