malpaa44

Homeware Sense - OpenClaw技能

8. **最小化编码**: 提供简化的快速接入接口

malpaa44 2 Updated 3mo ago
GitHub

Install

npx skillscat add malpaa44/homeware-sense-skill

Install via the SkillsCat registry.

SKILL.md

Homeware Sense - OpenClaw技能

技能描述

Homeware Sense是一个统一的环境感知技能,允许OpenClaw AI助手感知和响应物理环境的变化。该技能支持多种智能家居平台,包括HomeKit、Mi Home、MQTT、GPIO和模拟器,通过统一的接口收集环境数据,并根据这些数据提供建议或执行操作。

核心功能

  • 实时环境监测(温度、湿度、光照、声音、运动、空气质量)
  • 异常检测和警报
  • 智能环境建议
  • 可配置的阈值管理
  • 多种硬件支持(模拟器、MQTT、GPIO、HomeKit、米家)
  • 智能家居平台集成(Apple HomeKit、小米米家)
  • 故障恢复机制(硬件不可用时自动回退到模拟器)

使用方法

Python API

from homeware_sense_skill import HomewareSenseSkill

# 初始化技能
skill = HomewareSenseSkill(config={'debug': True})

# 获取当前环境数据
result = skill.get_environment_data()
print(result)

# 设置环境阈值
thresholds = {
    'temperature': [18, 26],
    'humidity': [30, 70]
}
result = skill.set_thresholds(thresholds)
print(result)

# 获取平台状态
status = skill.get_platform_status()
print(status)

简化接口

from homeware_sense_skill import HomewareSenseSkill

# 最简化的使用方式
skill = HomewareSenseSkill.quick_connect('auto')  # 自动检测所有平台
result = skill.get_environment_data()
print(result)

# 指定平台连接
skill = HomewareSenseSkill.quick_connect('homekit')  # 连接HomeKit
skill = HomewareSenseSkill.quick_connect('mihome')   # 连接Mi Home
skill = HomewareSenseSkill.quick_connect('mqtt')     # 连接MQTT
skill = HomewareSenseSkill.quick_connect('gpio')     # 连接GPIO

环境变量配置

from homeware_sense_skill import HomewareSenseSkill

# 从环境变量加载配置
skill = HomewareSenseSkill.from_env()
result = skill.get_environment_data()

命令行

# 获取环境数据
python -m homeware_sense_skill get_data --output result.json

# 设置阈值
python -m homeware_sense_skill set_thresholds --thresholds thresholds.json --output result.json

# 获取平台状态
python -m homeware_sense_skill get_status --output status.json

配置选项

  • debug: 是否启用调试模式 (默认: false)
  • sensors_enabled: 启用的传感器类型 (默认: 全部启用)
  • hardware_config: 硬件配置 (默认: 全部使用模拟器)
  • polling_interval: 数据轮询间隔(秒)(默认: 30)
  • data_retention_days: 数据保留天数 (默认: 7)

硬件配置示例

{
  "hardware_config": {
    "temperature": {
      "enabled": true,
      "type": "homekit",
      "accessory_id": "com.example.temperature-sensor",
      "pin_code": "123-45-678",
      "sensor_type": "temperature",
      "location": "living_room"
    },
    "humidity": {
      "enabled": true,
      "type": "mihome",
      "device_ip": "192.168.1.100",
      "device_token": "your_mihome_device_token",
      "sensor_type": "air_monitor",
      "location": "bedroom"
    }
  }
}

支持的硬件类型

  • 模拟器 (mock): 软件模拟,无需实际硬件
  • MQTT传感器: 通过MQTT协议连接的传感器
  • GPIO传感器: 连接到树莓派GPIO引脚的传感器
  • HomeKit传感器: Apple HomeKit兼容的传感器
  • 米家传感器: 小米米家生态系统传感器

API接口

GET /environment-data

获取当前环境数据

POST /thresholds

设置环境阈值

GET /platform-status

获取平台连接状态

输入数据格式

设置阈值

{
  "temperature": [18, 26],
  "humidity": [30, 70],
  "light": [100, 10000],
  "sound": [20, 60],
  "air_quality": [0, 100]
}

输出结果格式

{
  "success": true,
  "data": {
    "environment_status": {
      "temperature": 23.5,
      "humidity": 45.2,
      "light_level": 1200.5,
      "sound_level": 42.3,
      "motion_detected": false,
      "air_quality": 45.6,
      "timestamp": "2023-01-01T00:00:00Z",
      "location": null
    },
    "readings": {
      "temperature": {
        "sensor_type": "temperature",
        "value": 23.5,
        "unit": "°C",
        "timestamp": "2023-01-01T00:00:00Z",
        "location": "default",
        "device_id": null
      }
    },
    "alerts": [],
    "config": {
      "version": "1.0.0",
      "debug": false,
      "sensors_enabled": {
        "temperature": true,
        "humidity": true,
        "light": true,
        "sound": true,
        "motion": true,
        "air_quality": true
      },
      "hardware_config": {
        "temperature": {"enabled": false, "type": "mock"},
        "humidity": {"enabled": false, "type": "mock"},
        "light": {"enabled": false, "type": "mock"},
        "sound": {"enabled": false, "type": "mock"},
        "motion": {"enabled": false, "type": "mock"},
        "air_quality": {"enabled": false, "type": "mock"}
      },
      "polling_interval": 30,
      "data_retention_days": 7
    }
  },
  "error": null,
  "meta": {
    "timestamp": "2023-01-01T00:00:00Z",
    "version": "1.0.0"
  }
}

错误码

  • 200: 成功
  • 400: 请求参数错误
  • 500: 服务器内部错误

技能优势

  1. 情境感知: 让AI助手能够感知物理环境
  2. 智能提醒: 基于环境数据提供智能建议
  3. 可配置: 支持自定义阈值和传感器配置
  4. 硬件兼容: 支持多种真实硬件传感器和模拟器
  5. 易于集成: 简单的API接口,易于与其他系统集成
  6. 故障恢复: 硬件不可用时自动切换到模拟器
  7. 多平台支持: 统一接口支持HomeKit、Mi Home等多种智能家居平台
  8. 最小化编码: 提供简化的快速接入接口