EnergyMonitor/client/biggerReactor.lua
2023-11-03 20:54:08 +01:00

49 lines
1.7 KiB
Lua

-- user options
local options = {
port = 'BiggerReactors_Reactor',
name = 'Bigger Reactor',
compact = true,
channels = 10,
timeout = 15,
unit = 'FE',
}
-- initialize client library
dofile('inputClient.lua')
-- generate print responsee message
function generate_message(width, component, buffer)
-- read bigger values
local a_raw = component.active()
local p_raw = component.battery().producedLastTick()
local s_raw = component.battery().stored()
local m_raw = component.battery().capacity()
local f_raw = component.fuelTank().fuel()
local c_raw = component.fuelTank().capacity()
local ft_raw = component.fuelTemperature()
local ct_raw = component.casingTemperature()
-- format and align reactor status and production
message_aligned(buffer, 'Status...:', a_raw and 'ACTIVE' or 'OFFLINE', width)
message_aligned(buffer, 'Producing:', format_energy(options, p_raw, true), width)
-- format and align reactor internal battery
message(buffer, '\n')
message_aligned(buffer, 'Stored...:', format_energy(options, s_raw), width)
message_aligned(buffer, 'Capacity.:', format_energy(options, m_raw), width)
-- format and align fuel fill
message(buffer, '\n')
message_aligned(buffer, 'Fuel.....:', format_liquid(options, f_raw), width)
message_aligned(buffer, 'Capacity.:', format_liquid(options, c_raw), width)
-- format and align temperatures
message(buffer, '\n')
message_aligned(buffer, 'Fuel Temp:', format_temp(options, ft_raw), width)
message_aligned(buffer, 'Case Temp:', format_temp(options, ct_raw), width)
end
-- run main program
run_client(options, {
print = generate_message
})