update_device_value
Manually update a sensor or device value by providing its IDX or name. Set integer (nvalue) or string (svalue) values to control smart home devices.
Instructions
Update a sensor/device value manually. nvalue is integer value, svalue is string value. Provide IDX or Name.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| idx | No | ||
| name | No | ||
| nvalue | No | ||
| svalue | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- src/domoticz_mcp/server.py:1064-1073 (handler)The handler function for the 'update_device_value' tool. An MCP tool that updates a sensor/device value manually by calling the Domoticz JSON API with param=udevice. It accepts idx (int), name (str), nvalue (int, default 0), and svalue (str, default ''). It resolves the device by idx or name, then makes a GET request to the Domoticz API.
async def update_device_value(idx: int | None = None, name: str | None = None, nvalue: int = 0, svalue: str = "") -> str: """Update a sensor/device value manually. nvalue is integer value, svalue is string value. Provide IDX or Name.""" if idx is None and name is None: return '{"status": "error", "message": "Must provide either idx or name"}' async with create_client() as client: resolved_idx = await _resolve_device_idx(client, idx, name) if resolved_idx is None: return '{"status": "error", "message": "Device not found"}' response = await _do_request(client, "GET", f"{DOMOTICZ_API_URL}?type=command¶m=udevice&idx={resolved_idx}&nvalue={nvalue}&svalue={urllib.parse.quote(svalue)}") return response.text - src/domoticz_mcp/server.py:1063-1064 (registration)The tool registration using the @mcp.tool() decorator on line 1063, immediately preceding the update_device_value function.
@mcp.tool() async def update_device_value(idx: int | None = None, name: str | None = None, nvalue: int = 0, svalue: str = "") -> str: - src/domoticz_mcp/server.py:1064-1065 (schema)The type hints and docstring for the tool define its schema: idx (int|None), name (str|None), nvalue (int, default 0), svalue (str, default ''). The docstring describes the purpose and parameters.
async def update_device_value(idx: int | None = None, name: str | None = None, nvalue: int = 0, svalue: str = "") -> str: """Update a sensor/device value manually. nvalue is integer value, svalue is string value. Provide IDX or Name."""