mirror of
https://github.com/hyperion-project/hyperion.ng.git
synced 2025-03-01 10:33:28 +00:00
Webui: view led configuration + lights (#223)
* make hyperion websocket api event based * implement new websocket handling for generalconf * migrate all webui stuff to new event based websocket api some cleanup ... now all html templates are in content refactoring of web stuff * add hyperionport to global start impl. removing advanced key * separate dashboard serverinfo is updated every 3 seconds automatily add input selection cleanup and remove not needed stuff * prepare infrastructure for server sided file execution * webui minor fixes * fix compile * implement led layout view with live colors * live led vies * fix general conf unrigister ledcolors request, when not on leds.html * fix compiler warning * prepare realtime ledview and enhance ui
This commit is contained in:
@@ -273,6 +273,8 @@ void JsonClientConnection::handleMessage(const std::string &messageString)
|
||||
handleConfigCommand(message, command, tan);
|
||||
else if (command == "componentstate")
|
||||
handleComponentStateCommand(message, command, tan);
|
||||
else if (command == "ledcolors")
|
||||
handleLedColorsCommand(message, command, tan);
|
||||
else
|
||||
handleNotImplemented();
|
||||
}
|
||||
@@ -975,6 +977,31 @@ void JsonClientConnection::handleComponentStateCommand(const Json::Value& messag
|
||||
}
|
||||
}
|
||||
|
||||
void JsonClientConnection::handleLedColorsCommand(const Json::Value&, const std::string &command, const int tan)
|
||||
{
|
||||
// create result
|
||||
Json::Value result;
|
||||
result["success"] = true;
|
||||
result["command"] = command;
|
||||
result["tan"] = tan;
|
||||
Json::Value & leds = result["result"] = Json::Value(Json::arrayValue);
|
||||
|
||||
const PriorityMuxer::InputInfo & priorityInfo = _hyperion->getPriorityInfo(_hyperion->getCurrentPriority());
|
||||
std::vector<ColorRgb> ledBuffer = priorityInfo.ledColors;
|
||||
|
||||
for (ColorRgb& color : ledBuffer)
|
||||
{
|
||||
int idx = leds.size();
|
||||
Json::Value & item = leds[idx];
|
||||
item["index"] = idx;
|
||||
item["red"] = color.red;
|
||||
item["green"] = color.green;
|
||||
item["blue"] = color.blue;
|
||||
}
|
||||
// send the result
|
||||
sendMessage(result);
|
||||
}
|
||||
|
||||
void JsonClientConnection::handleNotImplemented()
|
||||
{
|
||||
sendErrorReply("Command not implemented");
|
||||
|
Reference in New Issue
Block a user