Support direct instance addressing requests

This commit is contained in:
LordGrey 2024-04-23 21:45:34 +02:00
parent d29a747586
commit 69f8b1f1f0
16 changed files with 54 additions and 0 deletions

View File

@ -7,6 +7,9 @@
"required" : true, "required" : true,
"enum" : ["adjustment"] "enum" : ["adjustment"]
}, },
"instance" : {
"type" : "integer"
},
"tan" : { "tan" : {
"type" : "integer" "type" : "integer"
}, },

View File

@ -7,6 +7,9 @@
"required" : true, "required" : true,
"enum" : ["clear"] "enum" : ["clear"]
}, },
"instance" : {
"type" : "integer"
},
"tan" : { "tan" : {
"type" : "integer" "type" : "integer"
}, },

View File

@ -7,6 +7,9 @@
"required" : true, "required" : true,
"enum" : ["clearall"] "enum" : ["clearall"]
}, },
"instance" : {
"type" : "integer"
},
"tan" : { "tan" : {
"type" : "integer" "type" : "integer"
} }

View File

@ -7,6 +7,9 @@
"required" : true, "required" : true,
"enum" : ["color"] "enum" : ["color"]
}, },
"instance" : {
"type" : "integer"
},
"tan" : { "tan" : {
"type" : "integer" "type" : "integer"
}, },

View File

@ -9,6 +9,9 @@
"required" : true, "required" : true,
"enum" : ["componentstate"] "enum" : ["componentstate"]
}, },
"instance" : {
"type" : "integer"
},
"tan" : { "tan" : {
"type" : "integer" "type" : "integer"
}, },

View File

@ -12,6 +12,9 @@
"required" : true, "required" : true,
"enum" : ["getconfig","getschema","setconfig","restoreconfig","reload"] "enum" : ["getconfig","getschema","setconfig","restoreconfig","reload"]
}, },
"instance" : {
"type" : "integer"
},
"tan" : { "tan" : {
"type" : "integer" "type" : "integer"
}, },

View File

@ -7,6 +7,9 @@
"required" : true, "required" : true,
"enum" : ["create-effect"] "enum" : ["create-effect"]
}, },
"instance" : {
"type" : "integer"
},
"tan" : { "tan" : {
"type" : "integer" "type" : "integer"
}, },

View File

@ -8,6 +8,9 @@
"required" : true, "required" : true,
"enum" : ["delete-effect"] "enum" : ["delete-effect"]
}, },
"instance" : {
"type" : "integer"
},
"tan" : { "tan" : {
"type" : "integer" "type" : "integer"
}, },

View File

@ -7,6 +7,9 @@
"required" : true, "required" : true,
"enum" : ["effect"] "enum" : ["effect"]
}, },
"instance" : {
"type" : "integer"
},
"tan" : { "tan" : {
"type" : "integer" "type" : "integer"
}, },

View File

@ -7,6 +7,9 @@
"required" : true, "required" : true,
"enum" : ["image"] "enum" : ["image"]
}, },
"instance" : {
"type" : "integer"
},
"tan" : { "tan" : {
"type" : "integer" "type" : "integer"
}, },

View File

@ -7,6 +7,9 @@
"required" : true, "required" : true,
"enum" : ["ledcolors"] "enum" : ["ledcolors"]
}, },
"instance" : {
"type" : "integer"
},
"tan" : { "tan" : {
"type" : "integer" "type" : "integer"
}, },

View File

@ -7,6 +7,9 @@
"required" : true, "required" : true,
"enum" : ["leddevice"] "enum" : ["leddevice"]
}, },
"instance" : {
"type" : "integer"
},
"tan" : { "tan" : {
"type" : "integer" "type" : "integer"
}, },

View File

@ -7,6 +7,9 @@
"required" : true, "required" : true,
"enum" : ["logging"] "enum" : ["logging"]
}, },
"instance" : {
"type" : "integer"
},
"tan" : { "tan" : {
"type" : "integer" "type" : "integer"
}, },

View File

@ -7,6 +7,9 @@
"required" : true, "required" : true,
"enum" : ["processing"] "enum" : ["processing"]
}, },
"instance" : {
"type" : "integer"
},
"tan" : { "tan" : {
"type" : "integer" "type" : "integer"
}, },

View File

@ -11,6 +11,9 @@
"type": "string", "type": "string",
"enum": ["getInfo", "subscribe", "unsubscribe", "getSubscriptions", "getSubscriptionCommands"] "enum": ["getInfo", "subscribe", "unsubscribe", "getSubscriptions", "getSubscriptionCommands"]
}, },
"instance" : {
"type" : "integer"
},
"data": { "data": {
"type": ["null", "array"], "type": ["null", "array"],
"properties": { "properties": {

View File

@ -228,6 +228,15 @@ void JsonAPI::handleMessage(const QString &messageString, const QString &httpAut
return; return;
} }
if ( message.contains("instance"))
{
const quint8 instance = static_cast<quint8>(message.value("instance").toInt());
if (!setHyperionInstance(instance))
{
sendErrorReply(QString("Invalid or stopped instance: %1").arg(instance), cmd);
}
}
handleCommand(cmd, message); handleCommand(cmd, message);
} }