### GET /rp?pw=...&uid=...&key=... Source: https://opensprinklershop.github.io/pro-api-endpoints/ Starts RainMaker provisioning. ```APIDOC ## GET /rp?pw=...&uid=...&key=... ### Description Starts RainMaker provisioning. ### Method GET ### Endpoint /rp?pw=...&uid=...&key=... ### Parameters #### Query Parameters - **pw** (string) - Required - Password for authentication. - **uid** (string) - Required - User ID for provisioning. - **key** (string) - Required - Key for provisioning. ### Response #### Success Response (200) (No response details provided in source.) ``` -------------------------------- ### GET /uu Source: https://opensprinklershop.github.io/pro-api-endpoints/ Starts the firmware update process. Advanced parameters can override URLs and hashes, and the 'vt' parameter selects zigbee or matter. ```APIDOC ## GET /uu ### Description Start firmware update. Advanced parameters can override URLs and hashes. ### Method GET ### Endpoint /uu ### Parameters #### Query Parameters - **pw** (string) - Required - Password for authentication. - **zu** (string) - Optional - Override URL for Zigbee firmware. - **mu** (string) - Optional - Override URL for Matter firmware. - **fu** (string) - Optional - Override URL for firmware. - **zs** (string) - Optional - Override hash for Zigbee firmware. - **ms** (string) - Optional - Override hash for Matter firmware. - **vt** (string) - Optional - Selects 'zigbee' or 'matter'. ### Response #### Success Response (200) - **status** (string) - Status of the update start. #### Response Example { "status": "started" } ``` -------------------------------- ### GET /mp Source: https://opensprinklershop.github.io/pro-api-endpoints/ Starts a manual program with or without sensor adjustment. Use usa=1 to include the adjustment, usa=0 to exclude it. Without usa, the OpenSprinklerShop behavior is kept and the adjustment is applied. ```APIDOC ## GET /mp ### Description Starts a manual program with or without sensor adjustment. ### Method GET ### Endpoint /mp?...&usa=0|1 ### Parameters #### Query Parameters - **usa** (integer) - Optional - Set to 1 to include sensor adjustment, 0 to exclude. If omitted, adjustment is applied (OpenSprinklerShop behavior). ### Response #### Success Response (200) Success response indicating the manual program started. #### Response Example { "result": 1 } ``` -------------------------------- ### Example JSON request to create a program Source: https://opensprinklershop.github.io/ai-programming/ Example change_program request that creates a new program (pid=-1) named 'Morning Watering'. The v field encodes a weekly schedule (flag 67) for weekdays (days0=31) with start time 360 minutes (6:00) and durations 900 and 1200 seconds (15 and 20 minutes) for two stations, with weather adjustment enabled. ```json { "pid": -1, "name": "Morning Watering", "v": "[67,31,0,[360,-1,-1,-1],[900,1200,0,0,0,0,0,0]]" } ``` -------------------------------- ### Install and build external MCP server Source: https://opensprinklershop.github.io/mcp-server/ Install dependencies and build the external Node.js MCP server located in tools/mcp-server/. Requires Node.js 18 or newer. ```bash cd tools/mcp-server npm install npm run build ``` -------------------------------- ### GET /sx?pw=... Source: https://opensprinklershop.github.io/pro-api-endpoints/ Exports/imports sensor configuration only. ```APIDOC ## GET /sx?pw=... ### Description Exports/imports sensor configuration only. ### Method GET ### Endpoint /sx?pw=... ### Parameters #### Query Parameters - **pw** (string) - Required - Password for authentication. ### Response #### Success Response (200) (No response details provided in source.) ``` -------------------------------- ### GET /mc, /ml, /mt Source: https://opensprinklershop.github.io/pro-api-endpoints/ Configure, list and discover monitor types. ```APIDOC ## GET /mc, /ml, /mt ### Description Configure, list and discover monitor types. ### Method GET ### Endpoint /mc, /ml, /mt ### Parameters (No parameters specified in source.) ### Response #### Success Response (200) (No response details provided in source.) ``` -------------------------------- ### GET /ub Source: https://opensprinklershop.github.io/pro-api-endpoints/ Exports the full controller configuration for app-side backup before update. ```APIDOC ## GET /ub ### Description Export full controller configuration for app-side backup before update. ### Method GET ### Endpoint /ub ### Parameters #### Query Parameters - **pw** (string) - Required - Password for authentication. ### Response #### Success Response (200) - **config** (object) - Full controller configuration. #### Response Example { "config": {} } ``` -------------------------------- ### GET /sf?pw=... Source: https://opensprinklershop.github.io/pro-api-endpoints/ Lists supported sensor types for the current build. ```APIDOC ## GET /sf?pw=... ### Description Lists supported sensor types for the current build. ### Method GET ### Endpoint /sf?pw=... ### Parameters #### Query Parameters - **pw** (string) - Required - Password for authentication. ### Response #### Success Response (200) Returns a list of supported sensor types. #### Response Example (No response example provided in source.) ``` -------------------------------- ### GET /ta?pw=... Source: https://opensprinklershop.github.io/pro-api-endpoints/ Reads ACME configuration and status. ```APIDOC ## GET /ta?pw=... ### Description Reads ACME configuration and status. ### Method GET ### Endpoint /ta?pw=... ### Parameters #### Query Parameters - **pw** (string) - Required - Password for authentication. ### Response #### Success Response (200) Returns ACME configuration and status. #### Response Example (No response example provided in source.) ``` -------------------------------- ### GET /us Source: https://opensprinklershop.github.io/pro-api-endpoints/ Reads the update status and progress of the firmware update. ```APIDOC ## GET /us ### Description Read update status and progress. ### Method GET ### Endpoint /us ### Parameters #### Query Parameters - **pw** (string) - Required - Password for authentication. ### Response #### Success Response (200) - **status** (string) - Current update status. - **progress** (number) - Progress percentage. #### Response Example { "status": "in_progress", "progress": 45 } ``` -------------------------------- ### GET /jp Source: https://opensprinklershop.github.io/pro-api-endpoints/ Returns program entries. Each program entry includes a sensor adjustment object as the 8th element. ```APIDOC ## GET /jp ### Description Returns program entries with sensor adjustment information. ### Method GET ### Endpoint /jp ### Parameters None ### Response #### Success Response (200) - **programs** (array) - Array of program entries. Each entry has a sensor adjustment object as the 8th element. #### Response Example { "programs": [ [ "Program 1", ... { "flag": 1, "uuid": "abc123", "splits": [0, 100] } ] ] } ``` -------------------------------- ### GET /jm?pw=... Source: https://opensprinklershop.github.io/pro-api-endpoints/ Reads Matter commissioning state, QR-code URL and manual pairing code. ```APIDOC ## GET /jm?pw=... ### Description Reads Matter commissioning state, QR-code URL and manual pairing code. ### Method GET ### Endpoint /jm?pw=... ### Parameters #### Query Parameters - **pw** (string) - Required - Password for authentication. ### Response #### Success Response (200) Returns Matter commissioning state, QR-code URL, and manual pairing code. #### Response Example (No response example provided in source.) ``` -------------------------------- ### GET /cp Source: https://opensprinklershop.github.io/pro-api-endpoints/ Sets the program sensor adjustment. Use snadj=0,0 to remove it. The v parameter is still required. ```APIDOC ## GET /cp ### Description Sets the program sensor adjustment. ### Method GET ### Endpoint /cp?...&snadj=flag,uuid,x0,y0,... ### Parameters #### Query Parameters - **v** (string) - Required - Version parameter. - **snadj** (string) - Required - Sensor adjustment string: flag, uuid, x0, y0, ... Use `0,0` to remove. ### Response #### Success Response (200) Success response indicating the adjustment was set. #### Response Example { "result": 1 } ``` -------------------------------- ### GET /rk?pw= Source: https://opensprinklershop.github.io/rainmaker-provisioning/ Returns the current provisioning state, including whether provisioning is active, BLE claiming status, sensor deferral, local control availability, proof of possession PIN, and BLE service name. ```APIDOC ## GET /rk?pw= ### Description Returns the current provisioning state, including whether provisioning is active, BLE claiming status, sensor deferral, local control availability, proof of possession PIN, and BLE service name. ### Method GET ### Endpoint /rk?pw= ### Parameters #### Query Parameters - **pw** (string) - Required - Hash for authentication. ### Response #### Success Response (200) - **provisioning** (0/1) - Any provisioning active (BLE or On-Network) - **ble_claiming** (0/1) - BLE assisted claiming in progress - **sensors_deferred** (0/1) - Sensor BLE init waiting for provisioning - **local_ctrl_active** (0/1) - On-Network discovery available - **pop** (string) - Proof of Possession PIN (from eFuse) - **prov_service** (string) - BLE service name for phone app #### Response Example { "provisioning": 1, "ble_claiming": 1, "sensors_deferred": 1, "local_ctrl_active": 0, "pop": "123456", "prov_service": "com.example.ble" } ``` -------------------------------- ### Program encoding format for change_program Source: https://opensprinklershop.github.io/ai-programming/ The v parameter format used by change_program. It encodes flags, days, start times, and durations. The flag bits control enabled state, weather adjustment, day restriction, schedule type, start type, and date range. ```text v=[flag, days0, days1, [start0,start1,start2,start3], [dur0,dur1,...]] ``` -------------------------------- ### GET /ru?pw=... Source: https://opensprinklershop.github.io/pro-api-endpoints/ Unlinks RainMaker account and triggers reset/reboot behavior. ```APIDOC ## GET /ru?pw=... ### Description Unlinks RainMaker account and triggers reset/reboot behavior. ### Method GET ### Endpoint /ru?pw=... ### Parameters #### Query Parameters - **pw** (string) - Required - Password for authentication. ### Response #### Success Response (200) (No response details provided in source.) ``` -------------------------------- ### Run firmware in foreground for debug Source: https://opensprinklershop.github.io/troubleshooting/ Runs the firmware in the foreground to display debug messages. ```bash sudo ./OpenSprinkler ``` -------------------------------- ### POST /tc Source: https://opensprinklershop.github.io/opensprinklerpro/ Saves ACME configuration and can request a certificate immediately. ```APIDOC ## POST /tc ### Description Saves ACME configuration and can request a certificate immediately. ### Method POST ### Endpoint /tc ### Request Body - **domain** (string) - Required - The ACME domain. - **email** (string) - Required - The ACME account email. - **server** (string) - Optional - The ACME server URL. - **enabled** (boolean) - Required - Whether ACME is enabled. - **request_now** (boolean) - Optional - Whether to request a certificate immediately. ### Response #### Success Response (200) - **status** (string) - Confirmation that the configuration was saved and certificate request initiated if requested. ``` -------------------------------- ### GET /jm Source: https://opensprinklershop.github.io/opensprinklerpro/ Returns Matter commissioning state, QR-code URL, and manual pairing code. Available only on ESP32 builds compiled with ENABLE_MATTER. ```APIDOC ## GET /jm ### Description Returns Matter commissioning state, QR-code URL, and manual pairing code. ### Method GET ### Endpoint /jm ### Response #### Success Response (200) - commissioning state (string) - Current commissioning state - QR-code URL (string) - URL to QR code for pairing - manual pairing code (string) - Manual pairing code #### Response Example { "state": "commissioning", "qr_url": "https://example.com/qr", "manual_code": "12345678" } ``` -------------------------------- ### GET /tx?pw=... Source: https://opensprinklershop.github.io/pro-api-endpoints/ Deletes ACME data and returns to the internal certificate. ```APIDOC ## GET /tx?pw=... ### Description Deletes ACME data and returns to the internal certificate. ### Method GET ### Endpoint /tx?pw=... ### Parameters #### Query Parameters - **pw** (string) - Required - Password for authentication. ### Response #### Success Response (200) (No response details provided in source.) ``` -------------------------------- ### GET /dsn Source: https://opensprinklershop.github.io/pro-api-endpoints/ Deletes one sensor or all sensors. Use uuid=-1 to delete all sensors. ```APIDOC ## GET /dsn ### Description Deletes one sensor or all sensors. ### Method GET ### Endpoint /dsn?pw=...&uuid=... ### Parameters #### Query Parameters - **pw** (string) - Required - Password for authentication. - **uuid** (string) - Required - Sensor UUID. Use -1 to delete all sensors. ### Response #### Success Response (200) Success response indicating the sensor(s) were deleted. #### Response Example { "result": 1 } ```