Control Switch
Control switches by setting their power state.
Description
The switch control allows you to manage switch's power by setting:
- power component (true/false)
Example
Request Topic
LYT/41e0d6b2-37de-43d8-a348-4ba94853b6cd/NODE/CONTROL
Request Payload
You can control the power state of the switch. The power parameter is required in the request.
Examples:
Turn switch on:
{
"version": "v1.0",
"type": "switch",
"address": 50646,
"power": true
}
Turn switch off:
{
"version": "v1.0",
"type": "switch",
"address": 50646,
"power": false
}
Field Descriptions
| Field | Type | Range | Description |
|---|---|---|---|
| version | string | "v1.0" | API version identifier |
| type | string | "switch" | Message type for switch control |
| address | number | node address | Unicast address of the target node |
| power | boolean | true/false | Power state of the switch |
Response topic
LYT/41e0d6b2-37de-43d8-a348-4ba94853b6cd/NODE/E/STATUS
Response Payload
Success Response
{
"version": "v1.0",
"message": "success",
"type": "switch",
"address": 50646,
"switch" : {
"power": true
}
}
Error Handling
The API may return various error responses based on different scenarios. Here are the possible errors and their resolutions:
1. Constraint Errors (Code: 3005)
a. Power Constraint:
{
"message": "error",
"message_type": {
"code": 3005,
"message": "power must be a boolean value",
"errorCode": "CONSTRAINT_ERROR"
},
"type": "switch",
"address": 50646
}
b. Version Constraint:
{
"message": "error",
"message_type": {
"code": 3005,
"message": "version must be equal to v1.0",
"errorCode": "CONSTRAINT_ERROR"
},
"type": "switch",
"address": 50646
}
c. Type Constraint:
{
"message": "error",
"message_type": {
"code": 3005,
"message": "type must be one of the following values: cct, dimmer, switch, fan, curtain, rgb",
"errorCode": "CONSTRAINT_ERROR"
},
"type": "switch",
"address": 50646
}
d. Address Constraint:
{
"message": "error",
"message_type": {
"code": 3005,
"message": "address must be a number conforming to the specified constraints",
"errorCode": "CONSTRAINT_ERROR"
},
"type": "switch",
"address": 50646
}
Constraint errors occur in the following cases:
-
Power Constraints:
- power value must be true or false
- power field is missing
- power field has incorrect type (must be boolean)
-
Version Constraints:
- Version is not exactly "v1.0"
- Version field is missing
- Version field has incorrect format
-
Type Constraints:
- Type must be one of: "cct", "dimmer", "switch", "fan", "curtain", "rgb"
- Type field is missing
- Type field has incorrect value
-
Address Constraints:
- Address must be a number
- Address field is missing
- Address field has incorrect type (must be number)
Resolution:
- Ensure power is a boolean value (true/false)
- Always use "v1.0" as the version value
- Use correct type value from allowed list: "cct", "dimmer", "switch", "fan", "curtain", "rgb"
- Ensure address is a number
- Validate all parameters before sending
2. Node Not Found (Code: 2028)
{
"message": "error",
"message_type": {
"code": 2028,
"message": "Node not found",
"errorCode": "NODE_NOT_FOUND"
},
"type": "switch",
"address": 50646
}
Occurs when:
- The specified node address doesn't exist
- Node is offline or unreachable
- Node has been removed from the network
Resolution:
- Verify node address is correct
- Check if node is powered and connected
- Confirm node is properly provisioned
3. Project Not Found (Code: 2002)
{
"message": "error",
"message_type": {
"code": 2002,
"message": "Project not found",
"errorCode": "PROJECT_NOT_FOUND"
},
"type": "switch",
"address": 50646
}
Occurs when:
- project_uuid in MQTT topic is invalid
- Project has been deleted
- User doesn't have access to the project
Resolution:
- Verify project_uuid
- Ensure project exists
- Check access permissions
4. Request Timeout (Code: 3002)
{
"message": "error",
"message_type": {
"code": 3002,
"message": "Request Timeout",
"errorCode": "REQUEST_TIMEOUT"
},
"type": "switch",
"address": 50646
}
Occurs when:
- Node doesn't respond within timeout period
- Network connectivity issues
- Node is busy processing other commands
Resolution:
- Check network connectivity
- Verify node is responsive
- Retry the request
- Check for network congestion
Error Code Summary
| Code | Error Code | Description | Solution |
|---|---|---|---|
| 3005 | CONSTRAINT_ERROR | Parameter validation failed | Check input values |
| 2028 | NODE_NOT_FOUND | Node not available | Verify node status |
| 2002 | PROJECT_NOT_FOUND | Project doesn't exist | Check project_uuid |
| 3002 | REQUEST_TIMEOUT | Request took too long | Check connectivity |