syntax = "proto3"; package device_control; option go_package = "git.cactoz.su/cacto/home_automatization/proto/device_control"; // DeviceControl is the synchronous entry point for issuing commands to a // device. It covers the generic actuator capabilities used across the // platform (device_types.capabilities: turn_on, turn_off, set_level) — no // zone- or device-type-specific methods. A call here updates the device's // desired state and dispatches the command over MQTT; it does not wait for // the device to confirm execution (see the Device Shadow pattern in // device-control-service's README). service DeviceControl { rpc TurnOn(TurnOnRequest) returns (CommandResult); rpc TurnOff(TurnOffRequest) returns (CommandResult); rpc SetLevel(SetLevelRequest) returns (CommandResult); } message TurnOnRequest { string device_id = 1; } message TurnOffRequest { string device_id = 1; } message SetLevelRequest { string device_id = 1; double level = 2; } message CommandResult { bool success = 1; string error = 2; }