Control smart AC units via the Sensibo REST API.
```bash
curl --compressed "https://home.sensibo.com/api/v2/users/me/pods?fields=id,room&apiKey={API_KEY}"
```
```markdown
## 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共 1 个版本