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\", \"coo…
Scanned 9/19/2026
Install to Claude Code
npx -y skills add rondoflow/rondoflow --skill control-sensibo-smart-ac-devices --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Control Sensibo Smart Ac Devices?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/rondoflow-control-sensibo-smart-ac-devices)More formats (shields.io, HTML) on the badges page.
---
name: control-sensibo-smart-ac-devices
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\", \"coo…"
category: "Development"
author: community
version: "1.0.0"
icon: code
---
# Sensibo AC Control
Control smart AC units via the Sensibo REST API.
## First-Time Setup
1. Get API key from https://home.sensibo.com/me/api
2. List devices to get IDs:
```bash
curl --compressed "https://home.sensibo.com/api/v2/users/me/pods?fields=id,room&apiKey={API_KEY}"
```
3. Store in TOOLS.md:
```markdown
## 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
```bash
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
```bash
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`
```bash
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`
```bash
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
```bash
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:
```bash
curl --compressed "https://home.sensibo.com/api/v2/pods/{device_id}?fields=measurements&apiKey={key}"
```
Response includes:
```json
{"measurements": {"temperature": 24.5, "humidity": 55, "time": "2024-01-15T12:00:00Z"}}
```
### Historical Data
```bash
curl --compressed "https://home.sensibo.com/api/v2/pods/{device_id}/historicalMeasurements?days=1&apiKey={key}"
```
## Climate React (Smart Automation)
### Enable/Disable
```bash
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
```bash
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
```bash
curl --compressed "https://home.sensibo.com/api/v1/pods/{device_id}/schedules/?apiKey={key}"
```
### Create Schedule
```bash
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
```bash
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:
```bash
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
1. **Match room names:** When user says "living room" or "bedroom", look up device ID in TOOLS.md
2. **Check response:** Verify `"status": "success"` in API response
3. **Temperature ranges:** Depend on the specific AC unit's capabilities
4. **Rate limits:** Use `--compressed` to get higher rate limits
5. **Bulk operations:** Loop through device IDs for "turn off all ACs"
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!