diff --git a/Libraries/utils/parser.lua b/Libraries/utils/parser.lua index 38337e4..0ef4c30 100644 --- a/Libraries/utils/parser.lua +++ b/Libraries/utils/parser.lua @@ -52,4 +52,10 @@ function Parser.parseWorkArea(worAreaString) return string.gsub(string.gsub(size, "§a", ""), "§r", "") end +function Parser.parseProbablyUses(probablyUsesString) + local noCommaString = string.gsub(probablyUsesString, ",", "") + local estimate = string.sub(noCommaString, string.find(noCommaString, "%bc§")) + return tonumber((string.gsub(string.gsub(estimate, "c", ""), "§", ""))) +end + return Parser diff --git a/Programs/config/addresses/multi-blocks.lua b/Programs/config/addresses/multi-blocks.lua index 5f70584..63992e6 100644 --- a/Programs/config/addresses/multi-blocks.lua +++ b/Programs/config/addresses/multi-blocks.lua @@ -1,6 +1,6 @@ local adresses = { - EBF11 = "1b05ef68-0fa7-4f94-818d-3e8c079e299d", - cleanroom = "753f5619-7076-45c0-8f0a-f3899bae00e1" + cleanroom = "753f5619-7076-45c0-8f0a-f3899bae00e1", + EBF11 = "1b05ef68-0fa7-4f94-818d-3e8c079e299d" } return adresses diff --git a/Programs/monitor-system/data/datasource/multi-block.lua b/Programs/monitor-system/data/datasource/multi-block.lua index 9e1f1cf..fad817c 100755 --- a/Programs/monitor-system/data/datasource/multi-block.lua +++ b/Programs/monitor-system/data/datasource/multi-block.lua @@ -24,4 +24,14 @@ function MultiBlock:getEfficiencyPercentage() return Parser.parseEfficiency(sensorInformation[5]) end +function MultiBlock:getEnergyUsage() -- EU/t + local maxProgress = self:getWorkMaxProgress() or 0 + if maxProgress > 0 then + local sensorInformation = self:getSensorInformation() + return Parser.parseProbablyUses(sensorInformation[3]) + else + return 0 + end +end + return MultiBlock diff --git a/Programs/monitor-system/domain/multiblock/get-multiblock-status-usecase.lua b/Programs/monitor-system/domain/multiblock/get-multiblock-status-usecase.lua index bf0dea4..5c4292d 100755 --- a/Programs/monitor-system/domain/multiblock/get-multiblock-status-usecase.lua +++ b/Programs/monitor-system/domain/multiblock/get-multiblock-status-usecase.lua @@ -12,6 +12,7 @@ local function exec(multiblocks) statuses[multiblock.name] = { problems = problems, + probablyUses = multiblock:getEnergyUsage(), efficiencyPercentage = multiblock:getEfficiencyPercentage() } end