233 lines
5.0 KiB
JSON
233 lines
5.0 KiB
JSON
{
|
|
"protocol": "jarvis.skill.v1",
|
|
"id": "philips.hue",
|
|
"name": "Philips Hue",
|
|
"version": "1.0.0",
|
|
"description": "Lokale Philips-Hue-Bridge-Steuerung über die CLIP API v2.",
|
|
"runtime": {
|
|
"type": "process",
|
|
"command": "python3",
|
|
"args": [
|
|
"main.py"
|
|
],
|
|
"timeout_ms": 8000,
|
|
"env_from": [
|
|
"HUE_BRIDGE_URL",
|
|
"HUE_APP_KEY",
|
|
"HUE_VERIFY_TLS"
|
|
]
|
|
},
|
|
"permissions": {
|
|
"network": true,
|
|
"system_exec": true
|
|
},
|
|
"actions": [
|
|
{
|
|
"name": "list_lights",
|
|
"description": "Listet Hue-Lampen mit ID, Name, Ein/Aus und Helligkeit.",
|
|
"triggers": [
|
|
"hue lampen",
|
|
"lichter",
|
|
"beleuchtung"
|
|
],
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {},
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"lights": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"count": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"lights",
|
|
"count"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
{
|
|
"name": "list_rooms",
|
|
"description": "Listet Hue-Räume und die zugehörige grouped_light-ID zur Raumsteuerung.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {},
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"rooms": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"count": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"rooms",
|
|
"count"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
{
|
|
"name": "list_scenes",
|
|
"description": "Listet Hue-Szenen mit ID und Name.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {},
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"scenes": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"count": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"scenes",
|
|
"count"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
{
|
|
"name": "set_light",
|
|
"description": "Schaltet eine Hue-Lampe oder setzt Helligkeit/Farbe.",
|
|
"mutates": true,
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"light_id": {
|
|
"type": "string"
|
|
},
|
|
"on": {
|
|
"type": "boolean"
|
|
},
|
|
"brightness": {
|
|
"type": "number"
|
|
},
|
|
"x": {
|
|
"type": "number"
|
|
},
|
|
"y": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"light_id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"changed": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"changed"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
{
|
|
"name": "set_room",
|
|
"description": "Schaltet einen Hue-Raum über seine grouped_light-ID oder setzt die Helligkeit.",
|
|
"mutates": true,
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"grouped_light_id": {
|
|
"type": "string"
|
|
},
|
|
"on": {
|
|
"type": "boolean"
|
|
},
|
|
"brightness": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"grouped_light_id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"changed": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"changed"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
{
|
|
"name": "activate_scene",
|
|
"description": "Aktiviert eine vorhandene Hue-Szene anhand ihrer ID.",
|
|
"mutates": true,
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"scene_id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"scene_id"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"activated": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"activated"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
]
|
|
}
|