name: sensibo description: Control 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".
Sensibo AC Control
Control smart AC units via the Sensibo REST API.
First-Time Setup
- Get API key from https://home.sensibo.com/me/api
- List devices to get IDs:
curl --compressed "https://home.sensibo.com/api/v2/users/me/pods?fields=id,room&apiKey={API_KEY}" - Store in TOOLS.md:
## Sensibo API Key: `{your_key}` | Room | Device ID | |------|-----------| | Living Room | abc123 | | Bedroom | xyz789 |
API Reference
Base URL: https://home.sensibo.com/api/v2
Auth: ?apiKey={key} query parameter
Always use: --compressed flag for better rate limits
Turn ON/OFF
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}}'
Set Temperature
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}'
Set Mode
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"}'
Set Fan Level
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"}'
Full State Change
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"}}'
AC State Properties
| 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 |
Reading Sensor Data
Current Measurements
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"}}
Historical Data
curl --compressed "https://home.sensibo.com/api/v2/pods/{device_id}/historicalMeasurements?days=1&apiKey={key}"
Climate React (Smart Automation)
Enable/Disable
curl --compressed -X PUT "https://home.sensibo.com/api/v2/pods/{device_id}/smartmode?apiKey={key}" \
-H "Content-Type: application/json" -d '{"enabled":true}'
Configure Thresholds
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"}
}'
Schedules
Note: Schedules use API v1 base URL: https://home.sensibo.com/api/v1
List Schedules
curl --compressed "https://home.sensibo.com/api/v1/pods/{device_id}/schedules/?apiKey={key}"
Create Schedule
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"]
}'
Delete Schedule
curl --compressed -X DELETE "https://home.sensibo.com/api/v1/pods/{device_id}/schedules/{schedule_id}/?apiKey={key}"
Timer
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}}'
Usage Tips
- Match room names: When user says "living room" or "bedroom", look up device ID in TOOLS.md
- Check response: Verify
"status": "success"in API response - Temperature ranges: Depend on the specific AC unit's capabilities
- Rate limits: Use
--compressedto get higher rate limits - Bulk operations: Loop through device IDs for "turn off all ACs"


