185 lines
3.9 KiB
JSON
185 lines
3.9 KiB
JSON
{
|
|
"protocol": "jarvis.skill.v1",
|
|
"id": "home.network-tools",
|
|
"name": "Home Network Tools",
|
|
"version": "1.0.0",
|
|
"description": "Kleine Netzwerk-Werkzeuge für Erreichbarkeit, DNS und Wake-on-LAN.",
|
|
"runtime": {
|
|
"type": "process",
|
|
"command": "python3",
|
|
"args": [
|
|
"main.py"
|
|
],
|
|
"timeout_ms": 10000,
|
|
"env_from": [
|
|
"WOL_BROADCAST",
|
|
"WOL_PORT"
|
|
]
|
|
},
|
|
"permissions": {
|
|
"network": true,
|
|
"system_exec": true
|
|
},
|
|
"actions": [
|
|
{
|
|
"name": "tcp_check",
|
|
"description": "Prüft, ob ein TCP-Port erreichbar ist.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
},
|
|
"timeout_seconds": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"host",
|
|
"port"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"reachable": {
|
|
"type": "boolean"
|
|
},
|
|
"latency_ms": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"reachable",
|
|
"latency_ms"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
{
|
|
"name": "http_check",
|
|
"description": "Prüft einen HTTP/HTTPS-Endpunkt und misst die Antwortzeit.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
},
|
|
"timeout_seconds": {
|
|
"type": "number"
|
|
},
|
|
"verify_tls": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"url"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"reachable": {
|
|
"type": "boolean"
|
|
},
|
|
"status": {
|
|
"type": "integer"
|
|
},
|
|
"latency_ms": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
"required": [
|
|
"reachable",
|
|
"status",
|
|
"latency_ms"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
{
|
|
"name": "dns_lookup",
|
|
"description": "Löst einen Hostnamen in IP-Adressen auf.",
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"host": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"host"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"addresses": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"count": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"addresses",
|
|
"count"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
},
|
|
{
|
|
"name": "wake_on_lan",
|
|
"description": "Sendet ein Wake-on-LAN Magic Packet an ein Gerät.",
|
|
"mutates": true,
|
|
"input_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mac": {
|
|
"type": "string"
|
|
},
|
|
"broadcast": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"mac"
|
|
],
|
|
"additionalProperties": false
|
|
},
|
|
"output_schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sent": {
|
|
"type": "boolean"
|
|
},
|
|
"broadcast": {
|
|
"type": "string"
|
|
},
|
|
"port": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"sent",
|
|
"broadcast",
|
|
"port"
|
|
],
|
|
"additionalProperties": false
|
|
}
|
|
}
|
|
]
|
|
}
|