Install
openclaw skills install sensiboControl Sensibo smart AC devices via their REST API. Use when the user asks to turn on/off AC, change temperature, set modes, check room temperature/humidity, or manage climate schedules. Triggers on phrases like "turn on AC", "set bedroom to 22", "how hot is it", "AC off", "cooling mode".
openclaw skills install sensiboControl smart AC units via the Sensibo REST API.
curl --compressed "https://home.sensibo.com/api/v2/users/me/pods?fields=id,room&apiKey={API_KEY}"
## Sensibo
API Key: `{your_key}`
| Room | Device ID |
|------|-----------|
| Living Room | abc123 |
| Bedroom | xyz789 |
Base URL: https://home.sensibo.com/api/v2
Auth: ?apiKey={key} query parameter
Always use: --compressed flag for better rate limits
curl --compressed -X POST "https://home.sensibo.com/api/v2/pods/{device_id}/acStates?apiKey={key}" \
-H "Content-Type: application/json" -d '{"acState":{"on":true}}'
curl --compressed -X PATCH "https://home.sensibo.com/api/v2/pods/{device_id}/acStates/targetTemperature?apiKey={key}" \
-H "Content-Type: application/json" -d '{"newValue":23}'
Options: cool, heat, fan, auto, dry
curl --compressed -X PATCH "https://home.sensibo.com/api/v2/pods/{device_id}/acStates/mode?apiKey={key}" \
-H "Content-Type: application/json" -d '{"newValue":"cool"}'
Options: low, medium, high, auto
curl --compressed -X PATCH "https://home.sensibo.com/api/v2/pods/{device_id}/acStates/fanLevel?apiKey={key}" \
-H "Content-Type: application/json" -d '{"newValue":"auto"}'
curl --compressed -X POST "https://home.sensibo.com/api/v2/pods/{device_id}/acStates?apiKey={key}" \
-H "Content-Type: application/json" \
-d '{"acState":{"on":true,"mode":"cool","targetTemperature":22,"fanLevel":"auto","temperatureUnit":"C"}}'
| Property | Type | Values |
|---|---|---|
| on | boolean | true, false |
| mode | string | cool, heat, fan, auto, dry |
| targetTemperature | integer | varies by AC unit |
| temperatureUnit | string | C, F |
| fanLevel | string | low, medium, high, auto |
| swing | string | stopped, rangeful |
Include measurements in fields:
curl --compressed "https://home.sensibo.com/api/v2/pods/{device_id}?fields=measurements&apiKey={key}"
Response includes:
{"measurements": {"temperature": 24.5, "humidity": 55, "time": "2024-01-15T12:00:00Z"}}
curl --compressed "https://home.sensibo.com/api/v2/pods/{device_id}/historicalMeasurements?days=1&apiKey={key}"
curl --compressed -X PUT "https://home.sensibo.com/api/v2/pods/{device_id}/smartmode?apiKey={key}" \
-H "Content-Type: application/json" -d '{"enabled":true}'
curl --compressed -X POST "https://home.sensibo.com/api/v2/pods/{device_id}/smartmode?apiKey={key}" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"lowTemperatureThreshold": 20,
"lowTemperatureState": {"on": true, "mode": "heat"},
"highTemperatureThreshold": 26,
"highTemperatureState": {"on": true, "mode": "cool"}
}'
Note: Schedules use API v1 base URL: https://home.sensibo.com/api/v1
curl --compressed "https://home.sensibo.com/api/v1/pods/{device_id}/schedules/?apiKey={key}"
curl --compressed -X POST "https://home.sensibo.com/api/v1/pods/{device_id}/schedules/?apiKey={key}" \
-H "Content-Type: application/json" \
-d '{
"targetTimeLocal": "22:00",
"timezone": "Europe/London",
"acState": {"on": false},
"recurOnDaysOfWeek": ["sunday","monday","tuesday","wednesday","thursday","friday","saturday"]
}'
curl --compressed -X DELETE "https://home.sensibo.com/api/v1/pods/{device_id}/schedules/{schedule_id}/?apiKey={key}"
Set a one-time delayed action:
curl --compressed -X PUT "https://home.sensibo.com/api/v1/pods/{device_id}/timer/?apiKey={key}" \
-H "Content-Type: application/json" \
-d '{"minutesFromNow": 30, "acState": {"on": false}}'
"status": "success" in API response--compressed to get higher rate limits