Sensibo

v1.0.0

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".

1· 1.6k·1 current·1 all-time
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (Sensibo AC control) matches the runtime instructions: curl examples for turning devices on/off, changing temperature/mode/fan, reading measurements, schedules, and smartmode. Required tools, env vars, and config paths are none, which is consistent for an instruction-only wrapper that expects a Sensibo API key supplied by the user.
Instruction Scope
SKILL.md gives precise curl commands and explicitly instructs the agent to obtain an API key from Sensibo and to record device IDs and the API key in a workspace TOOLS.md file, then use the key in query parameters. The scope stays within controlling Sensibo devices. Note: advising plaintext storage of the API key in TOOLS.md expands the attack surface if that file is accessible to other skills or agents—this is a privacy/security practice consideration rather than protocol incoherence.
Install Mechanism
No install spec and no code files: instruction-only. This is low risk because nothing is downloaded or written by an installer.
Credentials
The skill requests no environment variables or credentials in metadata. However, the instructions require the Sensibo API key and device IDs and instruct the user to store them in TOOLS.md. Requesting a single Sensibo API key is proportionate, but the guidance to store the key in plaintext in a workspace file should be treated as a security choice by the user.
Persistence & Privilege
always is false and the skill is user-invocable; it does not request persistent privileges or changes to other skills or system settings. Autonomous invocation is allowed by default but not excessive here.
Assessment
This skill appears to do exactly what it says: provide curl examples and guidance for using the Sensibo REST API. Before installing or using it, consider: 1) where you will store the Sensibo API key—TOOLS.md is suggested but is plaintext and may be accessible to other skills or users; prefer secure secret storage or environment variables with restricted access if your agent/environment supports them; 2) restrict which agent processes can read workspace files if you don't want keys exposed; 3) verify the Sensibo URLs are correct and obtained from Sensibo's official docs (they are in SKILL.md); 4) be aware that enabling autonomous invocation means the agent could use any key you place in the workspace when it decides to call this skill—only store the key if you trust the agent's permitted actions. Other than that, there are no surprising installs or unrelated credentials requested.

Like a lobster shell, security has layers — review code before you run it.

latestvk975pztkwtd5wkp95c39r47dfx80fagc
1.6kdownloads
1stars
1versions
Updated 1mo ago
v1.0.0
MIT-0

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:
    curl --compressed "https://home.sensibo.com/api/v2/users/me/pods?fields=id,room&apiKey={API_KEY}"
    
  3. 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

PropertyTypeValues
onbooleantrue, false
modestringcool, heat, fan, auto, dry
targetTemperatureintegervaries by AC unit
temperatureUnitstringC, F
fanLevelstringlow, medium, high, auto
swingstringstopped, 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

  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"

Comments

Loading comments...