diff --git a/Programs/monitor-system/api/gui/widget.lua b/Programs/monitor-system/api/gui/widget.lua index a9bda49..197b1eb 100644 --- a/Programs/monitor-system/api/gui/widget.lua +++ b/Programs/monitor-system/api/gui/widget.lua @@ -258,9 +258,7 @@ function widget.createPowerWidget(address) local function getMiddleString(self) local time = self.timeToFull or self.timeToEmpty or 0 - return (self.dProgress > 0 and "+" or "") .. - self.dProgress .. - " EU/s. " .. (self.dProgress >= 0 and " Full in: " or "Empty in: ") .. Utility.splitNumber(time) .. " s" + return (self.dProgress >= 0 and " Full in: " or "Empty in: ") .. Utility.splitNumber(time) .. " s" end local powerWidget = { diff --git a/Programs/monitor-system/data/mock/mock-energy-provider.lua b/Programs/monitor-system/data/mock/mock-energy-provider.lua index bb2d3d6..b77d25a 100755 --- a/Programs/monitor-system/data/mock/mock-energy-provider.lua +++ b/Programs/monitor-system/data/mock/mock-energy-provider.lua @@ -18,10 +18,11 @@ local output = math.random(16000) function MockEnergyProvider.getSensorInformation() input = input + math.random(-100, 100) output = input + math.random(-100, 100) + progress = progress + input - output > 0 and progress + input - output or 0 return { "§9Insane Voltage Battery Buffer§r", "Stored Items:", - "§a" .. Utility.splitNumber(progress + input - output) .. "§r EU / §e1,608,388,608§r EU", + "§a" .. Utility.splitNumber(progress) .. "§r EU / §e1,608,388,608§r EU", "Average input:", Utility.splitNumber(input) .. " EU/t", "Average output:", diff --git a/Programs/monitor-system/domain/energy/get-energy-status-usecase.lua b/Programs/monitor-system/domain/energy/get-energy-status-usecase.lua index e6e4634..804666c 100755 --- a/Programs/monitor-system/domain/energy/get-energy-status-usecase.lua +++ b/Programs/monitor-system/domain/energy/get-energy-status-usecase.lua @@ -1,15 +1,12 @@ -- Import section -Machine = require("data.datasource.machines") +Machine = require("data.datasource.machine") -- local function exec(address, name) - local energyBuffer = Machine.getMachine(address, name) - -- local comsumption = getConsumption(energyBuffer) - -- local production = getProduction(energyBuffer) + local energyBuffer = Machine.getMachine(address, name, Machine.types.energy) + local consumption = energyBuffer:getAverageInput() local production = energyBuffer:getAverageOutput() - local state = {name = "ON", color = Colors.workingColor} - local changeRate = production - consumption local totalEnergy = energyBuffer:getTotalEnergy() @@ -18,6 +15,17 @@ local function exec(address, name) local energyLimit = changeRate > 0 and maximumEnergy or 0 + local state = {} + if (currentEnergy == maximumEnergy) then + state = {name = changeRate .. " EU/s", color = Colors.workingColor} + elseif currentEnergy == 0 then + state = {name = changeRate .. " EU/s", color = Colors.errorColor} + elseif changeRate > 0 then + state = {name = "+" .. changeRate .. " EU/s", color = Colors.idleColor} + else + state = {name = changeRate .. " EU/s", color = Colors.offColor} + end + local timeToFull = changeRate > 0 and math.floor((energyLimit - currentEnergy) / changeRate) or nil local timeToEmpty = changeRate < 0 and math.floor((energyLimit - currentEnergy) / changeRate) or nil diff --git a/setup.lua b/setup.lua index 2c2381b..a504e67 100644 --- a/setup.lua +++ b/setup.lua @@ -9,7 +9,7 @@ shell.execute("wget -fq " .. tarMan) shell.setWorkingDirectory("/bin") shell.execute("wget -fq " .. tarBin) -local InfOS = "https://github.com/gordominossi/InfOS/releases/download/v0.1/InfOS.tar" +local InfOS = "https://github.com/gordominossi/InfOS/releases/download/v0.2/InfOS.tar" shell.setWorkingDirectory("/home") if not shell.resolve("/home/lib") then