redstone_toggle_id = 48 de_store_mon_id = nil function dump(o) if o == nil then return "" end if type(o) == 'table' then local s = '{ ' for k,v in pairs(o) do if type(k) ~= 'number' then k = '"'..k..'"' end s = s .. '['..k..'] = ' .. dump(v) .. ',' end return s .. '} ' end return tostring(o) end function poll() while true do if redstone_toggle_id ~= nil then rednet.send(redstone_toggle_id, "get_state") end if de_store_mon_id ~= nil then -- todo end sleep(1) end end function recv() local redstone_toggle_state = nil local updated = false while true do local id, data = rednet.receive() if id == redstone_toggle_id then if type(data) == 'table' then if data[1] == 'output_state' then redstone_toggle_state = data[2] updated = true end end elseif id == de_store_mon_id then -- todo end if updated == true then term.clear() term.setCursorPos(0, 0) term.setTextColor(colors.white) term.setBackgroundColor(colors.black) term.write('Press "R" to toggle the rainbows\n') term.write('Rainbows state: ') if redstone_toggle_state == true then term.setBackgroundColor(colors.green) term.write('On') elseif redstone_toggle_state == false then term.setBackgroundColor(colors.red) term.write('Off') elseif redstone_toggle_state == nil then term.setBackgroundColor(colors.purple) term.write('Unknown') end print() term.setBackgroundColor(colors.black) end end end local sides = peripheral.getNames() for i = 1, #sides do if peripheral.getType(sides[i]) == "modem" then modemSide = sides[i] break end end rednet.open(modemSide) rednet.host("rmm", "master") parallel.waitForAny(poll, recv) rednet.close(modemSide)